问题标签 [sap-selection-screens]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
abap - 具有动态可见性的选择屏幕中的单选按钮运行时错误
在设置具有控件动态可见性的选择屏幕时,我遇到了意外的运行时错误DYNP_TOO_MANY_RADIOBUTTONS_ON
。将示例代码简化为以下可重现的示例:
选择rb_catb
然后重新选择第一个单选按钮时,我收到运行时错误 DYNP_TOO_MANY_RADIOBUTTONS_ON 并带有注释:
在一组单选按钮中,必须设置一个字段——这意味着必须具有值“X”。如果不是这种情况,则会出现以下情况之一: - 同时设置了该组的多个单选按钮。此错误会导致应用程序终止并触发您当前正在阅读的短转储。
但我只是在更改按钮的可见性,为什么我会收到与实际活动状态相关的错误?
abap - 如何将选择屏幕包含到另一个屏幕中
我需要将给定程序的选择屏幕 ( ZPRG1
) 包含到另一个程序的 ( ZPRG2
) 子屏幕 ( 100
) 中。
当我运行ZPRG2
下面的程序时,在显示任何屏幕之前,都会出现运行时错误DYNP_WRONG_SCREEN_TYPE
(错误的屏幕类型:屏幕定义不正确或使用不正确)。
ZPRG1(一个字段的选择屏幕 1000 TEST
):
ZPRG2:
屏幕100:(ZPRG2)屏幕布局定义了子屏幕区域SUBAREA
,以及任意数量的元素,流程逻辑如下:
如何防止运行时错误?
abap - 如何重用选择屏幕或数据/类型声明的元素?
我想重用通常属于顶部包含的选择屏幕或数据/类型声明上的元素。我有几个报告在选择屏幕上共享几个元素。相同的报告共享有关应用程序日志的各种数据元素,因此存在可重用性问题。
由于 SAP 编程指南指出
不要多次使用包含程序。
使用包含程序对一个主程序进行模块化。
我们强烈建议只使用合适的重用方式,例如全局类或接口
我正在寻找替代方案来实现我的目标。
我能想到为此使用全局类的唯一方法是定义类属性而不是数据声明并将它们用作变量。
这似乎有点奇怪,尽管非常接近类用于常量的方式。另一方面,我可以在 DDIC 中创建一个结构,其中包含所有所需的声明作为组件。
宏将是我的最后一个想法,也是唯一一个关于选择屏幕元素的想法。
你将如何解决这个问题?
abap - 进入!OBLIGATORY 参数中的(感叹号)不能作为输入。为什么?
假设我们有以下选择屏幕:
当用户!
在选择屏幕的这个字段中输入并运行程序时,它仍然会提示在此字段中输入必填项。
为什么?
abap - 在选择屏幕中提交后,返回按钮的行为很奇怪
我的要求是在选择屏幕中有两个单选按钮。执行后,应基于单选按钮调用报告。
单击后退按钮时不执行,它仍然打开report1
。按 F3 键或返回键与预期不同。