点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我当前正在创建一个模块池程序,该程序使用子屏幕作为选择屏幕。 目前,我有3个子屏幕:子屏幕1-单选按钮组
子屏幕2-手动输入数据
子屏幕3-上传excel文件路径
我要根据子屏幕1中的选择来禁用子屏幕2和3中的字段。有什么方法可以执行此操作? 我尝试将其输入到PBO和PAI中,但是似乎没有任何效果。
IF p_manual ='X'。 "如果用户选择手动输入 环视屏幕。 如果屏幕名称='p_vers'。 屏幕输入='1'。 修改屏幕。 万一。 如果屏幕名称='p_file'。 屏幕输入='0'。 修改屏幕。 万一。 结局。 ELSEIF p_excel ='X'。 "如果用户要上传文件 环视屏幕。 如果屏幕名称='p_vers'。 屏幕输入='0'。 修改屏幕。 万一。 如果屏幕名称='p_file'。 屏幕输入='1'。 修改屏幕。 万一。 结局。 ENDIF。
我用于选择屏幕的代码是:
屏幕9210的" SELECTED-SCREEN"开始于用户。 带有标题标题文本030的b3块的选择屏幕开始。 "上传选项 参数: p_manual RADIOBUTTON GROUP grp3,"手动上传 p_excel RADIOBUTTON GROUP grp3默认值'X'。 " excel/平面文件上传 块b的选择屏幕结束。 屏幕的选择屏幕结束9210。 屏幕9230的选择屏幕作为订阅者开始。 带标题标题文本050的b5块的选择屏幕开始。 "手动选择 参数: p_vers TYPE zbi_fin_consol-version MODIF ID upm,"公司代码 p_year TYPE zbi_fin_consol-zyear MODIF ID更新。 "顾客 选择选项: s_month FOR zbi_fin_consol-zmonth强制性修改ID upm。 选择屏幕结束b5。 屏幕9230的选择屏幕结束。 屏幕9240的"选择屏幕"开始为用户。 带标题标题文本060的b6块的选择屏幕开始。 " excel上传 参数: p_file TYPE rlgrap-filename MODIF ID upf," filepath p_test RADIOBUTTON GROUP grp5 MODIF ID upf,"测试文件 p_upload RADIOBUTTON GROUP grp5修改ID upf。 "上传数据 选择屏幕结束b6。 屏幕9240的选择屏幕结束。
我在屏幕上显示的PBO和PAI代码是:
输出前的过程。 模块状态_9100。 调用包括sy-repid'9210'的子屏幕area_option。 调用子屏幕area_manual,包括sy-repid'9230'。 呼叫子画面area_excel,包括sy-repid'9240'。 模块Modify_screen_9200_pbo。 输入后的过程。 在EXIT-COMMAND处取消模块。 模组USER_COMMAND_9200。 调用子屏幕area_option。 调用子屏幕area_manual。 调用子屏幕area_excel。 模块Modify_screen_9200_pai。
你好,伊林谭,
您正在定义MODIF ID,但未使用它。
您可以执行以下操作:
在此示例中,我们将参数字段的控制权提供给用户。 当他选择单选按钮rb1时,我们仅显示p1,p2字段,而当他选择单选按钮rb2时,我们显示p3字段。 请注意,组件screen-group1带有每个字段的MODIF ID。
在该示例中,我们使用屏幕激活组件来隐藏字段。 如果您需要采取其他措施,而不是隐藏字段,则可以尝试使用屏幕结构。 您可以使用其他组件来满足您的需求。 在此处找到所有选项。
最后的笔记。 不要忘记,在声明单选按钮时的用户命令语句。 烦我一会儿...:-)
希望有帮助,
乔治
嘿,很高兴为您提供帮助!
您好 Yi Lin Tan
SELECTION-SCREEN PBO事件在定义了选择屏幕的报表的AT SELECTION-SCREEN OUTPUT事件中处理。 您需要执行相同的操作。
此外,您的LOOP AT屏幕逻辑中的字段名称应为大写。
亲切的问候,Mateusz
嗨,Satish,
感谢您的回复。 这里的问题是子屏幕被定义为选择dynpro,因此无法编辑其PBO。.
Yi Lin Tan ,
在处理模块池编程时,非常重要的一点是您了解与 LINK 。
您期望的是, 屏幕元素,对屏幕元素的任何更改都必须在该屏幕的PBO中处理,因为更改必须在显示屏幕之前反映出来。
简单来说:
您 在屏幕1中进行更改。
更改的值应在全局变量中可用。
基于此值,您必须在子屏幕的PBO中进行编码 2。要在其中查看更改。
注意!
1)在大写字母中指示屏幕字段名称。
2)LOOP AT 在PBO中应使用SCREEN 字段所在的屏幕的位置。 对于选择屏幕的字段,在事件"选择屏幕输出"中定义了PBO。
一周热门 更多>