Problem in BAPI_PO_CREATE1
Hello All,
My requirement is to create an ARIBA PO thru BAPI_PO_CREATE1. IN order to successfully process an ARIBA PO, i need to check the gl account and cost center used. If the first two letter of the cost center is equal to 'BS', then I need to issue out an error message. I have successfully done the checking of the cost center via user exit ZXMEWU10. But my problem is, how do I prevent the creation of PO if there is an error message? It seems that the function module does not recognized that there is an error encountered and PO is still created.
Please advice.
Thanks,
Jim
Hi Jim ,
BAPI will take care of Validations which comes while creation of PO, In ur case make use the point where SAP will calls this User Exit.BAPI will return message thru RETURN tables And u have to call COmmit work based on the return tables
like tghis.
<b> return = l_return.--> this is BAPI table entry
if l_return[] is initial.
call function 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =
endif.</b>
regards
Prabhu
Similar Messages
-
Problem with bapi_po_create1 missing payment terms
Hi All,
I am using LSMW and BAPI method to create PO. I am using BAPI_PO_CREATE1 and providing the payment terms in my load file. The PO is created succesfully but the PO doesnt have the payment terms. I have the update value X. Is there anyway to fix the problem.
ThanksHi
Try to check if there's an user-exit where the payment terms is changed or cleared.
Max -
Service fields problem in BAPI_PO_CREATE1 function
hi all,
I have a problem when I use BAPI_PO_CREATE1 to create a Purchasing order.
I want to create a service PO in the system ( R3 4.6C ) . I have the data from our key user and I can create PO sucessfully manually. But when using BAPI, It alway occurs a error.
I use POSERVICE Structure, But i have NO idea about which field is MUST, Is there anyone have an example about these service PO??
Any suggestion is helpful and thanks in advance.
Regards
Nedhi,
WELCOME TO SDN.
use this program for creating service po's using bapi.
*& Report ZMM_PO_CREATE1 *
REPORT ZMM_PO_CREATE1 .
data : POHEADER like BAPIMEPOHEADER occurs 0 with header line,
POHEADERX like BAPIMEPOHEADERX occurs 0 with header line,
POITEM like BAPIMEPOITEM occurs 0 with header line,
POITEMX like BAPIMEPOITEMX occurs 0 with header line,
POESLLC like BAPIESLLC occurs 0 with header line,
POACCOUNT like BAPIMEPOACCOUNT occurs 0 with header line,
POACCOUNTX like BAPIMEPOACCOUNTX occurs 0 with header line,
POCONDHEADER like BAPIMEPOCONDHEADER occurs 0 with header line,
POCONDHEADERX like BAPIMEPOCONDHEADERX occurs 0 with header line,
POCOND like BAPIMEPOCOND occurs 0 with header line,
RETURN like BAPIRET2 occurs 0 with header line.
data : po_no(10).
data : begin of it_head occurs 0,
ref(10),
bsart like ekko-bsart,
lifnr like ekko-lifnr,
ekorg like ekko-ekorg,
ekgrp like ekko-ekgrp,
bukrs like ekko-bukrs,
verkf like ekko-verkf,
telf1 like ekko-telf1,
ihrez like ekko-ihrez,
unsez like ekko-unsez,
kdatb(10),
kdate(10),
end of it_head.
data : begin of it_det occurs 0,
ref(10),
knttp like ekpo-knttp,
pstyp like ekpo-pstyp,
txz01 like ekpo-txz01,
matkl like ekpo-matkl,
werks like ekpo-werks,
afnam like ekpo-afnam,
ktext1 like esll-ktext1,
srvpos like esll-srvpos,
frmval1 like esll-frmval1,
frmval2 like esll-frmval2,
menge like esll-menge,
kostl like eskn-kostl,
sakto like eskn-sakto,
zzcode like eskn-zzcode,
kbetr like konv-kbetr,
end of it_det.
data : c_col1 TYPE i VALUE '0001',
c_col2 TYPE i VALUE '0002',
c_col3 TYPE i VALUE '0003',
c_col4 TYPE i VALUE '0004',
c_col5 TYPE i VALUE '0005',
c_col6 TYPE i VALUE '0006',
c_col7 TYPE i VALUE '0007',
c_col8 TYPE i VALUE '0008',
c_col9 TYPE i VALUE '0009',
c_col10 TYPE i VALUE '0010',
c_col11 TYPE i VALUE '0011',
c_col12 TYPE i VALUE '0012',
c_col13 TYPE i VALUE '0013',
c_col14 TYPE i VALUE '0014',
c_col15 TYPE i VALUE '0015',
c_col16 TYPE i VALUE '0016'.
data : v_currentrow type i,
v_currentrow1 type i.
data : itab_head like ALSMEX_TABLINE occurs 0 with header line,
itab_det like ALSMEX_TABLINE occurs 0 with header line.
data : file_head type RLGRAP-FILENAME,
file_item type RLGRAP-FILENAME.
file_head = 'C:\Documents and Settings\Desktop\head.xls'.
file_item = 'C:\Documents and Settings\Desktop\item.xls'.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = file_head
i_begin_col = 1
i_begin_row = 1
i_end_col = 12
i_end_row = 50
tables
intern = itab_head
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = file_item
i_begin_col = 1
i_begin_row = 1
i_end_col = 16
i_end_row = 50
tables
intern = itab_det
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF itab_head[] IS INITIAL.
WRITE:/ 'No Header Data Exists '.
STOP.
ELSE.
sort itab_head by row col.
read table itab_head index 1.
v_currentrow = itab_head-row.
loop at itab_head.
if itab_head-row ne v_currentrow.
APPEND it_head.
v_currentrow = itab_head-row.
ENDIF.
CASE itab_head-col.
WHEN c_col1.
it_head-ref = itab_head-value.
WHEN c_col2.
it_head-bsart = itab_head-value.
WHEN c_col3.
it_head-lifnr = itab_head-value.
WHEN c_col4.
it_head-ekorg = itab_head-value.
WHEN c_col5.
it_head-ekgrp = itab_head-value.
WHEN c_col6.
it_head-bukrs = itab_head-value.
WHEN c_col7.
it_head-verkf = itab_head-value.
WHEN c_col8.
it_head-telf1 = itab_head-value.
WHEN c_col9.
it_head-ihrez = itab_head-value.
WHEN c_col10.
it_head-unsez = itab_head-value.
WHEN c_col11.
it_head-kdatb = itab_head-value.
WHEN c_col12.
it_head-kdate = itab_head-value.
ENDCASE.
ENDLOOP.
APPEND it_head.
CLEAR it_head.
ENDIF.
IF itab_det[] IS INITIAL.
WRITE:/ 'No Item Data Exists '.
STOP.
ELSE.
sort itab_det by row col.
read table itab_det index 1.
v_currentrow1 = itab_det-row.
loop at itab_det.
if itab_det-row ne v_currentrow1.
APPEND it_det.
v_currentrow1 = itab_det-row.
ENDIF.
CASE itab_det-col.
WHEN c_col1.
it_det-ref = itab_det-value.
WHEN c_col2.
it_det-knttp = itab_det-value.
WHEN c_col3.
it_det-pstyp = itab_det-value.
WHEN c_col4.
it_det-txz01 = itab_det-value.
WHEN c_col5.
it_det-matkl = itab_det-value.
WHEN c_col6.
it_det-werks = itab_det-value.
WHEN c_col7.
it_det-afnam = itab_det-value.
WHEN c_col8.
it_det-srvpos = itab_det-value.
WHEN c_col9.
it_det-ktext1 = itab_det-value.
WHEN c_col10.
it_det-frmval1 = itab_det-value.
WHEN c_col11.
it_det-frmval2 = itab_det-value.
WHEN c_col12.
it_det-menge = itab_det-value.
WHEN c_col13.
it_det-kostl = itab_det-value.
WHEN c_col14.
it_det-sakto = itab_det-value.
WHEN c_col15.
it_det-zzcode = itab_det-value.
WHEN c_col16.
it_det-kbetr = itab_det-value.
ENDCASE.
ENDLOOP.
APPEND it_det.
CLEAR it_det.
ENDIF.
loop at it_head.
poheader-doc_type = it_head-bsart.
poheader-vendor = it_head-lifnr.
poheader-purch_org = it_head-ekorg.
poheader-pur_group = it_head-ekgrp.
poheader-comp_code = it_head-bukrs.
poheader-sales_pers = it_head-verkf.
poheader-telephone = it_head-telf1.
poheader-REF_1 = it_head-ihrez.
poheader-OUR_REF = it_head-unsez.
poheader-VPER_START = it_head-kdatb.
poheader-VPER_END = it_head-kdate.
loop at it_det where ref = it_head-ref.
poitem-acctasscat = it_det-knttp.
poitem-item_cat = it_det-pstyp.
poitem-short_text = it_det-txz01.
poitem-matl_group = it_det-matkl.
poitem-plant = it_det-werks.
poitem-PREQ_NAME = it_det-afnam.
POESLLC-SERVICE = it_det-srvpos.
POESLLC-SHORT_TEXT = it_det-ktext1.
POESLLC-FORM_VAL1 = it_det-frmval1.
POESLLC-FORM_VAL2 = it_det-frmval2.
POESLLC-QUANTITY = it_det-menge.
POACCOUNT-COSTCENTER = it_det-kostl.
POACCOUNT-GL_ACCOUNT = it_det-sakto.
POCONDHEADER-COND_TYPE = 'R000'.
POCONDHEADER-COND_VALUE = it_det-kbetr.
endloop.
endloop.
poheaderx-doc_type = 'X'.
poheaderx-vendor = 'X'.
poheaderx-purch_org = 'X'.
poheaderx-pur_group = 'X'.
poheaderx-comp_code = 'X'.
poheaderx-sales_pers = 'X'.
poheaderx-telephone = 'X'.
poheaderx-REF_1 = 'X'.
poheaderx-OUR_REF = 'X'.
poheaderx-VPER_START = 'X'.
poheaderx-VPER_END = 'X'.
poitemx-acctasscat = 'X'.
poitemx-item_cat = 'X'.
poitemx-short_text = 'X'.
poitemx-matl_group = 'X'.
poitemx-plant = 'X'.
poitemx-PREQ_NAME = 'X'.
*POESLLCx-SHORT_TEXT = 'X'.
POACCOUNTx-COSTCENTER = 'X'.
POACCOUNTx-GL_ACCOUNT = 'X'.
POCONDHEADER-cond_type = 'X'.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = poheader
POHEADERX = poheaderx
POADDRVENDOR =
TESTRUN =
MEMORY_UNCOMPLETE =
MEMORY_COMPLETE =
POEXPIMPHEADER =
POEXPIMPHEADERX =
VERSIONS =
NO_MESSAGING =
NO_MESSAGE_REQ =
NO_AUTHORITY =
NO_PRICE_FROM_PO =
IMPORTING
EXPPURCHASEORDER = po_no
EXPHEADER =
EXPPOEXPIMPHEADER =
TABLES
RETURN = return
POITEM = poitem
POITEMX = poitemx
POADDRDELIVERY =
POSCHEDULE =
POSCHEDULEX =
POACCOUNT = poaccount
POACCOUNTPROFITSEGMENT =
POACCOUNTX = poaccountx
POCONDHEADER = pocondheader
POCONDHEADERX = pocondheaderx
POCOND =
POCONDX =
POLIMITS =
POCONTRACTLIMITS =
POSERVICES = poesllc
POSRVACCESSVALUES =
POSERVICESTEXT =
EXTENSIONIN =
EXTENSIONOUT =
POEXPIMPITEM =
POEXPIMPITEMX =
POTEXTHEADER =
POTEXTITEM =
ALLVERSIONS =
POPARTNER =
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
if sy-subrc = 0.
loop at return.
write return-MESSAGE_V1.
write po_no.
endloop.
endif. -
Problem in BAPI_PO_CREATE1 with delivery date option
Hi Experts,
I'm using BAPI_PO_CREATE1 for uploading user excel file to create purchase orders.
The issue is PO is created successfully but the delivery date is not picking properly. System is picking some other delivery date.
Can any one help me out from this?????????
Any USEFUL INPUTS for solving this issue will be rewarded.
Code :
REPORT zmm_bapi_po_create.
* ''~``
* ( o o )
* +------------------.oooO--(_)--Oooo.------------------+
* | ZMM_BAPI_PO_CREATE -To create Purchase orders |
* | |
* | .oooO |
* | ( ) Oooo. |
* +---------------------\ (----( )--------------------+
*& Program Name : ZMM_BAPI_PO_CREATE
*& Transaction Code :
*& Module Name : MM
*& Developer : Lakshmiraj.A
*& Functional : Xavier
*& Transport Request:
*& Program Type : Report
*& SAP Release : 46C
*&****************************REVISION LOG*****************************
*& Log Date Author Description
*&------------------------ TABLE USED --------------------------------*
*&---------------------- VARIABLE DECLARATION ------------------------*
* For Storing file name.
DATA : filename1 TYPE string.
* Flag to identify the matching entries
DATA : flag(1).
* For Display Message
DATA : g_msg(80) TYPE c.
* Declaring that as a character with length 4096.
TYPES truxs_t_text_data(4096) TYPE c OCCURS 0. " Type Group : TRUXS
* Containing RAW Data
DATA : it_raw TYPE truxs_t_text_data.
*&------------------------- INTERNAL TABLE ---------------------------*
DATA: gstest LIKE bapimepoheader.
DATA: g_ebeln LIKE bapimepoheader-po_number.
DATA: BEGIN OF g_bapimepoheader OCCURS 0.
INCLUDE STRUCTURE bapimepoheader.
DATA: END OF g_bapimepoheader.
DATA: BEGIN OF g_bapimepoheaderx OCCURS 0.
INCLUDE STRUCTURE bapimepoheaderx.
DATA: END OF g_bapimepoheaderx.
DATA: BEGIN OF g_bapimeposchedule OCCURS 0.
INCLUDE STRUCTURE bapimeposchedule.
DATA: END OF g_bapimeposchedule.
DATA: BEGIN OF g_poschedulex OCCURS 0.
INCLUDE STRUCTURE bapimeposchedulx.
DATA: END OF g_poschedulex.
*DATA: BEGIN OF g_bapieikp OCCURS 0.
* INCLUDE STRUCTURE bapieikp.
*DATA: END OF g_bapieikp.
DATA: BEGIN OF g_bapimepoitem OCCURS 0.
INCLUDE STRUCTURE bapimepoitem.
DATA: END OF g_bapimepoitem.
DATA: BEGIN OF g_poitemx OCCURS 0.
INCLUDE STRUCTURE bapimepoitemx.
DATA: END OF g_poitemx.
DATA: BEGIN OF g_bapiret2 OCCURS 0.
INCLUDE STRUCTURE bapiret2.
DATA: END OF g_bapiret2.
DATA: BEGIN OF itab OCCURS 0,
doc_type LIKE bapimepoheader-doc_type,
vendor LIKE bapimepoheader-vendor,
purch_org LIKE bapimepoheader-purch_org,
pur_group LIKE bapimepoheader-pur_group,
comp_code LIKE bapimepoheader-comp_code,
incoterms1 LIKE bapimepoheader-incoterms1,
incoterms2 LIKE bapimepoheader-incoterms2,
po_item LIKE bapimepoitem-po_item,
material LIKE bapimepoitem-material,
short_text LIKE bapimepoitem-short_text,
quantity LIKE bapimepoitem-quantity,
plant LIKE bapimepoitem-plant,
delivery_date LIKE bapimeposchedule-delivery_date,
END OF itab.
DATA: it_itab LIKE itab OCCURS 0 WITH HEADER LINE.
*&------------------------ SELECTION SCREEN --------------------------*
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-100.
PARAMETERS : p_file LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK blk.
*&-----------------------AT SELECTION SCREEN -------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
* For getting input filename
PERFORM get_filename.
*&-----------------------START OF SELECTION---------------------------*
START-OF-SELECTION.
* Open the Excel file and Update with the internal table
PERFORM update_inttable.
PERFORM bapi_upload.
* FORM bapi_upload *
FORM bapi_upload.
it_itab[] = itab[].
SORT itab BY vendor material.
DELETE ADJACENT DUPLICATES FROM itab COMPARING vendor.
LOOP AT itab.
g_bapimepoheader-comp_code = itab-comp_code.
g_bapimepoheader-doc_type = itab-doc_type.
g_bapimepoheader-creat_date = sy-datum.
g_bapimepoheader-created_by = sy-uname.
g_bapimepoheader-vendor = itab-vendor.
g_bapimepoheader-purch_org = itab-purch_org.
g_bapimepoheader-pur_group = itab-pur_group.
g_bapimepoheader-incoterms1 = itab-incoterms1.
g_bapimepoheader-incoterms2 = itab-incoterms2.
APPEND g_bapimepoheader.
g_bapimepoheaderx-comp_code = 'X'.
g_bapimepoheaderx-vendor = 'X'.
g_bapimepoheaderx-doc_type = 'X'.
g_bapimepoheaderx-purch_org = 'X'.
g_bapimepoheaderx-pur_group = 'X'.
g_bapimepoheaderx-incoterms1 = 'X'.
g_bapimepoheaderx-incoterms2 = 'X'.
APPEND g_bapimepoheaderx.
LOOP AT it_itab WHERE vendor = itab-vendor.
MOVE-CORRESPONDING it_itab TO g_bapimepoitem.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = it_itab-material
IMPORTING
output = it_itab-material.
g_bapimepoitem-material = it_itab-material.
APPEND g_bapimepoitem.
g_poitemx-po_item = it_itab-po_item.
g_poitemx-po_itemx = 'X'.
g_poitemx-item_cat = 'X'.
g_poitemx-plant = 'X'.
g_poitemx-stge_loc = 'X'.
g_poitemx-net_price = 'X'.
g_poitemx-acctasscat = 'X'.
g_poitemx-material = 'X'.
g_poitemx-short_text = 'X'.
g_poitemx-matl_group = 'X'.
g_poitemx-quantity = 'X'.
g_poitemx-po_unit = 'X'.
g_poitemx-orderpr_un = 'X'.
g_poitemx-trackingno = 'X'.
g_poitemx-delete_ind = 'X'.
APPEND g_poitemx.
g_bapimeposchedule-po_item = it_itab-po_item.
g_bapimeposchedule-sched_line = '001'.
g_bapimeposchedule-del_datcat_ext = 'X'.
g_bapimeposchedule-delivery_date = it_itab-delivery_date.
g_bapimeposchedule-quantity = it_itab-quantity.
APPEND g_bapimeposchedule.
g_poschedulex-po_item = it_itab-po_item.
g_poschedulex-sched_line = '001'.
g_poschedulex-po_itemx = 'X'.
g_poschedulex-sched_linex = 'X'.
g_poschedulex-del_datcat_ext = 'X'.
g_poschedulex-delivery_date = 'X'.
g_poschedulex-quantity = 'X'.
g_poschedulex-deliv_time = 'X'.
g_poschedulex-stat_date = 'X'.
APPEND g_poschedulex.
ENDLOOP.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = g_bapimepoheader
poheaderx = g_bapimepoheaderx
IMPORTING
exppurchaseorder = g_ebeln
expheader = gstest
TABLES
return = g_bapiret2
poitem = g_bapimepoitem
poitemx = g_poitemx
poschedule = g_bapimeposchedule
poschedulex = g_poschedulex.
IF NOT g_ebeln IS INITIAL.
COMMIT WORK.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = ''.
REFRESH : g_bapimepoitem,
g_bapimepoheader,
g_bapimepoheaderx,
g_bapiret2,
g_poitemx,
g_bapimeposchedule,
g_poschedulex.
ENDIF.
ENDLOOP.
ENDFORM.
* FORM GET_FILENAME *
FORM get_filename.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = sy-cprog
dynpro_number = sy-dynnr
field_name = ''
IMPORTING
file_name = p_file.
ENDFORM.
* FORM UPDATE_INTTABLE *
FORM update_inttable.
REFRESH : itab[] , itab.
CLEAR : itab.
IF NOT p_file IS INITIAL.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
i_line_header = 'X'
i_tab_raw_data = it_raw " WORK TABLE
i_filename = p_file
TABLES
i_tab_converted_data = itab[] " ACTUAL DATA
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc NE '0'.
PERFORM callerr USING 'File Error!'.
STOP.
ENDIF.
ELSE.
PERFORM callerr USING 'Choose the file'.
STOP.
ENDIF.
ENDFORM.
* FORM CALLERR *
* --> TEXT *
FORM callerr USING text TYPE string.
CALL FUNCTION 'FC_POPUP_ERR_WARN_MESSAGE'
EXPORTING
popup_title = 'ZMM_BAPI_PO_CREATE'
is_error = 'X'
message_text = text
start_column = 30
start_row = 8.
ENDFORM.
Regards
~Lakshmiraj~Hi,
1. In Which system you are trying to run this ???? Are you running in IDES or currently running system?
The reason may be if you are running in IDES , the factory calender may not be correctly positioned.
2. Also this error will occur at situations like....if your factory calendar will be of 2007 year....but the delievery date which you are giving is of 2008 . So error "delivery date exceeds factory calendar" occurs.
Some useful info for you,
Factory calander is must to run SAP. All the scheduling are calculated based on this only. You can define halidays for factory and assign to the calander. You can have 365 days calander / Sat& SU holiday calander or the holiday can be your wish.
The T code is SCAL. create holidays first. create holiday calendar and assign the holidays in holiday calendar. create factory calender and assign the holiday calendar in factory calendar.The Factory calendar is client specific
Rgds,
Lakshmiraj -
Problem with BAPI_PO_CREATE1
Hi experts,
I am getting an error stating no SD data maintained for the material. But I am not getting the error while creating the PO manually using ME21N. CAn anyone of you help me with this?
Regards
NavinAre you filling all required fields on the flags tables???
BAPIMEPOITEMX
BAPIMEPOSCHEDULX
BAPIMEPOACCOUNTX
BAPIMEPOCONDX
BAPIMEPOCONDX
I don't know what tables are you using, but flags must be set...
Greetings,
Blag. -
Problem with BAPI_PO_Create1 to create a Service PO
Hi,
I use a piece of test to create a service's po with data:POHEADER,POHEADERX,POITEM,POITEMX,POSCHEDULE,POSCHEDULEX,POACCOUNT,POACCOUNTX and POSERVICES.
In POSERVICES, I enter the data like this:
LINE_NO 0000000010
OUTL_IND X
QUANTITY 100.000
BASE_UOM EA
GR_PRICE 1,000.0000
SHORT_TEXT SERVICE1
but when i excute it, the return with message:
T ID NUM MESSAGE
E BAPI 001 No instance of object type PurchaseOrder has been created. External reference:
E MEPO 000 Purchase order still contains faulty items
E SE 029 Please maintain services or limits
according to the third msg, I have maintain the value for it, why it said 'Please maintain services' ?
Best Regards
StevenHello Steve
The long text of message SE 029 says that
"You cannot enter data until the PO item has been maintained correctly."
Because the input for the item is still faulty you get this addtional error message.
My recommendation is (because I am not a MM expert): Try to create a minimal service PO using the dialog transaction. All values you have to enter in dialog are needed for the BAPI, too. Perhaps then you spot the missing piece of information.
Regards
Uwe -
Hi Experts ,
We are presently in SRM 4.0 classic scenario. Recently we happened to notice a strange problem.
The Shopping cart after being approved is not getting converted to Purchase order. It goes into 'Error In Transmission' Status and the error message displayed in RZ20 is :
BBP_ADMIN 080 - Shopping cart & Purchase Order & ME218 External document number ( Po no.) already assigned.
When I checked up the Po no. and the current number active for reservation, I was quite suprised to note that the Po. no. generated was prior to that of the current reservation number showing in transaction BBNU ( current number range ).
Could anyone help me rectify this and the reason for the same occuring ?
Thanks in advance.
Regards,
RajeshHi
<u>When this error occurs ? Any short dump happens in this case.. (See transaction ST22 for more details) ?? If yes, please paste complete details in next reply..</u>
<u>Please through this -></u>
<b>Seems to some OSS Note is missing in either you R/3 backend or the SRM system -></b>
Note 841021 - Manual price entered disappears - error 06 218
Note 932236 - BAPI_PO_CREATE1: Purchase order price unit not transferred
Note 580225 - Purchasing BAPIs: Conditions and pricing
Note 853970 - BAPI_PO_CREATE1: Net price is not transferred
Note 571860 - BAPI_PO_CREATE1: Price is not transferred
Note 487605 - ME21N: 06 218 'Net price must be greater than 0'.
<b>Refer to these link as well for details.</b>
<u>Problem with BAPI_PO_CREATE1
PO created with status : Transfer Failed (E.Sys.)
Problem with BAPI_PO_CREATE1
Re: Error in pricing when doing sourcing in EBP 4.0
Re: STO classic scenario SRM 4.0</u>
Do you have same currency code in ECC than in SRM ? Check the foll note, whether it helps. It talks about the same error while creating or changing PO thru BAPI's (SRM will call BAPI's for posting PO in R3).
Note 571860 - BAPI_PO_CREATE1: Price is not transferred
Re: ECS describe requirement not transferred to backend
Error message BBP_ADMIN 066: "Comm. error checking account assignmnt"
Re: Error in transmission
Re: Transfer PO from SRM to R/3 - Error in Process
Hope this will help. <u>Do let me know.</u>
Regards
- Atul -
Data is not updating in Bapi_po_Create1
Hi Gurus,
I have Small Problem regarding Bapi_po_create1
bapi is running succesfully and in return table it is returning po number generated but this po number is not getting updated to databse table ekko or any where.
Can You plz give me soln what is going wrong or in case of bapi it takes times?
plz help out.
Thanks & Regards,
Vijay Pawarhi got the soln by using fm
BAPI_TRANSACTION_COMMIT. -
Transfer PO from SRM to R/3 - Error in Process
Hi,
I have a big problem witch ONE PO in SRM.
We are working in SRM, extended classic scenario.
I have ONE PO which I can't get to our R/3 system. The error message SRM respont with is: 'Net price must be greater than 0'. I have been looking into the order, and there is definitely no wrong data in the order regarding the price, or other data?
Br. KimHi
<u>Please through this -></u>
<b>Seems to some OSS Note is missing in either you R/3 backend or the SRM system -></b>
Note 841021 - Manual price entered disappears - error 06 218
Note 932236 - BAPI_PO_CREATE1: Purchase order price unit not transferred
Note 580225 - Purchasing BAPIs: Conditions and pricing
Note 853970 - BAPI_PO_CREATE1: Net price is not transferred
Note 571860 - BAPI_PO_CREATE1: Price is not transferred
Note 487605 - ME21N: 06 218 'Net price must be greater than 0'.
<b>Refer to these link as well for details.</b>
<u>Problem with BAPI_PO_CREATE1
PO created with status : Transfer Failed (E.Sys.)
Problem with BAPI_PO_CREATE1
Re: Error in pricing when doing sourcing in EBP 4.0
Re: STO classic scenario SRM 4.0</u>
Hope this will help.
Regards
- Atul -
How to create purchase order using VA01 for BAPI?
how to create purchase order using VA01 for BAPI?
Hi Arun,
Please check this link
Example Program for BAPI_PO_CREATE1
Re: BAPI_PO_CREATE1
Questions in BAPI_PO_CREATE1
Problem with BAPI_PO_CREATE1
*& Report BAPI_PO_CREATE *
REPORT bapi_po_create.
Input File Declaration
TYPES: BEGIN OF ty_input_file,
column1 TYPE char50,
column2 TYPE char50,
column3 TYPE char50,
column4 TYPE char50,
column5 TYPE char50,
column6 TYPE char50,
column7 TYPE char50,
column8 TYPE char50,
column9 TYPE char50,
column10 TYPE char50,
column11 TYPE char50,
column12 TYPE char50,
column13 TYPE char50,
column14 TYPE char50,
column15 TYPE char50,
column16 TYPE char50,
column17 TYPE char50,
column18 TYPE char50,
END OF ty_input_file.
DATA: i_input_file TYPE STANDARD TABLE OF ty_input_file,
wa_input_file TYPE ty_input_file.
CONSTANTS: c_path TYPE char20 VALUE 'C:\',
c_mask TYPE char9 VALUE ',.,..',
c_mode TYPE char1 VALUE 'O',
c_filetype TYPE char10 VALUE 'ASC',
c_x TYPE char01 VALUE 'X'.
PARAMETERS : p_fname LIKE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
Browse Presentation Server
PERFORM f4_presentation_file.
START-OF-SELECTION..
Read presentation server file
PERFORM f1003_upload_file.
IF NOT i_input_file[] IS INITIAL.
PERFORM split_data.
ENDIF.
*& Form f4_presentation_file
*& F4 Help for presentation server
FORM f4_presentation_file .
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = c_path
mask = c_mask
mode = c_mode
title = text-001
IMPORTING
filename = p_fname
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
IF sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " f4_presentation_file
*& Form f1003_upload_file
*& Upload File
FORM f1003_upload_file .
DATA: lcl_filename TYPE string.
lcl_filename = p_fname.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lcl_filename
filetype = c_filetype
has_field_separator = c_x
TABLES
data_tab = i_input_file
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
EXIT.
ENDIF.
ENDFORM. " f1003_upload_file
*& Form split_data
Collect data for creating Purchase Order
FORM split_data .
DATA: i_poitem TYPE STANDARD TABLE OF bapimepoitem,
i_poitemx TYPE STANDARD TABLE OF bapimepoitemx,
i_poitem_sch TYPE STANDARD TABLE OF bapimeposchedule,
i_poitem_schx TYPE STANDARD TABLE OF bapimeposchedulx,
i_acct_*** TYPE STANDARD TABLE OF bapimepoaccount,
i_acct_assx TYPE STANDARD TABLE OF bapimepoaccountx,
i_services TYPE STANDARD TABLE OF bapiesllc ,
i_srvacc TYPE STANDARD TABLE OF bapiesklc,
i_return TYPE STANDARD TABLE OF bapiret2,
wa_header TYPE bapimepoheader,
wa_headerx TYPE bapimepoheaderx,
wa_poitem TYPE bapimepoitem,
wa_poitemx TYPE bapimepoitemx,
wa_poitem_sch TYPE bapimeposchedule,
wa_poitem_schx TYPE bapimeposchedulx,
wa_acct_*** TYPE bapimepoaccount,
wa_acct_assx TYPE bapimepoaccountx,
wa_services TYPE bapiesllc,
wa_srvacc TYPE bapiesklc,
wa_return TYPE bapiret2,
ws_po TYPE bapimepoheader-po_number.
break gbpra8.
wa_services-pckg_no = 10.
wa_services-line_no = 1.
wa_services-outl_no = '0'.
wa_services-outl_ind = c_x.
wa_services-subpckg_no = 20.
APPEND wa_services TO i_services.
wa_srvacc-pckg_no = 10.
wa_srvacc-line_no = 1.
wa_srvacc-serno_line = 01.
wa_srvacc-serial_no = 01.
wa_srvacc-percentage = 100.
APPEND wa_srvacc TO i_srvacc.
LOOP AT i_input_file INTO wa_input_file.
IF wa_input_file-column2 EQ 'HD'.
wa_header-doc_type = wa_input_file-column3.
wa_header-creat_date = sy-datum.
wa_header-created_by = sy-uname.
wa_header-vendor = wa_input_file-column4.
PERFORM conversion_output USING wa_header-vendor
CHANGING wa_header-vendor.
wa_header-comp_code = 'DE03'.
wa_header-purch_org = 'DE03'.
wa_header-pur_group = 'DE1'.
wa_header-vper_start = wa_input_file-column9.
wa_header-vper_end = wa_input_file-column10.
wa_headerx-comp_code = c_x.
wa_headerx-doc_type = c_x.
wa_headerx-creat_date = c_x.
wa_headerx-created_by = c_x.
wa_headerx-vendor = c_x.
wa_headerx-purch_org = c_x.
wa_headerx-pur_group = c_x.
wa_headerx-vper_start = c_x.
wa_headerx-vper_end = c_x.
ENDIF.
IF wa_input_file-column2 EQ 'IT'.
wa_poitem-po_item = wa_input_file-column3.
wa_poitem-short_text = wa_input_file-column6.
wa_poitem-plant = wa_input_file-column8.
wa_poitem-quantity = '1'.
wa_poitem-tax_code = 'V0'.
wa_poitem-item_cat = 'D'.
wa_poitem-acctasscat = 'K'.
wa_poitem-matl_group = wa_input_file-column7.
wa_poitem-pckg_no = '10'.
APPEND wa_poitem TO i_poitem .
wa_poitemx-po_item = wa_input_file-column3.
wa_poitemx-po_itemx = c_x.
wa_poitemx-short_text = c_x.
wa_poitemx-plant = c_x.
wa_poitemx-quantity = c_x.
wa_poitemx-tax_code = c_x.
wa_poitemx-item_cat = c_x.
wa_poitemx-acctasscat = c_x.
wa_poitemx-matl_group = c_x.
wa_poitemx-pckg_no = c_x.
APPEND wa_poitemx TO i_poitemx.
wa_poitem_sch-po_item = wa_input_file-column3.
wa_poitem_sch-delivery_date = sy-datum.
APPEND wa_poitem_sch TO i_poitem_sch.
wa_poitem_schx-po_item = wa_input_file-column3.
wa_poitem_schx-po_itemx = c_x.
wa_poitem_schx-delivery_date = c_x.
APPEND wa_poitem_schx TO i_poitem_schx.
wa_acct_***-po_item = 10.
wa_acct_***-serial_no = 01.
wa_acct_***-gl_account = '0006360100'.
wa_acct_***-co_area = '1000'.
wa_acct_***-costcenter = 'KC010000'.
APPEND wa_acct_*** TO i_acct_***.
wa_acct_***-po_item = 10.
wa_acct_***-serial_no = 02.
wa_acct_***-gl_account = '0006360100'.
wa_acct_***-co_area = '1000'.
wa_acct_***-costcenter = 'KC010000'.
APPEND wa_acct_*** TO i_acct_***.
wa_acct_assx-po_item = 10.
wa_acct_assx-serial_no = 01.
wa_acct_assx-po_itemx = c_x.
wa_acct_assx-serial_nox = c_x.
wa_acct_assx-gl_account = c_x.
wa_acct_assx-co_area = c_x.
wa_acct_assx-costcenter = c_x.
APPEND wa_acct_assx TO i_acct_assx.
wa_acct_assx-po_item = 10.
wa_acct_assx-serial_no = 02.
wa_acct_assx-po_itemx = c_x.
wa_acct_assx-serial_nox = c_x.
wa_acct_assx-gl_account = c_x.
wa_acct_assx-co_area = c_x.
wa_acct_assx-costcenter = c_x.
APPEND wa_acct_assx TO i_acct_assx.
wa_services-pckg_no = 20.
wa_services-line_no = 2.
wa_services-service = wa_input_file-column9.
wa_services-quantity = '100'.
wa_services-gr_price = '100'.
wa_services-userf1_txt = wa_input_file-column13.
APPEND wa_services TO i_services.
wa_srvacc-pckg_no = 20.
wa_srvacc-line_no = 1.
wa_srvacc-serno_line = 02.
wa_srvacc-serial_no = 02.
wa_srvacc-percentage = 100.
APPEND wa_srvacc TO i_srvacc.
ENDIF.
ENDLOOP.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = wa_header
poheaderx = wa_headerx
POADDRVENDOR =
TESTRUN =
MEMORY_UNCOMPLETE =
MEMORY_COMPLETE =
POEXPIMPHEADER =
POEXPIMPHEADERX =
VERSIONS =
NO_MESSAGING =
NO_MESSAGE_REQ =
NO_AUTHORITY =
NO_PRICE_FROM_PO =
IMPORTING
exppurchaseorder = ws_po
EXPHEADER =
EXPPOEXPIMPHEADER =
TABLES
return = i_return
poitem = i_poitem
poitemx = i_poitemx
POADDRDELIVERY =
poschedule = i_poitem_sch
poschedulex = i_poitem_schx
poaccount = i_acct_***
POACCOUNTPROFITSEGMENT =
poaccountx = i_acct_assx
POCONDHEADER =
POCONDHEADERX =
POCOND =
POCONDX =
POLIMITS =
POCONTRACTLIMITS =
poservices = i_services
posrvaccessvalues = i_srvacc
POSERVICESTEXT =
EXTENSIONIN =
EXTENSIONOUT =
POEXPIMPITEM =
POEXPIMPITEMX =
POTEXTHEADER =
POTEXTITEM =
ALLVERSIONS =
POPARTNER =
break gbpra8.
LOOP AT i_return INTO wa_return.
ENDLOOP.
ENDFORM. " split_data
*& Form conversion_output
Conversion exit input
FORM conversion_output USING p_ip
CHANGING p_op.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = p_ip
IMPORTING
output = p_op.
ENDFORM. " conversion_output
Best regards,
raam -
Hi All,
One shopping cart was created with status as approved but in the Follow on Documents tab nothing was mentioned regarding the follow on documents created or not?
Then I checked the BBP_PD, and found that PO No has been assigned to the particular shopping cart wherein the status of each item was showing as Item in transfer process.
In order to get the status of shopping cart than I ran both the programs CLAEN_REQREQ_UP and BBP_GET_STATUS_2, but all in vain ,since the status of the shopping cart was still showing without any Follow on Documents.
Then i execute the BBP_PD_SC_RESUBMIT Function module,since the items were showing as Items in transfer process but after executing the same now the
shopping cart has started giving Error as "Error in transmission" and with an Error message as "Shopping Cart 0010128502 (Purchase order 3000061718): ME218 External document number 3000061718 already assigned "
Could you please provide any feedback regarding how to get back the status of the shopping cart with Follow On Documents No mentioned in the check status
option of the EBP Web version. We are working in SRM 4.0 /EBP V5.0.
An immediate respone in this regard is highly appreciated please.
Regards,
PranabHi
<u><b>Please go through the following SAP OSS Notes, which will defninitely help -></b></u>
Re: ECS describe requirement not transferred to backend
Re: Transfer PO from SRM to R/3 - Error in Process
Note 841021 - Manual price entered disappears - error 06 218
Note 932236 - BAPI_PO_CREATE1: Purchase order price unit not transferred
Note 580225 - Purchasing BAPIs: Conditions and pricing
Note 853970 - BAPI_PO_CREATE1: Net price is not transferred
Note 571860 - BAPI_PO_CREATE1: Price is not transferred
Note 487605 - ME21N: 06 218 'Net price must be greater than 0'.
<b>Refer to these link as well for details.</b>
Problem with BAPI_PO_CREATE1
PO created with status : Transfer Failed (E.Sys.)
Problem with BAPI_PO_CREATE1
Re: Error in pricing when doing sourcing in EBP 4.0
Re: STO classic scenario SRM 4.0
Re: Incorrect status in pricing - Short dump - IPC
Hope this will help.
Regards
- Atul -
BBP_ANALYZE_PO_APPLIC is not released
Hi,
We are implementing SRM5.0 with ECC6.
When we create PO manually in SRM then it does not goto R/3. Here PO status remains in Order condition but there is not document transfer from SRM to ECC as well as when we tried to push through FM, it gives following errors;
1.BBP_ANALYZE_PO_APPLIC is not released
2. PO XXXXXXX : No instance of object type purhcaser order has been created, External Referance.
We have already checked all settings for ECPO as well as backend document type.
We can create PO by normal cycle like SHC--->PO its goes properly in ECC
When we create Manual PO and click on Order as direct material then also SRM PO goes to ECC properly.
Only we are facing problems to transfer SRM PO which created manually to ECC. (Note - This process was also working fine before few days)
Any idea?
Thanks,Hi
Please see some discusions on this same issue.
PO created with status : Transfer Failed (E.Sys.)
Problem with BAPI_PO_CREATE1
/thread/3276932 [original link is broken]
regards
Muhtu
Edited by: Muthuraman Govindasamy on Sep 1, 2008 6:10 PM -
Price (Catalog) COND_INACTIVE
Hi,
In the purchase order change version, i can see the above above subject message i.e Price (Catalog) COND_INACTIVE (Check box ticked)
How to make Catalog price condition Inactive.
I am getting below error while changing purchase order :in application monitor
PurchOrder xxxxxxxxx: Purchase order still contains faulty items
02.06.2009 14:17: 16 PurchOrder 6500031274: Net price must be greater than 0 (Zero)
Is this because of above setting?
Thanks,
JaiHi jai
SAP Note 973952 - Meaningful error messages not shown in
Application monitors
SAP Note 966323 - Service Item: Not able to create PO in
ERP backend
PO created with status : Transfer Failed (E.Sys.)
ECS describe requirement not transferred to backend
Transfer PO from SRM to R/3 - Error in Process
Problem with BAPI_PO_CREATE1
Error in transmission
Problem in creation of PO
STO classic scenario SRM 4.0
plz update which sap version? threre many threads discussion.
what is the history of sc /po details- what type of cart it was? look out all discussions.
so your po did not create in r/3 so far?
br
muthu -
I've been reading about Extended Classic Scenario (ECS) and how to get customer fields (CUF) to R3 using a BADI. Is something possible for the classic scenario also?
I've defined CUF in INCL_EEW_PD_ITEM_CSF* and they show up, but I want to map the CUF to R3 fields.
Maybe it's just a matter of defining the ZFields in the appropriate append-structure??
Regards, Léon HoeneveldHi
<u><b>Please go through the pointers/links for all detailed sample code and issues you are currently facing -></b></u>
Re: Missing Fields
Re: EBP PO Created by WF-BATCH
Re: ECC Purchase Requisition Replication to SRM SC
Re: Mapping fields in SRM with R/3
Re: ACCOUNT ASSIGNMENT
Re: Tax calculation
Re: Add customer fields in Shopping cart and purchase order
Re: Need info on how to set GR-IV indicator
Re: PO created with status : Transfer Failed (E.Sys.)
Re: Bapi BAPI_POEC_CREATE I_PO_LIMIT problem
Re: Error in transmission with BBPSC01
Re: Pass PO Customer Field to Backend System
Re: Problem with BAPI_PO_CREATE1
PO header CUF to ECC
Re: Last delivery option in SRM
<b>Hope this will definitely help.</b>
Do let me know.
Regards
- Atul -
CCMS_OS_Analyze is not released
Hi, Friend
NW 2004s SP20 Kernal: 620 webAS 640C, CCMS was working fine
now its getting an error : CCMS_OS_Analyze is not released
After I add parameter in Mothod's CCMS_OnAlert_Email
SENDER travis
RECIPIENT travis @ company . com
RECIPIENT-TYPEID U
SUBJECT_ALERT This is CCMS Alert from $SID
I just add last line... becuase i wanna chang subject
Please AdviceHi
Please see some discusions on this same issue.
PO created with status : Transfer Failed (E.Sys.)
Problem with BAPI_PO_CREATE1
/thread/3276932 [original link is broken]
regards
Muhtu
Edited by: Muthuraman Govindasamy on Sep 1, 2008 6:10 PM
Maybe you are looking for
-
Iphone not connecting to hp printer
Hi My iphone 4 and ipad 2 have just stopped connecting to my hp printer. They were fine earlier on. My husband is able to still print from his iphone. Any ideas? Many thanks
-
Steps to generate AWR report from Oracle 11g OEM
I have gone through online documentation for generating an AWR report from Oracle 11g OEM but the documentation is more focused on generating the AWR report manually. I would request if there is a link or documentation to go through for generating AW
-
Xmlsequence() problem
Hi, I've got a problem with xmlsequence(). Here's (part of) my xml: <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <calypso:calypsoDocument xmlns:calypso="http://www.calypso.com/xml"> <calypso:calypsoObject xsi:type="calypso:Trade" acti
-
Why won't iPhoto import D700 RAW images?
Yesterday I tried to import 809 RAW (NEF) images from my Nikon D700 camera into the iPhoto program on a friend's iMac. It imported one image, but refused to import the remaining 808! I don't understand why it didn't accept the whole batch. The iMac i
-
Yes, I checked the forum and saw lots of comments about NM changing Icons. Well I uninstalled NM from all machines but it appears that NM uninstaller leaves a lot of junk. I reinstalled it after I turned off all my other machines and to my supprise i