Текущее время: Сб, апр 20 2024, 01:47

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Не печатается собственный PDF-формуляр (вопрос начинающего)
СообщениеДобавлено: Вт, фев 21 2017, 15:30 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 780
Откуда: South Kazakhstan
Пол: Мужской
Добрый день, уважаемые ABAP-ры. Прошу прощения за возможно неумный вопрос, но я пытаюсь разобраться, как создавать pdf-формы. Пока не получается.

Создаю сначала интерфейс, ну, допустим, Z_TEST, с помощью транзакции SFP добавил два поля в импортируемые параметры, в качестве types указал поля физической таблицы.

MATNR TYPE MAKT-MATNR
MAKT TYPE MAKT-MAKTX

Далее с помощью этой же транзакции создал формуляр и там из интерфейса в контекст добавил эти два поля, потом перешёл в формат и там также добавил эти два поля на страничку. Всё это дело активировал. Затем создал программку.
Code:
types:
      ty_outputparams type sfpoutputparams, "Form Parameters for Form Processing
      ty_docparams    type sfpdocparams.    "Form Processing Output Parameter
data:
      wa_outputparams type sfpoutputparams,
      wa_docparams    type sfpdocparams.

data:
      gv_fm_name      type rs38l_fnam,
      matnr           type makt-matnr,
      maktx            type makt-maktx.

parameters:
      m_matnr       type makt-matnr.

start-of-selection.

  " Sets the output parameters and opens the spool job
  wa_outputparams-device    =  'PRINTER'.
  wa_outputparams-dest      =  'LP01'.
  wa_outputparams-nodialog  = 'X'.
  wa_outputparams-preview   = 'X'.

  call function 'FP_JOB_OPEN'
    changing
      ie_outputparams = wa_outputparams
    exceptions
      cancel          = 1
      usage_error     = 2
      system_error    = 3
      internal_error  = 4
      others          = 5.
  if sy-subrc <> 0.
    " <error handling>
  endif.
  " Get the name of the generated function module
  call function 'FP_FUNCTION_MODULE_NAME'
    exporting
      i_name     = 'Z_TEST'
    importing
      e_funcname = gv_fm_name.
  if sy-subrc <> 0.
    "<error handling>
  endif.

*  wa_docparams-langu   = 'RU'.
*  wa_docparams-country = 'KZ'.

  select single matnr maktx from makt into (matnr, maktx) where matnr eq m_matnr.

  call function gv_fm_name
      exporting
        matnr          = matnr
        makt          = maktx
*      bukrs          = gv_bukrs
      exceptions
        usage_error    = 1
        system_error   = 2
        internal_error = 3.

  call function 'FP_JOB_CLOSE'
    exceptions
      usage_error    = 1
      system_error   = 2
      internal_error = 3
      others         = 4.
  if sy-subrc <> 0.
    " <error handling>
  endif.

После выборки нужного номера материала и запуска транзакции должна выходить PDF-страничка с этими двумя полями, но она не выходит. Вопрос: что я не так делаю?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PDF Формат.
СообщениеДобавлено: Вт, фев 21 2017, 17:36 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Что не правильно? не обрабатываете эксепшены. У вас вон сколько ФМ, и ни у одного вы не смотрите код возврата. А там может быть много интересного.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PDF Формат.
СообщениеДобавлено: Ср, фев 22 2017, 06:58 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 780
Откуда: South Kazakhstan
Пол: Мужской
Совершенно верно Вы заметили.

В общем у меня при попытке отработки ФМ call function 'FP_JOB_OPEN' системное поле sy-subrс = 3. В списке эксепшенов есть такое число и числится оно как системная ошибка, system error = 3. А как можно посмотреть содержание этой системной ошибки?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PDF Формат.
СообщениеДобавлено: Ср, фев 22 2017, 08:57 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Вам уже говорили: учите матчасть. Почитайте курсы, хелп. Там все написано.
При возникновении исключений может быть выдано сообщение. Параметры сообщения после вызова фм (до возникновения другого сообщения) будут лежать в полях структуры sy: sy-msgid, sy-msgno, sy-msgty и т.д.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PDF Формат.
СообщениеДобавлено: Ср, фев 22 2017, 09:02 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
Может просто принтера такого нет? :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PDF Формат.
СообщениеДобавлено: Ср, фев 22 2017, 13:09 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 780
Откуда: South Kazakhstan
Пол: Мужской
Кодер написал(а):
Вам уже говорили: учите матчасть. Почитайте курсы, хелп. Там все написано.
При возникновении исключений может быть выдано сообщение. Параметры сообщения после вызова фм (до возникновения другого сообщения) будут лежать в полях структуры sy: sy-msgid, sy-msgno, sy-msgty и т.д.


Последовал Вашему совету и добавил в исключения сообщения. Возникает такая ошибка: ADS: com.adobe.ProcessingException: Problem accessing d(200101) № сообщения FPRUNX001. Смотрел соответствующую ноту, связанную с настройкой ADC, но в системе уже имеется парочка PDF формуляров и они запускаются нормально, т.е. если бы ли проблемы с ADC то вообще бы ни один формуляр не запускался или я не правильно мыслю?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не печатается собственный PDF-формуляр (вопрос начинающего)
СообщениеДобавлено: Чт, фев 23 2017, 17:04 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 780
Откуда: South Kazakhstan
Пол: Мужской
В общем что только я не делал, но вывести формуляр у меня так и не получается.

Интереса ради попытался скопировать уже существующий интерфейс и сам формуляр. Нашёл в какой проге оное используется и тоже её скопировал, из праздного любопытства. Пытаюсь запустить формуляр из новой скопированной программы, выдаёт дамп с описанием класса CX_FP_API_INTERNAL, т.е.

Code:
   61     IF sy-subrc IS NOT INITIAL.
   62 *     Sperre in jedem Fall aufheben
   63       PERFORM dequeue USING i_formname.
>>>>>       RAISE EXCEPTION TYPE cx_fp_api_internal
   65         EXPORTING
   66           textid = cx_fp_api_internal=>no_number.
   67     ENDIF.
   68   ELSE.


Вот сейчас мне совершенно не понятно. Старая программка работает и выводит формуляр без проблем, но скопированная, т.е.идентичная ей, но с другим названием уже не хочет работать. В интернете множество информации по этому классу, но никакой конкретики. Может кто сталкивался??


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не печатается собственный PDF-формуляр (вопрос начинающего)
СообщениеДобавлено: Чт, фев 23 2017, 21:39 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Вам уже все сказали:
1) посмотрите на принтер. Поддерживает ли он вывод PDF?
2) почитайте сообщения из исключений и класса исключений

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


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

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


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

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


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

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