一个小而美的SAP ALV DMEO,回顾REUSE_ALV_FIELDCATALOG_MERGE和REUSE_ALV_GRID_DISPLAY的使用,平时写报表时可以直接COPY后修改参数就能用。
关注点
REUSE_ALV_FIELDCATALOG_MERGE
READ TABLE XXX REFERENCE INTO ABC
LAYOUT-WINDOW_TITLEBAR
ALV POPUP(弹框)显示参数设置
REUSE_ALV_LIST_DISPLAY
REUSE_ALV_GRID_DISPLAY
ALV示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
REPORT ZFITEST005. *DATA: LS_LOG TYPE STCTM_S_SESSION. * *LS_LOG-CREATED_BY = SY-UNAME. *LS_LOG-CREATED_ON = SY-DATUM. *LS_LOG-CHANGED_BY = SY-UNAME. *LS_LOG-CHANGED_ON = SY-DATUM. * *BREAK-POINT. TABLES: SBOOK. DATA LT_FC TYPE SLIS_T_FIELDCAT_ALV. DATA LS_FC TYPE SLIS_FIELDCAT_ALV. DATA LR_FC TYPE REF TO SLIS_FIELDCAT_ALV. DATA LS_LAYOUT TYPE SLIS_LAYOUT_ALV. DATA LT_EXCLUDE TYPE SLIS_T_EXTAB. DATA LS_USER_EXIT TYPE SLIS_EXIT_BY_USER. DATA LT_SBOOK TYPE TABLE OF SBOOK. * 参考程序 STC_SCN_MAINTAIN SELECT * INTO TABLE LT_SBOOK FROM SBOOK UP TO 100 ROWS. CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING * I_INTERNAL_TABNAME = 'LT_TEMPL_SEL' I_STRUCTURE_NAME = 'SBOOK' CHANGING CT_FIELDCAT = LT_FC EXCEPTIONS INCONSISTENT_INTERFACE = 1 PROGRAM_ERROR = 2 OTHERS = 3. READ TABLE LT_FC REFERENCE INTO LR_FC WITH KEY FIELDNAME = 'FORCURAM'. IF SY-SUBRC = 0. LR_FC->JUST = 'L'. "数量、金额左对齐在ALV LIST中不起作用,只有在ALV GRID才起作用. ENDIF. LS_LAYOUT-WINDOW_TITLEBAR = '测试ALV'. LS_LAYOUT-ZEBRA = 'X'. APPEND '&ETA' TO LT_EXCLUDE. *APPEND '&ILT' TO LT_EXCLUDE. "filter APPEND '&OL0' TO LT_EXCLUDE. "layout variant *APPEND '&OUP' TO LT_EXCLUDE. "sort up *APPEND '&ODN' TO LT_EXCLUDE. "sort down APPEND '&RNT' TO LT_EXCLUDE. "print APPEND '&CRB' TO LT_EXCLUDE. "h. scroll first col APPEND '&CRL' TO LT_EXCLUDE. "h. scroll left APPEND '&CRR' TO LT_EXCLUDE. "h. scroll right APPEND '&CRE' TO LT_EXCLUDE. "h. scroll last col APPEND '&ELP' TO LT_EXCLUDE. "help APPEND '&LFO' TO LT_EXCLUDE. "list status *CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING IS_LAYOUT = LS_LAYOUT IT_FIELDCAT = LT_FC IT_EXCLUDING = LT_EXCLUDE I_SCREEN_START_COLUMN = 20 "如果指定这几个参数,则ALV是弹出式. I_SCREEN_START_LINE = 5 I_SCREEN_END_COLUMN = 120 I_SCREEN_END_LINE = 20 IMPORTING ES_EXIT_CAUSED_BY_USER = LS_USER_EXIT "关闭ALV(点击右上角X关闭的时候)时执行的操作. TABLES T_OUTTAB = LT_SBOOK EXCEPTIONS PROGRAM_ERROR = 0 OTHERS = 0. IF LS_USER_EXIT IS NOT INITIAL. MESSAGE S007(STC) DISPLAY LIKE 'E'. EXIT. ENDIF. |
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/9825.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。