Текущее время: Пн, июл 07 2025, 22:42

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: работа с OI0_MIGO_BADI
СообщениеДобавлено: Ср, апр 30 2008, 13:09 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, апр 30 2008, 07:46
Сообщения: 52
Пол: Мужской
использую BADI OI0_MIGO_BADI; при нажатии кнопки "проверить" в MIGO происходит вызов метода CHECK_ITEM для всех строк.
проблема в том что я получаю параметром только номер строки (I_LINE_ID), а нужно обработать данные с экрана.
как я могу получить всю строку, зная ее номер?
версия системы 4.6C


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: работа с OI0_MIGO_BADI
СообщениеДобавлено: Ср, апр 30 2008, 13:39 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
htk_s написал:
использую BADI OI0_MIGO_BADI; при нажатии кнопки "проверить" в MIGO происходит вызов метода CHECK_ITEM для всех строк.
проблема в том что я получаю параметром только номер строки (I_LINE_ID), а нужно обработать данные с экрана.
как я могу получить всю строку, зная ее номер?
версия системы 4.6C
См. пример CL_EXM_IM_MB_MIGO_BADI
Code:
METHOD if_ex_mb_migo_badi~check_item .

  DATA: ls_extdata TYPE migo_badi_example_screen_field,
        ls_bapiret TYPE bapiret2.

* Refresh return table
  REFRESH: et_bapiret2.
* Read external data
  READ TABLE gt_extdata INTO ls_extdata
       WITH TABLE KEY line_id = i_line_id.
* Check if all entries are done (W-/E-Messages are useful)
  IF ls_extdata-badi_erfmg IS INITIAL.
    ls_bapiret-type       = 'E'.
    ls_bapiret-id         = 'M7'.
    ls_bapiret-number     = '895'.
    ls_bapiret-message_v1 = 'Enter quantity on external screen'(002).
    APPEND ls_bapiret TO et_bapiret2.
  ENDIF.
  IF ls_extdata-badi_erfme IS INITIAL.
    ls_bapiret-type       = 'E'.
    ls_bapiret-id         = 'M7'.
    ls_bapiret-number     = '895'.
    ls_bapiret-message_v1 =
       'Enter unit of measure on external screen'(003).
    APPEND ls_bapiret TO et_bapiret2.
  ENDIF.

ENDMETHOD.                    "IF_EX_MB_MIGO_BADI~CHECK_ITEM

migo


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

Зарегистрирован:
Ср, апр 30 2008, 07:46
Сообщения: 52
Пол: Мужской
забыл отписаться - все получилось, сделал так как предложили, спасибо :)

в line_modify заполняем свою таблицу LT_MYTABLE (атрибут) значением из cs_goitem и ключевым полем line_id, а в check_item делаем проверку нужных полей по ключу line_id.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: работа с OI0_MIGO_BADI
СообщениеДобавлено: Пн, фев 21 2011, 18:35 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, окт 06 2008, 11:22
Сообщения: 56
Я только не понял, а откуда взялся gt_extdata ? Как он определяется, через память?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: работа с OI0_MIGO_BADI
СообщениеДобавлено: Вт, фев 22 2011, 05:52 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Вы пример CL_EXM_IM_MB_MIGO_BADI смотрели? gt_extdata это глобальная переменная(атрибут класса). Заполняется она в методе LINE_MODIFY.


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

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


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

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


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

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