SAPфорум.RU
https://www.sapboard.ru/forum/

XSAUT в MB_CREATE_GOODS_MOVEMENT
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=100394
Страница 1 из 1

Автор:  proga19 [ Пт, сен 01 2023, 08:57 ]
Заголовок сообщения:  XSAUT в MB_CREATE_GOODS_MOVEMENT

Добрый день!
Пытаюсь сделать 101 в.д программно с помощью MB_CREATE_GOODS_MOVEMENT для материала, учет которого ведется серийными номерами.
Приход через диалог MIGO создается, все работает (проблем в материале или профиле нет).

В позиции ставлю параметр XSAUT, но возникает ошибка вида IO304 "введено 0 серийных номеров из 1".

Рылся в этом бапи, но нигде на нашел, чтобы внутри создавались серийные номера, если включен этот параметр.

Автор:  DED_MOROZ [ Пт, сен 01 2023, 15:42 ]
Заголовок сообщения:  Re: XSAUT в MB_CREATE_GOODS_MOVEMENT

Чем BAPI_GOODSMVT_CREATE не устраивает?
Почему используешь этот MB_CREATE_GOODS_MOVEMENT?
Если использовать этот ФМ то СН надо к документу цеплять отдельным ФМ-ом: SERNR_ADD_TO_DOCUMENT.

Автор:  proga19 [ Пн, сен 04 2023, 08:42 ]
Заголовок сообщения:  Re: XSAUT в MB_CREATE_GOODS_MOVEMENT

1. ПО уже написано на старом фм - переписывать его задачи нет не данный момент.
2. Добавил вызов SERNR_ADD_TO_DOCUMENT перед вызовом MB_CREATE_GOODS_MOVEMENT. Ошибка всё та же.
3. При вызове BAPI_GOODSMVT_CREATE возникает ошибка вида "Движение материала с видом движения 101 невозможно"


Внутри вижу, что заполнилась таблица SER03, но СН лежи без привязки к документу материала.


CALL FUNCTION 'SERNR_ADD_TO_DOCUMENT'
EXPORTING
OPERATION = 'MMSL'
OBJKOPF = 'SER03'
SERXX = SERXX
PROFILE = MARC-SERNP
MATERIAL = ZZMATNR
QUANTITY = QAN
AUTOMATIC = 'X'
BUDAT = DATA_PR
TABLES
SERNR = SERNR
R_SERNR = R_SERNR.

Автор:  DED_MOROZ [ Вт, сен 05 2023, 11:55 ]
Заголовок сообщения:  Re: XSAUT в MB_CREATE_GOODS_MOVEMENT

3) Ну, видимо, криво данные заполняешь. Не все поля заполнены, например.
2) ФМ 'SERNR_ADD_TO_DOCUMENT' нужно вызывать ПОСЛЕ создания ДМ и номер сформированого ДМ в том числе подавать в этот ФМ,
нужен ли при этом COMMIT Не помню, вроде нет.
Проверить можно в MIGO, там вызывается этот же ФМ.

Автор:  proga19 [ Пн, сен 25 2023, 14:41 ]
Заголовок сообщения:  Re: XSAUT в MB_CREATE_GOODS_MOVEMENT

А как быть с тем, что во время выполнения проводки сначала возникает ошибка "осуществите ведение серийных номеров для всего кол-ва", а уже потом только вызывать SERNR_ADD_TO_DOCUMENT..... как то странно....
C помощью BAPI_GOODSMVT_CREATE получилось создать проводку, но там другая проблема - там нужно ставить крыж NDR = 'X' для каждого юзера, при том, что в MB_CREATE_GOODS_MOVEMENT печать ставится тривиально без настроек в SU3.


Хотелось бы добиться результата с помощью старого ФМ.
Делаю так: но не получается.

CALL FUNCTION 'MB_CREATE_GOODS_MOVEMENT'
EXPORTING
CTCOD = 'MIGO'
IMKPF = LS_IMKPF
XALLP = 'X'
XALLR = 'X'
XALLB = 'X'
IMPORTING
EMKPF = LS_EMKPF
ES_MKPF = LS_XMKPF
TABLES
EMSEG = LT_EMSEG
IMSEG = LT_IMSEG
ET_MSEG = LT_XMSEG.

CALL FUNCTION 'MB_POST_GOODS_MOVEMENT'
IMPORTING
EMKPF = LS_EMKPF.

SERXX-MBLNR = LS_EMKPF-MBLNR.
SERXX-ZEILE = '10'.

CALL FUNCTION 'SERNR_ADD_TO_DOCUMENT'
EXPORTING
OPERATION = 'MMSL'
OBJKOPF = 'SER03'
SERXX = SERXX
PROFILE = MARC-SERNP
MATERIAL = ZZMATNR
QUANTITY = QAN
AUTOMATIC = 'X'
BUDAT = DATA_PR
TABLES
SERNR = SERNR
R_SERNR = R_SERNR.

commit work.

Автор:  DED_MOROZ [ Пн, сен 25 2023, 21:22 ]
Заголовок сообщения:  Re: XSAUT в MB_CREATE_GOODS_MOVEMENT

Сделай в профиле серийного номера ведение сн не обязательным, тогда ошибки быть на должно.

Автор:  proga19 [ Пт, сен 29 2023, 09:13 ]
Заголовок сообщения:  Re: XSAUT в MB_CREATE_GOODS_MOVEMENT

Не помогло.

Проводка создается, но серийные номера не прицепляются к ней.

Причем про этот SERNR_ADD_TO_DOCUMENT в интернете очень мало инфы.

Автор:  Удав [ Пт, окт 06 2023, 23:30 ]
Заголовок сообщения:  Re: XSAUT в MB_CREATE_GOODS_MOVEMENT

proga19 написал:
Не помогло.

Проводка создается, но серийные номера не прицепляются к ней.

Причем про этот SERNR_ADD_TO_DOCUMENT в интернете очень мало инфы.

Есть исходный код и возможность отладки.

Автор:  DED_MOROZ [ Вт, окт 17 2023, 15:54 ]
Заголовок сообщения:  Re: XSAUT в MB_CREATE_GOODS_MOVEMENT

Берешь проводишь документ материала, без разница каким ФМ или транзакцией.
Потом начинаешь колдовать, чтобы повесить СН к документу материала с помощью ФМ SERNR_ADD_TO_DOCUMENT.
Я когда-то делал так.
Правда не со 101 вдм, а с 251.

При проводке документа в MIGO стандарт так же работает.
UPD.
После вызова SERNR_ADD_TO_DOCUMENT еще выполняй вызов ФМ SERIAL_LISTE_POST_MM.

Я так заполнял поля в SERNR_ADD_TO_DOCUMENT для каждой строки ДМ(но лучше это посмотреть для твоего ДМ в MIGO):
OPERATION = 'MMSL'
OBJKOPF = 'SER03'
PROFILE = MARC – SERNP для MATNR = mseg-matnr, werks = mseg-werks
J_VORGANG = T156S-VRGNG для BWART = mseg-bwart, bustw = mseg-BUSTW, wertu = mseg-WERTU, mengu = mseg-MENGU
MATERIAL = mseg-matnr
QUANTITY = mseg-menge
SERXX-MBLNR = mseg-MBLNR
SERXX-MJAHR = mseg-MJAHR
SERXX-ZEILE = mseg-ZEILE
SERXX-BWART = mseg-bwart
SERXX-BLART = mkpf-blart
SERXX-SHKZG = mseg-shkzg
SERXX-WERK = mseg-werks
SERXX-LAGEPORT = mseg-LGORT
BSTCH-B_RELEF = ‘X”
BSTCH-LBBSA = ‘01’
BSTCH-B_WERK = mseg-werks
BSTCH-B_LAGER = mseg-lgort
BSTUP-B_RELEV = ‘X’
SERNR = SERNR (таблица серийных номеров)

Автор:  proga19 [ Вт, ноя 07 2023, 14:46 ]
Заголовок сообщения:  Re: XSAUT в MB_CREATE_GOODS_MOVEMENT

Благодарю!
Попробую!

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/