有没有办法从主屏幕 PBO 隐藏子屏幕字段?
子屏幕在不同的功能组中定义。
这是不可能的:从主屏幕的角度来看,子屏幕区域只是一个单独的元素,没有进一步的内部结构,无法详细检查或修改。您必须调整子屏幕程序以通过一些或多或少的通用编程接口接受屏幕修改数据,然后自行执行修改。
这是一个可能的解决方案:
如果您想从主程序控制子屏幕字段的可见性,您必须LOOP AT SCREEN
在子屏幕程序的 PBO 中插入 a,正如 vwegert 已经指出的那样。
如果有问题的子屏幕属于标准程序并且您因此无法更改它,您可以从子屏幕的 PBO 模块中找到对子路由/表单的适当调用,您可以在其中插入隐式增强。在这个增强里面,你可以把你的代码来修改屏幕。(当然,如果它不是标准程序,您可以在 PBO 模块的任何位置进行更改)。
现在,关于控制主程序的可见性:在主程序中,您可以设置一个标志并将其导出到内存中EXPORT TO MEMORY
。在子屏幕的 PBO 中,您可以使用 读取此标志IMPORT FROM MEMORY
,并根据值,使用 隐藏或显示该字段LOOP AT SCREEN
。