ME31K BAPI problem
Hi,
I am using BAPI "BAPI_AGREEMENT_MAINTAIN" for creating contract ME31K. But i am getting an error while processing this. The error is
Field EKPO-APOMS. does not exist in the screen SAPMM06E 0212
Please give some suggestions how to avoid this.
Thanks
aRs
See OSS note -- 434281
Liam
I'm using the BAPI too. Though message tells me that
"Scheduling agreement 5500000001 changed"
and I'm using BAPI_TRANSACTION_COMMIT the planned delivery time (EKPO_PLIFZ) wasn't changed...
Please tell me what's missing...
*---------------------------------------------------------------------*
* FORM update_lieferplan *
*---------------------------------------------------------------------*
FORM update_lieferplan.
CLEAR: wa_im_agreement_header,
wa_im_agreement_header_x,
wa_imt_agreement_items,
wa_imt_agreement_items_x,
wa_ext_return,
wa_ekko,
wa_ekpo,
wa_ekbeleg,
it_ext_return,
it_imt_agreement_items,
it_imt_agreement_items_x,
it_ekko,
it_ekpo.
REFRESH: it_ext_return,
it_imt_agreement_items,
it_imt_agreement_items_x,
it_ekko,
it_ekpo.
SELECT b~ebeln b~ebelp b~loekz b~matnr
a~lifnr a~bstyp a~ekorg a~kdatb a~kdate
FROM ekko AS a
INNER JOIN ekpo AS b
ON a~ebeln EQ b~ebeln
INTO CORRESPONDING FIELDS OF TABLE it_ekbeleg
WHERE a~ekorg EQ wa_info-ekorg
AND a~kdatb LE sy-datum
AND a~kdate GE sy-datum
AND a~lifnr EQ wa_info-lifnr
AND a~bstyp EQ 'L'
AND b~loekz EQ space
AND b~matnr EQ wa_info-matnr
AND b~infnr EQ wa_info-infnr
AND b~pstyp EQ l_esokz.
* Doppelte Bestellungen löschen
DELETE ADJACENT DUPLICATES FROM it_ekbeleg COMPARING ebeln.
* Alle Kontrakte ändern
LOOP AT it_ekbeleg INTO wa_ekbeleg.
* Daten aus Bestellungen zulesen
SELECT SINGLE * FROM ekko INTO CORRESPONDING FIELDS OF wa_ekko
WHERE ebeln EQ wa_ekbeleg-ebeln.
SELECT * FROM ekpo INTO CORRESPONDING FIELDS OF TABLE it_ekpo
WHERE ebeln EQ wa_ekbeleg-ebeln
AND matnr EQ wa_info-matnr
AND loekz EQ space
AND pstyp EQ l_esokz.
* Daten für Funktionsbaustein übergeben.
wa_im_agreement_header-agmt_no = wa_ekko-ebeln.
wa_im_agreement_header-doc_cat = wa_ekko-bstyp.
wa_im_agreement_header-comp_code = wa_ekko-bukrs.
wa_im_agreement_header-doc_type = wa_ekko-bsart.
wa_im_agreement_header-currency = wa_ekko-waers.
wa_im_agreement_header_x-agmt_no = 'X'.
LOOP AT it_ekpo INTO wa_ekpo.
wa_imt_agreement_items-agrmt_item = wa_ekpo-ebelp.
wa_imt_agreement_items-plan_del = wa_info-aplfz.
APPEND wa_imt_agreement_items TO it_imt_agreement_items.
wa_imt_agreement_items_x-agrmt_item = wa_ekpo-ebelp.
wa_imt_agreement_items_x-plan_del = 'X'.
APPEND wa_imt_agreement_items_x TO it_imt_agreement_items_x.
ENDLOOP.
* Kontrakt ändern
CALL FUNCTION 'BAPI_AGREEMENT_MAINTAIN'
EXPORTING
im_agreement_header = wa_im_agreement_header
im_agreement_header_x = wa_im_agreement_header_x
TABLES
ext_return = it_ext_return
imt_agreement_items = it_imt_agreement_items
imt_agreement_items_x = it_imt_agreement_items_x.
IF sy-subrc EQ 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ELSE.
l_fehler = 1.
ENDIF.
LOOP AT it_ext_return INTO wa_ext_return.
CLEAR wa_g_error.
wa_g_error-arbgb = wa_ext_return-id.
wa_g_error-msgty = wa_ext_return-type.
wa_g_error-msgno = wa_ext_return-number.
wa_g_error-msgv1 = wa_ext_return-message_v1.
wa_g_error-msgv2 = wa_ext_return-message_v2.
wa_g_error-msgv3 = wa_ext_return-message_v3.
wa_g_error-msgv4 = wa_ext_return-message_v4.
APPEND wa_g_error TO it_g_error.
ENDLOOP.
ENDLOOP.
ENDFORM.
_________________
Juergen Limbach
I need info how use BAPI BAPI_AGREEMENT_MANTAIN. I call from Visual Basic.
thank