呼叫交易,按返回显示初始选择屏幕

2020-09-05 23:24发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我有一个ALV报告,我想从中将事务称为" FBE3"。 我设置了参数ID,并调用了交易并跳过了第一个屏幕。 问题在于,正确显示FBE3屏幕后,如果按BACK,则会显示初始FBE3屏幕,该屏幕显示输入参数而不是ALV报告。 我必须从输入屏幕按回去以返回ALV报告,这不是我想要的。 我希望能够返回ALV报告而不必在FBE3初始屏幕上停止。 无论如何要避免这种情况,或者有人可以让我知道为什么会这样。 我已经为FB03,VA03完成了许多呼叫事务,并且以前从未遇到过这样的问题。

如果有人可以提供帮助,我将非常感谢。

在此先感谢您,

Nanditha

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我有一个ALV报告,我想从中将事务称为" FBE3"。 我设置了参数ID,并调用了交易并跳过了第一个屏幕。 问题在于,正确显示FBE3屏幕后,如果按BACK,则会显示初始FBE3屏幕,该屏幕显示输入参数而不是ALV报告。 我必须从输入屏幕按回去以返回ALV报告,这不是我想要的。 我希望能够返回ALV报告而不必在FBE3初始屏幕上停止。 无论如何要避免这种情况,或者有人可以让我知道为什么会这样。 我已经为FB03,VA03完成了许多呼叫事务,并且以前从未遇到过这样的问题。

如果有人可以提供帮助,我将非常感谢。

在此先感谢您,

Nanditha

付费偷看设置
发送
6条回答
愤怒的猪头君
1楼 · 2020-09-05 23:51.采纳回答

您好Nanditha,

我想我有你的答案。 看看客户主显示交易(XD03,源程序为MF02DFO0)中的以下代码片段:

 如果SY-CALLD ='X'。
   离开。
 其他。
   ...
 万一。
 

因此,在此事务中有明确的代码可在通过CALL TRANSACTION(sy-calld ='X')进行调用并退出用户时退出事务。 这意味着,当用户单击回来时,不显示选择屏幕,而是终止了交易并将控制权返回给调用程序。

SAP应用程序程序员似乎需要在事务中内置逻辑,以防止再次显示初始选择屏幕。

因此,我不确定您可以从程序中对此做很多事情。 您只需要训练用户单击"退出",而不是"返回"即可。

希望有帮助。

干杯

布拉德

粗暴的香蕉
2楼-- · 2020-09-06 00:01

谢谢大家的回答。 我认为布拉德所说的是绝对正确的。 再次感谢。

能不能别闹
3楼-- · 2020-09-05 23:40

嗨,

尝试一下

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

检查此项,是否在您按时完成了所有清除操作? 返回。

即使我遇到了同样的问题,也犯了一个小错误,没有清除。 因此,请检查一次。

感谢与问候,

朱迪思。

路亽曱_Ryan
4楼-- · 2020-09-05 23:45

嗨,

如果您使用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。

悻福寶寶
5楼-- · 2020-09-05 23:44

嗨,

查看您是否已使用return stmnt。

提交FB3 并返回

此外,在用户命令中检查以下内容:

当"返回"时。

将屏幕设置为" 0"。

离开屏幕。

此致

Anjali。

Cikesha
6楼-- · 2020-09-05 23:57

嗨,大家好,有一个非常简单的解决方法,当创建要传递给呼叫交易的bdc表时,您可以添加" 返回"命令,这应该可以达成协议,像这样

将初始行添加到(lt_bdc)分配字段符号(

-program ='您调用的tcode的SHDB程序'

-dynpro ='.....

........

,然后在您执行的所有操作的最后,当用户单击"在您的情况下将调用初始屏幕"时,请记录该屏幕/程序的名称,并在lt_bdc表中使用 好的代码回来

所以,最后

将初始行添加到lt_bdc并分配

  -program ='您要浏览的屏幕的SHDB程序',例如ZMY_ALV
  -dynpro ='您想浏览的屏幕编号'例如1000
  -fnam = BDC_OKCODE'
  -fval =/EBACK 

这欺骗了系统,使系统在看到该屏幕"您想要的一个"时,只需简单地单击自己,然后返回给您的呼叫者即可!

欢呼

一周热门 更多>