在SAP ABAP 开发中,LOOP AT SCREEN是一个强大的语句,用于在屏幕处理过程(PBO - Process Before Output 和 PAI - Process After Input)中遍历当前 Dynpro 屏幕上的所有屏幕元素。这个语句允许开发者在运行时动态地访问和修改这些屏幕元素的属性,例如字段的可见性、活跃性、必填性等。 这意味着,通过使用LOOP AT SCR...
Loop at screen会loop处理屏幕上的每一个组件,并对其做相应的处理。 选择r1 的时候只显示B1;r2时候只显示B2 程序代码: 代码语言:javascript 复制 SELECTION-SCREEN:BEGINOFBLOCKB1WITHFRAME.PARAMETERSS_DATETYPEDATUMDEFAULTSY-DATUMMODIFIDOO.SELECTION-SCREEN:ENDOFBLOCKB1.SELECTION-SCREEN:BEGINOFBLOCKB2WITHFRAME.SEL...
AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF SCREEN-NAME = 'P_NAME'. SCREEN-INPUT = '1'. "可输入 MODIFY SCREEN. ELSEIF SCREEN-NAME = 'P_AGE'. SCREEN-INPUT = '0'. "禁止输入 MODIFY SCREEN. ENDIF. ENDLOOP.
第一先给工厂字段勾上对号(实现切换按钮时不报错) ATSELECTION-SCREENOUTPUT.LOOPATSCREEN.IFscreen-name ='P_WERKS'. screen-required ='2'.ENDIF.MODIFYSCREEN.ENDLOOP. 第二在需要报错时要手动添加实现报错,并且点击执行按钮时报错 ATSELECTION-SCREENONp_werks.IFp_werksISINITIALANDsy-ucomm ='ONLI'.MESSAGE...
CALLSCREEN<SCREEN_NUMBER>.调用新的屏幕序列 LEAVETOSCREEN0.SETSCREEN0.LEAVESCREEN.(6)后台处理屏幕 可以使用SUPPRESSDIALOG取消所有屏幕.*---PBOMODULEOFSCREEN100.CALLSCREEN110STARTINGAT105.*---SCREEN110FLOWLOGIC MODULEDIALOG_WINDOWSOUTPUT.SUPPRESSDIALOG.LEAVETOLIST-PROCESSINGANDRETURNTOSCREEN0.WRITE:/.WRITE...
LOOP AT SCREEN.IF g_display = 'X'.screen-input = 0.MODIFY SCREEN.ENDIF.ENDLOOP 7.出口函数:EXIT_SAPLAIST_002 按如下步骤写上功能代码。 MOVE-CORRESPONDING i_anlu to ci_anlu .IF i_mode = 'A' .g_display = 'X'.ELSE.g_display = ''.ENDIF. ...
LOOP AT SCREEN. ... MODIFY SCREEN. ... ENDLOOP.LOOP AT SCREEN は独立した命令です。内部テーブルでのループと混同しないでください。コンポーネント NAME には、画面項目の名称が指定されます。コンポーネント GROUP1 から GROUP4 には、3 文字のコードを指定することができます。...
screen-active = '1'. ENDCASE. MODIFY SCREEN. CONTINUE. ENDIF. ENDLOOP. 实现效果: 使用用户命令事件at user-command 按钮以及许多其他事件驱动的选择屏幕选项在维护用户交互和验证用户输入方面非常有用。在下一节中,您将探讨如何使用按钮调用at user-command事件,并查看如何使用按钮来处理用户输入的示例。
Loop at screen. If screen-name = ‘TABSTRIP_TAB06’. GS_CUST_TAB-HEAD_CAPTION = ‘附加信息’. GS_CUST_TAB-HEAD_PROGRAM = ‘ZSD_MOD_APPEND’. GS_CUST_TAB-HEAD_DYNPRO = ‘9901’. IF GS_CUST_TAB-HEAD_DYNPRO IS NOT INITIAL.
if screen-name = 'P_MATNR'. screen-input = 0. endif. modify screen. endloop. endif. if p_mate = 'X'. loop at screen. if screen-name = 'P_VBELN'. screen-input = 0. endif. modify screen. endloop. endif. Regards vijay Reply Go to solution Former Member Options Mark as ...