批量下载SAP SE11表结构字段列表 LVC_FIELDCATALOG_MERGE

批量下载SAP SE11表结构字段列表完整源代码分享

REPORT ZDZ020 NO STANDARD PAGE HEADING.
TABLES: DD02L.

CLASS LCL_APPLICATION DEFINITION DEFERRED.

DATA: GW_SHOW TYPE LVC_S_FCAT,
      GT_SHOW TYPE LVC_T_FCAT.

DATA: GW_FACT TYPE LVC_S_FCAT,
      GT_FACT TYPE LVC_T_FCAT.

DATA: GV_REPID LIKE SY-REPID,
      GV_MAX   TYPE I VALUE 100.

DATA: GV_SAVE       TYPE C VALUE 'A',
      GW_DISVARIANT TYPE DISVARIANT.

DATA: GW_FIELDCAT TYPE LVC_S_FCAT,
      GT_FIELDCAT TYPE LVC_T_FCAT.

DATA: GRID1 TYPE REF TO CL_GUI_ALV_GRID.

DATA: GW_LAYOUT  TYPE LVC_S_LAYO,
      GT_EXCLUDE TYPE UI_FUNCTIONS,
      GW_TOOLBAR TYPE STB_BUTTON.

DATA: GW_ROW  TYPE LVC_S_ROW,
      GT_ROW  TYPE LVC_T_ROW,
      GW_ROID TYPE LVC_S_ROID,
      GT_ROID TYPE LVC_T_ROID.

CLASS LCL_APPLICATION DEFINITION.

  PUBLIC SECTION.

    CLASS-METHODS:

      M_HANDLE_TOOLBAR
                    FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID
        IMPORTING E_OBJECT E_INTERACTIVE,

      M_DOUBLE_CLICK
                    FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
        IMPORTING E_ROW E_COLUMN ES_ROW_NO,

      M_HOTSPOT_CLICK
                    FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
        IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO,

      M_HANDLE_USER_COMMAND
                    FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID
        IMPORTING E_UCOMM,

      M_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.

CLASS LCL_APPLICATION IMPLEMENTATION.

  METHOD M_HANDLE_TOOLBAR.

*    PERFORM F_HANDLE_TOOLBAR USING E_OBJECT->MT_TOOLBAR.

  ENDMETHOD.

  METHOD M_DOUBLE_CLICK.
    PERFORM F_DOUBLE_CLICK USING GRID1 E_ROW E_COLUMN ES_ROW_NO.
  ENDMETHOD.

  METHOD M_HOTSPOT_CLICK.

  ENDMETHOD.

  METHOD M_HANDLE_USER_COMMAND.

    PERFORM F_HANDLE_USER_COMMAND USING GRID1 E_UCOMM.

  ENDMETHOD.

  METHOD M_HANDLE_DATA_CHANGED.

  ENDMETHOD.

ENDCLASS.

SELECTION-SCREEN:BEGIN OF BLOCK B101 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_TNAME FOR DD02L-TABNAME OBLIGATORY.

SELECTION-SCREEN END OF BLOCK B101.

SELECTION-SCREEN:BEGIN OF BLOCK B102 WITH FRAME TITLE TEXT-002.

PARAMETERS: P_R1 TYPE C RADIOBUTTON GROUP R1 DEFAULT 'X',
            P_R2 TYPE C RADIOBUTTON GROUP R1.

SELECTION-SCREEN END OF BLOCK B102.

INITIALIZATION.

START-OF-SELECTION.

  PERFORM FRM_GETDATA.

  CALL SCREEN '9001'.


FORM FRM_GETDATA.

  DATA: LV_BUFFER_ACTIVE,
        LV_STRUCTURE_NAME       TYPE DD02L-TABNAME,
        LV_CLIENT_NEVER_DISPLAY TYPE SLIS_CHAR_1,
        LV_BYPASSING_BUFFER     TYPE CHAR01,
        LV_INTERNAL_TABNAME     TYPE DD02L-TABNAME.

  DATA: LW_FIELDCAT	TYPE LVC_S_FCAT,
        LT_FIELDCAT	TYPE LVC_T_FCAT.

  DATA: LW_DD02L TYPE DD02L,
        LT_DD02L TYPE DD02LTAB.

  SELECT  DD02L~TABNAME
          DD02L~AS4LOCAL
          DD02L~AS4VERS
          DD02L~TABCLASS
          DD02L~AS4USER
          DD02L~AS4DATE
          DD02L~AS4TIME
  INTO CORRESPONDING FIELDS OF TABLE LT_DD02L
  FROM  DD02L
  WHERE DD02L~TABNAME  IN S_TNAME
  AND   DD02L~AS4LOCAL =  'A'.

  SORT LT_DD02L BY TABNAME.

  LV_CLIENT_NEVER_DISPLAY = 'X'.

  LOOP AT LT_DD02L INTO LW_DD02L.

    PERFORM BUILD_FIELDCAT1 USING LW_DD02L-TABNAME CHANGING LT_FIELDCAT.

    APPEND LINES OF LT_FIELDCAT TO GT_SHOW.

  ENDLOOP.

ENDFORM.

MODULE STATUS_9001 OUTPUT.

  SET TITLEBAR  'TITLEBAR' WITH '显示字段列表 LVC_FIELDCATALOG_MERGE'.
  SET PF-STATUS 'STATUS'.

  PERFORM FRM_CREATE_OO_ALV.

ENDMODULE.

MODULE USER_COMMAND_9001 INPUT.

  CASE SY-UCOMM.
    WHEN '&F03' OR '&F15' OR '&F12' OR 'EXIT' OR 'BACK'.

      LEAVE TO SCREEN 0.

    WHEN OTHERS.

  ENDCASE.

ENDMODULE.

FORM FRM_CREATE_OO_ALV.

  IF GRID1 IS INITIAL.

    GW_LAYOUT-SEL_MODE   = 'A'.
    GW_LAYOUT-CWIDTH_OPT = 'X'.
    GW_LAYOUT-ZEBRA      = 'X'.

    PERFORM FRM_CREATE_ALV USING CL_GUI_CUSTOM_CONTAINER=>SCREEN0 CHANGING GRID1.

    CLEAR: GW_DISVARIANT.
    GW_DISVARIANT-REPORT = SY-REPID.

    "CREATE OBJECT G_APPLICATION.

    SET HANDLER LCL_APPLICATION=>M_HANDLE_TOOLBAR      FOR GRID1.
    "SET HANDLER LCL_APPLICATION=>M_HOTSPOT_CLICK       FOR GRID1.
    SET HANDLER LCL_APPLICATION=>M_DOUBLE_CLICK        FOR GRID1.
    SET HANDLER LCL_APPLICATION=>M_HANDLE_USER_COMMAND FOR GRID1.
    "SET HANDLER LCL_APPLICATION=>M_HANDLE_DATA_CHANGED FOR GRID1.

    PERFORM BUILD_FIELDCAT1 USING 'LVC_S_FCAT' CHANGING GT_FIELDCAT.

    IF P_R1 = 'X'.
      LOOP AT GT_FIELDCAT INTO GW_FIELDCAT.
        CASE GW_FIELDCAT-FIELDNAME.
          WHEN 'COL_POS'   OR
               'FIELDNAME' OR
*             'TABNAME'   OR
               'CONVEXIT'  OR
               'DATATYPE'  OR
               'INTTYPE'   OR
               'INTLEN'    OR
               'REPTEXT'   OR
               'DOMNAME'   OR
*             'REF_FIELD' OR
               'REF_TABLE' OR
               'DD_OUTLEN' OR
               'DECIMALS'  OR
               'SCRTEXT_L' OR
               'SCRTEXT_M' OR
               'SCRTEXT_S'.
          WHEN OTHERS.
            GW_FIELDCAT-NO_OUT = 'X'.
        ENDCASE.
        MODIFY GT_FIELDCAT FROM GW_FIELDCAT.
      ENDLOOP.
    ENDIF.

    "PERFORM BUILD_FIELDCAT2      CHANGING GT_FIELDCAT.
    PERFORM EXCLUDE_TB_FUNCTIONS CHANGING GT_EXCLUDE.

    PERFORM FRM_SHOW_ALV USING GRID1
                               ''
                               GW_DISVARIANT
                               'U'
                               GW_LAYOUT
                               GT_EXCLUDE
                               GT_SHOW
                               GT_FIELDCAT.

  ENDIF.

ENDFORM.

FORM F_HANDLE_USER_COMMAND USING LO_GRID TYPE REF TO CL_GUI_ALV_GRID
                                 E_UCOMM TYPE SY-UCOMM.

  DATA: LV_TABIX TYPE I.

  PERFORM FRM_GET_SELECTED_ROWS USING LO_GRID CHANGING GT_ROW GT_ROID.

  IF GT_ROID IS INITIAL.
    MESSAGE '请先选定行' TYPE 'I'.
    EXIT.
  ENDIF.

  CASE E_UCOMM.
    WHEN 'ZIMPORT'.

    WHEN OTHERS.

  ENDCASE.

ENDFORM.

FORM F_DOUBLE_CLICK USING LO_GRID   TYPE REF TO CL_GUI_ALV_GRID
                          E_ROW     TYPE LVC_S_ROW
                          E_COLUMN  TYPE LVC_S_COL
                          ES_ROW_NO TYPE LVC_S_ROID.

  CLEAR: GW_SHOW.
  READ TABLE GT_SHOW INTO GW_SHOW INDEX ES_ROW_NO-ROW_ID.

  CASE E_COLUMN-FIELDNAME.
    WHEN 'REF_TABLE'.
      SET PARAMETER ID: 'DTB' FIELD GW_SHOW-REF_TABLE.
      CALL TRANSACTION 'SE11' AND SKIP FIRST SCREEN.

    WHEN OTHERS.

  ENDCASE.

ENDFORM.

FORM FRM_CREATE_ALV USING    LO_PARENT TYPE REF TO CL_GUI_CONTAINER
                    CHANGING LO_GRID   TYPE REF TO CL_GUI_ALV_GRID.

  DATA: LV_SHELLSTYLE     TYPE I,
        LV_LIFETIME       TYPE I,
        "LO_PARENT          TYPE REF TO CL_GUI_CONTAINER,
        LV_APPL_EVENTS    TYPE CHAR01,
        LO_PARENTDBG      TYPE REF TO CL_GUI_CONTAINER,
        LO_APPLOGPARENT   TYPE REF TO  CL_GUI_CONTAINER,
        LO_GRAPHICSPARENT TYPE REF TO  CL_GUI_CONTAINER,
        LV_NAME           TYPE STRING,
        LV_FCAT_COMPLETE  TYPE SAP_BOOL.

  CREATE OBJECT LO_GRID
    EXPORTING
      I_SHELLSTYLE      = LV_SHELLSTYLE
      I_LIFETIME        = LV_LIFETIME
      I_PARENT          = LO_PARENT
      I_APPL_EVENTS     = LV_APPL_EVENTS
      I_PARENTDBG       = LO_PARENTDBG
      I_APPLOGPARENT    = LO_APPLOGPARENT
      I_GRAPHICSPARENT  = LO_GRAPHICSPARENT
      I_NAME            = LV_NAME
      I_FCAT_COMPLETE   = LV_FCAT_COMPLETE
    EXCEPTIONS
      ERROR_CNTL_CREATE = 1
      ERROR_CNTL_INIT   = 2
      ERROR_CNTL_LINK   = 3
      ERROR_DP_CREATE   = 4
      OTHERS            = 5.

ENDFORM.

FORM FRM_GET_SELECTED_ROWS USING    LO_GRID TYPE REF TO CL_GUI_ALV_GRID
                           CHANGING LT_ROW  TYPE LVC_T_ROW
                                    LT_ROID TYPE LVC_T_ROID.

  CALL METHOD LO_GRID->GET_SELECTED_ROWS
    IMPORTING
      ET_INDEX_ROWS = LT_ROW
      ET_ROW_NO     = LT_ROID.

ENDFORM.

FORM ADD_BUTTON USING LT_BUTTON    TYPE TTB_BUTTON
                      LV_FUNCTION  TYPE UI_FUNC
                      LV_ICON      TYPE ICONNAME
                      LV_QUICKINFO " TYPE ICONQUICK
                      LV_BUTN_TYPE TYPE TB_BTYPE
                      LV_DISABLED  TYPE CHAR01
                      LV_TEXT      " TYPE TEXT40
                      LV_CHECKED   TYPE CHAR01.

  DATA: LV_ID LIKE ICON-ID.

  SELECT SINGLE ICON~ID
  INTO  LV_ID
  FROM  ICON
  WHERE ICON~NAME = LV_ICON.

  CLEAR: GW_TOOLBAR.
  GW_TOOLBAR-FUNCTION  = LV_FUNCTION.
  GW_TOOLBAR-ICON      = LV_ID.
  GW_TOOLBAR-QUICKINFO = LV_QUICKINFO.
  GW_TOOLBAR-BUTN_TYPE = LV_BUTN_TYPE.
  GW_TOOLBAR-DISABLED  = LV_DISABLED.

  GW_TOOLBAR-TEXT      = LV_TEXT.
  GW_TOOLBAR-CHECKED   = LV_CHECKED.

  APPEND GW_TOOLBAR TO LT_BUTTON.

ENDFORM.

FORM EXCLUDE_TB_FUNCTIONS CHANGING LT_EXCLUDE TYPE UI_FUNCTIONS.

  APPEND CL_GUI_ALV_GRID=>MC_FC_CHECK             TO LT_EXCLUDE.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW    TO LT_EXCLUDE.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_COPY          TO LT_EXCLUDE.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW      TO LT_EXCLUDE.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_CUT           TO LT_EXCLUDE.

  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_DELETE_ROW    TO LT_EXCLUDE.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW    TO LT_EXCLUDE.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_MOVE_ROW      TO LT_EXCLUDE.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE         TO LT_EXCLUDE.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE_NEW_ROW TO LT_EXCLUDE.

  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO          TO LT_EXCLUDE.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO          TO LT_EXCLUDE.
  APPEND CL_GUI_ALV_GRID=>MC_FC_REFRESH           TO LT_EXCLUDE.
  "APPEND CL_GUI_ALV_GRID=>MC_FC_SORT_ASC          TO LT_EXCLUDE.
  "APPEND CL_GUI_ALV_GRID=>MC_FC_SORT_DSC          TO LT_EXCLUDE.

  APPEND CL_GUI_ALV_GRID=>MC_FC_PRINT             TO LT_EXCLUDE.

ENDFORM.

FORM F_HANDLE_TOOLBAR USING LT_BUTTON TYPE TTB_BUTTON.

  PERFORM ADD_BUTTON USING LT_BUTTON '' '' '' 3 '' '' ''.
  PERFORM ADD_BUTTON USING LT_BUTTON 'ZIMPORT' 'ICON_IMPORT' '导入' 0 '' '导入' ''.

ENDFORM.

FORM FRM_SHOW_ALV USING LO_GRID              TYPE REF TO CL_GUI_ALV_GRID
                        LV_BUFFER_ACTIVE     TYPE ANY
                        LW_VARIANT           TYPE DISVARIANT
                        LV_SAVE               TYPE  CHAR01
                        LW_LAYOUT             TYPE  LVC_S_LAYO
                        LT_TOOLBAR_EXCLUDING TYPE UI_FUNCTIONS
                        LT_TABLE             TYPE STANDARD TABLE
                        LT_FIELDCATALOG       TYPE  LVC_T_FCAT.

  DATA:
    "LV_BUFFER_ACTIVE     TYPE C,
    LV_BYPASSING_BUFFER  TYPE  CHAR01,
    LV_CONSISTENCY_CHECK TYPE  CHAR1,
    LV_STRUCTURE_NAME    TYPE  DD02L-TABNAME,
    "LW_VARIANT           TYPE DISVARIANT,
    "LV_SAVE               TYPE CHAR01,
    LV_DEFAULT           TYPE CHAR01,
    "LW_LAYOUT             TYPE LVC_S_LAYO,
    LW_PRINT             TYPE LVC_S_PRNT,
    LT_SPECIAL_GROUPS    TYPE  LVC_T_SGRP,
    "LT_TOOLBAR_EXCLUDING TYPE  UI_FUNCTIONS,
    LT_HYPERLINK         TYPE LVC_T_HYPE,
    LT_ALV_GRAPHICS      TYPE  DTC_T_TC,
    LT_EXCEPT_QINFO      TYPE  LVC_T_QINF,
    LO_SALV_ADAPTER      TYPE REF TO IF_SALV_ADAPTER,
    "LT_FIELDCATALOG       TYPE LVC_T_FCAT,
    LT_SORT              TYPE  LVC_T_SORT,
    LT_FILTER            TYPE  LVC_T_FILT.

  LV_DEFAULT = 'X'.

  CALL METHOD LO_GRID->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      I_BUFFER_ACTIVE               = LV_BUFFER_ACTIVE
      I_BYPASSING_BUFFER            = LV_BYPASSING_BUFFER
      I_CONSISTENCY_CHECK           = LV_CONSISTENCY_CHECK
*     I_STRUCTURE_NAME              = LV_STRUCTURE_NAME
      IS_VARIANT                    = LW_VARIANT
      I_SAVE                        = LV_SAVE
      I_DEFAULT                     = LV_DEFAULT
      IS_LAYOUT                     = LW_LAYOUT
      IS_PRINT                      = LW_PRINT
      IT_SPECIAL_GROUPS             = LT_SPECIAL_GROUPS
      IT_TOOLBAR_EXCLUDING          = LT_TOOLBAR_EXCLUDING
      IT_HYPERLINK                  = LT_HYPERLINK
      IT_ALV_GRAPHICS               = LT_ALV_GRAPHICS
      IT_EXCEPT_QINFO               = LT_EXCEPT_QINFO
      IR_SALV_ADAPTER               = LO_SALV_ADAPTER
    CHANGING
      IT_OUTTAB                     = LT_TABLE
      IT_FIELDCATALOG               = LT_FIELDCATALOG
      IT_SORT                       = LT_SORT
      IT_FILTER                     = LT_FILTER
    EXCEPTIONS
      INVALID_PARAMETER_COMBINATION = 1
      PROGRAM_ERROR                 = 2
      TOO_MANY_LINES                = 3
      OTHERS                        = 4.

  "PERFORM FRM_REFRESH_ALV USING LO_GRID.

ENDFORM.

FORM FRM_REFRESH_ALV USING LO_GRID TYPE REF TO CL_GUI_ALV_GRID.

  DATA: LW_STABLE TYPE LVC_S_STBL.

  LW_STABLE-ROW = 'X'.
  LW_STABLE-COL = 'X'.

  CALL METHOD LO_GRID->SET_FRONTEND_LAYOUT
    EXPORTING
      IS_LAYOUT = GW_LAYOUT.

  CALL METHOD LO_GRID->REFRESH_TABLE_DISPLAY
    EXPORTING
      IS_STABLE      = LW_STABLE
      I_SOFT_REFRESH = 'X'
    EXCEPTIONS
      FINISHED       = 1
      OTHERS         = 2.

ENDFORM.

FORM BUILD_FIELDCAT1 USING    LV_STRUCTURE_NAME TYPE DD02L-TABNAME
                     CHANGING LT_FIELDCAT       TYPE LVC_T_FCAT.

  DATA: LV_BUFFER_ACTIVE,
        LV_CLIENT_NEVER_DISPLAY TYPE SLIS_CHAR_1,
        LV_BYPASSING_BUFFER     TYPE CHAR01,
        LV_INTERNAL_TABNAME     TYPE DD02L-TABNAME.

  LV_CLIENT_NEVER_DISPLAY = 'X'.

  REFRESH: LT_FIELDCAT.
  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
      I_BUFFER_ACTIVE        = LV_BUFFER_ACTIVE
      I_STRUCTURE_NAME       = LV_STRUCTURE_NAME
      I_CLIENT_NEVER_DISPLAY = LV_CLIENT_NEVER_DISPLAY
      I_BYPASSING_BUFFER     = LV_BYPASSING_BUFFER
      I_INTERNAL_TABNAME     = LV_INTERNAL_TABNAME
    CHANGING
      CT_FIELDCAT            = LT_FIELDCAT
    EXCEPTIONS
      INCONSISTENT_INTERFACE = 1
      PROGRAM_ERROR          = 2
      OTHERS                 = 3.

ENDFORM.

FORM BUILD_FIELDCAT2 CHANGING LT_FIELDCAT TYPE LVC_T_FCAT.

  DATA: LW_FCAT TYPE LVC_S_FCAT.

  PERFORM FRM_ADD_FIELD USING LT_FIELDCAT 'TBNAM' '表格类型' 'DD40L' 'TYPENAME' '' ''.
  PERFORM FRM_ADD_FIELD USING LT_FIELDCAT 'TNAME' '表名' 'DD03L' 'TABNAME' '' ''.
  PERFORM FRM_ADD_FIELD USING LT_FIELDCAT 'FNAME' '字段名' 'DD03L' 'FIELDNAME' '' ''.
  PERFORM FRM_ADD_FIELD USING LT_FIELDCAT 'RNAME' '数据元素' 'DD03L' 'ROLLNAME' '' ''.

  PERFORM FRM_ADD_FIELD USING LT_FIELDCAT 'ITYPE' 'ABAP数据类型' 'DD03L' 'INTTYPE' '' ''.
  PERFORM FRM_ADD_FIELD USING LT_FIELDCAT 'ILEN' '内部长度' 'DD03L' 'INTLEN' '' ''.
  PERFORM FRM_ADD_FIELD USING LT_FIELDCAT 'DTYPE' 'ABAP字典数据类型' 'DD03L' 'DATATYPE' '' ''.
  PERFORM FRM_ADD_FIELD USING LT_FIELDCAT 'DLEN' '长度(字符数)' 'DD03L' 'LENG' '' ''.

  PERFORM FRM_ADD_FIELD USING LT_FIELDCAT 'DTEXT' '短文本' 'DD40T' 'DDTEXT' '' ''.

  "PERFORM FRM_ADD_FIELD USING LT_FIELDCAT 'NAME2' '账簿描述' 'IDCN_GA_COMMONINFO' 'B_DESC' '' ''.

ENDFORM.

FORM FRM_ADD_FIELD USING LT_FIELDCAT TYPE LVC_T_FCAT
                         LV_FIELDNAME TYPE LVC_FNAME
                         LV_TEXTL     TYPE SCRTEXT_L
                         LV_TABLE     TYPE LVC_RTNAME
                         LV_FIELD     TYPE LVC_RFNAME
                         LV_ZERO      TYPE NO_ZERO
                         LV_EDIT      TYPE LVC_EDIT.

  DATA: LW_FCAT TYPE LVC_S_FCAT.

  LW_FCAT-FIELDNAME  = LV_FIELDNAME.
  LW_FCAT-SCRTEXT_L  = LV_TEXTL.
  LW_FCAT-REF_TABLE  = LV_TABLE.
  LW_FCAT-REF_FIELD  = LV_FIELD.
  LW_FCAT-NO_ZERO    = LV_ZERO.

  LW_FCAT-EDIT       = LV_EDIT.
  LW_FCAT-COLDDICTXT = 'L'.

  APPEND LW_FCAT TO LT_FIELDCAT.

ENDFORM.
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: lvc_fieldcatalog_merge是一个ABAP函数模块,用于合并两个内部中的字段目录。该函数模块可以将两个内部中的字段目录合并成一个新的内部,并且可以根据需要对字段进行排序和过滤。该函数模块通常用于动态生成ALV字段目录。 ### 回答2: lvc_fieldcatalog_merge是一个ABAP函数模块,主要用于合并两个内(Internal Table)的字段目录(field catalog)。 ABAP程序中经常会用到内,在处理内时,往往需要对其进行相关的操作和显示,比如排序、过滤、字段名称转换等等。而这些内的操作和显示需要使用到字段目录,因为字段目录提供了内结构信息,比如字段名、数据类型、长度、描述等信息,这些信息对于内的操作和显示都是非常重要的。 lvc_fieldcatalog_merge函数模块可以将两个内字段目录合并起来,返回合并后的新字段目录。在合并两个字段目录时,会自动去重并合并同名字段的相关信息,同时也可以对字段排序。假设一个内字段目录中有“编号”,“姓名”,“年龄”三个字段,另一个内字段目录中有“编号”,“性别”,“城市”三个字段,那么合并后的新字段目录中会包含所有这六个字段及其相关信息lvc_fieldcatalog_merge函数模块的语法如下: FUNCTION LVC_FIELDCATALOG_MERGE TABLES source_fieldcat TYPE lvc_t_fcat dest_fieldcat TYPE lvc_t_fcat CHANGING new_fieldcat TYPE lvc_t_fcat EXCEPTIONS inconsistent_interface = 1 program_error = 2. 其中,source_fieldcat和dest_fieldcat是要合并的两个字段目录;new_fieldcat则是合并后的新字段目录;inconsistent_interface和program_error是异常情况下的返回值,其中inconsistent_interface示两个字段目录结构不一致,program_error示程序出现错误。 综上所述,lvc_fieldcatalog_merge函数模块是一个在ABAP程序中合并字段目录的非常方便的工具,它可以帮助开发人员高效地处理和显示内数据,提高开发效率,减少重复代码的编写。 ### 回答3: lvc_fieldcatalog_merge是一个SAP ABAP中的函数模块,其作用是合并两张内中的字段目录信息。在SAP的应用程序中,格的显示经常需要用到字段目录信息,而lvc_fieldcatalog_merge则是用来处理格的字段目录信息的。 这个函数模块接受两个参数,即内IT_FCAT1和内IT_FCAT2。这两个参数示需要合并的两张格的字段目录信息。执行该函数模块后,将返回一个合并后的字段目录信息格内IT_FCAT3。 lvc_fieldcatalog_merge函数模块的主要功能是将两张格的字段目录信息进行合并,生成一个新的内。合并时,如果两张格中存在同名的字段,则以IT_FCAT1为准。同时,该函数模块还可以根据一些参数对合并后的字段目录信息进行排序、筛选等操作,以便更好地适应不同的应用场景。 在SAP中,lvc_fieldcatalog_merge通常用于在格显示时动态生成头。通过该函数模块合并不同的字段目录信息,可以使格显示更加灵活、动态,方便对不同的数据进行展示。同时,该函数模块还可以根据用户需要自定义头,增加了SAP应用程序的可定制性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SAP爱好者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值