工作生活与爱好

工作中的记录; 生活中的记忆; 业余爱好的记载。

2007-01-17

 

如何限制SELECT-OPTIONS的选择屏幕的OPTION

REPORT Z_CONECT_A.
* Include type pool
 SSCRTYPE-POOLS sscr.
TABLES : marc.
*定义选择屏幕
select-options : s_matnr for marc-matnr,
s_werks for marc-werks.
* Define the object to be passed to the RESTRICTION 
parameterDATA restrict TYPE sscr_restrict.
* Auxiliary objects for filling RESTRICT
DATA : optlist TYPE sscr_opt_list,         
  ass type sscr_ass.INITIALIZATION.
* 限制MATNR参数只能使用‘EQ’ 和‘BT’. 
 optlist-name = 'OBJECTKEY1'.  
optlist-options-eq = 'X'.  
optlist-options-bt = 'X'. 
 APPEND optlist TO restrict-opt_list_tab. 
 ass-kind = 'S'. 
 ass-name = 'S_MATNR'. 
 ass-sg_main = 'I'. 
 ass-sg_addy = space.  
ass-op_main = 'OBJECTKEY1'. 
 APPEND ass TO restrict-ass_tab.
* 限制 WERKS 参数只能使用CP, GE, LT, NE. 
 optlist-name = 'OBJECTKEY2'. 
 optlist-options-cp = 'X'. 
 optlist-options-ge = 'X'.  
optlist-options-lt = 'X'. 
 optlist-options-ne = 'X'. 
 APPEND optlist TO restrict-opt_list_tab.
  ass-kind = 'S'.  
ass-name = 'S_WERKS'. 
 ass-sg_main = 'I'. 
 ass-sg_addy = space. 
 ass-op_main = 'OBJECTKEY2'.  
APPEND ass TO restrict-ass_tab. 
 CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'  
    EXPORTING    restriction                  = restrict  
     EXCEPTIONS     TOO_LATE                     = 1    
     REPEATED                     = 2     
     SELOPT_WITHOUT_OPTIONS       = 3    
     SELOPT_WITHOUT_SIGNS         = 4    
     INVALID_SIGN                 = 5    
     EMPTY_OPTION_LIST            = 6    
     INVALID_KIND                 = 7    
      REPEATED_KIND_A              = 8   
      OTHERS                       = 9            . 
     IF sy-subrc <> 0. 
       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO       
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. 
 ENDIF.

Comments: 发表评论



<< Home

Archives

1990年1月15日   2007年1月14日   2007年1月15日   2007年1月16日   2007年1月17日   2007年1月18日   2007年1月19日   2007年1月20日   2007年1月22日   2007年1月23日   2007年1月24日   2007年1月25日   2007年1月26日   2007年1月27日   2007年1月29日   2007年1月30日   2007年1月31日   2007年2月1日   2007年2月2日   2007年2月3日   2007年3月13日   2007年5月15日   2007年5月16日   2007年6月2日  

This page is powered by Blogger. Isn't yours?