是否可以通过代码确定当前系统是 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' )
例如,在 R/3 上lv_software_component
应该是'SAP_HRCMX'
,而在 S/4 上应该是'S4HCMCMX'
。目前,我不知道如何以编程方式区分版本之间的区别。
我想出的最好的方法是硬编码SY-SYSID
,因为我知道哪些系统是 S/4,哪些不是,但这不应该是理想的。
我很感激任何帮助,谢谢!