如何根据当前客户/委托编写不同的代码?
我们目前有一个 SAP 系统,其中有两个不同的客户端 002 和 004 正在使用。我的任务是在 ABAP 中编写一个程序来创建有关用户分配的报告。该报告将在两个客户端上执行相同的操作,但我必须在两个客户端上选择不同的表。
有没有办法区分不同客户端之间的ABAP代码,例如:
IF client = 002.
* dothis.
ELSE.
* dothatdifferentthing.
ENDIF.
提前致谢。
We currently have a SAP System with two different clients 002 and 004 in use. My task is to write a program in ABAP to create a report about user assignments. The report will do mainly the same on both clients, but I have to select different tables on both clients.
Is there a way to distinguish an ABAP code between different clients like:
IF client = 002.
* dothis.
ELSE.
* dothatdifferentthing.
ENDIF.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当前客户可在 sy-mandt 字段中找到。
例如:
The current client is available in field sy-mandt.
For example:
另一个建议 - 尝试以面向对象的方式执行此操作,将所有公共代码填充到抽象超类中,并创建两个仅包含客户端相关代码的子类。然后,基于 SY-MANDT,实例化任一子类。这可能有助于减少重复代码......
An additional suggestion - try to do this the object-oriented way, stuffing all the common code into an abstract superclass and create two subclasses which carry only the client-dependent code. Then, based on SY-MANDT, instantiate either of the subclasses. This might help reducing duplicate code...