大兵的技术博客

为了看到黎明,我只好通宵...

原创 使用SELECT-OPTIONS存放分类、枚举等内容,提高程序的可定制性。收藏

新一篇: SAP R/3>FI方面的几个概念及关系问题 | 旧一篇: 在ABAP程序中,如何在输出显屏时使用定义好的选屏文本 selection texts

 在写ABAP程序过程中,经常会遇到一些按照业务顾问要求定义好的分类、枚举等内容,在程序中写死了又不利于以后维护,(何况业务的问题说变就变,说不定那天业务顾问脑袋短路了,就提出新的分类要求,如此一来程序中各处用到的都要做相应的修改,特别是讨厌的输出显示部分),如果将这些分类等对应内容存放到selection-screen中的selection-option中,即解决了程序中的调用问题(selection-option是一个灵活的内表,可以存放单值、多值、区间等数据),又给用户提供了进行分类修改和自定义的界面

在选屏中添加SELECTION-OPTION。
SELECTION-SCREEN: BEGIN OF BLOCK FRAME02 WITH FRAME TITLE TEXT-003.
  SELECTION-SCREEN COMMENT /
1(30) COMM1.                                            "
    SELECT-OPTIONS S_MASS1 FOR ANLA-ANLKL NO INTERVALS.
    SELECT-OPTIONS S_MASS2 FOR ANLA-ANLKL NO INTERVALS.
    SELECT-OPTIONS S_MASS3 FOR ANLA-ANLKL NO INTERVALS.
    SELECT-OPTIONS S_MASS4 FOR ANLA-ANLKL NO INTERVALS.
    SELECT-OPTIONS S_MASS5 FOR ANLA-ANLKL NO INTERVALS.
    SELECT-OPTIONS S_MASS6 FOR ANLA-ANLKL NO INTERVALS.
    SELECT-OPTIONS S_MASS7 FOR ANLA-ANLKL NO INTERVALS.
    SELECT-OPTIONS S_MASS8 FOR ANLA-ANLKL NO INTERVALS.
    SELECT-OPTIONS S_MASS9 FOR ANLA-ANLKL NO INTERVALS.
    SELECT-OPTIONS S_MASS10 FOR ANLA-ANLKL NO INTERVALS.
  SELECTION-SCREEN COMMENT /1(30) COMM2.                                            
"
    SELECT-OPTIONS S_MASS11 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS12 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS13 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS14 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS15 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS16 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS17 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS18 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS19 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS20 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS21 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS22 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS23 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS24 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS25 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS26 FOR ANLC-BUKRS NO INTERVALS.
    SELECT-OPTIONS S_MASS27 FOR ANLC-BUKRS NO INTERVALS.
  SELECTION-SCREEN: END OF BLOCK FRAME02.

填充这些SELECTION-OPTION。

INITIALIZATION.
* 设置选择屏幕-××××类型默认值
  S_MASS1-SIGN   
= 'I'.  S_MASS1-OPTION = 'EQ'.  S_MASS1-LOW    = '00001000'.  APPEND S_MASS1.  
    S_MASS2-SIGN   
= 'I'.  S_MASS2-OPTION = 'EQ'.  S_MASS2-LOW    = '00001001'.  APPEND S_MASS2.  
    S_MASS3-SIGN   
= 'I'.  S_MASS3-OPTION = 'EQ'.  S_MASS3-LOW    = '00002000'.  APPEND S_MASS3.  
    S_MASS4-SIGN   
= 'I'.  S_MASS4-OPTION = 'EQ'.  S_MASS4-LOW    = '00002200'.  APPEND S_MASS4.  
    S_MASS5-SIGN   
= 'I'.  S_MASS5-OPTION = 'EQ'.  S_MASS5-LOW    = '00003000'.  APPEND S_MASS5. 
    S_MASS6-SIGN   
= 'I'.  S_MASS6-OPTION = 'EQ'.  S_MASS6-LOW    = '00004000'.  APPEND S_MASS6.  
    S_MASS7-SIGN   
= 'I'.  S_MASS7-OPTION = 'EQ'.  S_MASS7-LOW    = '00004200'.  APPEND S_MASS7.  
    S_MASS8-SIGN   
= 'I'.  S_MASS8-OPTION = 'EQ'.  S_MASS8-LOW    = '00004400'.  APPEND S_MASS8.  
    S_MASS9-SIGN   
= 'I'.  S_MASS9-OPTION = 'EQ'.  S_MASS9-LOW    = '00005000'.  APPEND S_MASS9.  

* 设置选择屏幕-×××××类型默认值
  S_MASS11-SIGN   
= 'I'.  S_MASS11-OPTION = 'EQ'.  S_MASS11-LOW    = '020'.  APPEND S_MASS11.
    S_MASS11-SIGN   
= 'I'.  S_MASS11-OPTION = 'EQ'.  S_MASS11-LOW    = '030'.  APPEND S_MASS11.
    S_MASS11-SIGN   
= 'I'.  S_MASS11-OPTION = 'EQ'.  S_MASS11-LOW    = '100'.  APPEND S_MASS11.
    S_MASS11-SIGN   
= 'I'.  S_MASS11-OPTION = 'EQ'.  S_MASS11-LOW    = '101'.  APPEND S_MASS11.
    S_MASS11-SIGN   
= 'I'.  S_MASS11-OPTION = 'EQ'.  S_MASS11-LOW    = '103'.  APPEND S_MASS11.
     …… ……(略) 

然后在选屏中结合 设置变式 ,就可以满足未来分类变化的需要了

发表于 @ 2006年09月12日 15:15:00|评论(loading...)|编辑

新一篇: SAP R/3>FI方面的几个概念及关系问题 | 旧一篇: 在ABAP程序中,如何在输出显屏时使用定义好的选屏文本 selection texts

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © matterRZ