点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我的DYNPRO由三个部分组成,如下所示。
CUSTOM CONTROL部分正在显示带有自定义工具栏的CL_GUI_ALV_GRID对象(通过处理CL_GUI_ALV_GRID事件TOOLBAR)。
按下自定义工具栏上的按钮时,此操作的处理程序必须使用DYNPRO右上部分的数据(上图中名为" WE:Allgemeine Buchungsdaten")。
由于按下该按钮后未执行PAI,因此不会发生从DYNPRO到编程的数据传输。 因此,我的处理程序可以处理在上一个PAI之前传输的数据,该数据可能很旧。
是否可以在处理程序中手动触发PAI?
我尝试过
呼叫方法cl_gui_cfw => set_new_ok_code 出口 new_code ='DUMMY'。 调用方法cl_gui_cfw =>刷新。
like https://wiki.scn.sap.com/wiki/display/Snippets/Triggering + PAI + manually 告诉我,但是经过这种和平的代码后,才触发PAI。
请帮助
休伯特
dynpro.jpg (207.7 kB)
使用
设置新的ok_code并移动您的处理代码
"正常"
输入后处理。
模块用户命令。
cl_gui_cfw => set_new_ok_code 是一个简单的命令,可以离开ALV事件并返回到标准流程逻辑。
感谢Tibor,
您的建议就像我们所说的那样
在德国,但是效果很好。
默认情况下,所有ALV网格控制事件都不会触发PAI(系统事件)。 对于所有事件,都可以通过构造函数的参数I_APPL_EVENTS ='X'来更改(应用程序事件)。
您还可以通过功能模块DYNP_VALUES_READ显式传输所需的屏幕字段。
是,
以对我无济于事的方式工作:(
我的处理程序(简短版):
PAI必须在调用FORM book_puchase_order之前进行,但是发生在METHOD alv_user_command完成之后。
CL_GUI_CFW => SET_NEW_OK_CODE对我来说很好(不需要刷新): >
一周热门 更多>