Текущее время: Пт, июл 18 2025, 10:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Создание материала(резервирование) в migo BAPI_GOODSMVT_CREATE
СообщениеДобавлено: Пт, июл 13 2012, 07:44 
Начинающий
Начинающий

Зарегистрирован:
Чт, июл 12 2012, 13:32
Сообщения: 6
При резервировании в тр-ции MIGO в методе IF_EX_MB_DOCUMENT_UPDATE вызываю zФМ, где дальше создаю материал для резервирования при помощи BAPI_GOODSMVT_CREATE.
Return выдает след-ее сообщение
Цитата:
Партия GPZ..... материала 26......... уже блокирована пользователем XXXXX.


Предположил, что материал уже блокируется тр-цией migo. И не дает мне его использовать при резервировании моим BAPI_GOODSMVT_CREATE. Быстрое решение это разблокировать самому, но это считаю не правильно.

мой код

Цитата:

* создаем движение

READ TABLE xmseg INTO lt_xmseg INDEX 1.
READ TABLE xmkpf INTO lt_xmkpf INDEX 1.

* заполняем заголовок
DATA ls_header TYPE bapi2017_gm_head_01.
CLEAR ls_header.

ls_header-pstng_date = lt_xmkpf-budat.
ls_header-doc_date = lt_xmkpf-bldat.
ls_header-pr_uname = syst-uname.
ls_header-header_txt = lt_xmkpf-bktxt.

* заполняем позиции
DATA lt_items TYPE TABLE OF bapi2017_gm_item_create.
DATA counter LIKE lt_mseg-zeile.
DATA ls_items LIKE LINE OF lt_items.

* FIELD-SYMBOLS <items> LIKE LINE OF lt_items.
"APPEND INITIAL LINE TO lt_items ASSIGNING <items>.

CLEAR: counter.
CLEAR: lt_items.

LOOP at xmseg INTO lt_xmseg.
counter = counter + 1.
ls_items-material = lt_xmseg-matnr.
ls_items-plant = '1051'.
ls_items-stge_loc = lt_xmseg-lgort.
ls_items-val_type = lt_xmseg-bwtar.
ls_items-batch = lt_xmseg-charg.
ls_items-entry_qnt = lt_xmseg-erfmg.
ls_items-entry_uom = lt_xmseg-erfme.
ls_items-amount_lc = lt_xmseg-dmbtr.

DATA l_zz_mblnr type mseg-zz_mblnr.
"проверяем если уже существует с такими параметрами то вид движения 909
IF lt_xmseg-smbln IS INITIAL.
ls_items-move_type = '909'.
ELSE.
CLEAR: l_zz_mblnr.
SELECT SINGLE zz_mblnr FROM mseg
INTO l_zz_mblnr
WHERE mblnr = lt_xmseg-smbln AND
mjahr = lt_xmseg-sjahr AND
zeile = lt_xmseg-smblp.
CHECK NOT l_zz_mblnr IS INITIAL.
ls_items-move_type = '910'.
ENDIF.

APPEND ls_items to lt_items.
CLEAR ls_items.

" добавляем значения в лок-ю таблицу
lt_zeile-zeile = lt_xmseg-zeile.
lt_zeile-zz_mblpo = counter.
APPEND lt_zeile.


SET UPDATE TASK LOCAL.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = ls_header
goodsmvt_code = '05'
IMPORTING
materialdocument = lt_xmseg-zz_mblnr
matdocumentyear = lt_xmseg-zz_mjahr
TABLES
goodsmvt_item = lt_items
" EXTENSIONIN = lt_extensionin "заполняем z поля
return = gt_return.

*если нет ошибок то commit
IF gt_return[] IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = l_return.




Подскажите в каком месте необходимо создавать материал резервирования ?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание материала(резервирование) в migo BAPI_GOODSMVT_CREATE
СообщениеДобавлено: Пт, июл 13 2012, 08:37 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Создавать ранее, до вызова MIGO


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание материала(резервирование) в migo BAPI_GOODSMVT_CREATE  Тема решена
СообщениеДобавлено: Пт, июл 13 2012, 08:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Поищите по словам "IN BACKGROUND TASK"+"MIGO".

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание материала(резервирование) в migo BAPI_GOODSMVT_CREATE
СообщениеДобавлено: Вт, июл 24 2012, 15:34 
Начинающий
Начинающий

Зарегистрирован:
Чт, июл 12 2012, 13:32
Сообщения: 6
Решилось!!! документ ЗАБАЛАНС создается.
Просто запутался со всякими update task и background-ми
В данной бадишке
Цитата:
IF_EX_MB_DOCUMENT_BADI~MB_DOCUMENT_BEFORE_UPDATE
идет проверка по входным параметрам материалам в mseg
и далее вызываем свой ФМ
Цитата:
CALL FUNCTION 'Z_XXXX' IN BACKGROUND TASK
в которой вызываем
Цитата:
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
без COMMITA


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

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


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

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


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

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