点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我有一个ALV报告,我想从中将事务称为" FBE3"。 我设置了参数ID,并调用了交易并跳过了第一个屏幕。 问题在于,正确显示FBE3屏幕后,如果按BACK,则会显示初始FBE3屏幕,该屏幕显示输入参数而不是ALV报告。 我必须从输入屏幕按回去以返回ALV报告,这不是我想要的。 我希望能够返回ALV报告而不必在FBE3初始屏幕上停止。 无论如何要避免这种情况,或者有人可以让我知道为什么会这样。 我已经为FB03,VA03完成了许多呼叫事务,并且以前从未遇到过这样的问题。
如果有人可以提供帮助,我将非常感谢。
在此先感谢您,
Nanditha
您好Nanditha,
我想我有你的答案。 看看客户主显示交易(XD03,源程序为MF02DFO0)中的以下代码片段:
因此,在此事务中有明确的代码可在通过CALL TRANSACTION(sy-calld ='X')进行调用并退出用户时退出事务。 这意味着,当用户单击回来时,不显示选择屏幕,而是终止了交易并将控制权返回给调用程序。
SAP应用程序程序员似乎需要在事务中内置逻辑,以防止再次显示初始选择屏幕。
因此,我不确定您可以从程序中对此做很多事情。 您只需要训练用户单击"退出",而不是"返回"即可。
希望有帮助。
干杯
布拉德
谢谢大家的回答。 我认为布拉德所说的是绝对正确的。 再次感谢。
嗨,
尝试一下
MODULE user_command_9001 INPUT。
数据:i_return_code类型i。
调用方法cl_gui_cfw =>调度
导入return_code = i_return_code。
ws_save_ok = ok_code。
案例ws_save_ok。
p> 当"返回"或"退出"或" CANC"时。
执行退出程序。
当" MATNR"时。
设置参数ID'MAT'字段w_block-matnr。
呼叫交易fbe3和跳过第一屏。
结束。
清除ws_save_ok。
ENDMODULE。 " USER_COMMAND_0100 INPUT
FORM exit_program 。
调用方法o_grid_container->免费。
调用方法cl_gui_cfw => flush
IF sy-subrc NE 0。
FLush错误
ENDIF。
要保留到屏幕0。
ENDFORM。" EXIT_PROGRAM
检查此项,是否在您按时完成了所有清除操作? 返回。
即使我遇到了同样的问题,也犯了一个小错误,没有清除。 因此,请检查一次。
感谢与问候,
朱迪思。
嗨,
如果您使用SUBMIT而不是 调用事务,然后可以在SUBMIT语句中使用RETURN。
这是从SUBMIT的F1帮助中获取的。
加法6
...并且 返回
效果
在执行被调用程序后返回到调用事务或程序。 提交...并返回创建一个新的内部会话。
...使用程序prog的选择集
效果
在执行程序rep时使用程序prog的变体。
注意
重要
程序prog和rep必须具有相同的SELECT-OPTIONS和PARAMETER。 否则,程序prog的变体可能会被破坏。
注意事项
使用此加法时,将在"使用SELECTION-SET变量"中获取程序prog的指定变量vari。 另一方面,rep的选择屏幕上的所有与变体相关的操作(获取,另存为变体,显示,删除)均指编的变体。
示例
提交报告01
使用选择集" VARIANT1"通过选择屏幕
使用 程序" REPORT00"的选择集
并返回。
效果
使用程序REPORT00的变量VARIANT1执行程序REPORT01。
嗨,
查看您是否已使用return stmnt。
提交FB3 并返回。
此外,在用户命令中检查以下内容:
当"返回"时。
将屏幕设置为" 0"。
离开屏幕。
此致
Anjali。
嗨,大家好,有一个非常简单的解决方法,当创建要传递给呼叫交易的bdc表时,您可以添加" 返回"命令,这应该可以达成协议,像这样
将初始行添加到(lt_bdc)分配字段符号()
........
,然后在您执行的所有操作的最后,当用户单击"在您的情况下将调用初始屏幕"时,请记录该屏幕/程序的名称,并在lt_bdc表中使用 好的代码回来
所以,最后
这欺骗了系统,使系统在看到该屏幕"您想要的一个"时,只需简单地单击自己,然后返回给您的呼叫者即可!
欢呼
一周热门 更多>