‎2007 Jan 03 3:04 PM
Hi all,
I'm trying to use BAPI_PR_CREATE. However I get 2 errors:
1.No instance of object type PurchaseRequisition has been created. External reference: # 1
2. Enter Gl account
I have followed some tips i found in this forum, namely to populate it_pritem and it_pritemx and all others as well. However, i still find myself getting the same errors. Can anyone please provide a working sample of usage of this BAPI?
Thanks everyone.
‎2007 Jan 03 3:12 PM
Check the function module CRM_SRV_LOG_PROCESS_PREQ1 line number: 243 for sampe usage.
Regards,
ravi
‎2007 Jan 03 3:38 PM
Hi Ravi,
Thanks but a simpler sample would do...even a crude working implementation. It's actually my first time to use this bapi and I have no idea why i get the error.
Thanks.
‎2007 Jan 03 3:52 PM
in the str BAPIMEREQACCOUNT ..u have GL_ACCOUNT did u fill that.
santhosh
‎2007 Jan 03 4:00 PM
Hi santosh,
Yes i filled it_praccount and it_praccountx as well, but still I get error.
Here's my code:
LOOP AT prupload.
add: '10' to lt_pritem-preq_item,
'10' to lt_pritemx-preq_item,
'10' to lt_praccount-preq_item,
'10' to lt_praccountx-preq_item.
perform convert_input changing prupload-sakto.
perform convert_input changing prupload-kostl.
move: prupload-bsart to lt_prheader-pr_type,
prupload-ekgrp to lt_pritem-pur_group,
"sy-uname to lt_pritem-created_by,
sy-uname to lt_pritem-preq_name,
sy-datum to lt_pritem-preq_date,
prupload-txz01 to lt_pritem-short_text,
prupload-werks to lt_pritem-plant,
prupload-lgort to lt_pritem-store_loc,
prupload-matkl to lt_pritem-matl_group,
prupload-menge to lt_pritem-quantity,
prupload-meins to lt_pritem-unit,
prupload-badat to lt_pritem-deliv_date,
prupload-preis to lt_pritem-PREQ_PRICE,
prupload-knttp to lt_pritem-acctasscat,
prupload-ekorg to lt_pritem-purch_org.
move: 'X' to lt_prheaderx-pr_type,
'X' to lt_pritemx-pur_group,
'X' to lt_pritemx-preq_name,
'X' to lt_pritemx-preq_date,
'X' to lt_pritemx-short_text,
'X' to lt_pritemx-plant,
'X' to lt_pritemx-store_loc,
'X' to lt_pritemx-matl_group,
'X' to lt_pritemx-quantity,
'X' to lt_pritemx-unit,
'X' to lt_pritemx-deliv_date,
'X' to lt_pritemx-PREQ_PRICE,
'X' to lt_pritemx-acctasscat,
'X' to lt_pritemx-purch_org.
append: lt_pritem, lt_pritemx.
COMMIT WORK.
clear: lt_pritem, lt_pritemx.
add '10' to lt_pritemtext-preq_item.
move: prupload-itmtxt to lt_pritemtext-text_line,
'B01' to lt_pritemtext-text_id.
append lt_pritemtext.
move: prupload-purpose to lt_pritemtext-text_line,
'B05' to lt_pritemtext-text_id.
append lt_pritemtext.
move: prupload-remarks to lt_pritemtext-text_line,
'B06' to lt_pritemtext-text_id.
append lt_pritemtext.
clear lt_pritemtext.
case prupload-knttp.
when 'A'.
move:
prupload-anln1 to lt_praccount-asset_no,
prupload-gsber to lt_praccount-bus_area,
prupload-ablad to lt_praccount-unload_pt.
move:
'X' to lt_praccountx-asset_no,
'X' to lt_praccountx-bus_area,
'X' to lt_praccountx-unload_pt.
when 'F'.
move:
prupload-gsber to lt_praccount-bus_area,
prupload-aufnr to lt_praccount-orderid,
prupload-sakto to lt_praccount-gl_account.
move:
'X' to lt_praccountx-bus_area,
'X' to lt_praccountx-orderid,
'X' to lt_praccountx-gl_account.
when 'K'.
move:
prupload-gsber to lt_praccount-bus_area,
prupload-kostl to lt_praccount-costcenter,
prupload-sakto to lt_praccount-gl_account,
prupload-ablad to lt_praccount-unload_pt.
move:
'X' to lt_praccountx-bus_area,
'X' to lt_praccountx-costcenter,
'X' to lt_praccountx-gl_account,
'X' to lt_praccountx-unload_pt.
endcase.
move: prupload-menge to lt_praccount-quantity,
'X' to lt_praccountx-quantity.
append: lt_praccount, lt_praccountx.
clear: lt_praccount, lt_praccountx.
AT LAST.
CALL FUNCTION 'BAPI_PR_CREATE'
EXPORTING
PRHEADER = lt_prheader
PRHEADERX = lt_prheaderx
TESTRUN =
IMPORTING
NUMBER = lv_prnumber
PRHEADEREXP =
TABLES
RETURN = lt_return
PRITEM = lt_pritem
PRITEMX = lt_pritemx
PRITEMEXP =
PRITEMSOURCE =
PRACCOUNT = lt_praccount
PRACCOUNTPROITSEGMENT =
PRACCOUNTX = lt_praccountx
PRADDRDELIVERY =
PRITEMTEXT = lt_pritemtext
PRHEADERTEXT =
EXTENSIONIN =
EXTENSIONOUT =
PRVERSION =
PRVERSIONX =
ALLVERSIONS =
.
if sy-subrc eq 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
if not lt_return[] is initial.
LOOP AT lt_return.
IF lt_return-type EQ 'E'.
WRITE:/'Error in function', lt_return-message.
ENDIF.
ENDLOOP.
else.
WRITE:/ 'PR successfully created :', lv_prnumber.
endif.
endif.
ENDAT.
ENDLOOP.
Thanks.
‎2010 Oct 21 7:39 AM