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.

相关推荐

  1. ABAP 选择屏幕创建按钮执行

    2023-12-11 17:48:03       51 阅读
  2. KSO-SAP ABAP 创建webservice服务,用soapui测试

    2023-12-11 17:48:03       53 阅读
  3. mysql如何创建执行事件?

    2023-12-11 17:48:03       23 阅读
  4. ubuntu通过crontab创建定时任务,执行sh

    2023-12-11 17:48:03       37 阅读
  5. MFC如何动态创建button按钮添加点击事件

    2023-12-11 17:48:03       63 阅读
  6. SAP ABAP EXCEL 下载模板导入

    2023-12-11 17:48:03       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-11 17:48:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-11 17:48:03       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-11 17:48:03       82 阅读
  4. Python语言-面向对象

    2023-12-11 17:48:03       91 阅读

热门阅读

  1. python取前两位数字

    2023-12-11 17:48:03       54 阅读
  2. Qt Creator制作动画 编程

    2023-12-11 17:48:03       53 阅读
  3. from torch_geometric.utils import k_hop_subgraph和subgraph

    2023-12-11 17:48:03       54 阅读
  4. 【CF245H】Queries for Number of Palindromes(字符串区间dp)

    2023-12-11 17:48:03       55 阅读
  5. 显示DICOM文件的元信息的测试程序编程

    2023-12-11 17:48:03       62 阅读
  6. C语言实现教职工工资管理系统

    2023-12-11 17:48:03       59 阅读
  7. TypeScript 第五节:条件语句

    2023-12-11 17:48:03       63 阅读
  8. 在Ubuntu K8s中创建vnc用于浏览器调试

    2023-12-11 17:48:03       56 阅读
  9. 什么是Restful?

    2023-12-11 17:48:03       54 阅读
  10. C#生成Token字符串

    2023-12-11 17:48:03       54 阅读