区分不同SAP客户端之间的ABAP(Mandanten)

omn*_*ain 3 sap abap


我们目前有一个SAP系统,正在使用两个不同的客户端002和004.我的任务是在ABAP中编写一个程序来创建一个关于用户分配的报告.该报告将主要针对两个客户进行相同的操作.但我必须在不同的表上选择,并在两个客户端上选择不同数量的表.根据客户端调用报告的用户是否已登录.
问题:是否有办法在不同客户端之间区分ABAP-Code?喜欢:

IF client = 002.
*dothis.
ELSE.
*dothatdifferentthing.
ENDIF.
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Chr*_*ers 9

当前客户端可在现场系统中使用.

例如:

IF sy-mandt = '002'.
*dothis.
ELSE.
*dothatdifferentthing.
ENDIF.
Run Code Online (Sandbox Code Playgroud)


vwe*_*ert 5

另一个建议 - 尝试以面向对象的方式执行此操作,将所有公共代码填充到抽象超类中,并创建两个仅携带客户端相关代码的子类.然后,基于SY-MANDT,实例化任一子类.这可能有助于减少重复代码......