Creation of Service PO w.r.t a Service PR using BAPI with minimal inputs.
I have seen many people struggling with the BAPI_PO_CREATE1 in case of replicating service PO.This document is a reference for the same with minimal inputs.
BAPI Used: BAPI_PO_CREATE1
The table structure that need to be passed are as follows:
STRUCTURE |
POHEADER |
STRUCTURE |
POITEM |
COMP_CODE |
2000 |
PO_ITEM |
10 |
DOC_TYPE |
ZSER |
TAX_CODE |
I0 |
VENDOR |
103106 |
ITEM_CAT |
9 |
PURCH_ORG |
1000 |
ACCTASSCAT |
K |
VPER_START |
01.01.2015(Mandate for my PO Document Type) |
PREQ_NO |
3000073141 |
VPER_END |
31.12.2015(Mandate for my PO Document Type) |
PREQ_ITEM |
10 |
PCKG_NO |
2745054(As maintained in ML_ESLL) |
The respective POHEADERX & POITEMX structure need to be marked as ‘X’ against the entries maintained in the POHEADER & POITEM structures.
POSERVICES
PCKG_NO |
LINE_NO |
EXT_LINE |
OUTL_IND |
SUBPCKG_NO |
SERVICE |
QUANTITY |
GR_PRICE |
SHORT_TEXT |
0002745054 |
0000000083 |
X |
0002745055 |
|||||
0002745055 |
0000000084 |
0000000010 |
320020453 |
1 |
500 |
REPAIR/ATTEND |
POSERVICES Structure can be filled identical to the ML_ESLL table after passing the referenced PR to the ML_ESLL-EBELN field .
The structure looks as follows:
All the fields shown need to be manually maintained, including quantity,price & short text.
If there are any other mandatory field in the specified PO document type or otherwise then you need to enter the same as well in the respective POHEADER/POITEM structures.
If the PACKAGE Number & SUB PACKAGE Number are used as per the referenced PR, then the account assignment data & other data is not required to be entered in BAPI.
Otherwise ,the additional structure that need to be filled in case PO is created without PR(or without PR package & using default 0000000001 as package number) are:
1.POACCOUNT
2.POACCOUNTX
3.POSRVACCESSVALUES
In case you are creating a dashboard which converts a PR to PO,then the PR details which need to be filled in the BAPI_PO_CREATE1 can be fetched by BAPI_PR_GETDETAIL. However the service level detail need to be fetched from from ML_ESLL table or use the FM BAPI_REQUISITION_GETDETAIL.
Additional Features of BAPI_PO_CREATE1
1.TEST MODE:This parameter is a test switch. If you activate the switch, the system does not save the document. Activate using “X”.
2.MEMORY_UNCOMPLETE: You can use this parameter to specify whether a faulty or incomplete purchase order is to be put on hold.Activate using “X”.
3.MEMORY_COMPLETE:You can use this parameter to control whether an error-free and complete purchase order is to be put on hold or saved.Activate using “X”.