Текущее время: Чт, мар 28 2024, 14:21

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


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


Вопросы по ППМ (MRP) - сюда.
Вопросы по классификации - сюда.
Вопросы по входящим поставкам - сюда.



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Проверка серийного номера в MIGO
СообщениеДобавлено: Пн, мар 06 2017, 17:22 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
Добрый день всем.

Подскажите пож-та, можно ли как-то в MB_MIGO_BADI~CHECK_ITEM (при проводке MIGO), получить доступ к серийным номерам по каждой позиции (и затем выдать определенное сообщение)?

Пробовал в MB_CHECK_LINE_BADI, используя ASSIGN ('(SAPLMIGO)OREF_DETAIL->T_GOSERIAL') TO <x_goserial>.
Но в <x_goserial> попадает информация из одной-единственной строки. Да еще и не срабатывает для загрузки из временно сохраненного документа.

Или может быть другой какой-нибудь BADI, экзит можно использовать?

_________________
Eritis sicut Deus, scientes bonum et malum...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка серийного номера в MIGO
СообщениеДобавлено: Пн, мар 06 2017, 19:05 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1578
Откуда: Москва, Минск
Пол: Мужской
Попробуй в MB_CHECK_LINE_BADI через филд-символы:
(SAPLIPW1)XSER03[] - строки ДМ
(SAPLIPW1)XOBJK_ALL[] - СН
Связь таблиц по OBKNR.

Экзит отрабатывает поочередно для каждой строки создаваемого ДМ(и при нажатии кнопки Проверить и при проводке документа).
При обработке последней строки создаваемого документа в указанных выше таблицах будут ВСЕ СН.

Только осталось понять какая строка последняя :)

Ну или как вариант вставлять ENH(или новый или искать существующий) в ФМ MB_CREATE_GOODS_MOVEMENT.
Строки ДМ - таблица imseg[]
Таблицы с СН - выше.

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка серийного номера в MIGO
СообщениеДобавлено: Пн, мар 06 2017, 22:27 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, сен 20 2012, 12:08
Сообщения: 77
Цитата:
Подскажите пож-та, можно ли как-то в MB_MIGO_BADI~CHECK_ITEM (при проводке MIGO), получить доступ к серийным номерам по каждой позиции (и затем выдать определенное сообщение)?


CHECK_ITEM работает по каждой позиции. Так можно получить все серийники для текущей проверяемой позиции и выдать на эту строчку сообщение. Этим же 'LINE_GET' можно достучаться до других строк, ну или вызвать его в цикле при проверке заголовка.

Code:
method if_ex_mb_migo_badi~check_item.

  types:
     begin of ty_s_goserial,
       selected         type xfeld,
       serialno         type gernr,
       uii              type uii_char72,           
       subrk            type xfeld,                   
     end of ty_s_goserial,
     ty_t_goserial      type standard table of ty_s_goserial with
                                              non-unique default key.

  data: oref_kernel     type ref to object,
        wa_return       type bapiret2,
        l_goitem        type goitem,
        lt_goserial     type ty_t_goserial,
        wa_goserial     like line of lt_goserial.

  data:
        l_status        type c,
        l_message       type string.

  field-symbols:
                 <oref_kernel>        type any,
                 <fs_action>          type any,
                 <ft_goserial>        type any table.

  assign ('(SAPLMIGO)LCL_MIGO_GLOBALS=>KERNEL') to  <oref_kernel>.
  check sy-subrc = 0.

  oref_kernel = <oref_kernel>.

*   Определение позиции
  clear l_index.
  call method oref_kernel->('LINE_MAPPING')
    exporting
      i_global_counter = i_line_id
    importing
      e_line           = l_index
    exceptions
      others           = 1.

  if sy-subrc <> 0.
    clear wa_return.
    wa_return-type        = 'E'.
    append wa_return      to et_bapiret2.
    exit.
  endif.

*   Получение подробных данных строки
  clear: l_goitem, lt_goserial.
  call method oref_kernel->('LINE_GET')
    exporting
      i_line             = l_index
      i_dependent_tables = abap_true
    importing
      et_goserial        = lt_goserial
      es_goitem          = l_goitem.

endmethod.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка серийного номера в MIGO
СообщениеДобавлено: Вт, мар 07 2017, 08:23 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
Спасибо за ответы!
LOEKZ, и вчера как раз нашел подобный вашему код
https://archive.sap.com/discussions/thread/1221079
разбираюсь
еще раз спасибо!

_________________
Eritis sicut Deus, scientes bonum et malum...


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

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


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

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


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

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