Всем здрасте!
Когда я вручную создаю заказ на перещение (тр. me21n) выходит ошибка "Введите вид оценки", я ставлю галку "ПМ по ОМ" и все ок - создается, а когда через BAPI - BAPI_PO_CREATE1, создают с теми же параметрами как при ручном создании, то выдает такую же ошибку, хотя признак "ПМ по ОМ" проставлен. Куда смотреть? Кто сталкивался? Кусок кода
Code:
IF p_mezhf = 'X'.
gs_poheader-doc_type = 'UB'. " Вид документа EKKO-BSART
ELSEIF p_preten = 'X'.
gs_poheader-doc_type = 'ZUB'. " Вид документа EKKO-BSART
ENDIF.
gs_poheader-suppl_plnt = p_werks3. " Завод-Поставщик EKKO-RESWK
gs_poheader-purch_org = p_ekorg2. " Закупочная организация EKKO-EKORG
gs_poheader-pur_group = p_ekgrp2. " Группа закупок EKKO–EKGRP
gs_poheader-comp_code = p_bukrs2. " Балансовая единица EKKO-BUKRS
gs_poheaderx-doc_type = 'X'.
gs_poheaderx-suppl_plnt = 'X'.
gs_poheaderx-purch_org = 'X'.
gs_poheaderx-pur_group = 'X'.
gs_poheaderx-comp_code = 'X'.
DELETE gt_perem WHERE matnr = ''.
" 2. Заполнение позиций
LOOP AT gt_perem INTO gs_perem.
gv_tabix = sy-tabix.
gs_perem-ebelp = gv_tabix * 10.
gs_poitem-po_item = gv_tabix * 10.
IF p_posid IS INITIAL.
gs_poitem-acctasscat = ''. " Тип контировки EKPO-KNTTP
gs_poaccount-po_item = gv_tabix * 10.
gs_poaccountx-po_item = gv_tabix * 10.
ELSE.
gs_poitem-acctasscat = 'Q'. " Тип контировки EKPO-KNTTP
gs_poaccount-po_item = gv_tabix * 10.
gs_poaccount-wbs_element = p_posid. " СПП-элемент EKKN-PS_PSP_PNR
gs_poaccountx-po_item = gv_tabix * 10.
gs_poaccountx-wbs_element = 'X'.
ENDIF.
gs_poitem-material = gs_perem-matnr. " Материал EKPO-MATNR
gs_poitem-quantity = gs_perem-menge. " Количество EKPO-MENGE
gs_poitem-gr_ind = 'X'. " ПМ по ОМ EKPO-WABWE
gs_poitemx-po_item = gv_tabix * 10.
gs_poitemx-acctasscat = 'X'.
gs_poitemx-material = 'X'.
gs_poitemx-quantity = 'X'.
gs_poitemx-gr_ind = 'X'.
MODIFY gt_perem from gs_perem INDEX gv_tabix.
APPEND gs_poaccount TO gt_poaccount.
APPEND gs_poaccountx TO gt_poaccountx.
APPEND gs_poitem TO gt_poitem.
APPEND gs_poitemx TO gt_poitemx.
CLEAR: gs_poaccount, gs_poaccountx, gs_poitem, gs_poitemx.
ENDLOOP.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
POHEADER = GS_POHEADER
POHEADERX = GS_POHEADERX
TABLES
RETURN = GT_RETURN
POITEM = GT_POITEM
POITEMX = GT_POITEMX
POACCOUNT = GT_POACCOUNT
POACCOUNTX = GT_POACCOUNTX
POCONDHEADER = GT_POCONDHEADER
POCONDHEADERX = GT_POCONDHEADERX
POCOND = GT_POCOND
POCONDX = GT_POCONDX
POPARTNER = GT_POPARTNER. " STRUCTURE BAPIEKKOP OPTIONAL.
P.S. Если программно задавать Вид оценки и не задавать индикатор "ПМ по ОМ", то заказ создается.