登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

原来为了你

我的人生就是要一次次的超越

 
 
 

日志

 
 
 
 

选择屏幕上的GUI按钮  

2011-01-07 16:31:34|  分类: ABAP屏幕操作 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

sap的选择屏幕的标准工具栏上系统预先定义了5个按钮,他们对应的功能码是fc01-fc05,默认是不激活的。
用户可以使用selection-screen function key i.
来激活这5个按钮(这里的i必须是1-5,
这五个按钮的文本放在sscrfields的对应的functxt_0i中。
当用户按下按钮时,系统将触发at selection-screen 事件,
并将功能码放到sscrfieldsucomm字段中。

*-------------------------------- 例一 ------------------------------
report  z_barry_test message-id oo.

TABLESsscrfields.

PARAMETERS p_date LIKE sy-datum DEFAULT '20080403' OBLIGATORY.
SELECT-OPTIONS s_date FOR sy-datum DEFAULT '20080506' TO '20080607'.

SELECTION-SCREEN FUNCTION KEY 1.

INITIALIZATION.
  sscrfields
-functxt_01 '@4D@  清空'."也可以是‘@4A@’  运行程序SHOWICON可看到所有

AT SELECTION-SCREEN.
  
CASE sy-ucomm .
    
WHEN 'FC01'.
      
CLEAR p_date.
      
CLEARs_date,s_date[].
  
ENDCASE.


*------------------------------- 例二 -------------------------------
  
REPORT demo_sel_screen_function_key.

  
TABLES sscrfields"定义工作区

  
PARAMETERSp_carrid TYPE s_carr_id,
  p_cityfr 
TYPE s_from_cit.

  SELECTION
-SCREENFUNCTION KEY 1"激活按钮
  
FUNCTION KEY 2.

INITIALIZATION.
  sscrfields
-functxt_01 'UI'"定义按钮文本
  sscrfields
-functxt_02 'Expand'.

AT SELECTION-SCREEN.
  
CASE sscrfields-ucomm"处理按钮命令
      
WHEN'FC01'.
      p_carrid 
'LH'.
      p_cityfr 
'Frankfurt'.
    
WHEN 'FC02'.
      p_carrid 
'UA'.
      p_cityfr 
'Chicago'.
  
ENDCASE.

START
-OF-SELECTION.
  
WRITE 'START-OF-SELECTION'.

*---------------------------------- 例三 ------------------------------
  
REPORT demo_sel_screen_function_key.
  
TYPE-POOLS icon.
  
TABLES sscrfields.
  
DATA functxt TYPE smp_dyntxt.


  
PARAMETER p_matnr TYPE mara-matnr.
  
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.
  
PARAMETER  p_test TYPE marc-werks MODIF ID m1.
  
SELECTION-SCREEN END OF BLOCK blk.

  
SELECTION-SCREEN FUNCTION KEY 1.

INITIALIZATION.
  functxt
-text 'Collapse'.
  functxt
-icon_text 'Collapse'.
  functxt
-icon_id icon_expand.
  sscrfields
-functxt_01 functxt.

AT SELECTION-SCREEN.
  
CASE sscrfields-ucomm.
    
WHEN 'FC01'.
      
PERFORM f_change_functxt.
  
ENDCASE.


AT SELECTION-SCREEN OUTPUT.
  
PERFORM f_display USING functxt-icon_text.

*&---------------------------------------------------------------------*
*&      Form  f_change_functxt
*&---------------------------------------------------------------------*
FORM f_change_functxt.
  functxt 
sscrfields-functxt_01.

  
IF functxt-icon_text 'Expand'.
    functxt
-text 'Collapse'.
    functxt
-icon_text 'Collapse'.
    functxt
-icon_id icon_collapse.
    sscrfields
-functxt_01 functxt.
  
ELSE.
    functxt
-text 'Expand'.
    functxt
-icon_text 'Expand'.
    functxt
-icon_id icon_expand.
    sscrfields
-functxt_01 functxt.
  
ENDIF.
ENDFORM.                    "f_change_functxt

*&---------------------------------------------------------------------*
*&      Form  f_display
*&---------------------------------------------------------------------*
FORM f_display USING p_action.
  
LOOP AT SCREEN.
    
IF screen-group1 'M1'.
      
IF p_action 'Expand'.
        
screen-active '1'.
      
ELSE.
        
screen-active '0'.
      
ENDIF.
      
MODIFY SCREEN.
    
ENDIF.
  
ENDLOOP.
ENDFORM.                    "f_display

  评论这张
 
阅读(555)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018