Skip to Content
0
Former Member
Feb 21, 2011 at 05:05 AM

Problems in the EXTENSIONIN Parameter of BAPI_PO_CREATE1

697 Views

Hello Experts,

I have a cfeild in the table EKKO and want to fill it.

I have try it over the EXTENSIONIN Parameter of BAPI_PO_CREATE1, but it doesn't work.

The strucurtes BAPI_TE_MEPOHEADER and BAPI_TE_MEPOHEADERX has also the required customerfields included

Some Ideas? why it doesn'works ?

Thanx in Advance

REPORT Z_BAPI_PO_CREATE1.

DATA: LS_POHEADER TYPE TABLE OF BAPIMEPOHEADER WITH HEADER LINE .

DATA: LS_POHEADERX TYPE TABLE OF BAPIMEPOHEADERX WITH HEADER LINE.

DATA: LT_RETURN type TABLE OF BAPIRET2.

DATA: LT_POITEM TYPE TABLE OF BAPIMEPOITEM WITH HEADER LINE.

DATA: LT_POITEMX type TABLE OF BAPIMEPOITEMX WITH HEADER LINE .

DATA: LT_ACCOUNT type TABLE OF BAPIMEPOACCOUNT WITH HEADER LINE .

DATA: LT_ACCOUNTX TYPE TABLE OF BAPIMEPOACCOUNTX WITH HEADER LINE .

DATA: LT_ADDRDELIV type BAPIMEPOADDRDELIVERY .

*********************Setze HEADER**************************

LS_POHEADER-DOC_TYPE = 'Z028'.

LS_POHEADER-CREAT_DATE = '01032006'.

LS_POHEADER-ITEM_INTVL = '00001'.

*LS_POHEADER-VENDOR = '0021000000'.

LS_POHEADER-SUPPL_PLNT = '4700' .

LS_POHEADER-PURCH_ORG = '2700' .

LS_POHEADER-PUR_GROUP = '701' .

LS_POHEADER-CURRENCY = 'EUR' .

APPEND LS_POHEADER .

*********************Setze HEADERX**************************

LS_POHEADERX-DOC_TYPE = 'X' .

LS_POHEADERX-CREAT_DATE = 'X' .

LS_POHEADERX-ITEM_INTVL = 'X' .

LS_POHEADERX-SUPPL_PLNT = 'X' .

*LS_POHEADERX-VENDOR = 'X' .

LS_POHEADERX-PURCH_ORG = 'X' .

LS_POHEADERX-PUR_GROUP = 'X' .

LS_POHEADERX-CURRENCY = 'X' .

APPEND LS_POHEADERX .

*********************Setze ITEMS**************************

LT_POITEM-PO_ITEM = '00001' .

LT_POITEM-MATERIAL = '023JK513' .

LT_POITEM-PLANT = '4700' .

LT_POITEM-STGE_LOC = '7001' .

LT_POITEM-QUANTITY = '1' .

LT_POITEM-PO_UNIT = 'PC' .

LT_POITEM-ACCTASSCAT = 'K' .

LT_POITEM-PERIOD_IND_EXPIRATION_DATE = 'D' .

APPEND LT_POITEM .

*********************Setze ITEMSX**************************

LT_POITEMX-PO_ITEM = '00001' .

LT_POITEMX-PO_ITEMX = 'X' .

LT_POITEMX-MATERIAL = 'X' .

LT_POITEMX-PLANT = 'X' .

LT_POITEMX-STGE_LOC = 'X' .

LT_POITEMX-QUANTITY = 'X' .

LT_POITEMX-PO_UNIT = 'X' .

LT_POITEMX-PERIOD_IND_EXPIRATION_DATE = 'X' .

LT_POITEMX-ACCTASSCAT = 'X' .

APPEND LT_POITEMX .

*********************Setze ACCOUNTPARAMETER**************************

LT_ACCOUNT-COSTCENTER = '1301000001' .

LT_ACCOUNT-PO_ITEM = '00001' .

APPEND LT_ACCOUNT .

LT_ACCOUNTX-COSTCENTER = 'X' .

LT_ACCOUNTX-PO_ITEM = '00001' .

APPEND LT_ACCOUNTX .

DATA: ls_bapi_te_po_header type BAPI_TE_MEPOHEADER,

ls_bapi_te_po_headerx type BAPI_TE_MEPOHEADERX,

ls_bapi_extension type BAPIPAREX,

it_bapi_extension type table of BAPIPAREX WITH HEADER LINE.

********************Setze EXTENSIONIN**************************

ls_bapi_extension-structure = 'BAPI_TE_MEPOHEADER' .

*ls_bapi_te_po_header-po_number = '' .

ls_bapi_te_po_header-cfield = '8204' .

ls_bapi_extension-valuepart1 = ls_bapi_te_po_header .

append ls_bapi_extension to it_bapi_extension .

clear ls_bapi_extension .

ls_bapi_extension-structure = 'BAPI_TE_MEPOHEADERX' .

*ls_bapi_te_po_header-po_number = '' .

ls_bapi_te_po_headerx-cfield = 'X' .

ls_bapi_extension-valuepart1 = ls_bapi_te_po_headerx .

append ls_bapi_extension to it_bapi_extension .

CALL FUNCTION 'BAPI_PO_CREATE1'

EXPORTING

POHEADER = LS_POHEADER

POHEADERX = LS_POHEADERX

TABLES

RETURN = LT_RETURN

POITEM = LT_POITEM

POITEMX = LT_POITEMX

POACCOUNT = LT_ACCOUNT

POACCOUNTX = LT_ACCOUNTX

EXTENSIONIN = it_bapi_extension

.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.