Текущее время: Пт, июл 25 2025, 05:39

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Почему в программе не обрабатываются модули PBO и PAI ?
СообщениеДобавлено: Чт, окт 30 2008, 15:16 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
Можно сказать делаю первые шаги в ABAP и сталкнулся с такой проблемой : в программе вызываю 100-й экран , но модули PBO и PAI не обрабатываются просто выходит пустой экран. Кнопка BACK не работает хотя я ее прописал в GUI и в экране через ok_code . Как правильно связать програму с модулями?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 30 2008, 15:25 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, июн 25 2007, 17:37
Сообщения: 350
Пол: Мужской
А вы в экране прописали, свои модуля PBO и PAI!?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 30 2008, 15:27 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
1. В какой момент и как вы вызываете экран?
2. Выложите на форум, что у вас написано в Логике Выполнения экрана
3. В какой момент и как вы устанавливаете ваш GUI статус?


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

Зарегистрирован:
Пн, июн 25 2007, 17:37
Сообщения: 350
Пол: Мужской
1. В экране:
Code:
PROCESS BEFORE OUTPUT.
MODULE init_screen_0100.

PROCESS AFTER INPUT.


MODULE CANCEL AT EXIT-COMMAND.
MODULE DO_.

2. В программе:
Code:

MODULE CANCEL INPUT.
  LEAVE PROGRAM.
ENDMODULE.

MODULE DO_ INPUT.
  CASE sy-ucomm.
    WHEN 'CANCEL'.
      LEAVE PROGRAM.
      ENDCASE.
    When .....
ENDMODULE.



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 30 2008, 15:52 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Valeriy написал:
1. В экране:
[code]
PROCESS BEFORE OUTPUT.
MODULE init_screen_0100.


А init_screen_0100 в отчёте есть? Если нет, то ничего удивительного что кнопки не работают, т.к. GUI статус надо явно устанавливать для экрана.
В общем читать help и смотреть примеры

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 30 2008, 16:32 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, июн 25 2007, 17:37
Сообщения: 350
Пол: Мужской
sy-uname написал(а):
Valeriy написал:
1. В экране:
[code]
PROCESS BEFORE OUTPUT.
MODULE init_screen_0100.


А init_screen_0100 в отчёте есть? Если нет, то ничего удивительного что кнопки не работают, т.к. GUI статус надо явно устанавливать для экрана.
В общем читать help и смотреть примеры


[code]
MODULE init_screen_0100 OUTPUT.
SET PF-STATUS '100'. " <<< Кнопки :)
SET TITLEBAR '100'.
" Заполнение listbox
CLEAR LIST. REFRESH LIST.
VALUE-KEY = '1'.
VALUE-TEXT = 'ГСМ'.
APPEND VALUE TO LIST.

VALUE-KEY = '2'.
VALUE-TEXT = 'Услуга без права включ. ВР'.
APPEND VALUE TO LIST.

CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'IDUSL'
VALUES = LIST.
ENDMODULE.
[/code]


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 30 2008, 20:16 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
2 AirNeO:
Уважаемый, а экран Вы сгенерировали, после того, как добавили в него модули паи и пбо? А в экранной переменной okcode свою переменную прописали, которая должна в программе быть объявлена?
У Вас это именно экран или подэкоран?


Последний раз редактировалось Кодер Чт, окт 30 2008, 23:12, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 30 2008, 23:01 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Ребят, ну вы даете :lol:

Цитата:
Итак, вопрос знатокам - что в черном ящике?


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

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
Valeriy написал:
А вы в экране прописали, свои модуля PBO и PAI!?


Нет, в экране я эти модули не прописывал , а как это сделать?
В общем вот что я делаю в программе:

call screen 100.

*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'STATUS'.
* SET TITLEBAR 'xxx'.

CREATE OBJECT cont
EXPORTING
CONTAINER_NAME = 'CONTEINER'.

*TRY.
CALL METHOD CL_SALV_TABLE=>FACTORY
EXPORTING
LIST_DISPLAY = IF_SALV_C_BOOL_SAP=>FALSE
R_CONTAINER = cont
* CONTAINER_NAME = 'CONTEINER'
IMPORTING
R_SALV_TABLE = gt_alv
CHANGING
T_TABLE = tab .
* CATCH CX_SALV_MSG .
*ENDTRY.

CALL METHOD gt_alv->DISPLAY.

ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE ok_code.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT


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

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
Пономарев Артем написал:
1. В какой момент и как вы вызываете экран?
2. Выложите на форум, что у вас написано в Логике Выполнения экрана
3. В какой момент и как вы устанавливаете ваш GUI статус?


Экран я вызываю в программе, а в логике экрана я ничего не прописывал , просто там создал модули PBO и PAI , которые автоматом появились в программе и потом заполил их для выполнения. :(

в логике экрана у меня следующее :

PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
*
PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.


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

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
Кодер написал(а):
2 AirNeO:
Уважаемый, а экран Вы сгенерировали, после того, как добавили в него модули паи и пбо? А в экранной переменной okcode свою переменную прописали, которая должна в программе быть объявлена?
У Вас это именно экран или подэкоран?


Да, из экрана я создаю модули PBO и PAI и переменную ok_code я прописал в экране . Создавал как экран 0100 . У меня создалось такое ощущение что модули в программе не связаны с экраном , а как это сделать непойму :?:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 31 2008, 08:20 
Гость
AirNeO написал(а):
Пономарев Артем написал:
1. В какой момент и как вы вызываете экран?
2. Выложите на форум, что у вас написано в Логике Выполнения экрана
3. В какой момент и как вы устанавливаете ваш GUI статус?


Экран я вызываю в программе, а в логике экрана я ничего не прописывал , просто там создал модули PBO и PAI , которые автоматом появились в программе и потом заполил их для выполнения. :(

в логике экрана у меня следующее :

PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
*
PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.


А может просто звездочки убрать в начале строк? :)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 31 2008, 09:25 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
AirNeO написал(а):
Пономарев Артем написал:

Code:
PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
*
PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.

Про звоздочки в экранной логике уже написали.
И скажите, как данный код согласуется с более ранним кодом:


Code:
PROCESS BEFORE OUTPUT.
MODULE init_screen_0100.

PROCESS AFTER INPUT.


MODULE CANCEL AT EXIT-COMMAND.
MODULE DO_.


Ещё SALV в PBO модулях появился - что то сразу вспоминается сказка про кашу из топора.

_________________
"После" - не значит "вследствие"


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

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
sy-uname, AirNeO и Valeriy ИМХО разные люди :)

Про звездочки уже было...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 31 2008, 11:01 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Пономарев Артем написал:
sy-uname, AirNeO и Valeriy ИМХО разные люди :)

...
Да, что то я протормозил

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

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


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

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


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

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