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

2020-09-07 02:07发布

         点击此处--->   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中创建传输的唯一选择吗?

感谢您的陪伴!

欢呼

贝尔贝尔

         点击此处--->   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
1楼 · 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)。

小c菟菟
2楼-- · 2020-09-07 02:17

否-我没看过。 这让我发笑! 是在我的7.50系统中。

是的,应该将它提高到SAP,因为它是一个明显的错误。 在类似情况下,我检查sy-msgid,但从不检查sy-msgno。 只是愚蠢。

会解决吗? 好吧……有时候低优先级的简单问题更容易解决。 因此有希望。

3楼-- · 2020-09-07 02:09

您是否尝试过使用那些古老的技巧之一来检查dynpro的可用性:例如 FM GUI_IS_AVAILABLE或方法CL_GUI_ALV_GRID => OFFLINE或CL_SALV_MODEL => IS_OFFLINE,然后引发错误消息或调用弹出式FM。

Doze时光
4楼-- · 2020-09-07 02:16

我最近发生了与ATC相关的低优先级事件,为此我收到了 OSS-note大约需要3周的时间,所以我相当希望! 我正在通过专家聊天进行尝试,因为这样可能会更容易在会话期间通过调试进行显示,而不是试图解释由于我已经更改了编码后如何重现该问题。

IF -声明似乎是从2017年开始通过 OSS-Note 2489472 添加的,因此 这个问题甚至可能被认为是该问题的副作用。

太Q了
5楼-- · 2020-09-07 02:09

我会尝试在CTS_REQUEST_CHECK〜CHECK_BEFORE_CREATION中添加ABAP代码行。 这些代码行将包含一个无限循环。

然后,在事务SM50中,我将尝试调试该过程。 从调试器中,我将分析所有给定的信息。

大道至简
6楼-- · 2020-09-07 02:18

更新:我刚刚意识到我从未使用OSS-Note更新此问题,所以最终-比没有更好,这很晚了-在这里 (由SAP在2019年4月提供):

2775007-处理异常 消息编号为'000'时来自BADI CTS_REQUEST_CHECK调用的消息

绿领巾童鞋
7楼-- · 2020-09-07 02:27

Chaouki Akir

一旦有了较新的Eclipse版本,我将再次尝试查看是否确实是原因。 由于我的主要问题已在您的帮助下得到解决,因此我会将问题标记为"已回答",但请您继续讨论。

我还为SAP创建了一个事件来调查" SY-MSGNO "不是初始化"语句,以查看是否有更好的方法进行此检查。

再次感谢您为解决此问题提供帮助!

干杯

Bärbel

一周热门 更多>