Автор Тема: Массовое сохранение выходных документов заказа на поставку из Z-транзакции  (Прочитано 615 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tanyxa

  • Newbie
  • *
  • Сообщений: 27
  • Репутация: +2/-0
  • YearsYearsYearsYears
Коллеги, добрый день.

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

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

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

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 727
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Есть Z прога печати заказа на поставку, настроена в NACE, генерит PDF формуляр.
В условиях выбора есть варианты что делать, печатать, отправить по почте и т.д. В общем посмотрите в  эту сторону настройки условий вывода.

Оффлайн kernel

  • Newbie
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • YearsYearsYears
You are not allowed to view links. Register or Login
Коллеги, добрый день.

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

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

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

Добрый день.

Моё решение:
  • В память или в статический атрибут устанавливается флаг "ловушки"
  • Создаются расширения в начале ФМ FP_JOB_OPEN и FP_JOB_CLOSE. Если "ловушка" установлена, то выходим из ФМ.
  • Создается расширение в конце ФМ FPCOMP_FORM_END. Если "ловушка" установлена, записываем E_FORMOUTPUT в память или в статический атрибут
  • Делаем метод получения бинарного PDF по NAST.
На вход подаём 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.

Оффлайн tanyxa

  • Newbie
  • *
  • Сообщений: 27
  • Репутация: +2/-0
  • YearsYearsYearsYears
You are not allowed to view links. Register or Login
Моё решение..

Добрый день, да это похоже на то что мне надо.
А что за ФМ такой WFMC_MESSAGE_SINGLE_SCREEN - зачем он в методе? :)

Оффлайн kernel

  • Newbie
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • YearsYearsYears
You are not allowed to view links. Register or Login
А что за ФМ такой WFMC_MESSAGE_SINGLE_SCREEN - зачем он в методе? :)
ФМ запускает программу печати по структуре NAST

Оффлайн tanyxa

  • Newbie
  • *
  • Сообщений: 27
  • Репутация: +2/-0
  • YearsYearsYearsYears
Спасибо, по методу kernel все получилось  :)