本文是通本用ALV的格式输出,然后调用SMARTFORM 来打印,程序用到了GUI 状态,按钮命令,清单标题、
选择文本等。
*&---------------------------------------------------------------------*
*& Report ZSMF_DGYM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSMF_DGYM1.
TYPE-POOLS: SLIS.
TABLES:EBAN.
*
*data :BEGIN OF we,
* INDEX LIKE ZSMF_DGYM-INDEX1,
* BANFN Like ZSMF_DGYM-BANFN,
* MATNR LIKE ZSMF_DGYM-MATNR,
* TXZ01 LIKE ZSMF_DGYM-TXZ01,
* MENGE LIKE ZSMF_DGYM-MENGE,
* LFDAT like ZSMF_DGYM-LFDAT,
* MENGE1 like ZSMF_DGYM-MENGE1,
* MENGE2 LIKE ZSMF_DGYM-MENGE2,
* WCH1 like ZSMF_DGYM-WCH1,
* WCH2 like ZSMF_DGYM-WCH2,
* EKORG like ZSMF_DGYM-EKORG,
* remark like ZSMF_DGYM-REMARK,
* MEINS LIKE ZSMF_DGYM-MEINS,
* END OF we.
**
*DATA: ITAB like we OCCURS 0 with HEADER LINE.
**
data :BEGIN OF ITAB occurs 0,
INDEX LIKE ZSMF_DGYM-INDEX1,
BANFN Like ZSMF_DGYM-BANFN,
MATNR LIKE ZSMF_DGYM-MATNR,
TXZ01 LIKE ZSMF_DGYM-TXZ01,
MENGE LIKE ZSMF_DGYM-MENGE,
LFDAT like ZSMF_DGYM-LFDAT,
MENGE1 like ZSMF_DGYM-MENGE1,
MENGE2 LIKE ZSMF_DGYM-MENGE2,
WCH1 like ZSMF_DGYM-WCH1,
WCH2 like ZSMF_DGYM-WCH2,
EKORG like ZSMF_DGYM-EKORG,
remark like ZSMF_DGYM-REMARK,
MEINS LIKE ZSMF_DGYM-MEINS,
END OF ITAB.
Data :begin of ITAB1 OCCURS 0,
BANFN Like EBAN-BANFN,
MENGE like EKBE-MENGE,
END OF ITAB1.
* Internal Tables and Variants for ALV output
CONSTANTS: C_DDICTXT_M(1) TYPE C VALUE 'M'.
DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: WA_FIELDCAT LIKE LINE OF IT_FIELDCAT.
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GS_VARIANT LIKE DISVARIANT.
DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
DATA: G_REPID TYPE SY-REPID,
G_STATUS_FORM TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',
G_COMMAND_FORM TYPE SLIS_FORMNAME VALUE 'USER_COMMAND',
G_SAVE(1).
DATA: IT_SORT_LINE TYPE SLIS_SORTINFO_ALV,
IT_SORT_TAB TYPE SLIS_T_SORTINFO_ALV.
SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-T01.
SELECT-OPTIONS:S_BANFN FOR EBAN-BANFN.
SELECT-OPTIONS:S_BADAT FOR EBAN-BADAT.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
PERFORM readData.
END-OF-SELECTION .
PERFORM OUTPUT_RESULT_AS_ALV TABLES ITAB