Текущее время: Чт, апр 11 2024, 00:16

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


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

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


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

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