Transactions 抑制事务的第一个屏幕

Transactions 抑制事务的第一个屏幕,transactions,background,screen,abap,bdc,Transactions,Background,Screen,Abap,Bdc,我想通过“call transaction”语句调用Z-transaction并跳过第一个屏幕,但和跳过第一个屏幕语句不起作用。 我读过,只有当“回车”功能代码用于在交易屏幕之间移动时,它才有意义。这是真的吗 因此,我决定通过calltransaction…使用BDC\u table语句使用批处理输入表(BDC),以便在后台处理第一个屏幕。 然而,这样的处理会返回到我不想做的初始事务 语句留给事务处理不适用于BDC表。还有其他解决办法吗 添加到tomdemuyt: 现在我使用的是批处理表,但如果

我想通过“call transaction”语句调用Z-transaction并跳过第一个屏幕,但
和跳过第一个屏幕
语句不起作用。
我读过,只有当“回车”功能代码用于在交易屏幕之间移动时,它才有意义。这是真的吗 因此,我决定通过
calltransaction…使用BDC\u table
语句使用批处理输入表(BDC),以便在后台处理第一个屏幕。
然而,这样的处理会返回到我不想做的初始事务
语句
留给事务处理
不适用于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.
AUTHORITY-CHECK对象的\u TCODE'
ID“TCD”字段lv\U tcode。
如果sy subrc为0。
消息“没有此操作的授权!”键入“E”。
其他的
*使用bdc_选项卡调用事务lv_tcode
*模式“E”
*更新“A”。
设置参数ID“EBELN”字段p_EBELN。
留给事务lv_tcode并跳过第一个屏幕。
恩迪夫。

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

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

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

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

和跳过第一个屏幕确实有效,您能否向我们展示代码和跳过第一个屏幕,我们很可能能够指出问题。如果您试图调用标准交易,请包含交易代码。否。正是Z-transaction从Z-module池调用screen(它是一个选择屏幕)。您的第一个屏幕是什么?是否通过set/get参数定义了所有(必需)字段?如何确认第一个屏幕?这只是一个回车键(ok),还是你需要一个功能键(这可能是问题所在)。你完全理解我的意思。但是我试图从初始事务调用的事务不是可执行程序。它们与Z模块池的屏幕绑定(它们调用),因此不能通过“提交”调用。其他解决方案是什么?在transaction
SHDB
中进行交易记录,它会为您记录屏幕和屏幕值。然后可以复制该记录并使用它填充BDC_表。您可以通过不填充足够的屏幕或值来中途停止事务。检查新屏幕开始时记录的代码和
BDC\u OKCODE
的值。如果这对您有意义,请告诉我,我可以给您发送一个示例给Jorg:正如我之前所说的,BDC表填充是我现在正在使用的解决方案),并且所有的工作都非常完美。但有一个小问题:我希望初始(调用)事务的处理会停止,并调用(跳过第一个屏幕)事务处理程序处理,但不会将其返回到初始事务(相同的逻辑留给事务语句)。但是!现在,在将数据提交到DB之后,被调用的事务将处理返回到初始事务(调用事务语句的逻辑)。但这不是我想要的。我想要类似“留给交易…使用bdc_选项卡”。但这是行不通的。如何实现这一点?仍在试图围绕您的问题整理我的标题。。。PROGRAM1通过选择屏幕调用PROGRAM2,但经过处理后,它返回PROGRAM1而不是退出。
调用事务后的
语句
保留到屏幕0?