【问题标题】:How to suppress dialog boxes coming from submitted program如何抑制来自提交程序的对话框
【发布时间】:2016-11-16 14:20:27
【问题描述】:

我正在提交一个 Z** 程序,它是 SAP (FBL5N) 标准报告的副本。但是有消息说;

找到(count)个归档文件

来自 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.

有什么想法吗?

【问题讨论】:

  • 给我们完整代码,你可以用它来调用 FBL5N 交易。
  • 我把提交代码。只是一个普通的提交。 @Suncatcher
  • 标准系统中没有这样的报告,好像是IS,或者合作伙伴的分机什么的。
  • 但是,如果我们特别谈论 FBL5N(报告RFITEMAR),正如您在问题中所述,它会在没有任何提示或消息的情况下很好地返回结果列表。要么是SUBMIT发起的,要么是CALL TRANSACTION发起的,没关系。
  • 它是标准程序 FBL5N 的副本。是的,如果您已归档文档,FBL5N 会返回警告消息“[count of documents] 已找到已归档文档”。所以我需要在不编辑提交的程序的情况下禁止显示此消息。

标签: abap sap-erp


【解决方案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 表更紧凑且运行速度更快。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-10
    • 2015-05-20
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 2015-10-04
    • 1970-01-01
    相关资源
    最近更新 更多