我们在编写一段复杂的 ABAP 程序时,SAP 官方的最佳实践是,推荐将复杂逻辑进行拆解,拆分成若干子模块,每个子模块放在一个 ABAP subroutine 或者 ABAP 类里实现。
同样,对于 SAPGUI 里的 Dynpro 程序,如果屏幕界面的复杂度过高,SAP 也不推荐将界面上的元素,统一放置到一个屏幕中,而是按照业务逻辑相关性,将屏幕进行分组,划分成若干个子区域,每个屏幕子区域,通过一个所谓的 Subscreen即子屏幕
来实现。
SAPGUI 里几乎所有稍稍复杂一些的 SAP 标准应用程序,都使用了 Subscreen 控件来绘制屏幕,比如下图是一个例子,事务码 ME53N
查看企业 Purchase Requisition 即采购请求的屏幕界面:
鉴于 Subscreens
在 SAPGU