Как подавить диалоговые окна, исходящие от отправленной программы

Я отправляю программу 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.

Есть идеи ?


person Mtok    schedule 16.11.2016    source источник
comment
Дайте нам полный код, с помощью которого вы вызываете транзакцию FBL5N.   -  person Suncatcher    schedule 16.11.2016
comment
Ввожу код отправки. Просто обычная подача. @Ловец солнца   -  person Mtok    schedule 17.11.2016
comment
В штатной системе такого отчета нет, вроде бы ИС, или партнерское расширение, или еще что.   -  person Suncatcher    schedule 17.11.2016
comment
Но если мы говорим именно о FBL5N (отчет RFITEMAR), как было указано в вашем вопросе, то он прекрасно возвращает список результатов без каких-либо подсказок или сообщений. Либо запускается SUBMIT, либо CALL TRANSACTION, не важно.   -  person Suncatcher    schedule 17.11.2016
comment
Это копия стандартной программы FBL5N. Да FBL5N возвращает предупреждающее сообщение [количество документов] найдены заархивированные документы, если у вас есть заархивированные документы. Поэтому мне нужно подавить это сообщение, не редактируя представленную программу.   -  person Mtok    schedule 17.11.2016
comment
Возможно, вы можете использовать BAPI_AR_ACC_GETOPENITEMS для достижения того, чего хотите. Просто мысль.   -  person andrecito    schedule 17.11.2016


Ответы (1)


Я проверил код этого отчета, и да, сообщение выдается как в режиме графического интерфейса, так и при программном вызове. Это сообщение LDB вызывается глубоко в стандартном коде и не может быть подавлено (переменная GD_COUNT_ARCH в отчете SAPDBDDF проверена).

Единственное решение, которое я здесь вижу, это вызов транзакции в пакетном режиме. Вы двусмысленно сказали, что должны (не должны?) делать это в фоновом режиме, но тем не менее, режим отображения 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.

Здесь был заполнен только один параметр (переключатель Все элементы в разделе Выбор позиции), а недостающие можно заполнить в соответствии с этим образцом. Я рекомендую использовать для начальная запись, где это возможно, так как это более компактно и работает быстрее, чем таблица BDC.

person Suncatcher    schedule 17.11.2016