在Eclipse触发的过程中,如何避免DYNPRO_CALLED_IN_BACKGROUND转储?

2020-09-07 02:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我又遇到了另一个问题,这是与我在...

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

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


我又遇到了另一个问题,这是与我在Eclipse中的挣扎以及如何使其在我们的流程中正常工作有关的!

在测试我的另一个问题,我还测试了通过Badi应用的一些客户逻辑,这些逻辑在创建传输请求CTS_REQUEST_CHECK〜CHECK_BEFORE_CREATION时被调用。 我在开发系统中非常活跃,可以对传输标题内容进行检查,以确保标题包含一些必需的元素。 BADI调用执行各种检查的功能模块,并使用功能模块POPUP_GET_VALUES来请求丢失数据。 当我尝试在Eclipse中激活程序时创建CTS时,弹出窗口指定传输标题,当我输入了错误的标题以触发逻辑时,我得到以下消息:

这种情况发生在调用函数模块POPUP_GET_VALUES时,此语句随后导致DYNPRO_CALLED_IN_BACKGROUND转储:

呼叫屏幕300从start_column_100开始start_row_100
                在end_column_100 end_row_100处结束。
 

我能否以某种方式避免这种转储-即在Eclipse中执行"检查和用户"对话框,以便任何"发送"到SAP的内容都不会触发检查? 但是,这不仅是简单的检查,还涉及涉及几个Z表的表格,例如 REGEX术语表示预期的内容。 或者-考虑到检查的复杂性-是在从Eclipse打开的单独的GUI选项卡中的SE10中创建传输的唯一选择吗?

感谢您的陪伴!

欢呼

贝尔贝尔

9条回答
Baoming ROSE
2020-09-07 02:28 .采纳回答

BärbelWinkler

我已经实现了BADI CTS_REQUEST_CHECK(方法CHECK_BEFORE_CREATION):

方法if_ex_cts_request_check〜check_before_creation。
     数据gui_is_available TYPE abap_bool。

     通话功能'GUI_IS_AVAILABLE'
       输入
         return = gui_is_available。

     案例gui_is_available。
       当" X"时。  " SAP GUI可用
       当别人。  " SAPGU
         MESSAGE e010(sapmtran)与"从gui外部工具禁止""像Eclipse"一样取消注册。
 *&&&&
     结束。

   ENDMETHOD。

如果从SAPGUI外部创建了运输订单,则我将发送一条错误消息:"禁止从gui外部工具""例如Eclipse"。

因此,当 从eclipse中创建一个ABAP程序,然后选择"创建新的传输请求",

我确切地收到了BADI错误消息:

BADI消息也出现在Eclipse的"错误日志"中。

AS ABAP版本是752(小型SAP)。

一周热门 更多>