Текущее время: Пт, апр 26 2024, 18:04

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Проблемы с выводом PDF формуляров
СообщениеДобавлено: Вт, авг 09 2016, 10:10 
Начинающий
Начинающий

Зарегистрирован:
Сб, ноя 23 2013, 14:58
Сообщения: 23
Здравствуй, уважаемые форумчане.
Проблема такова. К программе прикручены две кнопки выводящие разные формуляры. Оба формуляра сгенирированы и сделаны в одном языке входа RU, в тесте в SFP выводятся на экран. Вот теперь самое интересное. По нажатию на одну кнопку один формуляр выводится, а по нажатию на другую кнопку второй формуляр нет. К обоим кнопкам, выводам формуляров привязаны одинаковые коды вывода на печать. Доходит до вывода диалога печати, далее нажимаешь "Предварительный просмотр" (ну я так сделал, чтобы увидеть до какого момента доходит код) - один формуляр выводится в PDF, другой нет!
Один формуляр трассируется и выводится лог, другой нет....
Тот который не выводится на экран в дебагере на точке CALL FUNCTION fm_name сваливается в
Code:
CATCH cx_root INTO w_cx_root.
      mesg = w_cx_root->get_text( ).

и дальше в
Code:
METHOD if_message~get_text .
  CALL METHOD cl_message_helper=>get_text_for_message
    EXPORTING
      text   = me
    RECEIVING
      result = result.
ENDMETHOD.

и тд.
Который выводится сваливается сразу
Code:
SFPSY-DATE = SY-DATUM.
SFPSY-TIME = SY-UZEIT.
SFPSY-USERNAME = SY-UNAME.

%CONTROL_PARAMETERS-LANGU = /1BCDWB/DOCPARAMS-LANGU.
%CONTROL_PARAMETERS-REPLANGU1 = /1BCDWB/DOCPARAMS-REPLANGU1.
%CONTROL_PARAMETERS-REPLANGU2 = /1BCDWB/DOCPARAMS-REPLANGU2.
%CONTROL_PARAMETERS-REPLANGU3 = /1BCDWB/DOCPARAMS-REPLANGU3.
%CONTROL_PARAMETERS_INIT.
CALL FUNCTION 'FPCOMP_GET_XFP_STATUS'
  IMPORTING
    E_XFP_STATUS = %SFPXFPOPT.

И тд.
Все коды обработки и вывода на печать совершенно одинаковы, как в order_prepare и в order_m4, так и в print_ord и в print_m4. За исключением интерфейсов к PDF формулярам, потому что разные документы.
Code:
WHEN 'ORDER'.           " Распечатка заявок
      PERFORM order_prepare .
      PERFORM print_ord USING 'ZPR_PDF'.  " Печать Non-Stock Issue
      CLEAR: head_pdf, t_pdf[].
    WHEN 'PRIH'. " Печать Приходного ордера
      PERFORM order_m4.
      PERFORM print_m4 USING 'ZJM_4_PDF'. "'ZJRM4_PDF'. " Печать Приходного ордера
      CLEAR: head_m4_pdf, m4_pdf[].

Не могу понять в чем проблема. Помогите разобраться.

Провел сейчас тест. Тот формуляр, который не выводится на экран и на печать, в SFP при тесте в отладчике проваливается как надо в
Code:
SFPSY-DATE = SY-DATUM.
SFPSY-TIME = SY-UZEIT.
SFPSY-USERNAME = SY-UNAME.

%CONTROL_PARAMETERS-LANGU = /1BCDWB/DOCPARAMS-LANGU.
%CONTROL_PARAMETERS-REPLANGU1 = /1BCDWB/DOCPARAMS-REPLANGU1.
%CONTROL_PARAMETERS-REPLANGU2 = /1BCDWB/DOCPARAMS-REPLANGU2.
%CONTROL_PARAMETERS-REPLANGU3 = /1BCDWB/DOCPARAMS-REPLANGU3.
%CONTROL_PARAMETERS_INIT.
CALL FUNCTION 'FPCOMP_GET_XFP_STATUS'
  IMPORTING
    E_XFP_STATUS = %SFPXFPOPT.

И PDF форма выводится и все видно.
В программе одна кнопка работает. Другая - НЕТ. Клик и молчек. Если в тесте формуляр проходит, почему в программе нет?


Последний раз редактировалось peleken1972 Вт, авг 09 2016, 18:55, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблемы с выводом PDF формуляров
СообщениеДобавлено: Вт, авг 09 2016, 11:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Начните с простого: посмотрите сообщение возвращаемого эксепшена. Кстати, подозреваю, что оно там ни разу не cx_root. Т.е. стоит обрабатывать его почеловече, т.е. с правильным типом(если я ничего не путаю, синт. проверка вам должна на ваш код warning выдавать)

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с выводом PDF формуляров
СообщениеДобавлено: Вт, авг 09 2016, 15:26 
Начинающий
Начинающий

Зарегистрирован:
Сб, ноя 23 2013, 14:58
Сообщения: 23
Кодер написал(а):
Начните с простого: посмотрите сообщение возвращаемого эксепшена. Кстати, подозреваю, что оно там ни разу не cx_root. Т.е. стоит обрабатывать его почеловече, т.е. с правильным типом(если я ничего не путаю, синт. проверка вам должна на ваш код warning выдавать)


Изображение

Дальше я плыву. Что это может означать не знаю. В этом ли проблема?

Синтаксическая проверка выявила ошибки. Но факт - один формуляр выводится, второй нет.
Изображение


Последний раз редактировалось peleken1972 Вт, авг 09 2016, 16:29, всего редактировалось 2 раз(а).

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблемы с выводом PDF формуляров
СообщениеДобавлено: Вт, авг 09 2016, 15:36 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
2 peleken1972: картинки не грузяццо

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с выводом PDF формуляров
СообщениеДобавлено: Вт, авг 09 2016, 20:29 
Начинающий
Начинающий

Зарегистрирован:
Сб, ноя 23 2013, 14:58
Сообщения: 23
Переделал немного программу вывода.
И получил дамп.
Code:
ДинамОшибка            CALL_FUNCTION_PARM_MISSING
Исключ.                CX_SY_DYN_CALL_PARAM_MISSING
Дата и время           09.08.2016 21:22:25
Краткий текст
     Incorrect parameter with CALL FUNCTION.

Что произошло?
     When calling a function module, one of the parmaeters was not
     specified.

Анализ ошибки
     An exception occurred that is explained in detail below.
     The exception, which is assigned to class 'CX_SY_DYN_CALL_PARAM_MISSING', was
      not caught in
     procedure "PRINT_M4" "(FORM)", nor was it propagated by a RAISING clause.
     Since the caller of the procedure could not have anticipated that the
     exception would occur, the current program is terminated.
     The reason for the exception is:
     When calling the function module "/1BCDWB/SM00000070", one of the parameters
     needed according to the interface description was not specified.

     This parameter was "H_HEAD".

Ошибочное утверждение RAISING в интерфейсе:
     Программа                               ZPR_REC
     Include                                 ZPR_REC_PRINT_M4
     Строка                                  12
     Тип модуля                              (FORM)
     Имя модуля                              PRINT_M4

Вопрос. Что значит ... description was not specified?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблемы с выводом PDF формуляров
СообщениеДобавлено: Вт, авг 09 2016, 21:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
в дампе написано, что определение параметра H_HEAD не соответствует переменной, которая передается при вызове ФМ.
О! кстати, тут у меня ваши картинки подгрузились: там как раз в объекте исключения(на скриншоте) то же самое, что в вашем дампе было написано.

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с выводом PDF формуляров  Тема решена
СообщениеДобавлено: Ср, авг 10 2016, 12:31 
Начинающий
Начинающий

Зарегистрирован:
Сб, ноя 23 2013, 14:58
Сообщения: 23
Кодер написал(а):
в дампе написано, что определение параметра H_HEAD не соответствует переменной, которая передается при вызове ФМ.
О! кстати, тут у меня ваши картинки подгрузились: там как раз в объекте исключения(на скриншоте) то же самое, что в вашем дампе было написано.


Сколько раз делал, сколько раз переделывал. И все равно, что-нибудь забываешь.
Параметр h_head и h_item в CALL FUNCTION fm_name не передал. Как были старые после копирования, так и остались от другого интерфейса.
Стареем, глупеем.

Все, тема закрыта!


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

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


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

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


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

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