ABAP 选择屏幕创建按钮,并执行

  • 1.在选择屏幕上声明按钮
  • 2.在 INITIALIZATION 中定义按钮的文本和图标
  • 3.在AT SELECTION-SCREEN 模块中响应按钮

*&---------------------------------------------------------------------*
*& Report  ZTEST_CESHI
*&---------------------------------------------------------------------*
REPORT ztest_ceshi.

TABLES:vbak,vbap.

TYPE-POOLS: icon,slis.

TABLES:sscrfields.  "选择屏幕上的字段

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p1 RADIOBUTTON GROUP rad1 DEFAULT 'X' USER-COMMAND uc,
             p2 RADIOBUTTON GROUP rad1.
SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS : s1_auart FOR vbak-auart   MODIF ID ty1, "销售订单类型
                 s1_vbeln FOR vbak-vbeln   MODIF ID ty1, "销售订单
                 s1_kunnr FOR vbak-kunnr   MODIF ID ty1, "客户
                 s1_matnr FOR vbap-matnr   MODIF ID ty1. "物料
SELECTION-SCREEN END OF BLOCK b2.

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
SELECT-OPTIONS : s2_erdat FOR vbak-erdat   MODIF ID ty2, "订单创建日期
                 s2_vdatu FOR vbak-vdatu   MODIF ID ty2. "订单交货日期
SELECTION-SCREEN END OF BLOCK b3.

"自定义按钮
SELECTION-SCREEN: FUNCTION KEY 1,
                  FUNCTION KEY 2,
                  FUNCTION KEY 3.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    CASE screen-group1.
      WHEN 'TY1'.
        IF p1 = 'X'.
          screen-active = '0'.
        ELSE.
          screen-active = '1'.
        ENDIF.
      WHEN 'TY2'.
        IF p2 = 'X' .
          screen-active = '0'.
        ELSE.
          screen-active = '1'.
        ENDIF.
    ENDCASE.
    MODIFY SCREEN.
  ENDLOOP.

INITIALIZATION.
  "初始化屏幕
  PERFORM frm_init_sel_screen.

" 按钮执行
AT SELECTION-SCREEN.
  CASE sscrfields-ucomm.
    WHEN 'FC01'.

    WHEN 'FC02'.

    WHEN 'FC03'.

  ENDCASE.


FORM frm_init_sel_screen .
  DATA: lv_functxt TYPE smp_dyntxt.
  DATA: lt_exclude TYPE TABLE OF sy-ucomm.

  lv_functxt-icon_id   = icon_change.
  lv_functxt-icon_text = '手工维护'.
  sscrfields-functxt_01 = lv_functxt.

  lv_functxt-icon_id   = icon_xls.
  lv_functxt-icon_text = '数据导入'.
  sscrfields-functxt_02 = lv_functxt.

  lv_functxt-icon_id   = icon_xxl.
  lv_functxt-icon_text = '导入模板下载'.
  sscrfields-functxt_03 = lv_functxt.

  lt_exclude = VALUE #( ( 'ONLI' ) ).

  CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
    EXPORTING
      p_status  = sy-pfkey
    TABLES
      p_exclude = lt_exclude.
ENDFORM.

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值