美文网首页
abap oo模板代码

abap oo模板代码

作者: abapCiCi | 来源:发表于2020-06-16 14:19 被阅读0次

OO ALV是面向对象的ALV,在使用之前我们需创建一个control容器(屏幕),在通过CUSTOM_CONTAINER将其实例化为一个ALV屏幕,我们可以将ALV看作是一个对象,按钮,字段,样式,事件都是其属性,使用起来简单方便。


image.png
*&---------------------------------------------------------------------*
*& Report  ZTEST_OOP_ALV
*&
*&---------------------------------------------------------------------*
*&OO ALV练习
*&
*&---------------------------------------------------------------------*

REPORT  ZTEST_OOP_ALV.

INCLUDE <ICON>.

TABLES:MARA,  " 常规物料数据
       MAKT,  " 物料描述
       T023T. " 物料组描述

TYPE-POOLS: VRM, SLIS.

TYPES:BEGIN OF TY_ITAB,
        CKBOX        TYPE C         ,  " ALV 左侧选择框
        ICON         TYPE ICON-ID,     " 状态
        MATNR        TYPE MARA-MATNR,  " 物料号
        MAKTX        TYPE MAKT-MAKTX,  " 物料描述
        MTART        TYPE MARA-MTART,  " 物料类型
        MBRSH        TYPE MARA-MBRSH,  " 行业领域
        MATKL        TYPE MARA-MATKL,  " 物料组
        WGBEZ        TYPE T023T-WGBEZ, " 物料组描述
        MEINS        TYPE MARA-MEINS,  " 基本计量单位
        BRGEW        TYPE MARA-BRGEW,  " 毛重
        NTGEW        TYPE MARA-NTGEW,  " 净重
        GEWEI        TYPE MARA-GEWEI,  " 重量单位
        ROW_COLOR(4) TYPE C,                  " 行颜色
        CEL_COLOR    TYPE SLIS_T_SPECIALCOL_ALV, " 列颜色
        BNAME(10)    TYPE C,
        STORE        TYPE CHAR10,      " 存放地点,搜索帮助字段
        ZHTTP        TYPE STRING,      " 存放URL
        ZLINK        TYPE INT4,
      END OF TY_ITAB.
*&---物料描述(属性信息为附属表,禁止和主表jion使用)
TYPES:BEGIN OF TY_MAKT,
        MATNR TYPE MAKT-MATNR,  " 物料号
        SPRAS TYPE MAKT-SPRAS,  " 语言代码
        MAKTX TYPE MAKT-MAKTX,  " 物料描述
      END OF TY_MAKT.
*&---物料组描述(属性信息为附属表,禁止和主表jion使用)
TYPES:BEGIN OF TY_T023T,
        MATKL TYPE T023T-MATKL,  " 物料组
        SPRAS TYPE T023T-SPRAS,  " 语言代码
        WGBEZ TYPE T023T-WGBEZ,  " 物料组描述
      END OF TY_T023T.

*&---ALV 搜索帮助类型
TYPES:BEGIN OF TY_STORE,
      STORE TYPE CHAR4,
      TYPE  TYPE CHAR4,
      BNAME TYPE CHAR30,
      END OF TY_STORE.

*----------------------------------------------------------------------*
* 全局变量定义/Global variable definition
*----------------------------------------------------------------------*
*&---全局内表定义
DATA:GT_ITAB  TYPE TABLE OF TY_ITAB,  " 主数据表
     GT_MAKT  TYPE TABLE OF TY_MAKT,  " 物料描述
     GT_T023T TYPE TABLE OF TY_T023T, " 物料组描述
     GT_STORE TYPE TABLE OF TY_STORE. " 搜索帮助内表

*&---全局结构定义
DATA:GS_ITAB  TYPE TY_ITAB,           " 主数据结构
     GS_MAKT  TYPE TY_MAKT,           " 物料描述结构
     GS_STORE TYPE TY_STORE,         " 搜索帮助内表
     GS_T023T TYPE TY_T023T.          " 物料组描述结构

*&---全局变量定义
DATA:GV_MATNR TYPE MARA-MATNR,        " 物料号
     GV_MAKTX TYPE MAKT-MAKTX,        " 物料描述
     GV_NAME1 TYPE CHAR10,                                  " 字符串操作变量1
     GV_NAME2 TYPE STRING,                                  " 字符串操作变量2
     GV_INDEX TYPE I,                 " 取余值
     GV_TIMES TYPE I VALUE 10.        " 循环次数

*&---------------------------------------------------------------------*
*& 字段串定义/Field-symbols                                            *
*&---------------------------------------------------------------------*
FIELD-SYMBOLS:<FS_ITAB> TYPE TY_ITAB.

*&---------------------------------------------------------------------*
*&  ALV TYPE/ALV 类型定义
*&---------------------------------------------------------------------*
DATA: OK_CODE TYPE SY-UCOMM,
      G_REPID LIKE SY-REPID,
      G_GRID  TYPE REF TO CL_GUI_ALV_GRID,
      GS_LAYOUT    TYPE LVC_S_LAYO,
      CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

DATA: GT_FIELD_CAT TYPE LVC_T_FCAT,
      GS_FIELD_CAT TYPE LVC_S_FCAT,
      GS_VARIANT   TYPE DISVARIANT,
      GT_EXCLUDE   TYPE UI_FUNCTIONS.

*&---选择屏幕下拉框/list box
DATA:GT_LIST TYPE VRM_VALUES,
     GS_LIST LIKE LINE OF GT_LIST.

*&---ALV HTTP超链接
DATA GS_HYPE TYPE LVC_S_HYPE .
DATA GT_HYPE TYPE LVC_T_HYPE ."网址映射关系表,在具体链接到哪个网址就是根

*&---ALV 下拉列表
DATA:GT_BNAME  TYPE LVC_T_DROP,           " 用户下拉列表,表存储
     GS_BNAME  TYPE LVC_S_DROP.           " 用户下拉列表,结构

*&---单元格颜色
DATA:GS_CELL TYPE LINE OF SLIS_T_SPECIALCOL_ALV.


*----------------------------------------------------------------------*
*CLASS cl_event_handler DEFINITION
*----------------------------------------------------------------------*
CLASS CL_EVENT_HANDLER DEFINITION.

  PUBLIC SECTION.
    "Hotspot Click.
    METHODS:   HANDLE_CLICK
                  FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
      IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO.

    METHODS: HANDLE_ONF4
                  FOR EVENT ONF4 OF CL_GUI_ALV_GRID
      IMPORTING E_FIELDNAME ES_ROW_NO ER_EVENT_DATA.

    METHODS: HANDLE_DATA_CHANGED
      FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID
  IMPORTING
      ER_DATA_CHANGED
      E_ONF4
      E_ONF4_BEFORE
      E_ONF4_AFTER
      E_UCOMM.

ENDCLASS. "cl_event_handler DEFINITION

*----------------------------------------------------------------------*
*       CLASS cl_event_handler IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS CL_EVENT_HANDLER IMPLEMENTATION.
  "Hotspot Click.单击事件
  METHOD HANDLE_CLICK.
    CASE E_COLUMN_ID-FIELDNAME.
      WHEN 'MATNR'.
        READ TABLE GT_ITAB ASSIGNING <FS_ITAB> INDEX E_ROW_ID.
        IF SY-SUBRC = 0.
          SET PARAMETER ID 'MAT' FIELD <FS_ITAB>-MATNR.
          CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
        ENDIF.
      WHEN OTHERS.
    ENDCASE.
  ENDMETHOD.                    "HANDLE_CLICK

  METHOD HANDLE_ONF4."搜索帮助
    PERFORM HANDLE_ONF4 USING E_FIELDNAME ES_ROW_NO ER_EVENT_DATA.
  ENDMETHOD.                    "HANDLE_ONF4

  "数据变化事件:更改物料描述
  METHOD HANDLE_DATA_CHANGED.

    DATA: GT_HEAD TYPE TABLE OF BAPIMATHEAD,
          GS_HEAD TYPE BAPIMATHEAD,
          LT_MAKT TYPE TABLE OF BAPI_MAKT,
          LS_MAKT TYPE BAPI_MAKT,
          GT_RET  TYPE TABLE OF BAPI_MATRETURN2,
          GS_RET  TYPE BAPI_MATRETURN2.

    DATA: L_MSG TYPE STRING.

    TYPES:LTY_ALV_H TYPE STANDARD TABLE OF TY_ITAB WITH NON-UNIQUE DEFAULT KEY.

    DATA: L_MAKTX  TYPE MAKT-MAKTX.
    FIELD-SYMBOLS:<CHANGED> TYPE LTY_ALV_H,
                  <CHG_ROW> LIKE LINE OF <CHANGED>,
                  <DEL_ROW> LIKE LINE OF ER_DATA_CHANGED->MT_DELETED_ROWS,
                  <CHG_CEL> LIKE LINE OF ER_DATA_CHANGED->MT_MOD_CELLS.

    LOOP AT ER_DATA_CHANGED->MT_MOD_CELLS ASSIGNING <CHG_CEL> WHERE FIELDNAME = 'MAKTX'.
      CASE <CHG_CEL>-FIELDNAME.
        WHEN 'MAKTX'.
          READ TABLE GT_ITAB INTO GS_ITAB INDEX <CHG_CEL>-ROW_ID.
          IF SY-SUBRC EQ 0.
            GS_HEAD-MATERIAL = GS_ITAB-MATNR.
          ENDIF.
          LS_MAKT-LANGU = '1'.
          LS_MAKT-MATL_DESC = <CHG_CEL>-VALUE.
          APPEND LS_MAKT TO LT_MAKT.
          CLEAR LS_MAKT.
          CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
           EXPORTING
             HEADDATA = GS_HEAD
*            IMPORTING
*              RETURN = GS_RET
           TABLES
             MATERIALDESCRIPTION = LT_MAKT
             RETURNMESSAGES = GT_RET.

          LOOP AT GT_RET INTO GS_RET WHERE TYPE = 'S'.
          ENDLOOP.

          CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
            EXPORTING
              INPUT  = GS_HEAD-MATERIAL
            IMPORTING
              OUTPUT = GS_HEAD-MATERIAL.

          IF SY-SUBRC EQ 0.
            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
              EXPORTING
                WAIT = 'X'.
            COMMIT WORK.
            CONCATENATE '物料号' GS_HEAD-MATERIAL '的物料描述修改成功!' INTO L_MSG.
            MESSAGE L_MSG TYPE 'S'.
          ELSE.
            CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
            ROLLBACK WORK.
            CONCATENATE '物料号' GS_HEAD-MATERIAL '的物料描述修改失败!' INTO L_MSG..
            MESSAGE L_MSG TYPE 'E'.
          ENDIF.

      ENDCASE.
    ENDLOOP.
  ENDMETHOD.                    "HANDLE_DATA_CHANGED

ENDCLASS. "cl_event_handler IMPLEMENTATION

*&---------------------------------------------------------------------*
*& Selection Screen/选择屏幕
*&---------------------------------------------------------------------*
*&---选择屏幕块
SELECTION-SCREEN BEGIN OF BLOCK BLK01 WITH FRAME TITLE TEXT-101.
*&---单值
PARAMETERS:P_MTART LIKE MARA-MTART OBLIGATORY DEFAULT 'FERT', " 必输
           P_MBRSH LIKE MARA-MBRSH DEFAULT 'M'.               " 默认值
*&---空行
SELECTION-SCREEN SKIP.
*&---范围
SELECT-OPTIONS:S_MATNR FOR MARA-MATNR,
               S_MATKL FOR MARA-MATKL.
*&---空行
SELECTION-SCREEN SKIP.
*&---单选框
SELECTION-SCREEN BEGIN OF BLOCK BLK02 WITH FRAME TITLE TEXT-102.
PARAMETERS:P_SIGLE RADIOBUTTON GROUP GR1,
           P_JOIN  RADIOBUTTON GROUP GR1.
SELECTION-SCREEN END OF BLOCK BLK02.
SELECTION-SCREEN END OF BLOCK BLK01.
*&---ALV 颜色设置
SELECTION-SCREEN BEGIN OF BLOCK BLK06 WITH FRAME TITLE TEXT-106.
PARAMETERS:P_ROW_C AS CHECKBOX DEFAULT 'X',  " 行颜色是否设置
           P_COL_C AS CHECKBOX DEFAULT 'X',  " 列颜色是否设置
           P_CEL_C AS CHECKBOX DEFAULT 'X'.  " 单元格颜色设置
SELECTION-SCREEN BEGIN OF BLOCK BLK07 WITH FRAME TITLE TEXT-107.
PARAMETERS:P_ROW   TYPE I DEFAULT 10,        " 设置颜色行
           P_COL   TYPE I DEFAULT 6.         " 设置颜色列
SELECTION-SCREEN END OF BLOCK BLK07.
SELECTION-SCREEN END OF BLOCK BLK06.

*&---------------------------------------------------------------------*
*& INITIALIZATION/选择屏幕前初始化                                     *
*&---------------------------------------------------------------------*
INITIALIZATION.
*&---------------------------------------------------------------------*
*& at selection-screen/选择屏幕开始                                    *
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN.

*&---------------------------------------------------------------------*
*& at selection-screen output/选择屏幕输出                             *
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.

*&---------------------------------------------------------------------*
*& Start-of-selection/开始选择屏幕                                     *
*&---------------------------------------------------------------------*
START-OF-SELECTION.
*&---内表数据获取
  IF P_SIGLE = 'X'.
    PERFORM FRM_GETDATA. " 单语句实现
  ELSEIF P_JOIN = 'X'.
    PERFORM FRM_GETDATA2 USING GV_TIMES. " join 语句使用
  ENDIF.

*&---------------------------------------------------------------------*
*& end-of-selection/结束选择屏幕(程序结束处理,输出等)               *
*&---------------------------------------------------------------------*
END-OF-SELECTION.
  CALL SCREEN 9000.
*&---------------------------------------------------------------------*
*&      Form  frm_setdata
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_10     text
*----------------------------------------------------------------------*
FORM FRM_GETDATA.
  FREE:GT_ITAB,GT_MAKT,GT_T023T.
*&---获取主数据表内容MARA,此处控制输出p_no 行
  SELECT MATNR
         MTART
         MBRSH
         MATKL
         MEINS
         BRGEW
         NTGEW
         GEWEI
    INTO CORRESPONDING FIELDS OF TABLE GT_ITAB
    FROM MARA
   WHERE MTART = P_MTART
     AND MBRSH = P_MBRSH
     AND MATNR IN S_MATNR
     AND MATKL IN S_MATKL.

*&---主数据表属性信息获取
  IF GT_ITAB[] IS NOT INITIAL.
*&---物料描述
    SELECT MATNR
           SPRAS
           MAKTX
      INTO CORRESPONDING FIELDS OF TABLE GT_MAKT
      FROM MAKT
       FOR ALL ENTRIES IN GT_ITAB
     WHERE MATNR = GT_ITAB-MATNR
       AND SPRAS = SY-LANGU. " 默认登陆语言
*&---物料组描述
    SELECT MATKL
           SPRAS
           WGBEZ
      INTO CORRESPONDING FIELDS OF TABLE GT_T023T
      FROM T023T
       FOR ALL ENTRIES IN GT_ITAB
     WHERE MATKL = GT_ITAB-MATKL
       AND SPRAS = SY-LANGU. " 默认登陆语言
  ENDIF.

*&---主表数据组织
*&---循环数据前排序
  SORT GT_MAKT  BY MATNR SPRAS.
  SORT GT_T023T BY MATKL SPRAS.
*&---循环内表,赋值物料组,物料描述
  LOOP AT GT_ITAB ASSIGNING <FS_ITAB>.

*&---行颜色设置
    IF P_ROW_C = 'X' AND SY-TABIX = P_ROW.
      <FS_ITAB>-ROW_COLOR = 'C610'.
    ENDIF.

*&---赋值物料描述
    READ TABLE GT_MAKT INTO GS_MAKT WITH KEY MATNR = <FS_ITAB>-MATNR
    BINARY SEARCH.
    IF SY-SUBRC = 0.
      <FS_ITAB>-MAKTX = GS_MAKT-MAKTX.
    ENDIF.
*&---赋值物料组描述
    READ TABLE GT_T023T INTO GS_T023T WITH KEY MATKL = <FS_ITAB>-MATKL
    BINARY SEARCH.
    IF SY-SUBRC = 0.
      <FS_ITAB>-WGBEZ = GS_T023T-WGBEZ.
    ENDIF.
    <FS_ITAB>-ICON = '@5D@'.
    <FS_ITAB>-ZHTTP = 'Going to BaiDu'.
    <FS_ITAB>-ZLINK = 1.
  ENDLOOP.
ENDFORM.                    " frm_setdata

*&---------------------------------------------------------------------*
*&      Form  frm_getdata2
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_GV_TIMES  text
*----------------------------------------------------------------------*
FORM FRM_GETDATA2  USING    P_NO.
  FREE:GT_ITAB,GT_MAKT,GT_T023T.
*&---获取主数据表内容MARA,此处控制输出p_no 行
  SELECT A~MATNR
         B~MAKTX
         MTART
         MBRSH
         MATKL
         MEINS
         BRGEW
         NTGEW
         GEWEI
    APPENDING CORRESPONDING FIELDS OF TABLE GT_ITAB
    FROM MARA AS A
    JOIN MAKT AS B ON A~MATNR = B~MATNR AND SPRAS = SY-LANGU
   WHERE MTART = P_MTART
     AND MBRSH = P_MBRSH
     AND A~MATNR IN S_MATNR
     AND MATKL IN S_MATKL.

*&---主数据表属性信息获取
  IF GT_ITAB[] IS NOT INITIAL.
*&---物料组描述
    SELECT MATKL
           SPRAS
           WGBEZ
      INTO CORRESPONDING FIELDS OF TABLE GT_T023T
      FROM T023T
       FOR ALL ENTRIES IN GT_ITAB
     WHERE MATKL = GT_ITAB-MATKL
    AND SPRAS = SY-LANGU. " 默认登陆语言
  ENDIF.

*&---主表数据组织
*&---循环数据前排序
  SORT GT_MAKT  BY MATNR SPRAS.
  SORT GT_T023T BY MATKL SPRAS.
*&---循环内表,赋值物料组,物料描述
  LOOP AT GT_ITAB ASSIGNING <FS_ITAB>.
*&---行颜色设置
    IF P_ROW_C = 'X' AND SY-TABIX = P_ROW.
      <FS_ITAB>-ROW_COLOR = 'C610'.
    ENDIF.

*&---赋值物料描述
    READ TABLE GT_MAKT INTO GS_MAKT WITH KEY MATNR = <FS_ITAB>-MATNR
    BINARY SEARCH.
    IF SY-SUBRC = 0.
      <FS_ITAB>-MAKTX = GS_MAKT-MAKTX.
    ENDIF.
*&---赋值物料组描述
    READ TABLE GT_T023T INTO GS_T023T WITH KEY MATKL = <FS_ITAB>-MATKL
    BINARY SEARCH.
    IF SY-SUBRC = 0.
      <FS_ITAB>-WGBEZ = GS_T023T-WGBEZ.
    ENDIF.
    <FS_ITAB>-ICON = '@5D@'.
    <FS_ITAB>-ZHTTP = 'Going to BaiDu'.
    <FS_ITAB>-ZLINK = 1.
  ENDLOOP.
ENDFORM.                    " frm_getdata2
*&---------------------------------------------------------------------*
*&      Module  STATUS_9000  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_9000 OUTPUT.
  SET PF-STATUS 'SET_STATUS'.
  SET TITLEBAR 'SET_STATUS'.

  DATA GO_EVENT_HANDLER TYPE REF TO CL_EVENT_HANDLER.
  DATA: LT_LVC_T_F4 TYPE LVC_T_F4,
        LS_LVC_T_F4 TYPE LINE OF LVC_T_F4.

  G_REPID = SY-REPID.

  IF CUSTOM_CONTAINER IS INITIAL.
    "创建屏幕容器
    CREATE OBJECT CUSTOM_CONTAINER
      EXPORTING
        CONTAINER_NAME = 'OOALV_TEST'.
    "创建ALV容器
    CREATE OBJECT G_GRID
      EXPORTING
        I_PARENT = CUSTOM_CONTAINER.


    PERFORM EXCLUDE_TB_FUNCTIONS."隐藏不必要的按钮
    PERFORM FRM_BUILD_FIELDCAT."设置字段目录
    PERFORM FRM_SET_COLOR."设置颜色
    PERFORM FRM_SET_LISTBOX."设置下拉框
    PERFORM FRM_SET_HTTP."设置HTTP超链接

    CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
      EXPORTING
        IS_VARIANT           = GS_VARIANT
        IS_LAYOUT            = GS_LAYOUT
        I_SAVE               = 'A'
        IT_TOOLBAR_EXCLUDING = GT_EXCLUDE
        IT_HYPERLINK         = GT_HYPE
      CHANGING
        IT_FIELDCATALOG      = GT_FIELD_CAT
        IT_OUTTAB            = GT_ITAB.

    IF SY-SUBRC <> 0.
      MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4 DISPLAY LIKE 'I'.
      STOP.
    ENDIF.
    CREATE OBJECT GO_EVENT_HANDLER.
    SET HANDLER   GO_EVENT_HANDLER->HANDLE_CLICK            FOR G_GRID.
    SET HANDLER   GO_EVENT_HANDLER->HANDLE_DATA_CHANGED     FOR G_GRID.

    CALL METHOD G_GRID->SET_TOOLBAR_INTERACTIVE( ).

    CALL METHOD G_GRID->REGISTER_EDIT_EVENT
      EXPORTING
        I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.

    CLEAR LS_LVC_T_F4.
    LS_LVC_T_F4-FIELDNAME = 'STORE'.
    LS_LVC_T_F4-GETBEFORE = 'X'.
    LS_LVC_T_F4-REGISTER = 'X'.
    APPEND LS_LVC_T_F4 TO LT_LVC_T_F4.
    CALL METHOD G_GRID->REGISTER_F4_FOR_FIELDS
      EXPORTING
        IT_F4 = LT_LVC_T_F4.
    SET HANDLER GO_EVENT_HANDLER->HANDLE_ONF4     FOR G_GRID.

  ENDIF.


  "获取屏幕焦点
*  CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
*    EXPORTING
*      CONTROL = GRID.

ENDMODULE.                 " STATUS_9000  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_9000  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9000 INPUT.
*&---自定义程序结构
  DATA:LT_ZZT_201711_1015 LIKE TABLE OF ZZT_201711_1015, " 存储组织内表
       LT_CHECK           LIKE TABLE OF RSPARAMS,        " se16 检查返回表
       LS_ZZT_201711_1015 LIKE ZZT_201711_1015.
  DATA: STBL TYPE LVC_S_STBL.
  "及时更新ALV数据至内表
  CALL METHOD G_GRID->CHECK_CHANGED_DATA.
  CASE OK_CODE.
    WHEN 'BACK'.
      LEAVE TO SCREEN 0.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
*&---前台导入
    WHEN 'ZSAVE'.
      READ TABLE GT_ITAB ASSIGNING <FS_ITAB> WITH KEY CKBOX = 'X'.
      IF SY-SUBRC = 0.
        PERFORM FRM_SAVE_DATA.
        MESSAGE '数据保存成功!' TYPE 'S'.
      ELSE.
        MESSAGE '请至少选择一条数据!' TYPE 'S' DISPLAY LIKE 'E'.
        EXIT.
      ENDIF.
**&---更新到数据库表中(大数据量性能考虑)
*      IF lt_zzt_201711_1015[] IS NOT INITIAL.
*         MODIFY zzt_201711_1015 FROM TABLE lt_zzt_201711_1015.
*         IF sy-subrc = 0.
*             COMMIT WORK AND WAIT.
*         ENDIF.
*      ENDIF.
*&---查看保存数据库表内容
    WHEN 'ZCHECK'.
*&---数据库表内容函数
      CALL FUNCTION 'RSDU_CALL_SE16'
        EXPORTING
          I_TABLENAME = 'ZZT_201711_1015'
        TABLES
          I_T_SELTAB  = LT_CHECK[].
  ENDCASE.
*&---刷新ALV 显示值
  STBL-ROW = 'X'." 基于行的稳定刷新
  STBL-COL = 'X'." 基于列稳定刷新
  CALL METHOD G_GRID->REFRESH_TABLE_DISPLAY
    EXPORTING
      IS_STABLE      = STBL
*      I_SOFT_REFRESH = 'X'
    EXCEPTIONS
      FINISHED       = 1
      OTHERS         = 2.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  CLEAR OK_CODE.
ENDMODULE.                 " USER_COMMAND_9000  INPUT
*&---------------------------------------------------------------------*
*&      Form  FRM_BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*MATKL
FORM FRM_BUILD_FIELDCAT .
  PERFORM APPEND_FIELDCAT USING '' 'ICON'     '状态'        'X'   ''      ''  ''  ''  ''  '' '' ''.
  PERFORM APPEND_FIELDCAT USING '' 'CKBOX'    '选择框'      'X'   ''      'X' 'X' ''  ''  '' '' ''.
  PERFORM APPEND_FIELDCAT USING '' 'MATNR'    '物料号'      'X'  ''      ''  ''  'X' ''  'MARA' 'MATNR' ''.
  PERFORM APPEND_FIELDCAT USING '' 'MAKTX'    '物料描述'    'X'  ''      ''  'X' ''  ''  'MAKT' 'MAKTX' ''.
  PERFORM APPEND_FIELDCAT USING '' 'MTART'    '物料类型'    'X'  ''      ''  'X' ''  ''  'MARA' 'MTART' ''.
  PERFORM APPEND_FIELDCAT USING '' 'MBRSH'    '行业领域'    'X'  ''      ''  'X' ''  ''  'MARA' 'MBRSH' ''.
  PERFORM APPEND_FIELDCAT USING '' 'MATKL'    '物料组'      'X'  ''      ''  ''  ''  ''  'MARA' 'MATKL' '' .
  PERFORM APPEND_FIELDCAT USING '' 'WGBEZ'    '物料组描述'  'X'  ''      ''  ''  ''  ''  'T023T' 'WGBEZ' ''.
  PERFORM APPEND_FIELDCAT USING '' 'MEINS'    '单位'        'X'  ''      ''  'X' ''  ''  'MARA' 'MEINS' ''.
  PERFORM APPEND_FIELDCAT USING '' 'BRGEW'    '毛重'        'X'  ''      ''  'X' ''  ''  'MARA' 'BRGEW' 'GEWEI'.
  PERFORM APPEND_FIELDCAT USING '' 'NTGEW'    '净重'        'X'  ''      ''  'X' ''  ''  'MARA' 'NTGEW' 'GEWEI'.
  PERFORM APPEND_FIELDCAT USING '' 'GEWEI'    '重量单位'    'X'  ''      ''  'X' ''  ''  'MARA' 'BRGEW' 'GEWEI'.
  PERFORM APPEND_FIELDCAT USING '' 'BNAME'    '用户标识'    'X'  'BNAME' ''  'X' ''  ''  '' '' ''.
  PERFORM APPEND_FIELDCAT USING '' 'STORE'    '存储地点'    'X'  ''      ''  'X' ''  'X' '' '' ''.
  PERFORM APPEND_FIELDCAT USING 'ZLINK' 'ZHTTP'   '超链接列' 'X' ''      ''  ''  ''  'X' '' '' ''.
  "设置字段目录,创建ALV
  CLEAR GS_LAYOUT.
  GS_VARIANT-REPORT    = SY-REPID.
  GS_LAYOUT-GRID_TITLE = TEXT-001.
  GS_LAYOUT-CWIDTH_OPT = 'X'.
  GS_LAYOUT-ZEBRA      = 'X'.
  GS_LAYOUT-NO_ROWMARK   = 'X'.
  GS_LAYOUT-INFO_FNAME = 'ROW_COLOR'. " 行颜色
  GS_LAYOUT-CTAB_FNAME = 'CEL_COLOR'. " 列颜色

ENDFORM.                    " FRM_BUILD_FIELDCAT

*&---------------------------------------------------------------------*
*&      Form  APPEND_FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_WEB_FIELD   text
*      -->P_WEB_FIELD   text
*      -->P_COLTEXT     text
*      -->P_SCRTEXT_S   text
*      -->P_DRDN_FIELD  text
*      -->P_CHECKBOX    text
*      -->P_EDIT        text
*      -->P_HOTSPOT     text
*      -->P_F4AVAILABL  text
*      -->P_REF_FIELD   text
*      -->P_QFIELDNAME  text
*----------------------------------------------------------------------*
FORM APPEND_FIELDCAT USING P_WEB_FIELD
                            P_FIELDNAME
                            P_COLTEXT
                            P_SCRTEXT_S
                            P_DRDN_FIELD
                            P_CHECKBOX
                            P_EDIT
                            P_HOTSPOT
                            P_F4AVAILABL
                            P_REF_TABLE
                            P_REF_FIELD
                            P_QFIELDNAME.

  CLEAR GS_FIELD_CAT.
  GS_FIELD_CAT-WEB_FIELD  = P_WEB_FIELD.
  GS_FIELD_CAT-FIELDNAME  = P_FIELDNAME.
  GS_FIELD_CAT-COLTEXT    = P_COLTEXT.
  GS_FIELD_CAT-SCRTEXT_S  = P_SCRTEXT_S.
  GS_FIELD_CAT-SCRTEXT_M  = P_SCRTEXT_S.
  GS_FIELD_CAT-SCRTEXT_L  = P_SCRTEXT_S.
  GS_FIELD_CAT-DRDN_FIELD = P_DRDN_FIELD.
  GS_FIELD_CAT-CHECKBOX   = P_CHECKBOX.
  GS_FIELD_CAT-EDIT       = P_EDIT.
  GS_FIELD_CAT-HOTSPOT    = P_HOTSPOT.
  GS_FIELD_CAT-F4AVAILABL = P_F4AVAILABL.
  GS_FIELD_CAT-REF_TABLE  = P_REF_TABLE.
  GS_FIELD_CAT-REF_FIELD  = P_REF_FIELD.
  GS_FIELD_CAT-QFIELDNAME = P_QFIELDNAME.
  APPEND GS_FIELD_CAT TO GT_FIELD_CAT.
ENDFORM.                    "APPEND_FIELDCAT


*&---------------------------------------------------------------------*
*&      Form  EXCLUDE_TB_FUNCTIONS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM EXCLUDE_TB_FUNCTIONS .

  DATA LS_EXCLUDE TYPE UI_FUNC.

*  ls_exclude = cl_gui_alv_grid=>mc_mb_sum.
*  APPEND  ls_exclude TO gt_exclude.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CALL_CRBATCH.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
*  ls_exclude = cl_gui_alv_grid=>mc_fc_detail.
*  APPEND  ls_exclude TO gt_exclude.
*  ls_exclude = cl_gui_alv_grid=>mc_fc_sort_asc.
*  APPEND  ls_exclude TO gt_exclude.
*  ls_exclude = cl_gui_alv_grid=>mc_fc_sort_dsc.
*  APPEND  ls_exclude TO gt_exclude.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_FIND.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
*  ls_exclude = cl_gui_alv_grid=>mc_mb_filter.
*  APPEND  ls_exclude TO gt_exclude.
*  ls_exclude = cl_gui_alv_grid=>mc_fc_current_variant.
*  APPEND  ls_exclude TO gt_exclude.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_MB_VIEW.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
*  ls_exclude = cl_gui_alv_grid=>mc_mb_export.
*  APPEND  ls_exclude TO gt_exclude.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_GRAPH.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_CHECK.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_REFRESH.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
*  ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row.
*  APPEND  ls_exclude TO gt_exclude.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_PRINT.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_INFO.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_CUT.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE_NEW_ROW.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.
  LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO.
  APPEND  LS_EXCLUDE TO GT_EXCLUDE.

ENDFORM.                    "EXCLUDE_TB_FUNCTIONS
*&---------------------------------------------------------------------*
*&      Form  FRM_SAVE_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_SAVE_DATA .
*&---选中数据收集到内表
  FREE:LT_ZZT_201711_1015.
  LOOP AT GT_ITAB ASSIGNING <FS_ITAB> WHERE CKBOX = 'X'.
*&---数据赋值
    CLEAR:LS_ZZT_201711_1015.
    MOVE-CORRESPONDING <FS_ITAB> TO LS_ZZT_201711_1015.
*&---更新数据库表
    MODIFY ZZT_201711_1015 FROM LS_ZZT_201711_1015.
    IF SY-SUBRC = 0.
      COMMIT WORK AND WAIT.
      <FS_ITAB>-ICON = '@5B@'.
    ELSE.
      <FS_ITAB>-ICON = '@5C@'.
    ENDIF.
    APPEND LS_ZZT_201711_1015 TO LT_ZZT_201711_1015.
  ENDLOOP.
ENDFORM.                    " FRM_SAVE_DATA


*&---------------------------------------------------------------------*
*&      Form  HANDLE_ONF4
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_E_FIELDNAME  text
*      -->P_ES_ROW_NO  text
*      -->P_ER_EVENT_DATA  text
*----------------------------------------------------------------------*
FORM HANDLE_ONF4  USING E_FIELDNAME TYPE  LVC_FNAME
                        ES_ROW_NO TYPE  LVC_S_ROID
                        ER_EVENT_DATA TYPE REF TO  CL_ALV_EVENT_DATA.

  DATA:GS_TAB LIKE DFIES,
       GT_TAB LIKE TABLE OF DFIES WITH HEADER LINE.

  DATA: LT_RETURN TYPE STANDARD TABLE OF DDSHRETVAL,
        LS_RETURN TYPE DDSHRETVAL.

  IF GT_STORE IS INITIAL.
*&---组织搜索帮助内容
    GS_STORE-STORE = '1000'.
    GS_STORE-TYPE  = '液态'.
    GS_STORE-BNAME = '化工三部--危险一级保管员--张三'.
    APPEND GS_STORE TO GT_STORE.

    GS_STORE-STORE = '2000'.
    GS_STORE-TYPE  = '固态'.
    GS_STORE-BNAME = '化工三部--危险二级保管员--李四'.
    APPEND GS_STORE TO GT_STORE.

    GS_STORE-STORE = '3000'.
    GS_STORE-TYPE  = '气态'.
    GS_STORE-BNAME = '化工三部--危险三级保管员--王五'.
    APPEND GS_STORE TO GT_STORE.
  ENDIF.

*&---显示抬头面搜
  CLEAR:GS_TAB.

  GS_TAB-FIELDNAME     =    'STORE'   .   " 字段名称
  GS_TAB-LFIELDNAME   =    'STORE'   .   " 字段名称
  GS_TAB-POSITION     =    '0001'.       " 输出表抬头,列序号
  GS_TAB-LENG         =    '000004'  .   " 定义长度
  GS_TAB-INTLEN       =    '000008'  .   " 初始长度,2 * 定义长度
  GS_TAB-OUTPUTLEN    =    '000004'  .   " 输出长度
*   GS_TAB-DECIMALS    =    '000000'  .   " 小数
  GS_TAB-DATATYPE     =    'CHAR'    .   " 字段类型
  GS_TAB-FIELDTEXT     =    '库存地点'.    " 抬头描述
  GS_TAB-REPTEXT       =    '库存地点'.    " 抬头描述
  GS_TAB-SCRTEXT_S     =    '库存地点'.    " 抬头描述
  GS_TAB-SCRTEXT_M     =    '库存地点'.    " 抬头描述
  GS_TAB-SCRTEXT_L     =    '库存地点'.    " 抬头描述
  APPEND GS_TAB TO GT_TAB.

  CLEAR:GS_TAB.
**   GS_TAB-TABNAME      = 'ZZS_DEMO_1008'.
  GS_TAB-FIELDNAME     =    'TYPE'   .   " 字段名称
  GS_TAB-LFIELDNAME   =    'TYPE'   .   " 字段名称
  GS_TAB-POSITION     =    '0002'.       " 输出表抬头,列序号
  GS_TAB-OFFSET       =    '0008'.        "  2 * sum 字段长度 1- n-1(前边字段长度和)
  GS_TAB-LENG         =    '000004'  .   " 定义长度
  GS_TAB-INTLEN       =    '000008'  .   " 初始长度,2 * 定义长度
  GS_TAB-OUTPUTLEN    =    '000004'  .   " 输出长度
*   GS_TAB-DECIMALS    =    '000000'  .   " 小数
  GS_TAB-DATATYPE     =    'CHAR'    .   " 字段类型
  GS_TAB-FIELDTEXT     =    '类型'.    " 抬头描述
  GS_TAB-REPTEXT       =    '类型'.    " 抬头描述
  GS_TAB-SCRTEXT_S     =    '类型'.    " 抬头描述
  GS_TAB-SCRTEXT_M     =    '类型'.    " 抬头描述
  GS_TAB-SCRTEXT_L     =    '类型'.    " 抬头描述
  APPEND GS_TAB TO GT_TAB.


  CLEAR:GS_TAB.
*   GS_TAB-TABNAME      = 'ZZS_DEMO_1008'.
  GS_TAB-FIELDNAME     =    'BNAME'   .   " 字段名称
  GS_TAB-LFIELDNAME   =    'BNAME'   .   " 字段名称
  GS_TAB-POSITION     =    '0003'.       " 输出表抬头,列序号
  GS_TAB-OFFSET       =    '00016'.        "  2 * sum 字段长度 1- n-1(前边字段长度和)
  GS_TAB-LENG         =    '000030'  .   " 定义长度
  GS_TAB-INTLEN       =    '000060'  .   " 初始长度,2 * 定义长度
  GS_TAB-OUTPUTLEN    =    '000030'  .   " 输出长度
*   GS_TAB-DECIMALS    =    '000000'  .   " 小数
  GS_TAB-DATATYPE     =    'CHAR'    .   " 字段类型
  GS_TAB-FIELDTEXT     =    '负责人'.    " 抬头描述
  GS_TAB-REPTEXT       =    '负责人'.    " 抬头描述
  GS_TAB-SCRTEXT_S     =    '负责人'.    " 抬头描述
  GS_TAB-SCRTEXT_M     =    '负责人'.    " 抬头描述
  GS_TAB-SCRTEXT_L     =    '负责人'.    " 抬头描述
  APPEND GS_TAB TO GT_TAB.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD         = 'STORE'     " 搜索帮助选择值
      DYNPPROG         = SY-REPID
      DYNPNR           = SY-DYNNR
      DYNPROFIELD      = 'STORE'     " ALV 屏幕返回字段
      WINDOW_TITLE     = '存储条件'
      VALUE_ORG        = 'S'
      CALLBACK_PROGRAM = SY-REPID
    TABLES
      VALUE_TAB        = GT_STORE    " 需要显示帮助的值内表
      RETURN_TAB       = LT_RETURN   " 返回值.
      FIELD_TAB        = GT_TAB
    EXCEPTIONS
      PARAMETER_ERROR  = 1
      NO_VALUES_FOUND  = 2
      OTHERS           = 3.
  IF SY-SUBRC = 0.
*&---ALV 字段赋值
    READ TABLE GT_ITAB ASSIGNING <FS_ITAB> INDEX ES_ROW_NO-ROW_ID.
    IF <FS_ITAB>-STORE IS INITIAL.
      READ TABLE LT_RETURN INTO LS_RETURN INDEX 1.
      <FS_ITAB>-STORE = LS_RETURN-FIELDVAL.
    ENDIF.
  ENDIF.

  IF G_GRID IS NOT INITIAL.
    DATA: LS_STABLE TYPE LVC_S_STBL.
    LS_STABLE-ROW = 'X'.
    LS_STABLE-COL = 'X'.
    CALL METHOD G_GRID->REFRESH_TABLE_DISPLAY
      EXPORTING
        IS_STABLE      = LS_STABLE
*        I_SOFT_REFRESH = 'X'
      EXCEPTIONS
        FINISHED       = 1
        OTHERS         = 2.
    IF SY-SUBRC <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
  ENDIF.
ENDFORM.                    "handle_onf4

*&---------------------------------------------------------------------*
*&      Form  FRM_SET_COLOR
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_SET_COLOR .
*&---ALV GRID 行确定
  READ TABLE GT_ITAB ASSIGNING <FS_ITAB> INDEX P_ROW.
  IF SY-SUBRC = 0.
*&---ALV GRID 列确定
    READ TABLE GT_FIELD_CAT INTO GS_FIELD_CAT INDEX  P_COL.
    IF SY-SUBRC = 0.
      CLEAR:GS_CELL.
*&---单元格颜色
      IF P_CEL_C = 'X'.
        GS_CELL-FIELDNAME = GS_FIELD_CAT-FIELDNAME.
        GS_CELL-COLOR-COL = 3.
        GS_CELL-COLOR-INT = 1.
        APPEND GS_CELL TO <FS_ITAB>-CEL_COLOR.
      ENDIF.
    ENDIF.
  ENDIF.
*&---设置列颜色
  LOOP AT GT_FIELD_CAT INTO GS_FIELD_CAT.
    IF P_COL_C = 'X' AND SY-TABIX = P_COL.
      GS_FIELD_CAT-EMPHASIZE = 'C510'.
      MODIFY GT_FIELD_CAT FROM GS_FIELD_CAT.
    ENDIF.
  ENDLOOP.
ENDFORM.                    " FRM_SET_COLOR

*&---------------------------------------------------------------------*
*&      Form  FRM_SET_LISTBOX
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_SET_LISTBOX .
******************下拉框设置***********************************************************
*&---数据来源定义
  DATA:LT_USR02 TYPE TABLE OF USR02,
       LT_BNAME TYPE LVC_T_DROP,
       LT_BNAME1 TYPE LVC_T_DROP,
       LS_USR02 TYPE USR02.
*&---来源数据
  SELECT *
    INTO CORRESPONDING FIELDS OF TABLE LT_USR02
    FROM USR02
    UP TO 30 ROWS.
  FREE:GT_BNAME.
  DATA:LV_TABIX TYPE SY-TABIX.

*&---下拉列表初始值
  LOOP AT LT_USR02 INTO LS_USR02.
    CLEAR:GS_BNAME.
    GS_BNAME-VALUE  = LS_USR02-BNAME.
    APPEND GS_BNAME TO LT_BNAME.
  ENDLOOP.
**&---增加空行
  GS_BNAME-VALUE  = ' '.
  GS_BNAME-HANDLE = ' '.
  APPEND GS_BNAME TO LT_BNAME.

*&---ALV 每条记录对应下拉列表值,ALV 行号对应 下拉列表 handle
  LOOP AT GT_ITAB ASSIGNING <FS_ITAB>.
    GS_BNAME-HANDLE = SY-TABIX.
    FREE:LT_BNAME1.
    LT_BNAME1[]  = LT_BNAME[].
    MODIFY LT_BNAME1 FROM GS_BNAME TRANSPORTING HANDLE WHERE HANDLE IS INITIAL.
    APPEND LINES OF LT_BNAME1 TO GT_BNAME.
    <FS_ITAB>-BNAME = 1.
  ENDLOOP.

  CALL METHOD G_GRID->SET_DROP_DOWN_TABLE
    EXPORTING
      IT_DROP_DOWN = GT_BNAME.

  "及时更新ALV数据至内表
  CALL METHOD G_GRID->CHECK_CHANGED_DATA.

******************下拉框设置***************************************************************

ENDFORM.                    " FRM_SET_LISTBOX

*&---------------------------------------------------------------------*
*&      Form  FRM_SET_HTTP
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_SET_HTTP.
  GS_HYPE-HANDLE = 1 .
  GS_HYPE-HREF = 'http://www.baidu.com' .
  APPEND GS_HYPE TO GT_HYPE .
  CLEAR GS_HYPE.
ENDFORM.                    " FRM_SET

相关文章

  • abap oo模板代码

    OO ALV是面向对象的ALV,在使用之前我们需创建一个control容器(屏幕),在通过CUSTOM_CONTA...

  • ABAP OO练习

    继续我们的看实例学习abap面向对象编程. 在此次的例子中,我们以雇员的工资为蓝图,设计一个程序,然后再一步一步的...

  • ABAP-ALV-OO

    OOALV 行、列和单元格颜色设置 OOALV 行、列和单元格颜色设置 OOALV中的CHECKBOX字段挺麻烦的...

  • ABAP New Features - OO programmi

    Upcasting/ Downcasting with CAST 7.4前,通过cl_abap_typedescr...

  • ABAP OO ALV实操

    以前一直都是使用Function ALV实现报表需求,最近接到个需求,说是希望可以在手持设备上也能使用(具体怎么弄...

  • ABAP Code Inspector 的一些高级功能分享

    ABAP Code Inspector 是每一位 ABAP 开发人员工具箱里必备的代码检测工具之一。使用 ABAP...

  • Hybris DDIC type and its counter

    在ABAP里,我们在SE11里面创建data type或者transparent table, 然后在ABAP代码...

  • abap object-oriented--基本定义语句

    这一节我们来看一下abap oo的定义语句,包括类,方法,事件,属性,接口。 1. 定义类 2. 定义继承 CLA...

  • OO CSS(面向对象的CSS)

    面向对象的CSS OO CSS的概念解读 OO CSS的作用和注意事项 OO CSS代码实战 众多开发者忽视了CS...

  • RabbitMQ-中间件

    安装Erlang语言 安装RabbitMQ 模式 fanout模板代码 direct模板代码 topic模板代码

网友评论

      本文标题:abap oo模板代码

      本文链接:https://www.haomeiwen.com/subject/nycksqtx.html