Текущее время: Ср, июл 09 2025, 00:07

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: MB_MIGO_BADI. Подтягивание данных в режиме просмотра
СообщениеДобавлено: Вт, ноя 10 2009, 10:39 
Специалист
Специалист

Зарегистрирован:
Чт, сен 04 2008, 12:40
Сообщения: 119
Откуда: Пермь
Пол: Мужской
Добавляю поля в тр-ию MIGO с помощью MB_MIGO_BADI. Вводимые данные успешно сохраняются в моей таблице. Но не могу их потом подтянуть при просмотре (Просмотр/документ материала). Как я понял для заголовка на этот случай данные подтягиваются через метод STATUS_AND_HEADER. А вот какой метод использовать в случае позиций? Может быть LINE_MODIFY? Но через него вроде бы выполнение тр-ии не проходит в режиме просмотра. А также это и в примере не реализовано...

_________________
Если долго биться головой об стену, то вскоре в стене появится небольшое отверстие ...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: MB_MIGO_BADI. Подтягивание данных в режиме просмотра
СообщениеДобавлено: Вт, ноя 10 2009, 10:50 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Неверно понимаете.
Для заголовка:
PBO_HEADER
PAI_HEADER
Для позиций:
PBO_DETAIL
PAI_DETAIL


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: MB_MIGO_BADI. Подтягивание данных в режиме просмотра
СообщениеДобавлено: Вт, ноя 10 2009, 14:10 
Специалист
Специалист

Зарегистрирован:
Чт, сен 04 2008, 12:40
Сообщения: 119
Откуда: Пермь
Пол: Мужской
Номер документа материала, год и позиция передаются в параметре CS_GOITEM метода LINE_MODIFY
Каким образом можно вытащить из прозрачной таблицы данные в методах PBO_DETAIL и PAI_DETAIL? Ведь в этих методах нет никаких параметров, которые бы идентифицировали созданный документ маериала.
В хелпе есть слова, что в PAI_DETAIL надо параметр E_FORCE_CHANGE установить в положение 'X'. В этом случае будет запущен метод LINE_MODIFY. Но ничего из этого у меня не вышло..

_________________
Если долго биться головой об стену, то вскоре в стене появится небольшое отверстие ...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: MB_MIGO_BADI. Подтягивание данных в режиме просмотра
СообщениеДобавлено: Вт, ноя 10 2009, 20:37 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
Hexogon написал:
Номер документа материала, год и позиция передаются в параметре CS_GOITEM метода LINE_MODIFY
Каким образом можно вытащить из прозрачной таблицы данные в методах PBO_DETAIL и PAI_DETAIL? Ведь в этих методах нет никаких параметров, которые бы идентифицировали созданный документ маериала.
В хелпе есть слова, что в PAI_DETAIL надо параметр E_FORCE_CHANGE установить в положение 'X'. В этом случае будет запущен метод LINE_MODIFY. Но ничего из этого у меня не вышло..


есть параметр I_LINE_ID который вы и должны заюзать . у вас должна быть заполнена внутренняя табличка с вашей структурой откуда вы и будете тянуть нужную позицию по данному параметру. Советую поглядеть на саповский пример для даного BAdi : класс CL_EXM_IM_MB_MIGO_BADI . :wink:

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: MB_MIGO_BADI. Подтягивание данных в режиме просмотра
СообщениеДобавлено: Ср, ноя 11 2009, 07:22 
Специалист
Специалист

Зарегистрирован:
Чт, сен 04 2008, 12:40
Сообщения: 119
Откуда: Пермь
Пол: Мужской
ghost написал:
Советую поглядеть на саповский пример для даного BAdi : класс CL_EXM_IM_MB_MIGO_BADI . :wink:

Дк ведь для позиций документа это в примере не реализовано. Для заголока данные из прозрачной таблицы подтягиваются успешно. Потому что метод STATUS_AND_HEADER вызывается первым и в нем заполняется таблица со структурой заголовка. А вот для деталей подобную роль играет метод LINE_MODIFY. Но этот метод вызывается только в случае изменения строки. А при просмотре докмента строка не меняется.
По этому поводу нашел ноту. Но еще не успел разобраться.

_________________
Если долго биться головой об стену, то вскоре в стене появится небольшое отверстие ...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: MB_MIGO_BADI. Подтягивание данных в режиме просмотра
СообщениеДобавлено: Ср, ноя 11 2009, 08:14 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
не пойму а что вам мешает в методе STATUS_AND_HEADER заполнять внутреннюю таблицу GT_EXTDATA селектом из таблицы MIGO_BADI_EXAMPL (по примеру если брать) потом которую в PBO_DETAIL и будете использовать. LINE_MODIFY тут вообще не причем. У нас было так сделано .

просто в этом примере показан пример заполнение для заголовка поэтому и стоит следующий селект
Code:
  IF NOT g_no_input IS INITIAL.
    SELECT SINGLE * FROM migo_badi_examp2 INTO gs_exdata_header
       WHERE mblnr = is_gohead-mblnr
       AND   mjahr = is_gohead-mjahr.
  ENDIF.


а в вашем случае там надо его заменить на
Code:
  IF NOT g_no_input IS INITIAL.
    SELECT SINGLE * FROM MIGO_BADI_EXAMPL INTO table GT_EXTDATA
       WHERE mblnr = is_gohead-mblnr
       AND   mjahr = is_gohead-mjahr.
  ENDIF.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: MB_MIGO_BADI. Подтягивание данных в режиме просмотра
СообщениеДобавлено: Ср, ноя 11 2009, 08:32 
Специалист
Специалист

Зарегистрирован:
Чт, сен 04 2008, 12:40
Сообщения: 119
Откуда: Пермь
Пол: Мужской
2 ghost: Спасибо!
Да я начал было так делать, но меня смутило, что ZEILE не заполняется в этом методе. Можно конечно использовать I_LINE_ID , но вот на service.sap.com наткнулся на ноту, в которой описывается проблема отображения документа материала в режиме "Просмотр"
NOTE1136344
Symptom

You use the method LINE_MODIFY of the Business Add-In (BAdI) MB_MIGO_BADI to implement customer-defined functions. This implementation works in the create and display mode, but does not work for the document display.


Solution

For the country solution "India", a standard solution is available as an exception with Note 1079123, to be able to depict legal requirements.
For other countries, you can implement the following source code change as a modification, if required. This ensures that LINE_MODIFY is processed also for the document display.
See Note 170183.

_________________
Если долго биться головой об стену, то вскоре в стене появится небольшое отверстие ...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: MB_MIGO_BADI. Подтягивание данных в режиме просмотра
СообщениеДобавлено: Ср, ноя 11 2009, 08:40 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
насчет ZEILE че то не понял поуему у вас не заполняется а вот LINE_ID согласен оно не заполняется . У нас так делали
Code:
  IF NOT g_no_input IS INITIAL.
    SELECT * FROM zmigo_badi_pos INTO corresponding fields of table GT_EXTDATA
       WHERE mblnr = is_gohead-mblnr
       AND   mjahr = is_gohead-mjahr.
    FIELD-SYMBOLS: <GT_EXTDATA> type ZMIGO_BADI_SCR.
    LOOP AT GT_EXTDATA assigning <GT_EXTDATA>.
      <GT_EXTDATA>-LINE_ID = sy-tabix.
    ENDLOOP.
  ENDIF.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: MB_MIGO_BADI. Подтягивание данных в режиме просмотра
СообщениеДобавлено: Ср, ноя 11 2009, 09:27 
Специалист
Специалист

Зарегистрирован:
Чт, сен 04 2008, 12:40
Сообщения: 119
Откуда: Пермь
Пол: Мужской
Вот как в итоге сделал я.
У нас стоит версия компонента логистика и учет и отчетность SAP_APPL 500 .
На service.sap.com нарыл ноту NOTE1136344. В этой ноте есть ссылка на ноту NOTE1079123. В последней ноте есть Corrections Instructions для разных версий компонента SAP_APPL .
В моем случае код, который приведен в ноте, уже был внесен в систему. Мне осталось только немного модифицировать код в соответствии с первой нотой NOTE1136344 в программе LMIGOKL3 :

Code:
CALL FUNCTION 'J_1BSA_COMPONENT_ACTIVE'
  EXPORTING
    BUKRS                      = cs_goitem-bukrs_for_stock
*{   REPLACE        BUGK915509                                        1
*\    COMPONENT                  = 'IN'
    COMPONENT                  = 'RU'
*}   REPLACE
EXCEPTIONS
   COMPONENT_NOT_ACTIVE       = 1
   OTHERS                     = 2 .

После этой правки метод LINE_MODIFY вызывается перед методом PBO_DETAIL. Таким образом внутренняя таблица gt_extdata оказывается заполненной. Теперь не только в моей разработке пдтягиваются поля, но и в примере внедрения.
Тем не менее, спасибо Ghost, за его "хитрый" код ))

_________________
Если долго биться головой об стену, то вскоре в стене появится небольшое отверстие ...


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

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


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

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


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

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