Age: 34 Joined: 12 Dec 2011 Posts: 47 Location: Рязань
Posted: Thu Sep 27, 2012 11:20 am Post subject: Расширения материала на вид оценки при поступлении материала
Добрый день!
Необходимо, при проводке поступления материала(ПМ) через MIGO, автоматически расширять материал на вид оценки(партия).
Создал внедрение MB_CF001, ФМ EXIT_SAPLMBMB_001. Собираю в нем нужные данные и запускаю ФМ обновления в V2 процессе, в котором выполняется запуск BAPI 'BAPI_MATERIAL_SAVEDATA'.
Проблема, материал блокирован.
Предполагаю, что, наверно я не так запускаю ФМ, или же расширение не то выбрал.
Если кто-то делал подобное, подскажите,плиз.
Код инклуда в ФМ EXIT_SAPLMBMB_001.
Code:
CALL FUNCTION 'ZENTC_GETDATA' IN UPDATE TASK
TABLES
tmkpf = xmkpf
tmseg = xmseg
tvm07m = xvm07m.
DATA:
lt_mseg TYPE TABLE OF mseg,
lt_mkpf TYPE TABLE OF mkpf,
lt_vm07m TYPE TABLE OF vm07m,
lv_bwtty TYPE mbew-bwtty,
lv_bklas TYPE mbew-bklas.
DATA:
lw_headdata TYPE bapimathead,
lw_valuationdata TYPE bapi_mbew,
lw_valuationdatax TYPE bapi_mbewx,
lw_return TYPE bapiret2,
lv_memory TYPE I.
FIELD-SYMBOLS:
<fwa_mseg> TYPE mseg,
<fs_xmbew> TYPE ts_xmbew.
MOVE tmkpf[] TO lt_mkpf.
MOVE tmseg[] TO lt_mseg.
MOVE tvm07m[] TO lt_vm07m.
CLEAR gt_xmbew.
LOOP AT lt_mseg ASSIGNING <fwa_mseg> WHERE sobkz = lc_q AND ( bwart = '101' OR bwart = '105' ).
SELECT SINGLE bwtty bklas FROM mbew
INTO (lv_bwtty, lv_bklas)
WHERE matnr = <fwa_mseg>-matnr AND
bwkey = <fwa_mseg>-werks AND
bwtar = space.
IF lv_bwtty = abap_true.
SELECT SINGLE bwtty bklas FROM mbew
INTO (lv_bwtty, lv_bklas)
WHERE matnr = <fwa_mseg>-matnr AND
bwkey = <fwa_mseg>-werks AND
bwtar = <fwa_mseg>-charg.
IF sy-subrc <> 0.
APPEND INITIAL LINE TO gt_xmbew ASSIGNING <fs_xmbew>.
<fs_xmbew>-matnr = <fwa_mseg>-matnr.
<fs_xmbew>-werks = <fwa_mseg>-werks.
<fs_xmbew>-charg = <fwa_mseg>-charg.
<fs_xmbew>-bklas = lv_bklas.
ENDIF.
ENDIF.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM gt_xmbew COMPARING matnr werks.
LOOP AT gt_xmbew ASSIGNING <fs_xmbew>.
lw_headdata-material = <fs_xmbew>-matnr.
Попробуйте выполнить BAPI_MATERIAL_SAVEDATA для одного материала не в бэкграунде. Проверить у функциональщиков, что проблема не в настройках. Посмотреть примеры с гугла, может быть какие-то поля не заполнены
BAPI часто выдают ошибки не касающиеся реальности, а просто из-за того, что поле не так заполнено, или какое-то поле наоборот не заполнено.
Age: 34 Joined: 12 Dec 2011 Posts: 47 Location: Рязань
Posted: Fri Sep 28, 2012 5:01 pm Post subject:
Shvetz wrote:
Попробуйте выполнить BAPI_MATERIAL_SAVEDATA для одного материала не в бэкграунде. Проверить у функциональщиков, что проблема не в настройках. Посмотреть примеры с гугла, может быть какие-то поля не заполнены
BAPI часто выдают ошибки не касающиеся реальности, а просто из-за того, что поле не так заполнено, или какое-то поле наоборот не заполнено.
Естественно, я это уже делал. Расширить материал на вид оценки труда не составляет.
Проблема в блокировках.
Юзал метод RESET в расширении BADI(срабатывает при запуске и при окончании каждой проводки), пытался туда передать необходимые данные через группу функций,полученные в выше указанном расширении EXIT. Но в момент работы RESET данных в группе функций нет. По всей видимости создается новый процесс, и данные их ГФ затираются...
Пробовал так же через память SAP, результат такой же.
Age: 175 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Fri Sep 28, 2012 5:17 pm Post subject:
Делал через промежуточный FM.
1) Из badi стартует ZFM_1 in update task
( ZFM_1 - v2 update module )
2) Внутри ZFM_1 стартует ZFM_2 in background
3) Внтури ZFM_2 сначало ожидает освобождения блокировки через ENQUEUE_READ, потом вызывает bapi и commit work _________________ Молитва - это запрос разработчику на изменение кода программы.
Last edited by vga on Fri Sep 28, 2012 5:20 pm; edited 1 time in total
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.