ABAP-ALV-框架模板程序

业务需求

在SAP项目中,会经常碰到如下需求:

1:需要开发具有选择屏幕、数据展示界面功能按钮的功能程序。

2:可以通过画屏幕的方式,但是最简单的方式也就是ALV报表;下面是效果图:

       选择屏幕:

       显示界面:

       功能按钮:

完整示例代码:

一、REPORT 程序框架。

*&---------------------------------------------------------------------*
*& Report  ZMIMXSDRP_0022_4
*&
*&---------------------------------------------------------------------*
*& Program Name         <程序名称>: 手工发票修复
*& Purpose              <程序用途>: Function Desc.
*& Project Name         <项目名称>:
*& Created by           <创 建 人>: NIUGUANGKAI
*& Created on           <创建日期>: 20230605
*& Functional Consultant<功能顾问>: biz consultant
*& Description          <功能描述>: 手工发票修复
*&---------------------------------------------------------------------*
*              Modification Log<程序修改日志>
*<日期>        <开发者>     <功能顾问>            <修改描述>
* Date        Programmer     Corr. #              请求号+描述
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMIMXSDRP_0022_4 MESSAGE-ID ZMIMXSDRP_0022_4.

*&-----------------------------------------------------------------*
*    DESC: INCLUDES 文件-变量定义
*&-----------------------------------------------------------------*
INCLUDE ZMIMXSDRP_0022_4_TOP.

*&-----------------------------------------------------------------*
*    DESC: INCLUDES 文件-选择界面
*&-----------------------------------------------------------------*
INCLUDE ZMIMXSDRP_0022_4_SCREEN.

*&-----------------------------------------------------------------*
*    DESC: INCLUDES ALV相关定义
*&-----------------------------------------------------------------*
INCLUDE ZMIMXSDRP_0022_4_ALV.

*&-----------------------------------------------------------------*
*    DESC: INCLUDES 文件-子程序
*&-----------------------------------------------------------------*
INCLUDE ZMIMXSDRP_0022_4_FORM.

*&-----------------------------------------------------------------*
*    DESC: INCLUDES 文件-主程序
*&-----------------------------------------------------------------*
INCLUDE ZMIMXSDRP_0022_4_MAIN.

二、INCLUDE变量定义。

*&---------------------------------------------------------------------*
*&  包含                ZMIMXSDRP_0022_4_TOP
*&---------------------------------------------------------------------*

*&-----------------------------------------------------------------*
*&  数据声明-开始
*&-----------------------------------------------------------------*

*&-----------------------------------------------------------------*
*&  DESC: 结构
*&-----------------------------------------------------------------*
DATA: BEGIN OF GS_ALV,
        SEL(1),
        VKORG        LIKE LIKP-VKORG,            "销售组织
        ERDAT        LIKE ZTMIMXSD_0006-ERDAT,   "创建日期(开票通知单)
        ZKPTZN       LIKE ZTMIMXSD_0007-ZKPTZN,  "开票通知单
        ZKPPOS       LIKE ZTMIMXSD_0007-ZKPPOS,  "行项目
        VBELN        LIKE ZTMIMXSD_0007-VBELN,   "交货单
        POSNR        LIKE ZTMIMXSD_0007-POSNR,   "行项目
        ZFPNUM       LIKE ZTMIMXSD_0007-ZFPNUM,  "开票凭证
        STATUS(4),                               "
        STATUS_T(20),
        VBELN_KP     LIKE VBRK-VBELN,            "正确开票凭证
        POSNR_KP     LIKE VBRP-POSNR,            "
      END OF GS_ALV.

*&-----------------------------------------------------------------*
*&  DESC: 内表
*&-----------------------------------------------------------------*
DATA: GT_ALV LIKE TABLE OF GS_ALV.

*&-----------------------------------------------------------------*
*&  DESC: 变量
*&-----------------------------------------------------------------*

*&-----------------------------------------------------------------*
*&  DESC: 常量
*&-----------------------------------------------------------------*
CONSTANTS: C_NO   TYPE CHAR04 VALUE '@0A@', "失败-红色
           C_YES  TYPE CHAR04 VALUE '@08@', "成功-绿色
           C_W    TYPE CHAR04 VALUE '@09@', "不允许操作-警告-黄色
           C_INIT TYPE CHAR04 VALUE '@EB@'. "初始化-灰色

*&-----------------------------------------------------------------*
*&  数据声明-结束
*&-----------------------------------------------------------------*

三、INCLUDE选择屏幕。

*&---------------------------------------------------------------------*
*&  包含                ZMIMXSDRP_0022_4_SCREEN
*&---------------------------------------------------------------------*
TABLES: ZTMIMXSD_0006,
        ZTMIMXSD_0007,
        LIKP.

*----------------------------------------------------------------------*
*  DESC: 定义选择屏幕
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK BK01 WITH FRAME TITLE TEXT-001.
  SELECT-OPTIONS: S_VKORG FOR LIKP-VKORG   "销售组织
                          NO-EXTENSION
                          NO INTERVALS
*                          OBLIGATORY
                          ,
                  S_ZKPTZN FOR ZTMIMXSD_0006-ZKPTZN,"开票通知单
                  S_ERDAT FOR ZTMIMXSD_0006-ERDAT. "开票通知单-创建日期
SELECTION-SCREEN END OF BLOCK BK01.

四、INCLUDE ALV相关定义。

*&---------------------------------------------------------------------*
*&  包含                ZLGFIRP_TMS01_ALV
*&---------------------------------------------------------------------*
TYPE-POOLS: ICON.
*&-----------------------------------------------------------------*
*&  数据声明-ALV相关
*&-----------------------------------------------------------------*
DATA: GS_LAYOUT TYPE  LVC_S_LAYO,
      GS_FCAT   TYPE  LVC_S_FCAT,
      GT_FCAT   LIKE TABLE OF GS_FCAT.

*&---------------------------------------------------------------------*
*&      Form  FRM_ALV_SET_FIELDS
*&---------------------------------------------------------------------*
*       ALV_SET_FIELDS
*----------------------------------------------------------------------*
FORM FRM_ALV_SET_FIELDS .
  DATA: LV_INDEX LIKE SY-INDEX.

  CLEAR: GS_FCAT,
         GT_FCAT,
         GS_LAYOUT.

  GS_LAYOUT-CWIDTH_OPT = 'X'.
*  GS_LAYOUT-BOX_FNAME     = 'SEL'.
  GS_LAYOUT-ZEBRA = 'X'.
*  GS_LAYOUT-SEL_MODE = 'A'.
*  GS_LAYOUT-COLTAB_FIELDNAME  = 'CELL_COLOR'."单元格颜色
  GS_LAYOUT-NO_ROWMARK = 'X'.
*  GS_LAYOUT-INFO_FNAME = 'H_COLOR'.   "行颜色
*  GS_LAYOUT-STYLEFNAME = 'CELTAB'.    "控制单元格
*  GS_LAYOUT-CTAB_FNAME = 'C_COLOR'.   "单元格颜色

**ALV字段处理宏
  DEFINE CATALOG.
    CLEAR GS_FCAT.
    LV_INDEX = LV_INDEX + 1.
    GS_FCAT-COL_POS       = LV_INDEX.
    GS_FCAT-FIELDNAME     = &1.
    GS_FCAT-FIX_COLUMN    = &2.
    GS_FCAT-REF_TABLE     = &3.
    GS_FCAT-EDIT          = &4.
    GS_FCAT-COLDDICTXT       = 'L'.
    GS_FCAT-SCRTEXT_L     = &5.
    GS_FCAT-REF_FIELD     = &6.
    GS_FCAT-EMPHASIZE     = &8.
    GS_FCAT-HOTSPOT       = &9.

*    IF &1 = 'ZYFKJE'. "本次付款金额
*      GS_FCAT-DATATYPE  = 'CURR'.
*      GS_FCAT-INTTYPE = 'C'.
*    ENDIF.
    IF &1 = 'SEL'.
      GS_FCAT-CHECKBOX = 'X'.
    ENDIF.

    IF &1 = 'STATUS'. "更正状态
       GS_FCAT-ICON = 'X'.
    ENDIF.


****控制:字段显示不显示
    IF &7 IS INITIAL.

    ENDIF.
    APPEND GS_FCAT TO GT_FCAT.
  END-OF-DEFINITION.

**          &1        &2         &3            &4     &5             &6       &7       &8         &9
  CATALOG:
           'SEL'    'X'        ''             'X'     '选中'        ''       ''      ''         'X',
           'VKORG'   'X'        'LIKP'          ''     '销售组织'    'VKORG'  ''    'C410'         '',
           'ERDAT'   'X'        'ZTMIMXSD_0006' ''     '创建日期'    'ERDAT'  ''    'C410'         '',
           'ZKPTZN'  'X'        'ZTMIMXSD_0007' ''     '开票通知单'  'ZFPNUM' ''    'C410'         '',
           'ZKPPOS'  ''         'ZTMIMXSD_0007' ''     '行项目'      'ZKPPOS' ''    ''             '',
           'VBELN'   ''         'ZTMIMXSD_0007' ''     '交货单'      'VBELN'  ''    ''             'X',
           'POSNR'   ''         'ZTMIMXSD_0007' ''     '行项目'      'POSNR'  ''    ''             '',
           'ZFPNUM'  ''         'ZTMIMXSD_0007' ''     '007开票凭证'      'ZFPNUM' ''    ''             'X',
           'STATUS'  ''         ''              ''     '更正状态'    ''       ''    ''             '',
           'STATUS_T' ''         ''              ''     '状态描述'    ''       ''    ''             '',
           'VBELN_KP' ''         'VBRK'          ''     '正确开票凭证' 'VBELN'  ''    ''             'X',
           'POSNR_KP' ''         'VBRP'          ''     '行项目'       'POSNR'  ''    ''             ''.
ENDFORM.                    " FRM_ALV_SET_FIELDS

*&---------------------------------------------------------------------*
*&      Form  F_FRM_ALV_SET_STATUS
*&---------------------------------------------------------------------*
*       设置程序的用户状态
*----------------------------------------------------------------------*
*      -->EXTAB      text
*----------------------------------------------------------------------*
FORM FRM_ALV_SET_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
  DATA: LT_FCODE TYPE TABLE OF SY-UCOMM.

***对账单
*    APPEND 'CXFP'  TO LT_FCODE.
  SET PF-STATUS 'PF_ALV' EXCLUDING LT_FCODE.
ENDFORM.                    "FRM_FRM_ALV_SET_STATUS
*&---------------------------------------------------------------------*
*&      Form  f_FRM_ALV_USER_COMMAND
*&---------------------------------------------------------------------*
*       ALV_USER_COMMAND
*----------------------------------------------------------------------*
*      -->R_UCOMM      text
*      -->RS_SELFIELD  text
*----------------------------------------------------------------------*
FORM FRM_ALV_USER_COMMAND USING R_UCOMM      LIKE SY-UCOMM
      RS_SELFIELD TYPE SLIS_SELFIELD.

  DATA: G_GRID              TYPE REF TO CL_GUI_ALV_GRID,
        GL_VALID            TYPE C,
        LT_FILTERED_ENTRIES TYPE LVC_T_FIDX,
        L_TABIX             TYPE I,
        L_LINE              TYPE I.

  RS_SELFIELD-REFRESH = 'X'."编辑完成保存后刷新alv页

  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      E_GRID = G_GRID.


  CASE R_UCOMM.
    WHEN '&IC1'.
      READ TABLE GT_ALV INTO DATA(LS_ALV) INDEX RS_SELFIELD-TABINDEX.
      IF RS_SELFIELD-FIELDNAME = 'SEL'.
        LOOP AT GT_ALV ASSIGNING FIELD-SYMBOL(<FS_ALV>) WHERE ZKPTZN = LS_ALV-ZKPTZN
                                                           AND STATUS = C_NO.
          IF LS_ALV-SEL = 'X'.
            <FS_ALV>-SEL = ''.
          ELSE.
            <FS_ALV>-SEL = 'X'.
          ENDIF.
        ENDLOOP.
      ENDIF.

      CASE RS_SELFIELD-FIELDNAME.
        WHEN 'VBELN'.   "交货单
          IF RS_SELFIELD-VALUE IS NOT INITIAL.
            SET PARAMETER ID 'VL' FIELD RS_SELFIELD-VALUE.
            CALL TRANSACTION 'VL03N' WITH AUTHORITY-CHECK AND SKIP FIRST SCREEN.
          ENDIF.
        WHEN 'ZFPNUM'.  "发票
          IF RS_SELFIELD-VALUE IS NOT INITIAL.
            SET PARAMETER ID 'VF' FIELD RS_SELFIELD-VALUE.
            CALL TRANSACTION 'VF03' WITH AUTHORITY-CHECK AND SKIP FIRST SCREEN.
          ENDIF.
        WHEN 'VBELN_KP'."发票
          IF RS_SELFIELD-VALUE IS NOT INITIAL.
            SET PARAMETER ID 'VF' FIELD RS_SELFIELD-VALUE.
            CALL TRANSACTION 'VF03' WITH AUTHORITY-CHECK AND SKIP FIRST SCREEN.
          ENDIF.
      ENDCASE.
    WHEN 'ALL'."全选
      LOOP AT GT_ALV ASSIGNING <FS_ALV> WHERE STATUS = C_NO.
        <FS_ALV>-SEL = 'X'.
      ENDLOOP.

    WHEN 'SAL'."取消全选
      LOOP AT GT_ALV ASSIGNING <FS_ALV>.
        <FS_ALV>-SEL = ''.
      ENDLOOP.

    WHEN 'ZGZ'. "更正
      PERFORM FRM_UCOM_ZGZ.
  ENDCASE.

  CALL METHOD G_GRID->CHECK_CHANGED_DATA.
ENDFORM.                    "f_FRM_ALV_USER_COMMAND

五、INCLUDE子程序。

*&---------------------------------------------------------------------*
*&  包含                ZMIMXSDRP_0022_4_FORM
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&      Form  FRM_NOW_PROGRESS
*&---------------------------------------------------------------------*
*       显示当前进度
*----------------------------------------------------------------------*
FORM FRM_NOW_PROGRESS USING P_NOWL TYPE I     "当前处理行
                            P_SUML TYPE I     "总数据行
                            P_MSG TYPE STRING."处理消息
  DATA: L_PRC  TYPE I,
        L_PRCS TYPE STRING.

**获取完成比率
  L_PRC = P_NOWL * 100 / P_SUML.

  L_PRCS = L_PRC.

  CONCATENATE P_MSG L_PRCS '%'INTO P_MSG.

  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      PERCENTAGE = L_PRC
      TEXT       = P_MSG.
ENDFORM.                    " FRM_NOW_PROGRESS
*&---------------------------------------------------------------------*
*&      Form  FRM_GET_DATA
*&---------------------------------------------------------------------*
*       获取数据
*----------------------------------------------------------------------*
FORM FRM_GET_DATA .
  PERFORM FRM_NOW_PROGRESS USING 1 1 '正在获取开发通知单信息.....'.
  SELECT LIKP~VKORG,   "销售组织
         Z06~ZKPTZN,   "开票通知单
         Z07~ZKPPOS,   "行项目
         Z07~VBELN,    "交货单
         Z07~POSNR,    "行项目
         Z07~ZFPNUM,   "开票凭证
         Z06~ERDAT     "创建日期
     INTO CORRESPONDING FIELDS OF TABLE @GT_ALV
     FROM ZTMIMXSD_0006 AS Z06
    INNER JOIN ZTMIMXSD_0007 AS Z07
       ON Z07~ZKPTZN = Z06~ZKPTZN
     LEFT JOIN LIPS
       ON LIPS~VBELN = Z07~VBELN
      AND LIPS~POSNR = Z07~POSNR
     LEFT JOIN LIKP
       ON LIKP~VBELN = Z07~VBELN
    WHERE Z06~ERDAT  IN @S_ERDAT
      AND LIKP~VKORG IN @S_VKORG
      AND Z06~ZKPTZN IN @S_ZKPTZN.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_EDIT_DATA
*&---------------------------------------------------------------------*
*       处理数据
*----------------------------------------------------------------------*
FORM FRM_EDIT_DATA .
  PERFORM FRM_NOW_PROGRESS USING 1 1 '正在获取交货单发票信息.....'.
  IF GT_ALV[] IS NOT INITIAL.
    SELECT VBRP~VGBEL, "交货单
           VBRP~VGPOS,
           VBRP~VBELN, "发票-被冲销
           VBRP~POSNR,
           VBRK_CX~VBELN AS VBELN_CX, "发票-冲销
           VBRK_CX~FKART AS FKART_CX  "开票类型
      INTO TABLE @DATA(LT_ZFPCX_S)
      FROM VBRP
      LEFT JOIN VBRK AS VBRK_CX
        ON VBRK_CX~SFAKN = VBRP~VBELN
       FOR ALL ENTRIES IN @GT_ALV
     WHERE VBRP~VGBEL = @GT_ALV-VBELN
       AND VBRP~VGPOS = @GT_ALV-POSNR.

    DATA(LT_ZFPCX) = LT_ZFPCX_S[].

    SORT LT_ZFPCX BY VGBEL
                     VGPOS.

****处理:删除冲销与被冲销发票
    RANGES: LR_VBELN FOR VBRK-VBELN.
    LOOP AT LT_ZFPCX INTO DATA(LS_ZFPCX) WHERE VBELN_CX NE ''.
      LR_VBELN = VALUE #( SIGN = 'I' OPTION = 'EQ' LOW = LS_ZFPCX-VBELN ).
      APPEND LR_VBELN.
      LR_VBELN = VALUE #( SIGN = 'I' OPTION = 'EQ' LOW = LS_ZFPCX-VBELN_CX ).
      APPEND LR_VBELN.
    ENDLOOP.
    IF LR_VBELN[] IS NOT INITIAL.
      DELETE LT_ZFPCX WHERE VBELN IN LR_VBELN.
    ENDIF.
  ENDIF.

  PERFORM FRM_NOW_PROGRESS USING 1 1 '正在对照开票信息.....'.
  LOOP AT GT_ALV ASSIGNING FIELD-SYMBOL(<FB_ALV>).
****获取:当前交货单发票
    CLEAR LS_ZFPCX.
    READ TABLE LT_ZFPCX INTO LS_ZFPCX WITH KEY VGBEL = <FB_ALV>-VBELN
                                               VGPOS = <FB_ALV>-POSNR
                                               BINARY SEARCH.
    IF LS_ZFPCX-VBELN = <FB_ALV>-ZFPNUM.
      <FB_ALV>-STATUS = C_YES. "绿色
      <FB_ALV>-STATUS_T = '发票正确'.
    ELSE.
      <FB_ALV>-VBELN_KP = LS_ZFPCX-VBELN.
      <FB_ALV>-POSNR_KP = LS_ZFPCX-POSNR.

      <FB_ALV>-STATUS = C_NO.
      <FB_ALV>-STATUS_T = '需要更正'. "红色
    ENDIF.
    CLEAR LS_ZFPCX.
  ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_SHOW_DATA
*&---------------------------------------------------------------------*
*       数据显示
*----------------------------------------------------------------------*
FORM FRM_SHOW_DATA .
**ALV输入参数
  PERFORM FRM_ALV_SET_FIELDS.

**ALV数据显示
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      I_CALLBACK_PROGRAM       = SY-REPID
*     I_DEFAULT                = ''
      I_CALLBACK_PF_STATUS_SET = 'FRM_ALV_SET_STATUS'
      IT_FIELDCAT_LVC          = GT_FCAT
      IS_LAYOUT_LVC            = GS_LAYOUT
      I_CALLBACK_USER_COMMAND  = 'FRM_ALV_USER_COMMAND'
*     I_SAVE                   = 'A'
    TABLES
      T_OUTTAB                 = GT_ALV[].
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_UCOM_ZGZ
*&---------------------------------------------------------------------*
*       更正功能
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_UCOM_ZGZ .
  DATA: L_SUM               TYPE I,
        L_NOW               TYPE I,
        L_ZFPFG             TYPE ZTMIMXSD_0007-ZFPFG,
        L_MESSAGE           TYPE STRING,
        LS_ZTMIMXSD_0007LOG TYPE ZTMIMXSD_0007LOG.

  LOOP AT GT_ALV INTO DATA(LS_ALV) WHERE SEL = 'X'.
    L_SUM = L_SUM + 1.
  ENDLOOP.
  IF L_SUM = 0.
    MESSAGE I002."未选中待更正行项目
  ELSE.
    LOOP AT GT_ALV ASSIGNING FIELD-SYMBOL(<FS_ALV>) WHERE SEL = 'X'.
      L_NOW = L_NOW + 1.
      L_MESSAGE = |共{ L_SUM }条行项目,当前处理第{ L_NOW }行.....|.

      PERFORM FRM_NOW_PROGRESS USING L_NOW L_SUM L_MESSAGE.
      IF <FS_ALV>-VBELN_KP IS INITIAL.
        L_ZFPFG = ''.
      ELSE.
        L_ZFPFG = 'S'.
      ENDIF.

******更新ZTMIMXSD_0007表
      UPDATE ZTMIMXSD_0007 SET ZFPNUM = <FS_ALV>-VBELN_KP
                               ZFPPOS = <FS_ALV>-POSNR_KP
                               ZFPFG  = L_ZFPFG
                               AEDAT  = SY-DATUM
                               AETIM  = SY-UZEIT
                               AENAM  = SY-UNAME
                         WHERE ZKPTZN = <FS_ALV>-ZKPTZN
                           AND ZKPPOS = <FS_ALV>-ZKPPOS.
      IF SY-SUBRC = 0.
        COMMIT WORK AND WAIT.
        <FS_ALV>-SEL = ''.
        <FS_ALV>-STATUS = C_YES.
        <FS_ALV>-STATUS_T = '更正成功'.

********更新ZTMIMXSD_0007LOG表-修改记录表
        CLEAR LS_ZTMIMXSD_0007LOG.
        LS_ZTMIMXSD_0007LOG-ZKPTZN    = <FS_ALV>-ZKPTZN.
        LS_ZTMIMXSD_0007LOG-ZKPPOS    = <FS_ALV>-ZKPPOS.
        LS_ZTMIMXSD_0007LOG-FNAME     = 'ZFPNUM'.
        LS_ZTMIMXSD_0007LOG-VALUE_OLD = <FS_ALV>-ZFPNUM.
        LS_ZTMIMXSD_0007LOG-VALUE_NEW = <FS_ALV>-VBELN_KP.
        LS_ZTMIMXSD_0007LOG-AEDAT     = SY-DATUM.
        LS_ZTMIMXSD_0007LOG-AETIM     = SY-UZEIT.
        LS_ZTMIMXSD_0007LOG-AENAM     = SY-UNAME.
        MODIFY ZTMIMXSD_0007LOG FROM LS_ZTMIMXSD_0007LOG.
        IF SY-SUBRC = 0.
          COMMIT WORK AND WAIT.
        ENDIF.
      ELSE.
        ROLLBACK WORK.
      ENDIF.
    ENDLOOP.
    MESSAGE S003."全部开票通知单更正成功
  ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_AUTHORITY_CHECK
*&---------------------------------------------------------------------*
*       权限检测
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_AUTHORITY_CHECK .
**权限检查-销售组织
  SELECT VKORG
    INTO TABLE @DATA(LT_TVKO)
    FROM TVKO
   WHERE VKORG IN @S_VKORG.


  LOOP AT LT_TVKO INTO DATA(LS_TVKO).
    AUTHORITY-CHECK OBJECT 'V_VBRK_VKO'
                  ID 'VKORG' FIELD LS_TVKO-VKORG
                  ID 'ACTVT' DUMMY.
    IF SY-SUBRC NE 0.
******没有权限,请检查输入的销售组织!
      MESSAGE E004 WITH LS_TVKO-VKORG.
    ENDIF.
  ENDLOOP.
ENDFORM.

六、INCLUDE主程序。

*&---------------------------------------------------------------------*
*&  包含                ZMIMXSDRP_0022_4_MAIN
*&---------------------------------------------------------------------*

*----------------------------------------------------------------------*
*  DESC: INITIALIZATION 事件
*----------------------------------------------------------------------*
INITIALIZATION.
**初始化操作
*  PERFORM FRM_INIT_SCREEN.

*----------------------------------------------------------------------*
*  DESC: AT SELECTION-SCREEN 事件
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
**权限检测
  PERFORM FRM_AUTHORITY_CHECK.

*----------------------------------------------------------------------*
*  DESC: AT SELECTION-SCREEN OUTPUT 事件
*----------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
*  PERFORM FRM_MODIFY_SCREEN.

*----------------------------------------------------------------------*
*  DESC: START-OF-SELECTION 事件
*----------------------------------------------------------------------*
START-OF-SELECTION.
**获取数据
  PERFORM FRM_GET_DATA.

**处理数据
  PERFORM FRM_EDIT_DATA.

  IF GT_ALV[] IS NOT INITIAL.
****显示数据
    PERFORM FRM_SHOW_DATA.
  ELSE.
    MESSAGE S001 DISPLAY LIKE 'E'. "
  ENDIF.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈佛2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值