Текущее время: Сб, июл 26 2025, 04:05

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


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

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


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

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