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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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