Текущее время: Пн, июн 30 2025, 06:33

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Вывод фактуры в PDF через WEB-сервис
СообщениеДобавлено: Вт, ноя 18 2014, 13:46 
Ассистент
Ассистент

Зарегистрирован:
Ср, сен 14 2011, 09:45
Сообщения: 27
Добрый день!
У нас есть ВЕБ-сервис, который создает заказы и фактуры в САП. В данном сервисе есть возможность вывода фактуры в формате PDF. Делается это следующим образом:
1) ВЕБ-сервис вызывает в САП функциональный модуль, который импортирует номер фактуры и импортирует в ВЕБ-сервис PDF_BINARY_DATA, из которого формируется файл PDF.
2) функциональный модуль через пакетник (BDC) вызывает транзакцию VF03 (просмотреть счет-фактуру) в которой идет по меню «Документ фактуры --> вывести», обрабатывает экран 0200 прорграмы SAPLVMSG ('BDC_OKCODE' '=PRNT').
Изображение
3) после этого задание печати отправляется в спул, из которого мы получаем выше упомянутый PDF_BINARY_DATA.
И все это отлично работает.

Но пользователи SAP (НЕ ВЕБ-сервиса) захотели при печати фактуры иметь возможность выбора принтера. Для этого в программе печати фактуры при вызове ФМ «OPEN_FORM» установили параметр DIALOG.
Теперь на экране 0200 программы SAPLVMSG при нажатии PRNT задание не отправляется в спул, а вызывается следующий экран, на котором выбираем принтер, жмём PRNT и после этого задание отправляется в спул.
Изображение
Для целей веб-сервиса в пакетник была добавлена обработка данного экрана.
Но при тестировании веб-сервиса при вызове функционального модуля он не возвращает PDF_BINARY_DATA. Хотя если тестировать ФМ в сапе то PDF_BINARY_DATA возвращается. Помогите разобраться где ошыбка.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод фактуры в PDF через WEB-сервис
СообщениеДобавлено: Чт, ноя 20 2014, 05:32 
Специалист
Специалист

Зарегистрирован:
Вт, июн 10 2014, 09:41
Сообщения: 180
Попробуйте сделать выгрузку PDF не через спул, а через ФМ печати PDF.
В тр. V/40 можете увидеть какая подпрограмма вызываются для RD00 и какой формуляр.
В подпрограмме найти вызов (или просто поставить точку останова на этот ФМ перед печатью):
Code:
  CALL FUNCTION 'FP_JOB_OPEN'
    CHANGING
      ie_outputparams =

При вызове этого ФМ в ie_outputparams-getpdf должно стоять 'X'.
Потом после вызова:
Code:
      CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
        IMPORTING
          e_funcname = lv_func

      CALL FUNCTION lv_func
        IMPORTING
          /1bcdwb/formoutput =

В /1bcdwb/formoutput-pdf будет PDF в бинарном формате. Его и отдавайте в вэбсервис.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB