abap 程序实行完不能后退是因为什么

abap 程序实行完不能后退是因为什么,第1张

1. 有一种程序没办法后退的, 就是允许模式是PROGRAM.

也就是属性里面 type选项是M 模块池

它本身就需要在分配TCODE的时候分配屏幕号, 而且不能直接在SE38运行

所以不管怎么返回, 最终他会返回在初始的屏幕号 .

2. 如果程序有message XXXX type E的报错, 也是没办法返回的, 除非退出. 因为对于代码来说, , 他结束了整个程序.

如果不是上述情况, 请补充问题

RETURN :This statement ends the current processing block immediately. 立即退出当前程序块

EXIT: When processing table controls or step loops with the statement LOOP in the dynpro flow logic, this statement causes the loop to be terminated immediately. 从当前循环立即退出

如果是两个loop嵌套,return退出整个大循环,exit退出当前包含exit的循环

check :如果是在loop里面 如果不满足条件 不执行check之后 继续下一次循环 如果在loop之后 退出当前程序块 比如在form里面 就退出这个form 继续往后

可能有2种可能,一种就如前面所说的,SET PF-STATUS 'SET_PF1'. 这个语句之后的'SET_PF1' 没有定义。

还有另一种可能就是调用ALV输出的时候,是否用的是CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

如果是的话,看是否有下面这条i_callback_pf_status_set = 'SET_PF1' 。也可能是这里没定义,可以将其注释掉即可~~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11690870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存