如何让ALV的输出一直显示在屏幕上?
我在ALV屏幕上遇到了一个问题:当我创建或删除采购订单(PO)时,如果出现错误并且我再次尝试删除或创建采购订单(PO),ALV屏幕会退出并返回到默认菜单屏幕。我不知道为什么会这样,我只希望即使在创建或删除采购订单(PO)时发生错误,ALV屏幕也不要退出,并在我再次创建或删除采购订单(PO)时保持在当前屏幕。
这是我的代码,用于在创建采购订单后处理错误信息。
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = ls_poheader
poheaderx = ls_poheaderx
IMPORTING
exppurchaseorder = lv_po_number
TABLES
return = lt_return
poitem = lt_poitem
poitemx = lt_poitemx.
LOOP AT lt_return INTO ls_return.
CASE ls_return-type.
WHEN 'E' OR 'A'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
MESSAGE ls_return-message TYPE 'E'.
RETURN.
ENDCASE.
ENDLOOP.
解决方案
你可以尝试
MESSAGE ls_return-message TYPE 'I' DISPLAY LIKE 'E'.
这应该可以防止退出dynpro栈。如果这不起作用,你需要分享更多代码,特别是PAI和 PBO部分。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。