1、ALV事例AVL 树型报表样式more*&-*& 包括 ZFIR025DATA*&-*INCLUDE.TYPE-POOLS:SLIS.TABLES:SKAT,SVAL,T001W,T001,T001L,ZTM110.TABLES:FAGLFLEXT,BSIS,BSAS.DATA:IT_SVALLIKETABLEOFSVALWITHHEADERLINE.DATA:WA_SVALTYPESVAL.* 数据定义区域-FIELD-SYMBOLS.FIELD-SYMBOLS.*DATA:BEGIN OF IT_MZ_INDEX OCCURS 10,XX科目分类* G_WERKS TYPE WERKS_D
2、,* END OF IT_MZ_INDEX.*&-DATA:BUTXTLIKET001-BUTXT.公司信息.DATA:G_BUKRS TYPE BUKRS,G_WERKS TYPE WERKS_D,G_LGORT LIKE T001L-LGORT,F_XTYPEI.DATA:BEGINOFIT_BUKRSOCCURS0,BUKRSLIKET001-BUKRS,ENDOFIT_BUKRS.DATA:BEGINOFIT_GSBEROCCURS0,业务范围GSBERLIKETGSB-GSBER,ENDOFIT_GSBER.DATA:BEGINOFIT_OPTION_BUKRSOCCURS100,S
3、IGNTYPEC,OPTION(2)TYPEC,LOW(4)TYPEC,HIGH(4)TYPEC,ENDOFIT_OPTION_BUKRS,IT_OPTION_WERKSLIKETABLEOFIT_OPTION_BUKRSWITHHEADERLINE.DATA:BEGINOFIT_DATAOCCURS0,右边ALV主数据SAKNRLIKESKAT-SAKNR,科目XSAKNRLIKESKAT-SAKNR,科目QCTYPEHSLVT12,期初余额LDRTYPEHSLVT12,本期借方LCRTYPEHSLVT12,本期货方LYDRTYPEHSLVT12,本年借方LYCRTYPEHSLVT12,本年
4、贷方LSUMTYPEHSLVT12,期末结余TXT50LIKESKAT-TXT50,CURR1TYPEFAGL_CURR1,参照字段ENDOFIT_DATA,IT_SAKNR_TOPLIKETABLEOFIT_DATAWITHHEADERLINE,IT_SAKNR_DETAILLIKETABLEOFIT_DATAWITHHEADERLINE,IT_SAKNR_DETAILXLIKETABLEOFIT_DATAWITHHEADERLINE,IT_FAGLFLEXTLIKETABLEOFFAGLFLEXTWITHHEADERLINE.DATA: IT_INSERTLIKETABLEOFZTM110
5、WITHHEADERLINE,IT_UPDATELIKETABLEOFZTM110WITHHEADERLINE.DATA:BEGINOFIT_WERKSOCCURS1000,WERKSLIKET001W-WERKS,工厂NAME1LIKET001W-NAME1,ENDOFIT_WERKS.DATA:BEGINOFIT_TABXOCCURS1000,SAKNRLIKESKAT-SAKNR,科目TXT50LIKESKAT-TXT50,中文描述ENDOFIT_TABX,-以下固定数据定义区域IT_T179TLIKETABLEOFIT_TABX 库存点WITHHEADERLINE.DATA:IT_TA
6、B2LIKETABLEOFIT_TABX IT_TAB2左边ALV数据WITHHEADERLINE,IT_TAB1LIKETABLEOFIT_DATA IT_TAB1右边ALV数据WITHHEADERLINE,IT_LEFT_ALVLIKETABLEOFIT_TAB2 左边ALV数据填充源WITHHEADERLINE,IT_LEFTLIKETABLEOFIT_TAB2,IT_RIGHT_ALVLIKETABLEOFIT_TAB1 右边ALV数据填充源WITHHEADERLINE,IT_RIGHT_DELETELIKETABLEOFIT_TAB1WITHHEADERLINE,IT_RALV_02
7、00LIKETABLEOFIT_TAB1 右边ALV数据填充源SCREEN:0200WITHHEADERLINE,IT_S0100_BOOTLIKETABLEOFIT_TAB1 右边ALV数据填充源SCREEN:0100,BOOTWITHHEADERLINE.* 架构DATA: GT_HEADERTYPETABLEOFSLIS_LISTHEADER头文件定义,固定.WITHHEADERLINE,GT_FIELDCAT_LVCTYPELVC_T_FCATWITHHEADERLINE,GR_FIELDCAT_LVCTYPELVC_T_FCATWITHHEADERLINE,GX_FIELDCAT_L
8、VCTYPELVC_T_FCATWITHHEADERLINE,GT_SORT_GRIDTYPELVC_T_SORTWITHHEADERLINE,GT_ROW_TABLETYPELVC_T_ROWWITHHEADERLINE.行选择数据* 固定格式DATA: CONTROLS_CREATED,DRAGDROP_TREETYPEREFTOCL_DRAGDROP,树拖动DRAGDROP_ALVTYPEREFTOCL_DRAGDROP,ALV拖动FLG_NEW,GRIDTYPEREFTOCL_GUI_ALV_GRID,ALVOOGRID_DETAILTYPEREFTOCL_GUI_ALV_GRID,A
9、LVOOGS_LAYOUT_ALVTYPELVC_S_LAYO,ALV布局GS_TOOLBARTYPESTB_BUTTON,工具栏按钮G_CUSTOM_CONTAINERTYPEREFTOCL_GUI_CUSTOM_CONTAINER,ALV容器G_CUSTOM_CONTAINER_DTYPEREFTOCL_GUI_CUSTOM_CONTAINER,ALV容器G_CONTAINER_OBJECTTYPEREFTOCL_GUI_DOCKING_CONTAINER,G_DROPEFFECTTYPEI,G_HANDLE_TREETYPEI,G_HANDLE_ALVTYPEI,G_HIERARCHY_
10、HEADERTYPETREEV_HHDR,树控制:层次结构表头的属性G_REPIDLIKESY-REPID,OK_CODELIKESY-UCOMM,SAVE_OK_CODELIKESY-UCOMM,SELECTEDVALUEX,TREE1TYPEREFTOCL_GUI_ALV_TREE.树* 常量定义CONSTANTS: FCODE_BACKLIKESY-UCOMMVALUEBACK,返回FCODE_DISPLIKESY-UCOMMVALUEDISP,工具栏上的自定按钮FCODE_ENDLIKESY-UCOMMVALUEEND,FCODE_ENTRLIKESY-UCOMMVALUEENTR,确
11、定FCODE_ESCLIKESY-UCOMMVALUEESC,取消FCODE_PLANELIKESY-UCOMMVALUEFLIGHT,工具栏上的自定按钮FCODE_INSERTLIKESY-UCOMMVALUEINSERT_LINE,插入新行数据FCODE_DELETELIKESY-UCOMMVALUEDELETE_LINE.删除行数据* * ZFIR010 调用数据定义 * *DATA:BEGINOFIT_FAGLFLEXT2OCCURS100,DRCRKTYPEFAGLFLEXT-DRCRK,HSLVTTYPEFAGLFLEXT-HSLVT,HSL01TYPEFAGLFLEXT-HSL0
12、1,HSL02TYPEFAGLFLEXT-HSL02,HSL03TYPEFAGLFLEXT-HSL03,HSL04TYPEFAGLFLEXT-HSL04,HSL05TYPEFAGLFLEXT-HSL05,HSL06TYPEFAGLFLEXT-HSL06,HSL07TYPEFAGLFLEXT-HSL07,HSL08TYPEFAGLFLEXT-HSL08,HSL09TYPEFAGLFLEXT-HSL09,HSL10TYPEFAGLFLEXT-HSL10,HSL11TYPEFAGLFLEXT-HSL11,HSL12TYPEFAGLFLEXT-HSL12,HSL13TYPEFAGLFLEXT-HSL1
13、3,HSL14TYPEFAGLFLEXT-HSL14,HSL15TYPEFAGLFLEXT-HSL15,HSL16TYPEFAGLFLEXT-HSL16,ENDOFIT_FAGLFLEXT2.DATA: BM_HSLVTTYPEFAGLFLEXT-HSLVT,上期余额CM_HSLVTTYPEFAGLFLEXT-HSLVT,本期合计CMS_HSLVTTYPEFAGLFLEXT-HSLVT,本期借方合计CMH_HSLVTTYPEFAGLFLEXT-HSLVT,本期贷方合计CY_HSLVTTYPEFAGLFLEXT-HSLVT,本年累计CYS_HSLVTTYPEFAGLFLEXT-HSLVT,本年借
14、方累计CYH_HSLVTTYPEFAGLFLEXT-HSLVT.本年贷方累计DATA:BEGINOFIT_BSISOCCURS1000,MONATTYPEBSIS-MONAT,GSBERTYPEBSIS-GSBER,BUDATTYPEBSIS-BUDAT,BELNRTYPEBSIS-BELNR,BUZEITYPEBSIS-BUZEI,SHKZGTYPEBSIS-SHKZG,DMBTRTYPEBSIS-DMBTR,SGTXTTYPEBSIS-SGTXT,* GSBER TYPE BSIS-GSBER,GTEXTLIKETGSBT-GTEXT,XNEGPTYPEBSIS-XNEGP,ENDOFIT
15、_BSIS.DATA:BEGINOFSHOW_DATAOCCURS1000,BUDATTYPEBSIS-BUDAT,BELNRTYPEBSIS-BELNR,GSBERTYPEBSIS-GSBER,GTEXTLIKETGSBT-GTEXT,SGTXTTYPEBSIS-SGTXT,SDMBTRTYPEBSIS-DMBTR,HDMBTRTYPEBSIS-DMBTR,SHKZG(4)TYPEC,YETYPEFAGLFLEXT-HSL16,ENDOFSHOW_DATA.DATAHKONT_TXTTYPESTRING.DATA: EXIT_FLAG(1)TYPEC,S_MONATLIKETABLEOFIT
16、_OPTION_BUKRSWITHHEADERLINE.DATA:BEGINOFIT_TGSBTOCCURS1000,GSBERLIKETGSBT-GSBER,GTEXTLIKETGSBT-GTEXT,ENDOFIT_TGSBT.DATA:G_DOCKINGTYPEREFTOCL_GUI_DOCKING_CONTAINER,G_SPLITERTYPEREFTOCL_GUI_SPLITTER_CONTAINER,G_CONTAINERTYPEREFTOCL_GUI_CONTAINER.DATA: GRID0300TYPEREFTOCL_GUI_ALV_GRID,ALVOOGR_FIELDCAT_
17、LVC0300TYPELVC_T_FCATWITHHEADERLINE.DATA: LS_LAYOUTTYPESLIS_LAYOUT_ALV.*&-*& 包括 ZFIR025CLASS*&-*1-event receiver for ALV gridCLASSCL_EVENT_RECEIVERDEFINITION.PUBLICSECTION.DATA: UCOMMTYPESY-UCOMM.DATA: SELFIELDTYPESLIS_SELFIELD.* toolbar* 工具栏METHODSHANDLE_TOOLBAR_SETFOREVENTTOOLBAROFCL_GUI_ALV_GRIDI
18、MPORTINGE_OBJECT E_INTERACTIVE.* user command* 命令METHODSHANDLE_USER_COMMANDFOREVENTUSER_COMMANDOFCL_GUI_ALV_GRIDIMPORTINGE_UCOMM.* double click* 双击METHODSHANDLE_DOUBLE_CLICKFOREVENTDOUBLE_CLICKOFCL_GUI_ALV_GRIDIMPORTINGE_ROW E_COLUMN.* context menue* 下拉列表METHODSHANDLE_CONTEXT_MENUFOREVENTCONTEXT_MEN
19、U_REQUESTOFCL_GUI_ALV_GRIDIMPORTINGE_OBJECT.METHODSHANDLE_ONDROPFOREVENTONDROPOFCL_GUI_ALV_GRIDIMPORTINGE_ROWE_COLUMNE_DRAGDROPOBJ.PRIVATESECTION.ENDCLASS.CL_EVENT_RECEIVER DEFINITION*-* CLASS CL_EVENT_RECEIVER IMPLEMENTATION*-*CLASSCL_EVENT_RECEIVERIMPLEMENTATION.* handle user_command* 命令METHODHAND
20、LE_USER_COMMAND.CASEE_UCOMM.code:disp,FLIGHTWHENFCODE_DISP.PERFORMDISPLAY_DETAIL.code:dispWHENFCODE_PLANE.code:FLIGHTPERFORMDISPLAY_SAPLANE.WHENFCODE_INSERT.插入新行数据* PERFORM INSERT_LINE USING G_BUKRS G_WERKS G_LGORT .WHENFCODE_DELETE.删除行数据* PERFORM DELETE_LINE.WHENOTHERS.ENDCASE.ENDMETHOD.HANDLE_USER
21、_COMMAND* handle double_click* 双击进入显示METHODHANDLE_DOUBLE_CLICK.PERFORMDISPLAY_SAPLANE.ENDMETHOD.HANDLE_DOUBLE_CLICK* handle toolbarMETHODHANDLE_TOOLBAR_SET.* create own Menubuttons and ToolbarButtons* append a separator to normal toolbarDO40TIMES.DELETEE_OBJECT-MT_TOOLBARINDEXSY-INDEX.ENDDO.* 创建工具栏C
22、LEARGS_TOOLBAR.工具按钮MOVE3TOGS_TOOLBAR-BUTN_TYPE.具栏按钮类型APPENDGS_TOOLBARTOE_OBJECT-MT_TOOLBAR.* append detail button* 向工具栏中加入数据(按钮)CLEARGS_TOOLBAR.MOVEFCODE_DISPTOGS_TOOLBAR-FUNCTION.CODEMOVEICON_DETAILTOGS_TOOLBAR-ICON.MOVETEXT-005TOGS_TOOLBAR-QUICKINFO.MOVE TOGS_TOOLBAR-DISABLED.APPENDGS_TOOLBARTOE_O
23、BJECT-MT_TOOLBAR.* append a separator to normal toolbar*CLEARGS_TOOLBAR.MOVE3TOGS_TOOLBAR-BUTN_TYPE.APPENDGS_TOOLBARTOE_OBJECT-MT_TOOLBAR.* append new buttonCLEARGS_TOOLBAR.MOVEFCODE_PLANETOGS_TOOLBAR-FUNCTION.MOVEICON_OVERVIEWTOGS_TOOLBAR-ICON.MOVETEXT-002TOGS_TOOLBAR-QUICKINFO.MOVE TOGS_TOOLBAR-DI
24、SABLED.APPENDGS_TOOLBARTOE_OBJECT-MT_TOOLBAR.CLEARGS_TOOLBAR.工具按钮MOVE3TOGS_TOOLBAR-BUTN_TYPE.BUTN_TYPE工具栏按钮类型APPENDGS_TOOLBARTOE_OBJECT-MT_TOOLBAR.CLEARGS_TOOLBAR.MOVEFCODE_INSERTTOGS_TOOLBAR-FUNCTION.FCODE_DISP CODEMOVEICON_INSERT_ROWTOGS_TOOLBAR-ICON.MOVE插入新行TOGS_TOOLBAR-QUICKINFO.MOVE TOGS_TOOLBA
25、R-DISABLED.APPENDGS_TOOLBARTOE_OBJECT-MT_TOOLBAR.CLEARGS_TOOLBAR.MOVE3TOGS_TOOLBAR-BUTN_TYPE.APPENDGS_TOOLBARTOE_OBJECT-MT_TOOLBAR.CLEARGS_TOOLBAR.MOVEFCODE_DELETETOGS_TOOLBAR-FUNCTION.MOVEICON_DELETE_ROWTOGS_TOOLBAR-ICON.MOVE删除行数据TOGS_TOOLBAR-QUICKINFO.MOVE TOGS_TOOLBAR-DISABLED.APPENDGS_TOOLBARTOE_OBJECT-MT_TOOLBAR.ENDMETHOD.HANDLE_TOOLBAR_SET* context menueMETHODHANDLE_CONTEXT_MENU.CALLMETHODE_OBJECT-ADD_FUNCTIONEXPORTINGFCODE = FCODE_DISPTEXT=TEXT-005.CALLMETHODE_OBJECT-ADD_FUNCTIONEXPORTINGFCODE = FCODE_PLANETEXT=TEXT-002.ENDMETHOD.HANDLE_CONTEXT_MENU* Drag & DropMETHODHANDLE_ONDROP.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1