点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好 我的程序使用循环构建一棵对象树。 如何使用递归构建对象树。 我知道我需要创建一个子例程并自己执行此子例程,但是我不了解如何创建新的内部表并将该表传递给perform。 请帮助。
报告z_my_program。 数据:n_level TYPE I, n_count类型i, 计数类型 类型:始于ty_hrp1001, objid类型为hrp1001-objid, 稳定型hrp1001-sobid, stext类型hrp1000-stext, objid1类型hrp1001-objid, 结束于ty_hrp1001。 数据:ty_hrp1001的it_hrp1001类型表。 数据:wa_hrp1001类型ty_hrp1001。 FIELD-SYMBOLS:类似于it_hrp1001的行。 类型:始于ty_hrp1002, objid类型为hrp1001-objid, 稳定型hrp1001-sobid, stext类型hrp1000-stext, objid1类型hrp1001-objid, 结束于ty_hrp1002。 数据:ty_hrp1002的it_hrp1002类型表。 数据:wa_hrp1002类型ty_hrp1002。 FIELD-SYMBOLS: 类似于it_hrp1002的行。 类型:始于ty_hrp1003, objid类型为hrp1001-objid, 稳定型hrp1001-sobid, objid1类型hrp1001-objid, stext类型hrp1000-stext, 结束于ty_hrp1003。 数据:ty_hrp1003的it_hrp1003类型表。 数据:wa_hrp1003类型ty_hrp1003。 FIELD-SYMBOLS: 类似于it_hrp1003的行。 *** FM RS_TREE_CONSTRUCT的数据表整理 数据:SNODETEXT的IT_NODE TYPE标准表, WA_NODE TYPE SNODETEXT。 **声明树的常量 常数: C_COL_KEY类型C长度1值COL_KEY, C_COL_FIELD类型C长度1值COL_NORMAL, C_COL_OBJID类型C长度1值COL_KEY, C_COL_SOBID类型C长度1值COL_POSITIVE。 **选择画面 select-options:wa_hrp1001-objid的s_objid。 选择开始。 **从表中获取数据 从HRP1001选择对象对象到表IT_HRP1001中,对象对象在S_OBJID中并且SUBTY ='B030'。 在it_hrp1001循环并分配 。 -objid1 = -sobid。 结束循环。 对于对象OBJID = IT_HRP1001-OBJID1且SUBTY ='B030'的IT_HRP1001中的所有条目,从HRP1001选择对象OBJID到表IT_HRP1002中。 在it_hrp1002循环并分配 。 -objid1 = -sobid。 结束循环。 对于对象OBJID = IT_HRP1002-OBJID1且SUBTY ='B030'的IT_HRP1002中的所有条目,从HRP1001选择对象OBJID到表IT_HRP1003中。 在it_hrp1003循环并分配 。 -objid1 = -sobid。 结束循环。 "第一个节点 WA_NODE-TLEVEL = 1。 WA_NODE-NAME ='目录'。 WA_NODE-NLENGTH = 20。 WA_NODE-COLOR = C_COL_KEY。 WA_NODE-TEXT ='文本'。 WA_NODE-TLENGTH = 50。 将WA_NODE附加到IT_NODE。 "第二个节点 将IT_HRP1001环入WA_HRP1001。 清除WA_NODE。 WA_NODE-TLEVEL = 2。 WA_NODE-NAME = WA_HRP1001-SOBID。 WA_NODE-NLENGTH = 50。 WA_NODE-COLOR = C_COL_OBJID。 将WA_NODE附加到IT_NODE。 "第三个节点 在目标对象= WA_HRP1001-OBJID1的IT_HRP1002处插入WA_HRP1002。 清除WA_NODE。 WA_NODE-TLEVEL = 3。 WA_NODE-NAME = WA_HRP1002-SOBID。 WA_NODE-NLENGTH = 50。 WA_NODE-COLOR = C_COL_SOBID。 将WA_NODE附加到IT_NODE。 "第4个节点 在目标对象= WA_HRP1002-OBJID1的IT_HRP1003处插入WA_HRP1003。 清除WA_NODE。 WA_NODE-TLEVEL = 4。 WA_NODE-NAME = WA_HRP1003-SOBID。 WA_NODE-NLENGTH = 50。 WA_NODE-COLOR = C_COL_SOBID。 将WA_NODE附加到IT_NODE。 结局。 结局。 结局。 **构造树 通话功能'RS_TREE_CONSTRUCT' *出口 * INSERT_ID ='000000' *关系='' *日志= 桌子 NODETAB = IT_NODE 例外情况 TREE_FAILURE = 1 ID_NOT_FOUND = 2 WRONG_RELATIONSHIP = 3 其他= 4。 如果SY-SUBRC <> 0。 写"树构造错误"。 万一。 **显示树 通话功能'RS_TREE_LIST_DISPLAY' 出口 CALLBACK_PROGRAM = SY-REPID。
嗨,霍斯特,
为什么FORM已过时? 使用FORM适用于一些特殊的(小)任务。
只需在ABAP文档中搜索FORM。
以前的会员请让 我知道您是否想更改问题。 恐怕您尝试这样做的方式是不允许的,并且不会为其他社区成员增加价值。
一周热门 更多>