SAP ABAP代码模板CLASS

此模板也使用OO ALV,创建新程序简单,功能包装独立,用到一个独立的CLASS.

1.ALV类

class ZCL_CM_GUI_ALV definition
  public
  final
  create public .

public section.

  data REPID type SYREPID .
  data DYNNR type SYDYNNR .
  data TOOLBAR type CHAR30 .
  data USER_COMMAND type CHAR30 .
  data MENU_FORMNAME type CHAR30 .
  data DOUBLE_CLICK type CHAR30 .
  data DATA_CHANGED type CHAR30 .
  data NODE_DOUBLE_CLICK type CHAR30 .
  data CHANGED_FINISHED type CHAR30 .

  methods CONSTRUCTOR .
  methods CREATE_CUSTOM_CONTAINER
    importing
      !IO_CONTAINER type C optional
    changing
      !IO_GRID type ref to CL_GUI_ALV_GRID optional
      !IT_FCAT type LVC_T_FCAT optional
      !IS_LAYO type LVC_S_LAYO optional
      !IT_TABL type DATA optional
      !IS_VARIANT type DISVARIANT optional .
  methods CREATE_DOCKING_CONTAINER
    changing
      !IO_GRID type ref to CL_GUI_ALV_GRID optional
      !IT_FCAT type LVC_T_FCAT optional
      !IS_LAYO type LVC_S_LAYO optional
      !IT_TABL type DATA optional
      !IT_EXCLUDE type UI_FUNCTIONS optional
      !IS_VARIANT type DISVARIANT optional .
  methods REFRESH_ALV
    changing
      !IO_GRID type ref to CL_GUI_ALV_GRID optional
    raising
      CX_SY_REF_IS_INITIAL .
  methods CREATE_EDITOR
    importing
      !IO_CONTAINER type C optional
      !IV_LENGTH type I optional
    changing
      !IO_EDITOR type ref to CL_GUI_TEXTEDIT optional .
  methods CREATE_SIMPLE_TREE
    importing
      !IO_CONTAINER type C optional
    changing
      !IO_TREE type ref to CL_GUI_SIMPLE_TREE optional .
  methods HANDLE_USER_COMMAND
    for event USER_COMMAND of CL_GUI_ALV_GRID
    importing
      !E_UCOMM .
  methods HANDLE_DOUBLE_CLICK
    for event DOUBLE_CLICK of CL_GUI_ALV_GRID
    importing
      !E_ROW
      !E_COLUMN .
  methods HANDLE_TOOLBAR
    for event TOOLBAR of CL_GUI_ALV_GRID
    importing
      !E_OBJECT
      !E_INTERACTIVE .
  methods HANDLE_MENU_BUTTON
    for event MENU_BUTTON of CL_GUI_ALV_GRID
    importing
      !E_OBJECT
      !E_UCOMM .
  methods HANDLE_NODE_DOUBLE_CLICK
    for event NODE_DOUBLE_CLICK of CL_GUI_SIMPLE_TREE
    importing
      !NODE_KEY .
  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 .
  methods HANDLE_CHANGED_FINISHED
    for event DATA_CHANGED_FINISHED of CL_GUI_ALV_GRID
    importing
      !E_MODIFIED
      !ET_GOOD_CELLS .
protected section.
private section.
ENDCLASS.



CLASS ZCL_CM_GUI_ALV IMPLEMENTATION.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->CONSTRUCTOR
* +-------------------------------------------------------------------------------------------------+
* +--------------------------------------------------------------------------------------</SIGNATURE>
  method CONSTRUCTOR.
  endmethod.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->CREATE_CUSTOM_CONTAINER
* +-------------------------------------------------------------------------------------------------+
* | [--->] IO_CONTAINER                   TYPE        C(optional)
* | [<-->] IO_GRID                        TYPE REF TO CL_GUI_ALV_GRID(optional)
* | [<-->] IT_FCAT                        TYPE        LVC_T_FCAT(optional)
* | [<-->] IS_LAYO                        TYPE        LVC_S_LAYO(optional)
* | [<-->] IT_TABL                        TYPE        DATA(optional)
* | [<-->] IS_VARIANT                     TYPE        DISVARIANT(optional)
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD CREATE_CUSTOM_CONTAINER.

    DATA:
         LCL_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.


    CREATE OBJECT LCL_CONTAINER
      EXPORTING
        CONTAINER_NAME = IO_CONTAINER.

    CREATE OBJECT IO_GRID
      EXPORTING
        I_PARENT = LCL_CONTAINER.


    CALL METHOD IO_GRID->SET_TABLE_FOR_FIRST_DISPLAY
      EXPORTING
        IS_LAYOUT       = IS_LAYO
        IS_VARIANT      = IS_VARIANT
        I_SAVE          = 'A'
        I_DEFAULT       = 'X'
        "IT_TOOLBAR_EXCLUDING = GT_EXCLUDE
      CHANGING
        IT_OUTTAB       = IT_TABL
        IT_FIELDCATALOG = IT_FCAT.

  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->CREATE_DOCKING_CONTAINER
* +-------------------------------------------------------------------------------------------------+
* | [<-->] IO_GRID                        TYPE REF TO CL_GUI_ALV_GRID(optional)
* | [<-->] IT_FCAT                        TYPE        LVC_T_FCAT(optional)
* | [<-->] IS_LAYO                        TYPE        LVC_S_LAYO(optional)
* | [<-->] IT_TABL                        TYPE        DATA(optional)
* | [<-->] IT_EXCLUDE                     TYPE        UI_FUNCTIONS(optional)
* | [<-->] IS_VARIANT                     TYPE        DISVARIANT(optional)
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD CREATE_DOCKING_CONTAINER.

    DATA:
         LCL_CONTAINER TYPE REF TO CL_GUI_DOCKING_CONTAINER.


    CREATE OBJECT LCL_CONTAINER
      EXPORTING
        DYNNR                       = ME->DYNNR
        REPID                       = ME->REPID
        SIDE                        = CL_GUI_DOCKING_CONTAINER=>DOCK_AT_TOP "居上部
        EXTENSION                   = 3000                       "输出的宽度
*       RATIO                       = 90                         "屏幕显示百分比
      EXCEPTIONS
        CNTL_ERROR                  = 1
        CNTL_SYSTEM_ERROR           = 2
        CREATE_ERROR                = 3
        LIFETIME_ERROR              = 4
        LIFETIME_DYNPRO_DYNPRO_LINK = 5.

    CREATE OBJECT IO_GRID
      EXPORTING
        I_PARENT = LCL_CONTAINER.
*
*
    CALL METHOD IO_GRID->SET_TABLE_FOR_FIRST_DISPLAY
      EXPORTING
        IS_LAYOUT            = IS_LAYO
        IS_VARIANT           = IS_VARIANT
        I_SAVE               = 'A'
        I_DEFAULT            = 'X'
        IT_TOOLBAR_EXCLUDING = IT_EXCLUDE
      CHANGING
        IT_OUTTAB            = IT_TABL
        IT_FIELDCATALOG      = IT_FCAT.

  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->CREATE_EDITOR
* +-------------------------------------------------------------------------------------------------+
* | [--->] IO_CONTAINER                   TYPE        C(optional)
* | [--->] IV_LENGTH                      TYPE        I(optional)
* | [<-->] IO_EDITOR                      TYPE REF TO CL_GUI_TEXTEDIT(optional)
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD CREATE_EDITOR.

    DATA:
      LCL_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.


    CREATE OBJECT LCL_CONTAINER
      EXPORTING
        CONTAINER_NAME = IO_CONTAINER.


    CREATE OBJECT IO_EDITOR
      EXPORTING
        PARENT                     = LCL_CONTAINER
        WORDWRAP_MODE              = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
        WORDWRAP_POSITION          = IV_LENGTH
        WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.




  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->CREATE_SIMPLE_TREE
* +-------------------------------------------------------------------------------------------------+
* | [--->] IO_CONTAINER                   TYPE        C(optional)
* | [<-->] IO_TREE                        TYPE REF TO CL_GUI_SIMPLE_TREE(optional)
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD CREATE_SIMPLE_TREE.

    DATA:
         LCL_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

    CREATE OBJECT LCL_CONTAINER
      EXPORTING
        CONTAINER_NAME = IO_CONTAINER.

    CREATE OBJECT IO_TREE
      EXPORTING
        PARENT              = LCL_CONTAINER
        NODE_SELECTION_MODE = CL_GUI_SIMPLE_TREE=>NODE_SEL_MODE_SINGLE.



  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->HANDLE_CHANGED_FINISHED
* +-------------------------------------------------------------------------------------------------+
* | [--->] E_MODIFIED                     LIKE
* | [--->] ET_GOOD_CELLS                  LIKE
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD HANDLE_CHANGED_FINISHED.

    PERFORM (ME->CHANGED_FINISHED) IN PROGRAM (ME->REPID)
                     USING E_MODIFIED
                           ET_GOOD_CELLS.
  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->HANDLE_DATA_CHANGED
* +-------------------------------------------------------------------------------------------------+
* | [--->] ER_DATA_CHANGED                LIKE
* | [--->] E_ONF4                         LIKE
* | [--->] E_ONF4_BEFORE                  LIKE
* | [--->] E_ONF4_AFTER                   LIKE
* | [--->] E_UCOMM                        LIKE
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD HANDLE_DATA_CHANGED.

    PERFORM (ME->DATA_CHANGED) IN PROGRAM (ME->REPID)
                         USING ER_DATA_CHANGED
                               E_ONF4
                               E_ONF4_BEFORE
                               E_ONF4_AFTER
                               E_UCOMM.
  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->HANDLE_DOUBLE_CLICK
* +-------------------------------------------------------------------------------------------------+
* | [--->] E_ROW                          LIKE
* | [--->] E_COLUMN                       LIKE
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD HANDLE_DOUBLE_CLICK.


    PERFORM (ME->DOUBLE_CLICK) IN PROGRAM (ME->REPID)
                               USING E_ROW
                                     E_COLUMN.

  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->HANDLE_MENU_BUTTON
* +-------------------------------------------------------------------------------------------------+
* | [--->] E_OBJECT                       LIKE
* | [--->] E_UCOMM                        LIKE
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD HANDLE_MENU_BUTTON.

    PERFORM (ME->MENU_FORMNAME) IN PROGRAM (ME->REPID)
                             USING E_OBJECT
                                   E_UCOMM.
  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->HANDLE_NODE_DOUBLE_CLICK
* +-------------------------------------------------------------------------------------------------+
* | [--->] NODE_KEY                       LIKE
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD HANDLE_NODE_DOUBLE_CLICK.

    PERFORM (ME->NODE_DOUBLE_CLICK) IN PROGRAM (ME->REPID)
                           USING NODE_KEY.

  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->HANDLE_TOOLBAR
* +-------------------------------------------------------------------------------------------------+
* | [--->] E_OBJECT                       LIKE
* | [--->] E_INTERACTIVE                  LIKE
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD HANDLE_TOOLBAR.


    PERFORM (ME->TOOLBAR) IN PROGRAM (ME->REPID)
                              USING E_OBJECT
                                    E_INTERACTIVE.


  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->HANDLE_USER_COMMAND
* +-------------------------------------------------------------------------------------------------+
* | [--->] E_UCOMM                        LIKE
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD HANDLE_USER_COMMAND.

    PERFORM (ME->USER_COMMAND) IN PROGRAM (ME->REPID)
                             USING E_UCOMM.


  ENDMETHOD.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_CM_GUI_ALV->REFRESH_ALV
* +-------------------------------------------------------------------------------------------------+
* | [<-->] IO_GRID                        TYPE REF TO CL_GUI_ALV_GRID(optional)
* | [!CX!] CX_SY_REF_IS_INITIAL
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD REFRESH_ALV.

    DATA:LS_STABLE TYPE LVC_S_STBL.

    LS_STABLE-ROW = 'X'.
    LS_STABLE-COL = 'X'.

    CALL METHOD IO_GRID->REFRESH_TABLE_DISPLAY
      EXPORTING
        IS_STABLE = LS_STABLE
      EXCEPTIONS
        FINISHED  = 1
        OTHERS    = 2.

    IF SY-SUBRC <> 0.

    ENDIF.

    CALL METHOD CL_GUI_CFW=>FLUSH.


  ENDMETHOD.
ENDCLASS.

2.功能程序

主程序

REPORT ZFID_002.

INCLUDE ZFID_002_TOP.      "Definition

INCLUDE ZFID_002_SEL.      "screen

INCLUDE ZFID_002_PBO.      "screen PBO

INCLUDE ZFID_002_PAI.      "Screen PAI

INCLUDE ZFID_002_FRM.      "Frogram

ZFID_002_FRM

*&---------------------------------------------------------------------*
*& 包含               ZFID_002_FRM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------------------*
*& 获取数据
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM FRM_GET_DATA .

  DATA:LT_DDV1 TYPE TABLE OF DD07V,
       LT_DDV2 TYPE TABLE OF DD07V,
       LS_ALV  TYPE TY_ALV.

  DATA: LV_DATE TYPE SY-DATUM.

*----获取银行汇票信息数据

  SELECT
         BOE_NUMBER
         EBR_DATE
         SRL_NO
         BUKRS
         BUTXT
         KUNNR
         NAME1
         GSBER
         BOE_TYPE
         WRBTR
         WAERS
         WEFAE
         WDATE
         BOE_RECEIVE_DATE
         HBKID
         HKTID
         HBAKN
         HBAKL
         BANKL
         BANKN
         BANKA
         BOE_ACC_NAME
         BOE_DEPOSIT_ACCOUNT
         BOE_ACC_BANK_NUMBER
         BOE_ACC_BANK
         WBZOG
         BOE_DRAWEE_ACCOUNT
         BOE_DRAWEE_BANK_NUMBER
         BOE_DRAWEE_BANK
         WNAME
         BOE_DRAWER_ACCOUNT
         BOE_DRAWER_BANK_NUMBER
         BOE_DRAWER_BANK
         ZSFZL
         A~BOE_STATUS
         B~LTEXT
         BOE_NEGOT
         BOE_OVERDUE
         ZSFYDJ
         BUSCODE
         TRANSCODE
         FSEQNO
         ZPRINT
    INTO CORRESPONDING FIELDS OF TABLE GT_ALV
    FROM ZTFI_071 AS A LEFT JOIN ZTFI_069_02 AS B
                              ON A~BOE_STATUS = B~BOE_STATUS
   WHERE BUKRS        IN S_BUKRS
     AND HBKID        IN S_HBKID
     AND HKTID        IN S_HKTID
     AND KUNNR        IN S_KUNNR
     AND A~BOE_STATUS NE '06'  "去除已驳回票据
     AND LOEKZ        NE 'X'
     AND BOE_TYPE     IN S_TYPE
     AND ZSFYDJ       = ''.

  "排序规则  1.公司代码;2.开户行;3.汇票号
  SORT GT_ALV BY BUKRS HBKID BOE_NUMBER WEFAE .

*&-----获取其他数据
  IF GT_ALV[] IS NOT INITIAL.
*&-----获取公司数据
    SELECT BUKRS ,
           BUTXT
      INTO TABLE @DATA(LT_T001)
      FROM T001
       FOR ALL ENTRIES IN @GT_ALV
     WHERE BUKRS = @GT_ALV-BUKRS.

    "排序
    SORT LT_T001 BY BUKRS.

**&-----获取客户名称
*    SELECT KUNNR ,
*           NAME1
*      INTO TABLE @DATA(LT_KNA1)
*      FROM KNA1
*       FOR ALL ENTRIES IN @GT_ALV
*     WHERE KUNNR = @GT_ALV-KUNNR.
*
*    "排序
*    SORT LT_KNA1 BY KUNNR.

*&----获取业务部门描述
    SELECT GSBER ,
           GTEXT
      INTO TABLE @DATA(LT_TGSBT)
      FROM TGSBT
       FOR ALL ENTRIES IN @GT_ALV
     WHERE GSBER = @GT_ALV-GSBER
       AND SPRAS = @SY-LANGU.

    "排序
    SORT LT_TGSBT BY GSBER.

  ENDIF.

*&------赋值汇兑类型
  "定义承兑类型
  TYPES:BEGIN OF TY_BOE_TYPE,
          BOE_TYPE      TYPE BOE_TYP,        "汇票承兑类型
          BOE_TYPE_TEXT TYPE STRING,         "汇兑承兑类型描述
        END OF TY_BOE_TYPE.

  DATA:LT_BOE_TYPE TYPE TABLE OF TY_BOE_TYPE.

  "获取域值
  CALL FUNCTION 'DD_DOMA_GET'
    EXPORTING
      DOMAIN_NAME = 'BOE_TYP'
      GET_STATE   = 'M  '
      LANGU       = SY-LANGU
      PRID        = 0
      WITHTEXT    = 'X'
    TABLES
      DD07V_TAB_A = LT_DDV1
      DD07V_TAB_N = LT_DDV2.

  IF SY-SUBRC = 0.

    LOOP AT LT_DDV1 INTO DATA(LS_DDV1) .

      LT_BOE_TYPE = VALUE #( BASE LT_BOE_TYPE
                                ( BOE_TYPE       = LS_DDV1-DOMVALUE_L
                                  BOE_TYPE_TEXT  = LS_DDV1-DDTEXT
                                )
                             ).
    ENDLOOP.

  ENDIF.

  "排序
  SORT LT_BOE_TYPE BY BOE_TYPE.

  "获取当前日期后六个月的日期
  CALL FUNCTION 'MONTH_PLUS_DETERMINE'
    EXPORTING
      MONTHS  = 6
      OLDDATE = SY-DATUM   "输入日期
    IMPORTING
      NEWDATE = LV_DATE.   "返回日期


*&----内表赋值
  LOOP AT GT_ALV ASSIGNING FIELD-SYMBOL(<FS_ALV>).

    "如果到期日大于六个月的日期
    IF <FS_ALV>-WEFAE > LV_DATE.
      <FS_ALV>-COLOR =  GC_COLOR .
    ENDIF.

    IF <FS_ALV>-BOE_TYPE = 'Y'.
      <FS_ALV>-COLOR =  GC_RED .

    ENDIF.

*&---赋值公司名称
    READ TABLE LT_T001 INTO DATA(LS_T001)  WITH KEY BUKRS = <FS_ALV>-BUKRS BINARY SEARCH.
    IF SY-SUBRC = 0.
      <FS_ALV>-BUTXT = LS_T001-BUTXT.
    ENDIF.

*&---赋值客户名称
*    READ TABLE LT_KNA1 INTO DATA(LS_KNA1) WITH KEY KUNNR = <FS_ALV>-KUNNR BINARY SEARCH.
*    IF SY-SUBRC = 0.
*      <FS_ALV>-NAME1 = LS_KNA1-NAME1.
*    ENDIF.

*&----赋值业务部门描述
    READ TABLE LT_TGSBT INTO DATA(LS_TGSBT) WITH KEY  GSBER = <FS_ALV>-GSBER BINARY SEARCH.
    IF SY-SUBRC = 0.
      <FS_ALV>-GTEXT = LS_TGSBT-GTEXT.
    ENDIF.

*&---赋值汇兑类型
    READ TABLE LT_BOE_TYPE INTO DATA(LS_BOE_TYPE) WITH KEY  BOE_TYPE = <FS_ALV>-BOE_TYPE BINARY SEARCH.
    IF SY-SUBRC = 0.
      <FS_ALV>-BOE_TYPE_TEXT = LS_BOE_TYPE-BOE_TYPE_TEXT.
    ENDIF.

  ENDLOOP.

*----取银行通讯配置表数据

  IF GT_ALV IS NOT INITIAL.

    DATA(LT_TAB) = GT_ALV.
    SORT LT_TAB BY BUKRS HBKID HKTID.
    DELETE ADJACENT DUPLICATES FROM LT_TAB COMPARING BUKRS HBKID HKTID.

    SELECT A~*
      FROM ZTFI_070 AS A  INNER JOIN @LT_TAB AS B
        ON A~BUKRS = B~BUKRS
       AND A~HBKID = B~HBKID
       AND A~HKTID = B~HKTID
     WHERE A~BUKRS IN @S_BUKRS
      INTO TABLE @GT_070.

  ENDIF.


ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_SET_LAYOUT
*&---------------------------------------------------------------------*
*& ALV 布局
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM FRM_SET_LAYOUT .
* ALV  布局
  CLEAR GS_LAYOUT.
*  GS_LAYOUT-ZEBRA      = 'X'.        "斑马线
  GS_LAYOUT-CWIDTH_OPT = 'X'.        "自动调整ALVL列宽
  GS_LAYOUT-SEL_MODE   = 'D'.        "选择方式
  GS_LAYOUT-BOX_FNAME  = 'BOX'.
  GS_LAYOUT-INFO_FNAME = 'COLOR'.     "行颜色

*ALV 变式
  CLEAR  GS_VARIANT.
  GS_VARIANT-REPORT = |{ SY-REPID }{ SY-DYNNR }|.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_SET_FDCATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM FRM_SET_FDCATA .
  CLEAR:GT_FCAT_00.

  GT_FCAT_00 = VALUE #( ( FIELDNAME = 'BOE_NUMBER'             COLTEXT = TEXT-001   REF_TABLE = 'ZTFI_071'  REF_FIELD = 'BOE_NUMBER'           )
                        ( FIELDNAME = 'BUKRS'                  COLTEXT = TEXT-002   REF_TABLE = 'ZTFI_071'  REF_FIELD = 'BUKRS'                )
                        ( FIELDNAME = 'BUTXT'                  COLTEXT = TEXT-003   REF_TABLE = 'ZTFI_071'  REF_FIELD = 'BUTXT'                )
                        ( FIELDNAME = 'KUNNR'                  COLTEXT = TEXT-004   REF_TABLE = 'ZTFI_071'  REF_FIELD = 'KUNNR'                )
                        ( FIELDNAME = 'NAME1'                  COLTEXT = TEXT-005   REF_TABLE = 'ZTFI_071'  REF_FIELD = 'NAME1'                )
                        ( FIELDNAME = 'GSBER'                   COLTEXT = TEXT-006       "业务范围
                          REF_TABLE = 'ZTFI_071'              REF_FIELD = 'GSBER' )      "业务范围
*                        ( FIELDNAME = 'GTEXT'                   COLTEXT = TEXT-006       "业务范围
*                          REF_TABLE = 'ZTFI_071'              REF_FIELD = 'GSBER' )      "业务范围
*                        ( FIELDNAME = 'BOE_STATUS'             COLTEXT = TEXT-025        "汇票状态
*                          REF_TABLE = 'ZTFI_071'             REF_FIELD = 'BOE_STATUS')   "汇票状态
                        ( FIELDNAME = 'LTEXT'                  COLTEXT = TEXT-025       "汇票状态
                          REF_TABLE = 'ZTFI_071'             REF_FIELD = 'BOE_STATUS')   "汇票状态
                        ( FIELDNAME = 'BOE_TYPE'                COLTEXT = TEXT-007       "汇票承兑类型
                          REF_TABLE = 'ZTFI_071'              REF_FIELD = 'BOE_TYPE' )   "汇票承兑类型
*                        ( FIELDNAME = 'BOE_TYPE_TEXT'           COLTEXT = TEXT-007       "汇票承兑类型
*                          REF_TABLE = 'ZTFI_071'              REF_FIELD = 'BOE_TYPE' )   "汇票承兑类型
                        ( FIELDNAME = 'ZSFZL'                  COLTEXT = TEXT-023   REF_TABLE = 'ZTFI_071' REF_FIELD = 'ZSFZL'                  )
                        ( FIELDNAME = 'WRBTR'                  COLTEXT = TEXT-008   REF_TABLE = 'ZTFI_071' REF_FIELD = 'WRBTR'                  )
                        ( FIELDNAME = 'WAERS'                  COLTEXT = TEXT-058   REF_TABLE = 'ZTFI_071' REF_FIELD = 'WAERS'                  )
                        ( FIELDNAME = 'WEFAE'                  COLTEXT = TEXT-009   REF_TABLE = 'ZTFI_071' REF_FIELD = 'WEFAE'                  )
                        ( FIELDNAME = 'WDATE'                  COLTEXT = TEXT-051   REF_TABLE = 'ZTFI_071' REF_FIELD = 'WDATE'                  )
                        ( FIELDNAME = 'BOE_RECEIVE_DATE'       COLTEXT = TEXT-052   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_RECEIVE_DATE'       )
                        ( FIELDNAME = 'EBR_DATE'               COLTEXT = TEXT-094   REF_TABLE = 'ZTFI_071' REF_FIELD = 'EBR_DATE'               ) "银行回单日期
                        ( FIELDNAME = 'HBKID'                  COLTEXT = TEXT-053   REF_TABLE = 'ZTFI_071' REF_FIELD = 'HBKID'                  )
                        ( FIELDNAME = 'HKTID'                  COLTEXT = TEXT-054   REF_TABLE = 'ZTFI_071' REF_FIELD = 'HKTID'                  )
                        ( FIELDNAME = 'HBAKN'                  COLTEXT = TEXT-055   REF_TABLE = 'ZTFI_071' REF_FIELD = 'HBAKN'                  )
                        ( FIELDNAME = 'HBAKL'                  COLTEXT = TEXT-056   REF_TABLE = 'ZTFI_071' REF_FIELD = 'HBAKL'                  )
                        ( FIELDNAME = 'BANKL'                  COLTEXT = TEXT-010   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BANKL'                  )
                        ( FIELDNAME = 'BANKN'                  COLTEXT = TEXT-011   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BANKN'                  )
                        ( FIELDNAME = 'BANKA'                  COLTEXT = TEXT-012   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BANKA'                  )

                        ( FIELDNAME = 'BOE_ACC_NAME'           COLTEXT = TEXT-104   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_ACC_NAME'           )"承兑人名称
                        ( FIELDNAME = 'BOE_DEPOSIT_ACCOUNT'    COLTEXT = TEXT-105   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_DEPOSIT_ACCOUNT'    )"承兑人银行账号

                        ( FIELDNAME = 'BOE_ACC_BANK_NUMBER'    COLTEXT = TEXT-013   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_ACC_BANK_NUMBER'    )
                        ( FIELDNAME = 'BOE_ACC_BANK'           COLTEXT = TEXT-014   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_ACC_BANK'           )
                        ( FIELDNAME = 'WBZOG'                  COLTEXT = TEXT-015   REF_TABLE = 'ZTFI_071' REF_FIELD = 'WBZOG'                  )
                        ( FIELDNAME = 'BOE_DRAWEE_ACCOUNT'     COLTEXT = TEXT-016   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_DRAWEE_ACCOUNT'     )
                        ( FIELDNAME = 'BOE_DRAWEE_BANK_NUMBER' COLTEXT = TEXT-017   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_DRAWEE_BANK_NUMBER' )
                        ( FIELDNAME = 'BOE_DRAWEE_BANK'        COLTEXT = TEXT-018   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_DRAWEE_BANK'        )
                        ( FIELDNAME = 'WNAME'                  COLTEXT = TEXT-019   REF_TABLE = 'ZTFI_071' REF_FIELD = 'WNAME'                  )
                        ( FIELDNAME = 'BOE_DRAWER_ACCOUNT'     COLTEXT = TEXT-020   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_DRAWER_ACCOUNT'     )
                        ( FIELDNAME = 'BOE_DRAWER_BANK_NUMBER' COLTEXT = TEXT-021   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_DRAWER_BANK_NUMBER' )
                        ( FIELDNAME = 'BOE_DRAWER_BANK'        COLTEXT = TEXT-022   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_DRAWER_BANK'        )
                        ( FIELDNAME = 'BOE_NEGOT'              COLTEXT = TEXT-071   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_NEGOT'              )
                        ( FIELDNAME = 'BOE_OVERDUE'            COLTEXT = TEXT-072   REF_TABLE = 'ZTFI_071' REF_FIELD = 'BOE_OVERDUE'            )
                        ( FIELDNAME = 'ZPRINT'                 COLTEXT = TEXT-135   REF_TABLE = 'ZTFI_071' REF_FIELD = 'ZPRINT'                 )
                        ).
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_CALL_ALV_CLASS
*&---------------------------------------------------------------------*
*& 创建ALV容器&显示ALV&注册事件
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM FRM_CALL_ALV_CLASS .

  IF GCL_GRID_00 IS INITIAL.
*----创建容器
    TRY.
        GCL_CLS_00->CREATE_DOCKING_CONTAINER(
              CHANGING
                IO_GRID    = GCL_GRID_00
                IT_FCAT    = GT_FCAT_00
                IS_LAYO    = GS_LAYOUT
                IT_TABL    = GT_ALV
                IS_VARIANT = GS_VARIANT
                IT_EXCLUDE = GT_EXCLUDE
                 ).

      CATCH CX_SY_REF_IS_INITIAL INTO DATA(LC_ERROR).

        DATA(LV_ERROR) = LC_ERROR->IF_MESSAGE~GET_TEXT( ).

    ENDTRY.

*----注册事件

*---类属性赋值
    GCL_CLS_00->REPID               = SY-REPID.
    GCL_CLS_00->DYNNR               = GC_DYNNR_00.
    GCL_CLS_00->TOOLBAR             = 'FRM_HANDLE_TOOLBAR'.
    GCL_CLS_00->MENU_FORMNAME       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员在路上...

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

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

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

打赏作者

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

抵扣说明:

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

余额充值