如何根据SAP SHR表HRP1001和HRP1001获取所有组织的层次结构?

2020-09-16 05:03发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我想寻求这个问题的帮助。 ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想寻求这个问题的帮助。

几周前,我已经在寻求这种解决方案,而没有任何令人满意的解决方案。

我有一个USRID或PERNR,我需要获取所有父级中的所有层次结构级别。

我管理的唯一解决方案是:

-使用PERNR与pa0001左连接以获得ORGEH

-使用OBJID-ORGEH与hrp1000左连接以获得STEXT

-使用OBJID-OBJID和RELAT'012'与hrp10001左连接以获得SOBID

-使用OBJID-SOBID和OTYPE'S'左连接wih hrp1000以获得STEXT

做到这一点,我需要复制几个递归的左联接和过滤器来获取所有层次结构,但是在大型查询中它的表现非常差。

有人已经有这个问题,或者有知识如何以令人满意的性能解决该问题?

3条回答
天桥码农
2020-09-16 05:31

如果我理解正确,那么您需要一个人所属组织单位的所有职位清单。 我建议将功能模块RH_STRUC_GET与O-O-S等适合您的评估路径一起使用。 在报告RHSTRU00的选择选项中,您可以看到可用的路径。 所以看起来像这样:

数据:lv_orgeh TYPE orgeh,
  lt_p0001 p0001的类型表,
  lt_result_tab类型,svhactor,iv_pernr类型,pernr-pernr,iv_datum类型,sy-datum。
  字段符号:与lt_p0001类似的行。
呼叫功能'HR_READ_INFOTYPE'
 导出pernr = iv_pernr 
infty ='0001'
begda = iv_datum
endda = iv_datum infty_tab = lt_p0001。 读取表lt_p0001分配索引1。
检查sy-subrc EQ0。
lv_orgeh = -orgeh。 调用功能'RH_STRUC_GET'
导出act_otype ='O'
act_objid = lv_orgeh
act_wegid ='OOS'
act_begda = iv_datum
act_endda = iv_datum
authority_check = abap_depth错误 = 3
TABLES result_tab = lt_result_tab
例外情况
no_plvar_found = 1
no_entry_found = 2
OTHERS = 3。

在lt_result_tab中,您将找到所有对象。

一周热门 更多>

向帮助了您的知道网友说句感谢的话吧!