0

我想通过“CALL TRANSACTION”语句调用 Z 事务并跳过第一个屏幕,但AND SKIP FIRST SCREEN语句不起作用。
我读过它只有在使用“ENTER”功能代码在交易屏幕之间移动时才有意义。这是真的吗?

因此,我决定通过CALL TRANSACTION...USING bdc_table语句使用批处理输入表 (BDC),以便在后台处理第一个屏幕。
然而,这种方式处理返回到我不想做的初始交易!
该语句LEAVE TO TRANSACTION不适用于 BDC 表。还有其他解决方案吗?

除了 tomdemuyt
现在我正在使用批处理表,但如果我使用SKIP,我宁愿这样写:

AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD lv_tcode.

IF sy-subrc <> 0.
  MESSAGE 'No authorization for this operation!' TYPE 'E'.
ELSE.

*   CALL TRANSACTION lv_tcode  USING bdc_tab
*                              MODE 'E'
*                              UPDATE 'A'.

SET PARAMETER ID 'EBELN' FIELD p_ebeln.
LEAVE TO TRANSACTION lv_tcode AND SKIP FIRST SCREEN.
ENDIF.

在第一个屏幕(选择屏幕)p_ebeln上,必须选择参数并将其传递到第二个屏幕而不显示第一个屏幕。

4

1 回答 1

1

我不确定你想做什么。您是否要跳过第一个屏幕并转到第二个屏幕?如果您尝试调用的事务是可执行程序,那么您有更多选择直接提交程序:

SUBMIT zprogram 
  WITH param1 = 'VALUE' 
  WITH selopt BETWEEN 'a' AND 'b'.

或者,您将批处理表更改为类型的选择表RSPARAMS。还有许多其他选项,包括使用特定变体提交,或调用特定屏幕等。

于 2012-07-11T05:19:59.170 回答