Текущее время: Пн, июл 14 2025, 13:57

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


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

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


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

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