标签: s4hana

如何以编程方式判断系统是 R/3 还是 S/4

是否可以通过代码确定当前系统是 R/3 还是 S/4?

我需要它,因为我有一个方法可以返回人力资源相关数据的软件组件,但是这个组件应该与 R/3 和 S/4 系统不同。

    DATA(lv_software_component) = mo_configuration->get_software_component( ).

    SELECT * FROM tadir INTO TABLE @DATA(lt_inftype_tables)
            WHERE pgmid  = 'R3TR'
              AND object = 'TABL'
              AND devclass IN ( SELECT devclass FROM tdevc
                                               WHERE dlvunit = @lv_software_component
                                                  OR dlvunit = 'SAP_HRGXX'
                                                  OR dlvunit = 'SAP_HRRXX' )
Run Code Online (Sandbox Code Playgroud)

例如,在 R/3 上,lv_software_component应该是'SAP_HRCMX',而在 S/4 上应该是'S4HCMCMX'。目前,我不知道如何以编程方式区分版本之间的区别。

我想出的最好的是 hardcoding SY-SYSID,因为我知道哪些系统是 S/4,哪些不是,但这不应该是理想的。

我感谢任何帮助,谢谢!

abap sap-r3 s4hana

5
推荐指数
2
解决办法
278
查看次数

标签 统计

abap ×1

s4hana ×1

sap-r3 ×1