我提交的Z **程序是SAP(FBL5N)标准报告的副本。但是有消息说这个;
(计数)找到了存档文件
是从FBL5N使用的逻辑数据库中发出的。但我必须压制此对话框。我不想要向用户显示。 (我不应该将其作为后台工作提交,因为我必须从FBL5N报告中导入结果)。
我已经尝试了
CALL FUNCTION 'DIALOG_SET_NO_DIALOG'
SUPPRESS DIALOG
等
这是我的提交;
SUBMIT /xyz/blablabla WITH so_wlbuk IN s_bukrs
WITH so_wlkun IN s_kunnr
WITH so_datex IN s_datex
WITH x_opsel = x_opsel
WITH pa_stida = pa_stida
WITH x_clsel = x_clsel
WITH pa_stid2 = pa_stid2
WITH x_aisel = x_aisel
WITH so_budat IN s_budat
WITH so_bldat IN s_bldat
WITH x_norm = x_norm
WITH x_shbv = x_shbv
WITH x_ters = x_ters
WITH x_denk = x_denk
WITH dd_bukrs IN s_bukrs
WITH x_apar = p_c_apar
WITH dd_kunnr IN s_kunnr
WITH so_konzs IN s_ckonzs
WITH s_umskz IN s_umskz
WITH s_blart IN s_blart
WITH so_gsber IN s_gsber
AND RETURN.
有什么想法吗?
答案 0 :(得分:1)
我检查了此报告的代码,是的,在GUI模式和以编程方式调用时都会抛出该消息。
此LDB消息在标准代码中被深深调用,无法抑制(检查SAPDBDDF报告中的GD_COUNT_ARCH
变量)。
我在这里看到的唯一解决方案是以批处理模式调用事务。你暧昧地说你应该(不应该?)在后台做这个,但是,BDC显示模式是可调的,如果你想避免对标准进行深度修改,这是你唯一的解决方案。
可以像这样组织电话:
SET PARAMETER ID 'KUN' FIELD '1174'.
DATA: it_bdcdata TYPE TABLE OF bdcdata,
wa_bdcdata LIKE LINE OF it_bdcdata,
opt TYPE ctu_params.
CLEAR: wa_bdcdata.
wa_bdcdata-PROGRAM = 'RFITEMAR'.
wa_bdcdata-DYNPRO = '1000'.
wa_bdcdata-DYNBEGIN = 'X'.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR: wa_bdcdata.
wa_bdcdata-fnam = 'X_AISEL'.
wa_bdcdata-fval = 'X'.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR: wa_bdcdata.
wa_bdcdata-fnam = 'BDC_OKCODE'.
wa_bdcdata-fval = '=ONLI'.
APPEND wa_bdcdata TO it_bdcdata.
opt-dismode = 'E'.
CALL TRANSACTION 'FBL5N' USING it_bdcdata OPTIONS FROM opt.
此处仅填充了一个参数(所有项目 订单项选择部分中的单选按钮),您可以根据此示例填写缺失的参数。我建议您尽可能使用SPA/GPA参数进行初始输入,因为它比BDC表更紧凑,工作速度更快。