Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => Тема начата: tanyxa от Июнь 04, 2019, 12:01:01 pm

Название: Массовое сохранение выходных документов заказа на поставку из Z-транзакции
Отправлено: tanyxa от Июнь 04, 2019, 12:01:01 pm
Коллеги, добрый день.

Есть Z прога печати заказа на поставку, настроена в NACE, генерит PDF формуляр.

Есть некая другая Z-транзакция, нужно в ней по нажатию кнопки сгенерировать и сохранить выходные документы выбранных заказов на поставку куда-то в папку выбраную пользователем.

Как покрасивее забрать бинарное содержимое формуляров и подавить окошко превью?
Название: Re: Массовое сохранение выходных документов заказа на поставку из Z-транзакции
Отправлено: Uukrul от Июнь 04, 2019, 12:09:09 pm
You are not allowed to view links. Register or Login
Есть Z прога печати заказа на поставку, настроена в NACE, генерит PDF формуляр.
В условиях выбора есть варианты что делать, печатать, отправить по почте и т.д. В общем посмотрите в  эту сторону настройки условий вывода.
Название: Re: Массовое сохранение выходных документов заказа на поставку из Z-транзакции
Отправлено: kernel от Июнь 06, 2019, 07:58:52 pm
You are not allowed to view links. Register or Login
Коллеги, добрый день.

Есть Z прога печати заказа на поставку, настроена в NACE, генерит PDF формуляр.

Есть некая другая Z-транзакция, нужно в ней по нажатию кнопки сгенерировать и сохранить выходные документы выбранных заказов на поставку куда-то в папку выбраную пользователем.

Как покрасивее забрать бинарное содержимое формуляров и подавить окошко превью?

Добрый день.

Моё решение:
На вход подаём IS_NAST типа NAST, на выходе получаем RV_PDF типа FPCONTENT.
Метод запускает FP_JOB_OPEN и FP_JOB_CLOSE с "запоминанием" контента PDF, а "ловушка" выйдет из соответствующих методов в программе печати.

Код: You are not allowed to view links. Register or Login
  METHOD get_pdf_by_nast.
    DATA ls_outpar TYPE sfpoutputparams.

    ls_outpar-nodialog = abap_true.
    ls_outpar-getpdf = abap_true.
    ls_outpar-dest = 'PDF'.

    CALL FUNCTION 'FP_JOB_OPEN'
      CHANGING
        ie_outputparams = ls_outpar.

    zcl_pdf_hook=>mv_pdf_hook = abap_true.
    CALL FUNCTION 'WFMC_MESSAGE_SINGLE_SCREEN'
      EXPORTING
        pi_nast  = is_nast
      IMPORTING
        pe_rcode = sy-subrc.
    zcl_pdf_hook=>mv_pdf_hook  = abap_false.

    rv_pdf = zcl_pdf_hook=>ms_formoutput-pdf.

    CALL FUNCTION 'FP_JOB_CLOSE'.
  ENDMETHOD.
Название: Re: Массовое сохранение выходных документов заказа на поставку из Z-транзакции
Отправлено: tanyxa от Июнь 07, 2019, 09:57:06 am
You are not allowed to view links. Register or Login
Моё решение..

Добрый день, да это похоже на то что мне надо.
А что за ФМ такой WFMC_MESSAGE_SINGLE_SCREEN - зачем он в методе? :)
Название: Re: Массовое сохранение выходных документов заказа на поставку из Z-транзакции
Отправлено: kernel от Июнь 07, 2019, 06:33:44 pm
You are not allowed to view links. Register or Login
А что за ФМ такой WFMC_MESSAGE_SINGLE_SCREEN - зачем он в методе? :)
ФМ запускает программу печати по структуре NAST
Название: Re: Массовое сохранение выходных документов заказа на поставку из Z-транзакции
Отправлено: tanyxa от Июнь 10, 2019, 11:32:42 am
Спасибо, по методу kernel все получилось  :)