




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、COLUMN tree实例程序写在函数里,在F4帮助时调用,效果:选择屏幕定义SELECT-OPTIONS:s_proj for ZFIT1011-NODID NO INTERVALS .AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_proj-low." P_PROJ . PERFORM FRM_F4_HELP_PROJ .FORM FRM_F4_HELP_PRO
2、J . DATA: LT_BUKRS TYPE ZFITBBUKRS, LS_BUKRS TYPE ZFISBUKRS. DATA: LT_ZFIT1011 TYPE ZFITB1011, LS_ZFIT1
3、011 TYPE ZFIT1011. DATA LT_FIELD LIKE TABLE OF DYNPREAD. DATA LS_FIELD LIKE DYNPREAD. DATA:LV_LVVER TYPE ZFIT1011-LVVER . CLE
4、AR: LT_FIELD ,LV_LVVER , LS_FIELD . REFRESH S_PROJ. CALL FUNCTION 'DYNP_VALUES_READ' EXPORTING DYNAME
5、; = SY-REPID DYNUMB = SY-DYNNR REQUEST
6、0; = 'A' "读取全屏幕数据 TABLES DYNPFIELDS = LT_FIELD EXCEPTIO
7、NS INVALID_ABAPWORKAREA = 1 INVALID_DYNPROFIELD = 2 INVALID_DYNPRONAME = 3 INVALID_DYNPRONUMMER = 4
8、60; INVALID_REQUEST = 5 NO_FIELDDESCRIPTION = 6 INVALID_PARAMETER = 7 UNDEFIND_ERR
9、OR = 8 DOUBLE_CONVERSION = 9 STEPL_NOT_FOUND = 10 OTHERS &
10、#160; = 11. LV_LVVER = LS_FIELD-FIELDVALUE . CALL FUNCTION 'ZFI_GRADE_F4_HELP' EXPORTING IV_LVCOD = &
11、#39;FI01' IV_LVVER = 'V01' TABLES TV_BUKRS = LT_BUKRS TV_TAB = LT_ZFIT1011. LOOP AT LT_ZFIT1011
12、160;INTO LS_ZFIT1011 WHERE BUKRS IS NOT INITIAL . GR_BUKRS-SIGN = 'I'. GR_BUKRS-OPTION = 'EQ'. GR_BUKRS-LOW = LS_ZFIT1011-BUKRS.
13、0; CLEAR GR_BUKRS-HIGH. APPEND GR_BUKRS. ENDLOOP. DELETE LT_ZFIT1011 WHERE DWNOD NOT IN GR_BUKRS.* IF LINES( LT_ZFIT1011 ) > 1.* MESSAGE
14、 S000 WITH TEXT-002 DISPLAY LIKE 'E'.* LEAVE LIST-PROCESSING.* ENDIF.* READ TABLE LT_ZFIT1011 INTO LS_ZFIT1011 INDEX 1.* IF SY-SUBRC = 0.*
15、 P_PROJ = LS_ZFIT1011-NODID.* ENDIF. LOOP AT LT_ZFIT1011 INTO LS_ZFIT1011. S_PROJ-SIGN = 'I'. S_PROJ-OPTION = 'EQ'. S_PROJ-LOW =
16、;LS_ZFIT1011-NODID. APPEND S_PROJ. ENDLOOP.ENDFORM. " FRM_F4_HELP_PROJCALL FUNCTION 'ZFI_GRADE_F4_HELP'
17、;CLEAR:GV_REGCT,GV_DISRC. GV_DISRC = IV_DISRC.*- 获取数据源 PERFORM FRM_GET_DATA USING IV_LVCOD IV_LVVER
18、 CHANGING GT_TAB.*- 弹出窗口 CLEAR GT_BUKRS. CALL SCREEN 0100 STARTING AT 50 2 ENDING AT 95 20.* IF EV_REGCT IS SUPPLIED.* EV_REGCT = GV_REGCT.*
19、60; ENDIF. IF GT_BUKRS IS NOT INITIAL. CLEAR TV_BUKRS. LOOP AT GT_BUKRS INTO GS_BUKRS. APPEND GS_BUKRS TO TV_BUKRS. ENDL
20、OOP. ELSE. READ TABLE GT_ITEM_TAB INTO GS_ITEM_TAB WITH KEY CHOSEN = 'X'. IF SY-SUBRC <> 0. CLEAR TV_BUKRS.
21、0;ENDIF. ENDIF. PERFORM FRM_GET_RESULT_TAB CHANGING TV_TAB.FRM_GET_DATAFORM FRM_GET_DATA USING IV_LVCOD TYPE ZFILVCOD &
22、#160; IV_LVVER TYPE ZFILVVER CHANGING CT_TAB TYPE TT_TAB. CLEAR:CT_TAB. "获取层
23、级数据 SELECT * FROM ZFIT1011 INTO TABLE CT_TAB WHERE LVCOD = IV_LVCOD AND LVVER = IV_LVVER.ENDFORM.
24、160; " FRM_GET_DATAFRM_GET_RESULT_TABFORM FRM_GET_RESULT_TAB CHANGING P_TV_TAB TYPE ZFITB1011. CLEAR P_TV_TAB.* 从表中读出所有打上选择标志的节点 DATA: LS_TAB
25、0; TYPE TY_TAB, LT_P_TAB TYPE TT_TAB. LOOP AT GT_ITEM_TAB INTO GS_ITEM_TAB WHERE CHOSEN = 'X'. READ TABLE GT_TAB INTO LS_TAB W
26、ITH KEY NODID = GS_ITEM_TAB-NODE_KEY. APPEND LS_TAB TO P_TV_TAB. APPEND LS_TAB TO LT_P_TAB. ENDLOOP.* 找各个节点的父亲节点 PERFORM FIND_UP_NODE USING LT_P_TAB CHANGING
27、 P_TV_TAB.* 删除多余的祖宗节点* CLEAR LS_TAB.* READ TABLE GT_TAB INTO LS_TAB WITH KEY UPNOD = ''.* PERFORM DELETE_P_NODE USING LS_TAB CHANGING P_TV_TAB.* 重新排序 IF
28、SY-UCOMM = 'WFTEST05'. PERFORM RE_SORT_NODE CHANGING P_TV_TAB. ENDIF.ENDFORM. " FRM_GET_RESULT_TABRE_SOR
29、T_NODEFORM RE_SORT_NODE CHANGING P_TV_TAB TYPE TT_TAB.* 思路: 从顶层节点开始,遍历查找下层节点,如果直接第一个子节点没有找到,* 就直接找子节点的下一个同级节点,依次知道找到第一个同级节点,然后调整* 指针,然后查找该节点的子节点,按上面的递推。 FIELD-SYMBOLS: <FS> TYPE TY_TAB. DATA: LS_TAB
30、60;TYPE TY_TAB.* 找到顶层节点 READ TABLE P_TV_TAB ASSIGNING <FS> WITH KEY UPNOD = ''. PERFORM RE_SORT_NODE_METHOD USING <FS> .ENDFORM. &
31、#160; " RE_SORT_NODERE_SORT_NODE_METHODFORM RE_SORT_NODE_METHOD USING P_LS_TAB TYPE TY_TAB. DATA: LS_TAB TYPE TY_TAB.* 先找下级节点 READ TABLE GT_TAB INTO&
32、#160;LS_TAB WITH KEY DWNOD = P_LS_TAB-NODID.ENDFORM. "re_sort_node_methodScreen 100PROCESS BEFORE OUTPUT. MODULE status_0100.
33、*PROCESS AFTER INPUT. MODULE user_command_0100.MODULE status_0100.MODULE STATUS_0100 OUTPUT. SET PF-STATUS 'STA_001'.* SET TITLEBAR 'xxx'. IF GO_TREE IS INITIAL.
34、160; " The Tree Control has not been created yet. " Create a Tree Control and insert nodes into it. PERFORM CREATE_AND_INIT_TREE. ELSE.
35、60; PERFORM FLUSH_TREE. ENDIF.ENDMODULE. " STATUS_0100 OUTPUTSET PF-STATUS 'STA_001'.PERFORM CREATE_AND_INIT_TREE.FORM
36、0;CREATE_AND_INIT_TREE . DATA:LS_HEADER TYPE TREEV_HHDR, LS_EVENT TYPE CNTL_SIMPLE_EVENT, LT_EVENTS TYPE CNTL_SIMPLE_EVENTS.* create a container f
37、or the tree control CREATE OBJECT GO_CONTAINER EXPORTING CONTAINER_NAME = 'CN_TREE' EXC
38、EPTIONS CNTL_ERROR = 1 CNTL_SYSTEM_ERROR = 2
39、0; CREATE_ERROR = 3 LIFETIME_ERROR = 4
40、0; LIFETIME_DYNPRO_DYNPRO_LINK = 5. IF SY-SUBRC <> 0.* MESSAGE a000. ENDIF.* setup the hierarchy header LS_HEADER-HEADING = '请选择'. "
41、; heading LS_HEADER-WIDTH = 30. " width: 30 characters* create a tree control CREATE OBJECT GO_TREE EXPORTING
42、0; PARENT = GO_CONTAINER NODE_SELECTION_MODE = CL_GUI_COLUMN_TREE=
43、>NODE_SEL_MODE_SINGLE ITEM_SELECTION = 'X' HIERARCHY_COLUMN_NAME = 'NODID'
44、60; HIERARCHY_HEADER = LS_HEADER EXCEPTIONS CNTL_SYSTEM_ERROR = 1
45、160; CREATE_ERROR = 2 FAILED
46、 = 3 ILLEGAL_NODE_SELECTION_MODE = 4 ILLEGAL_COLUMN_NAME = 5 LIFETIME_ERROR
47、 = 6. IF SY-SUBRC <> 0.* MESSAGE a000. ENDIF.* create object IF GO_APPLICATION IS INITIAL. CREATE OBJ
48、ECT GO_APPLICATION EXPORTING HANDLE = GO_TREE CB_NODE_DOUBLE_CLICK
49、= 'X'. ENDIF.* assign event handlers in the application class to each desired event " header click CLEAR:LT_EVENTS,LS_EVENT. LS_EVENT-EVENTID = C
50、L_GUI_COLUMN_TREE=>EVENTID_ITEM_DOUBLE_CLICK. LS_EVENT-APPL_EVENT = 'X'. APPEND LS_EVENT TO LT_EVENTS.* 增加checkbox事件 LS_EVENT-EVENTID = CL_GUI_COLUMN_TREE=>EVENTID_CHECKBOX_CHANGE. LS_
51、EVENT-APPL_EVENT = 'X'. APPEND LS_EVENT TO LT_EVENTS. CALL METHOD GO_TREE->SET_REGISTERED_EVENTS EXPORTING EVENTS &
52、#160; = LT_EVENTS EXCEPTIONS CNTL_ERROR = 1 CNTL_
53、SYSTEM_ERROR = 2 ILLEGAL_EVENT_COMBINATION = 3. IF SY-SUBRC <> 0.* MESSAGE A000. ENDIF. IF GO_APPLICATION
54、;IS NOT INITIAL. SET HANDLER GO_APPLICATION->HANDLE_ITEM_DOUBLE_CLICK FOR GO_TREE. SET HANDLER GO_APPLICATION->HANDLE_CHECKBOX_CHANGE FOR GO_TREE. ENDIF.* build data
55、PERFORM BUILD_NODE_AND_ITEM_TABLE USING GT_TAB CHANG
56、ING GT_NODE_TAB GT_ITEM_TAB.*- 为TREE添加节点 CALL METHOD GO_TREE->ADD_NODES_AND_ITEMS EXPORTING NODE_TABLE
57、; = GT_NODE_TAB ITEM_TABLE = GT_ITEM_TAB ITEM_TABLE_STRUCTURE_NAME
58、 = 'DEMO_ITEM' EXCEPTIONS FAILED = 1
59、0; CNTL_SYSTEM_ERROR = 3 ERROR_IN_TABLES = 4
60、0; DP_ERROR = 5 TABLE_STRUCTURE_NAME_NOT_FOUND = 6. CALL METHOD GO_TR
61、EE->EXPAND_ROOT_NODES* EXPORTING* level_count =* expand_subtree = EXCEPTIONS FAILED
62、; = 1 ILLEGAL_LEVEL_COUNT = 2 CNTL_SYSTEM_ERROR = 3 OTHERS
63、; = 4. IF SY-SUBRC <> 0.* Implement suitable error handling here ENDIF. CALL METHOD CL_GUI_CFW=>FLUSH.ENDFORM.
64、0; " CREATE_AND_INIT_TREEBUILD_NODE_AND_ITEM_TABLE取项目wbs的递归函数取数顺序CT_NODE用于存储父级和子节点关系CT_ITEM用于存储每个节点的属性FORM BUILD_NODE_AND_ITEM_TABLE USING IT_TAB TYPE TT_TAB &
65、#160; CHANGING CT_NODE TYPE TREEV_NTAB
66、160; CT_ITEM TYPE TT_DEMO_ITEM.* add by tianhaiguang on 20130423*找出根节点的下一个节点* 找出根节点的第一个节点
67、0; DATA: LS_TAB1 TYPE TY_TAB, LS_TAB2 TYPE TY_TAB, LT_TAB2 TYPE TT_TAB.* UPNOD父节点、NXTND下一个同级节点、DWNOD下一级节点、NODID当前节点 LOOP AT IT_TAB
68、0;INTO LS_TAB1 WHERE UPNOD IS INITIAL. READ TABLE IT_TAB WITH KEY NXTND = LS_TAB1-NODID TRANSPORTING NO FIELDS. " 当前节点有没有同名的同级节点 IF SY-SUBRC = 0.
69、60; CONTINUE. " 跳出本次循环 ELSE. LS_TAB2 = LS_TAB1. " 因为父根节点只有一个,所以不用append到表里 ENDIF. ENDLOOP. IF LS_TAB2-NODID IS NOT INITIAL.&
70、#160; APPEND LS_TAB2 TO LT_TAB2. ENDIF." IT_TAB存储项目wbs结构,LT_TAB2目前只有跟节点 PERFORM FRM_RECURSE_SORT USING IT_TAB LT_TAB2
71、60; CHANGING CT_NODE CT_ITEM LS_TAB2." 将取出来的WBS项目结构赋值给IT_TAB CLEAR IT_TAB. MOVE LT_TAB2 TO IT_TAB.* end add* "当有标记时,删除区域中心记录.
72、; IF GV_DISRC IS NOT INITIAL. DELETE IT_TAB WHERE RCFLG IS NOT INITIAL. ENDIF.* DATA:LS_TAB TYPE TY_TAB, LT_OUT TYPE
73、0;TT_TAB, LS_NODE TYPE TREEV_NODE, LS_ITEM TYPE TY_DEMO_ITEM, LV_NODID TYPE ZFINODID. "根节点 LOOP AT
74、;IT_TAB INTO LS_TAB WHERE UPNOD IS INITIAL. LS_NODE-NODE_KEY = LS_TAB-NODID. LS_NODE-RELATKEY = ''. LS_NODE-ISFOLDER = ABAP_TRUE. LS_NODE-EX
75、PANDER = ABAP_TRUE.* add by tianhaiguang on 20130423* ls_node-n_image = '3S'.* ls_node-exp_image = '3T'.* end add . APPEND LS_NODE TO
76、160;CT_NODE. CLEAR:LS_NODE. LS_ITEM-ITEM_NAME = 'NODID'. LS_ITEM-NODE_KEY = LS_TAB-NODID. LS_ITEM-CLASS = 3. " '2' text; '3' checkbox;
77、160;'4' button; '5' link LS_ITEM-EDITABLE = 'X'. LS_ITEM-CHOSEN = ''.* modify by tianhaiguang on 20130422.* ls_item-text = ls_tab
78、-nodid && ' ' && ls_tab-ndtxt. CONCATENATE LS_TAB-NODID LS_TAB-NDTXT INTO LS_ITEM-TEXT SEPARATED BY SPACE.* end modify APPEND LS_ITEM TO CT
79、_ITEM. CLEAR:LS_ITEM. CLEAR:LS_TAB. ENDLOOP.* delete by tianhaiguang* SORT it_tab BY nodid upnod rcflg DESCENDING."" dwnod nxtnd.* SORT it_tab BY upnod no
80、did rcflg DESCENDING."" dwnod nxtnd.* end delete. LOOP AT IT_TAB INTO LS_TAB WHERE UPNOD IS NOT INITIAL. "判断当前层的上一级是否存在 READ TABLE IT_TAB
81、WITH KEY NODID = LS_TAB-UPNOD TRANSPORTING NO FIELDS. IF SY-SUBRC <> 0. CONTINUE. ENDIF. "判断当前层的下一级是否存在 READ
82、0;TABLE IT_TAB WITH KEY UPNOD = LS_TAB-NODID TRANSPORTING NO FIELDS. IF SY-SUBRC = 0. LS_NODE-ISFOLDER = ABAP_TRUE.* add by tianhaiguang on 2013042
83、3* ls_node-n_image = '3S'.* ls_node-exp_image = '3T'.* end add. ELSE. LS_NODE-ISFOLDER = ABAP_FALSE.* add
84、by tianhaiguang on 20130423 LS_NODE-N_IMAGE = '6D'. LS_NODE-EXP_IMAGE = '6D'.* end add ENDIF. LS_NODE-NODE_KEY =
85、LS_TAB-NODID. LS_NODE-RELATKEY = LS_TAB-UPNOD. APPEND LS_NODE TO CT_NODE. CLEAR:LS_NODE.*<-构建节点信息表-> LS_ITEM-ITEM_NAME = 'NODID'. LS_ITEM-NODE_KEY =&
86、#160;LS_TAB-NODID. LS_ITEM-CLASS = 3."" cl_gui_column_tree=>item_class_checkbox. " '2' text; '3' checkbox; '4' button; '5' link
87、0;LS_ITEM-EDITABLE = 'X'. LS_ITEM-CHOSEN = ''.* modify by tianhaiguang on 20130422.* ls_item-text = ls_tab-nodid && '-' && ls_t
88、ab-ndtxt. CONCATENATE LS_TAB-NODID LS_TAB-NDTXT INTO LS_ITEM-TEXT SEPARATED BY SPACE.* end modify. APPEND LS_ITEM TO CT_ITEM. CLEAR:LS_ITEM. CLEAR:LS_TAB.
89、ENDLOOP.*gv_disrcENDFORM. " BUILD_NODE_AND_ITEM_TABLEFRM_RECURSE_SORTFORM FRM_RECURSE_SORT USING IT_TAB TYPE TT_TAB &
90、#160; IT_TAB2 TYPE TT_TAB CHANGING CT_NOD
91、E TYPE TREEV_NTAB CT_ITEM TYPE TT_DEMO_ITEM
92、0; VALUE(IS_TAB) TYPE TY_TAB. DATA: LS_TAB TYPE TY_TAB, LS_NODE TYPE TREEV_NODE,
93、160; LS_ITEM TYPE TY_DEMO_ITEM. DATA: LT_TAB TYPE TT_TAB.* UPNOD父节点、NXTND下一个同级节点、DWNOD下一级节点、NODID当前节点* 在之前就派寻 IF IS_TAB-DWNOD IS NOT INITIAL. " 如果父节点的子节点不是空* 因为根节点关联了其中一个下级节点,所以直接取下一级节点
94、 READ TABLE IT_TAB WITH KEY NODID = IS_TAB-DWNOD INTO LS_TAB. IF LS_TAB-NODID IS NOT INITIAL. APPEND LS_TAB TO IT_TAB2. " IT_TAB2增加二级节点
95、、三级节点。直到底层 ENDIF. PERFORM FRM_RECURSE_SORT USING IT_TAB IT_TAB2
96、60; CHANGING CT_NODE CT_ITEM LS_TAB.* 没有直接下一级节点* 找下一个同级节点 IF IS_TAB-NXTND IS NOT INITIAL.* 有下一级同级节点 READ TABLE IT_TAB WITH KEY NODID = IS_TA
97、B-NXTND INTO LS_TAB. IF LS_TAB-NODID IS NOT INITIAL. APPEND LS_TAB TO IT_TAB2. " IT_TAB2增加同级节点 ENDIF.
98、60; PERFORM FRM_RECURSE_SORT USING IT_TAB IT_TAB2 CHANGING CT_NODE&
99、#160;CT_ITEM LS_TAB. ENDIF. ELSE. " 如果父节点的子节点是空,也就是最底层的节点* 没有直接下一级节点* 找下一个同级节点 IF IS_TAB-NXTND IS NOT INITIAL.* 有下一级同级节点 READ TABLE IT_TAB WITH
100、 KEY NODID = IS_TAB-NXTND INTO LS_TAB. IF LS_TAB-NODID IS NOT INITIAL. APPEND LS_TAB TO IT_TAB2. ENDIF.
101、60; PERFORM FRM_RECURSE_SORT USING IT_TAB IT_TAB2 CHANGING
102、160;CT_NODE CT_ITEM LS_TAB. ENDIF. ENDIF.ENDFORM. "Recurse_sortPERFORM FLUSH_TREE当checkbox选中时,联动其他节点的动作FORM FLUSH_TREE
103、0;. DATA:LT_NODE_KEY_TABLE TYPE TREEV_NKS, LS_NODE_KEY TYPE TV_NODEKEY. DATA:LV_YEAR1(4) TYPE C, LV_MONTH1(2) TYPE C, LV_
104、YEAR2(4) TYPE C, LV_MONTH2(2) TYPE C. DATA:LV_INT1 TYPE I, LV_INT2 TYPE I. DATA:LV_RC TYPE C. DATA: LT_NODE_EX TYPE TREE
105、V_NKS. REFRESH:LT_NODE_KEY_TABLE.* CALL METHOD GO_TREE->GET_NODE_KEY_TABLE* IMPORTING* NODE_KEY_TABLE = LT_NODE_KEY_TABLE.* 获取key CALL METHOD GO_TREE->GET_EXPANDED_NODE
106、S CHANGING NODE_KEY_TABLE = LT_NODE_EX. DATA: LS_ITEM TYPE DEMO_ITEM. LOOP AT GT_ITEM_TAB INTO LS_ITEM. LS_NODE_KEY = LS_ITEM-NODE_KEY. &
107、#160; APPEND LS_NODE_KEY TO LT_NODE_KEY_TABLE. ENDLOOP. IF LT_NODE_KEY_TABLE IS NOT INITIAL. CALL METHOD GO_TREE->DELETE_ALL_ITEMS_OF_NODES EXPORTING
108、 NODE_KEY_TABLE = LT_NODE_KEY_TABLE EXCEPTIONS ERROR_IN_NODE_KEY_TABLE = 1
109、; OTHERS = 2. ENDIF. CALL METHOD GO_TREE->DELETE_ALL_NODES. CALL METHOD GO_TREE->ADD_NODES_AND_ITEMS
110、 EXPORTING NODE_TABLE = GT_NODE_TAB ITEM_TABLE &
111、#160; = GT_ITEM_TAB ITEM_TABLE_STRUCTURE_NAME = 'DEMO_ITEM'.* IF SY-UNAME <> 'WFTEST05'.* CALL METHOD GO_TREE->EXPAND_ROOT_NODES*
112、160; EXPORTING* EXPAND_SUBTREE = 'X'* LEVEL_COUNT = '0'* &
113、#160;EXCEPTIONS* ILLEGAL_LEVEL_COUNT = 1* OTHERS = 2.* ENDIF. CALL METHOD GO
114、_TREE->EXPAND_NODES EXPORTING NODE_KEY_TABLE = LT_NODE_EX.* IF GO_TREE IS NOT INITIAL.* CALL METHOD GO_TREE->SET_SCREEN_UPDATE*
115、;EXPORTING* UPDATE = 'X'.* ENDIF.ENDFORM. " FLUSH_TREEMODULE user_command_0100.MODULE
116、;user_command_0100 INPUT. gv_ok = ok_code. CALL METHOD cl_gui_cfw=>dispatch. CASE gv_ok. WHEN 'CANL'."取消 LEAVE TO SCREEN 0.
117、160;WHEN 'OK'. "确认 PERFORM frm_confirm_data USING gv_regct. WHEN 'EXPA'."展开 PERFORM frm_expand_node. WHEN 'C
118、OLL'."折叠 PERFORM frm_collapse_node. WHEN OTHERS. ENDCASE. CLEAR:gv_ok.ENDMODULE. PERFORM frm_confirm_data FORM FRM_CONFIRM_DATA USING &
119、#160; CV_REGCT TYPE ZFINODID.* DATA:LV_NODE_KEY TYPE TV_NODEKEY.* IF GO_TREE IS NOT INITIAL.* "获取所选择的节点* CALL METHOD GO_TREE->GET_SELECTED_ITEM* &
120、#160; IMPORTING* NODE_KEY = LV_NODE_KEY* item_name =* E
121、XCEPTIONS* FAILED = 1* CNTL_SYSTEM_ERROR = 2* NO_ITEM_SELECTION =
122、60;3* OTHERS = 4.* IF SY-SUBRC = 0.* CV_REGCT = LV_NODE_KEY.* ENDIF.*
123、160; IF CV_REGCT IS NOT INITIAL. DATA: LS_ITEM TYPE DEMO_ITEM, LS_NODE TYPE ZFIT1011. IF GT_ITEM_TAB IS NOT INITIAL. LOO
124、P AT GT_ITEM_TAB INTO LS_ITEM WHERE CHOSEN = 'X'. READ TABLE GT_TAB INTO LS_NODE WITH KEY DWNOD = '' NODID = LS_ITEM-NODE_KEY .
125、; IF SY-SUBRC = 0 AND LS_NODE-RCFLG <> 'X'. GS_BUKRS-BUKRS = LS_NODE-BUKRS. APPEND GS_BUKRS TO GT_BUKRS.
126、; ENDIF. ENDLOOP. ENDIF. SORT GT_BUKRS BY BUKRS. DELETE ADJACENT DUPLICATES FROM GT_BUKRS. LEAVE TO SCREEN 0.* ENDIF.* ENDIF.E
127、NDFORM. PERFORM frm_expand_node.FORM FRM_EXPAND_NODE . DATA:LV_NODE_KEY TYPE TV_NODEKEY. IF GO_TREE IS NOT INITIAL. "获取所选择的节点 CAL
128、L METHOD GO_TREE->GET_SELECTED_ITEM IMPORTING NODE_KEY = LV_NODE_KEY EXCEPTIONS
129、60; FAILED = 1 CNTL_SYSTEM_ERROR = 2 NO_ITEM_SELECTION = 3
130、; OTHERS = 4. IF LV_NODE_KEY IS INITIAL. MESSAGE TEXT-T01 TYPE 'S'. RETURN. &
131、#160; ENDIF. "展开选定节点及子节点" CALL METHOD GO_TREE->EXPAND_NODE EXPORTING NODE_KEY &
132、#160; = LV_NODE_KEY* level_count = EXPAND_SUBTREE = ABAP_TRUE EXCEPTIONS FAILED = 1 ILLEGAL_LEVEL_COUNT = 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加油站授权书怎么写3篇
- 建筑施工环保工程物流服务合同3篇
- 学生保护环境声明3篇
- 国际旅游服务合同样本3篇
- 吊篮租赁守则3篇
- 房产分配协议书模板3篇
- 工地机械租赁条件3篇
- 入门级台式电脑订购单3篇
- 广告安装的合同范本3篇
- 石棉相关行业的人才需求与教育培训规划考核试卷
- 2025年吉林省民航机场集团长白山机场公司招聘笔试参考题库附带答案详解
- 小学生涯课件
- 目光礼仪培训
- 西藏拉萨中学2024-2025学年高三第二学期英语试题4月月考试卷含解析
- 2024年全国统一高考英语试卷(新课标Ⅰ卷)含答案
- 特殊旅客的航空服务文献综述
- 小学后进生转化记录表4篇-后进生转化
- 危险化学品生产经营企业安全知识培训
- 混凝土构件之梁配筋计算表格(自动版)
- 自制饮品操作流程
- TSG Z7002-2022 特种设备检测机构核准规则
评论
0/150
提交评论