Текущее время: Ср, июл 02 2025, 08:37

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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