此模板也使用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