Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BAPI_PR_CREATE

Former Member
0 Likes
1,287

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.

5 REPLIES 5
Read only

Former Member
0 Likes
967

Check the function module CRM_SRV_LOG_PROCESS_PREQ1 line number: 243 for sampe usage.

Regards,

ravi

Read only

Former Member
0 Likes
967

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.

Read only

0 Likes
967

in the str BAPIMEREQACCOUNT ..u have GL_ACCOUNT did u fill that.

santhosh

Read only

Former Member
0 Likes
967

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.

Read only

Former Member
0 Likes
967

Could you provide working example since that 2007?