Текущее время: Пн, июл 21 2025, 19:02

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Не отрабатывает AT USER-COMMAND
СообщениеДобавлено: Ср, янв 31 2007, 10:50 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 04 2006, 05:56
Сообщения: 75
Откуда: Казахстан
Всем добрый день.

У меня возникла проблемка.
Через селективный экран я вызываю ALV-список, с добавленной кнопкой ('REP') в стандартный toolbar. При нажатии на эту кнопку ('REP'), выводится ABAP-листинг с новым набором кнопок (например 'ALV'). Но почему-то при нажатии на них никаких действий не происходит. Хотя в программе я описал AT USER-COMMAND.
Подскажите что не так я сделал или недоделал.

Ниже я прилагаю куски моей программы.

END-OF-SELECTION.
PERFORM alv.

AT USER-COMMAND.
IF SY-UCOMM = 'ALV'.
PERFORM alv.
ENDIF.


*** ВЫВОД ДАННЫХ В ALV-СПИСКЕ ***
FORM alv.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZAMREPORT_MATERIAL'
I_CALLBACK_PF_STATUS_SET = 'ZPF_STATUS'
IT_FIELDCAT = zgt_fieldcat[]
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_STRUCTURE_NAME = 'ZAM_ALV'
TABLES
T_OUTTAB = zalv_tab.
ENDFORM.
*************** Конец подпрограммы *****************


*** ОБЪЯВЛЕНИЕ GUI-СТАТУСА В ALV-СПИСКЕ ***
FORM zpf_status USING pf_tab TYPE slis_t_extab.
SET PF-STATUS 'STANDARD_FULLSCREEN' OF PROGRAM sy-repid.
ENDFORM.
*************** Конец подпрограммы *****************


*** ОБРАБОТКА КНОПКИ "ОТЧЕТ" ***
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN 'REP'.
SET PF-STATUS 'REPORT' OF PROGRAM 'ZAMREPORT_MATERIAL'.
NEW-PAGE NO-TITLE LINE-SIZE 239.
PERFORM write_report.
LEAVE TO LIST-PROCESSING.
ENDCASE.
ENDFORM.
*************** Конец подпрограммы *****************


*** ВЫВОД ДАННЫХ НА ЭКРАН ***
FORM write_report.
LOOP AT zalv_tab.
ULINE.
WRITE: '|' NO-GAP, (5) zalv_tab-zcount CENTERED NO-GAP,
'|' NO-GAP, (18) zalv_tab-zextwg RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (40) zalv_tab-zmaktx RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (3) zalv_tab-zmeins CENTERED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zlbkum_b RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zsalk3_b RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zmenge_1 RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zdmbtr_1 RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zmenge_2 RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zdmbtr_2 RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zmenge_3 RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zdmbtr_3 RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zmenge_4 RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zdmbtr_4 RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zlbkum_e RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP, (13) zalv_tab-zsalk3_e RIGHT-JUSTIFIED NO-GAP,
'|' NO-GAP.
NEW-LINE.
ENDLOOP.
ULINE.
ENDFORM.
*************** Конец подпрограммы *****************


Заранее большое спасибо.
С Уважением Начинающий

_________________
С Уважением,
Начинающий


Последний раз редактировалось Марат Ср, янв 31 2007, 11:30, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 31 2007, 11:00 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
о боже, это ж надо так намешать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 31 2007, 11:23 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вс, янв 14 2007, 12:38
Сообщения: 77
Откуда: 127.0.0.1
se80->development class(package) slis
òàì êó÷à ïðèìåðîâ
à ëó÷øå ïîëüçéòå alv class


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 31 2007, 14:09 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 04 2006, 05:56
Сообщения: 75
Откуда: Казахстан
vga написал(а):
о боже, это ж надо так намешать.


Вам не понятен мой вопрос? Я попробую перефразировать его.

После селективного экрана выводится экран с ALV-grid (FORM alv).
Там я нажимаю кнопку 'REP' (FORM user_command) и выводится экран с листингом и с новым GUI-status ('REPORT').
В этом GUI-status есть кнопка 'ALV', которая должна возвращать обратно экран с ALV-grid. Но она почему то не работает, хотя я описал ее в AT USER-COMMAND.

_________________
С Уважением,
Начинающий


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 01 2007, 10:33 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вт, сен 12 2006, 12:57
Сообщения: 85
Обработка в принципе не заходит в AT USER-COMMAND или просто не возвращается в ALV_GRID? Если второе, то используй команду leave to screen 0, а не вызов еще одного ALV_GRID.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 01 2007, 10:41 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
ИМХО, вообще вызывает сомнение необходимости делать такую функционоальность.
Чем стандартные формы в Views не подходят? Или почему кнопку Back (F3) не использовать для возврата?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 02 2007, 07:30 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 04 2006, 05:56
Сообщения: 75
Откуда: Казахстан
Обработка не заходила в AT USER-COMMAND.

Спасибо всем что откликнулись на мое сообщение.
Но я уже решил эту проблему. Правда не знаю красиво или нет, но работает. При нажатии кнопки 'REP' в ALV-gridе я вызываю submit-ом программу, которая выводит листинг и GUI-status ('REPORT') на экран. И уже в этой программе я прописал AT USER-COMMAND, в котором я просто закрываю вызванную программу.


Всем еще раз большое спасибо.

_________________
С Уважением,
Начинающий


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, фев 05 2007, 02:07 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Для начала я бы поменял местами
PERFORM write_report.
LEAVE TO LIST-PROCESSING.

В AT user-command обработка не попадает потму что это
"AT user-command" не той программы - в данном случае листинг нарисован Группой фунций ФМ 'REUSE_ALV_GRID_DISPLAY' (через call back в основную программу - но для листинга это значения не имеет) и соответственно для обработки команд вызывается "AT user-command" Группы фунций ФМ 'REUSE_ALV_GRID_DISPLAY' которого нет.


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

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


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

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


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

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