如何根据当前客户/委托编写不同的代码?

发布于 2024-10-02 10:13:31 字数 253 浏览 2 评论 0原文

我们目前有一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浊酒尽余欢 2024-10-09 10:13:32

当前客户可在 sy-mandt 字段中找到。

例如:

IF sy-mandt = '002'.
*dothis.
ELSE.
*dothatdifferentthing.
ENDIF.

The current client is available in field sy-mandt.

For example:

IF sy-mandt = '002'.
*dothis.
ELSE.
*dothatdifferentthing.
ENDIF.
寄与心 2024-10-09 10:13:32

另一个建议 - 尝试以面向对象的方式执行此操作,将所有公共代码填充到抽象超类中,并创建两个仅包含客户端相关代码的子类。然后,基于 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...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文