Текущее время: Вт, июн 24 2025, 22:21

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Вызов события INITIALIZATION в отчете
СообщениеДобавлено: Пт, июн 24 2005, 10:31 
Гость
Люди, может кто знает, как вызвать блок инициализации в отчете из внешней программы?

После долгих часов отладки SAP-овских модулей, я нашел, как вызвать событие AT SELECTION-SCREEN.
У них это делается следующим образом:
PERFORM %_SEL_SCREEN IN PROGRAM NAME_OF_PROGRAM.

Также я откопал, что все точки входа в отчет, получаются с помощью следующей фичи:

DATA: trig type RTRIG occurs 10 with header line.

load report 'NAME_OF_PROGRAM' part 'TRIG' into trig.

где в поле exto таблицы trig хранятся названия этих точек входа и не только.

Поиск просто перебором около 100 записей меня не радует, поэтому прошу помощи у вас!


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 10:55 
Гость
Удалось еще выяснить, что работают вызовы только те, поле INIO которых в таблице trig не равно нулю. Отсюда имеем уже 55 точек входа! Но при этом точка под названием INITIALIZATION имеет там нулевое значение в этом поле, значит надо каким-то образом заполнить эту запись правильными значениями и передать обратно. Как сделать все вышеуказанное я не догадываюсь, т.к. нечто противоположное load report'у САП не предусмотрел.

Есть какие-нить идеи?


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 11:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Не сочтите за оскорбление, но зачем???

_________________
С уважением, Сергей Королев


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 11:32 
Гость
Есть стандартный ФМ WWW_DISPATCH_REQUEST.
Так вот отчет, из выходного списка которого делается HTML страничка в этом ФМ, этот отчет выполняется там именно с %_SEL_SCREEN, т.е. блок инициализации вообще не отрабатывает. Отсюда множество вытекающих проблем, например, не инициализируются переменные отчета.
Поэтому, необходимо вызывать блок инициализации отчета перед вызовом этого модуля! и тогда все ок! есть один способ, но он не более чем изврат, а именно: можно вызвать SUBMIT NAME_OF_PROGRAM USING SELECTION-SET 'VARIANT' AND RETURN, где VARIANT - это не существующий вариант. В таком случае выполнится блок инициализации и отчет выйдет по ошибке, возвращая управление нашей программе.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 11:32 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 01 2004, 07:44
Сообщения: 174
действительно, не совсем понятно зачем это нужно :?
если вы хотите, чтобы отработала некая функциональность в initialization - оформите ее как form и вызывайте в своем отчете
perform ... in programm ... in found


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 11:33 
Гость
Сразу скажу что отчеты могут быть какие угодно и менять их нельзя!
:-)


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 11:53 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Т.е. надо список в HTML выгрузить?

_________________
С уважением, Сергей Королев


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 11:57 
Гость
Да, необходимо получить список из отчета в виде HTML в таблице с типом W3HTML.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:   Тема решена
СообщениеДобавлено: Пт, июн 24 2005, 12:12 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 01 2004, 07:44
Сообщения: 174
посмотрите группу функций SURL, например ФМ WWW_HTML_FROM_LISTOBJECT


DATA: LIST LIKE ABAPLIST OCCURS 0 WITH HEADER LINE,
INTHTML LIKE W3HTML OCCURS 0 WITH HEADER LINE.

* submit report
SUBMIT ...
EXPORTING LIST TO MEMORY AND RETURN.

* get form from memory
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
LISTOBJECT = LIST
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.

* konvert list to HTML
CALL FUNCTION 'WWW_HTML_FROM_LISTOBJECT'
TABLES
HTML = INTHTML
LISTOBJECT = LIST
EXCEPTIONS
OTHERS = 1.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 12:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Есть еще WWW_LIST_TO_HTML_WEB (появилась в ERP'04)

_________________
С уважением, Сергей Королев


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 12:23 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 01 2004, 07:44
Сообщения: 174
Сергей Королев написал:
Есть еще WWW_LIST_TO_HTML_WEB (появилась в ERP'04)


ну тут кому с какой версией повезло :)
предыдущий пример работает (заход в initialization)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 12:26 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
vvk написал(а):
ну тут кому с какой версией повезло :)


Это да. Видимо, им наконец надоело все время писать тот же фрагмент, вот они и выпустили WWW_LIST_TO_HTML_WEB - он как раз вызывает отчет SUBMIT'ом, а потом конвертит список в HTML.

_________________
С уважением, Сергей Королев


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 24 2005, 12:36 
Гость
К сожалению, у нас нет такого модуля.

А вот по поводу вызова 'WWW_HTML_FROM_LISTOBJECT' надо попробовать.

Спасибо всем!


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

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


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

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


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

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