Sapforum.Biz
Логистика => Управление материальными потоками (MM) => Тема начата: helenakai от Сентябрь 09, 2013, 04:05:42 pm
-
Добрый день!
В тр. migo создала новую вкладку Инвентарный номер. Если делаю 261 вдв вручную, то инвентарный номер сохраняется, если через BAPI_GOODSVMT_CREATE прописав структуру и поле в таблице EXTENSIONIN , то не сохраняется. Подскажите, что я делаю не так?
-
прописав структуру и поле в таблице EXTENSIONIN , то не сохраняется. Подскажите, что я делаю не так?
Вкладку в позиции документа добавляли или заголовок? Таблицу свою использовали для хранения инвентарного номера или стандартную расширили?
-
Вкладку сделала для позиций документа, расширила таблицу mseg append структурой.
-
Вкладку сделала для позиций документа, расширила таблицу mseg append структурой.
Код таким образом добавляли: http://sapforum.biz/index.php?topic=604.0 (описание правил заполнения структуры)
-
мой код
wa_extensionin-structure = 'ZINV'.
wa_extensionin-valuepart1 = wa_zayvka-invno.
APPEND wa_extensionin to t_extensionin .
-
разобралась...нашла стурктуры бапи для mseg, но инвентарный номер не сохранился... Подскажите, пожалуйста, чего еще не хватает?
wa_bapi_te_msego1-zinvno = wa_zayvka-invno.
wa_extensionin-structure = 'BAPI_TE_MSEGO1'.
wa_extensionin+30 = wa_bapi_te_msego1.
APPEND wa_extensionin TO t_extensionin.
wa_bapi_te_msego1_char-zinvno = 'X'.
wa_extensionin-structure = 'BAPI_TE_MSEGO1_CHAR'.
wa_extensionin+30 = wa_bapi_te_msego1_char.
APPEND wa_extensionin TO t_extensionin.
-
разобралась...нашла стурктуры бапи для mseg, но инвентарный номер не сохранился... Подскажите, пожалуйста, чего еще не хватает?
Да не хватает самого главного, собственно говоря, сохранялки этого дела. А именно нужна реализация BADI:
MB_BAPI_GOODSMVT_CREATE которая вызывается потом следующим образом:
call badi lo_mb_bapi_goodsmvt_create->extensionin_to_matdoc
EXPORTING
EXTENSION_IN = EXTENSIONIN[]
CHANGING
CS_IMKPF = S_IMKPF
CT_IMSEG = T_IMSEG[]
CT_RETURN = return.
т.е. на входе ваша таблица EXTENSIONIN[], а на выходе, если поля добавлены в собственные таблицы, то вы их должны записать сами, а если поля добавлены в стандартные таблицы MKPF/MSEG, тогда вы должны из таблицы EXTENSIONIN[] перенести нужные поля в S_IMKPF и T_IMSEG[] соответственно, после чего сохранение будет работать.
PS: Да кстати, имя структуры можете использовать какое хотите, главное потом правильно это все обработайте в BADI
-
Для 261 вдв я использую ФМ BAPI_GOODSMVT_CREATE, а в нем уже есть вызов badi
call badi lo_mb_bapi_goodsmvt_create->extensionin_to_matdoc
EXPORTING
EXTENSION_IN = EXTENSIONIN[]
CHANGING
CS_IMKPF = S_IMKPF
CT_IMSEG = T_IMSEG[]
CT_RETURN = return.
Теперь нужно активировать бади MB_BAPI_GOODSMVT_CREATE, т.е. создать внедрение или что-то другое?
-
Теперь нужно активировать бади MB_BAPI_GOODSMVT_CREATE, т.е. создать внедрение или что-то другое?
Ну да, создать внедрение, которое разложит структуру EXTENSIONIN[] в поля стандартных таблиц или свои таблицы.
-
Пытаюсь создать внедрение через тр. se19, не нахожу MB_BAPI_GOODSMVT_CREATE, или нужно идти через тр. se18(просит ключ разработчика)?
-
Пытаюсь создать внедрение через тр. se19, не нахожу MB_BAPI_GOODSMVT_CREATE, или нужно идти через тр. se18(просит ключ разработчика)?
Нет конечно, дело в том, что этот класс реализации включен в объект расширения MB_GOODSMOVEMENT, который включает в себя ряд вспомогательных классов, думаю из рисунка поймете что надо создавать и как.
-
К сожалению сама никогда не создавала badi, не подскажите где можно посмотреть подробное описание его создания.
-
К сожалению сама никогда не создавала badi, не подскажите где можно посмотреть подробное описание его создания.
Ну наверное можно почитать для начала тут: http://sapforum.biz/index.php/topic,375.msg7493.html#msg7493, но когда будете создавать само расширение нужно будет выбрать правильный класс как на рисунке выше в этой теме.
-
Спасибо :)...У меня все получилось.