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

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


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

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


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

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