项目里经常遇到一种很拧巴的需求,业务部门只想在一个自定义界面里看到几个字段,但这些字段背后的取数逻辑已经藏在标准 SAP 报表里。标准报表可能有一大堆选择条件,甚至还有运行时动态生成的字段。我们如果把标准程序里的逻辑复制一份到Z程序,看起来很快,实际上是在给后续升级、补丁、规则调整埋雷。更稳妥的做法,是让自定义程序只负责自己的界面和交互,把复杂业务逻辑仍然交给标准程序执行。对于典型的 SAPGUI 报表,SUBMIT ... AND RETURN可以在当前 ABAP 程序中调用另一个可执行程序,并把选择屏幕参数传进去。SAP ABAP Keyword Documentation 也明确说明,SUBMIT可以通过WITH sel传普通选择字段,通过IN rtab传选择表,通过WITH FREE SELECTIONS texpr传逻辑数据库动态选择条件。动态选择条件内部使用RSDS_TEXPR这类结构。(SAP Help Portal)这类方案和 SAP Clean Core 的思路并不冲突。Clean Core 并不是要求所有扩展都消失,而是要求扩展尽量稳