VA01 BDC_OKCODE /00 未按预期工作

VA01 BDC_OKCODE /00 not working as expected

在我的报告中,我用 BDC 数据调用事务 VA01,一切都按预期工作,数据被正确填充,但 bdc_okcode /00 不起作用。

我只是将 ok 代码添加到内部 table:

gs_bdcdata-fnam = 'BDC_OKCODE'.
gs_bdcdata-fval = '/00'.
APPEND gs_bdcdata TO gt_bdcdata.

...

CALL TRANSACTION 'VA01' USING gt_bdcdata.

我收到一个显示 ok 代码的弹出窗口。

我的期望是它应该导航到下一个 dynpro。

我也尝试通过交易记录交易SHDB,看看是否需要做一些不同的事情,但BDC数据基本相同。回放录音显示与代码相同的弹出窗口。

我该如何解决?

CALL TRANSACTION没有使用MODE加法。 If one of the additions MODE or OPTIONS FROM is not used, the effect is the same as if mode had the content "A".也就是说每屏调用一次交易停止。

必须这样调用:

DATA lv_mode TYPE char1 VALUE 'N'. "N - BI won't stop, E - will stop by error, A - will stop at every screen

CALL TRANSACTION 'VA01' 
     USING gt_bdcdata
     MODE lv_mode.

一个更好的选择是使用 OPTIONS FROM 添加,这给你更多的机会:

DATA: ls_options TYPE ctu_params.

ls_options-dismode = 'N'. "see explanation above

CALL TRANSACTION 'VA01' 
     USING gt_bdcdata
     OPTIONS FROM ls_options.