Application Development 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: 

Account assignment category in bapi_pr_create.

Former Member
0 Kudos

Hi All,

While using account assignment category F in PRITEM table of BAPI_PR_CREATE and marking appropriate flag = X in PRITEMX

table requsition is creating but also an error message is coming "enter G/L account" although i am passing it .

Any body know's this how to create a PR with this BAPI .

Thanks & Regards,

Ruchi Tiwari

4 REPLIES 4

Former Member
0 Kudos

Hi,

Try using this code

DATA : S_HEADER LIKE BAPIMEREQHEADER OCCURS 0 WITH HEADER LINE.

S_HEADER-PR_TYPE = 'NB'.

  • S_HEADER-CTRL_IND = 'X'.

  • S_HEADER-GENERAL_RELEASE = 'X'.

  • S_HEADER-CREATE_IND = 'X'.

  • S_HEADER-ITEM_INTVL = 0000.

  • S_HEADER-LAST_ITEM = 0000.

  • S_HEADER-AUTO_SOURCE = 'X'.

  • S_HEADER-MEMORY = 'X'.

APPEND S_HEADER.

DATA : S_HEADERX LIKE BAPIMEREQHEADERX OCCURS 0 WITH HEADER LINE.

S_HEADERX-PR_TYPE = 'X'.

  • S_HEADER-CTRL_IND = 'X'.

  • S_HEADER-GENERAL_RELEASE = 'X'.

  • S_HEADER-CREATE_IND = 'X'.

  • S_HEADER-ITEM_INTVL = 'X'.

  • S_HEADER-LAST_ITEM = 'X'.

  • S_HEADER-AUTO_SOURCE = 'X'.

  • S_HEADER-MEMORY = 'X'.

APPEND S_HEADERX.

DATA : S_ITEMX LIKE BAPIMEREQITEMX OCCURS 0 WITH HEADER LINE.

S_ITEMX-MATERIAL = 'X'.

S_ITEMX-PLANT = 'X'.

S_ITEMX-QUANTITY = 'X'.

S_ITEMX-DELIV_DATE = 'X'.

APPEND S_ITEMX.

DATA : S_ITEMEXP LIKE BAPIMEREQITEM OCCURS 0 WITH HEADER LINE.

S_ITEMEXP-DOC_TYPE = 'NB'.

APPEND S_ITEMEXP.

CALL FUNCTION 'BAPI_PR_CREATE'

EXPORTING

PRHEADER = S_HEADER

PRHEADERX = S_HEADERX

  • VERSIONS =

  • TESTRUN =

IMPORTING

NUMBER = NUMBER

  • PRHEADEREXP =

TABLES

RETURN = RETURN

PRITEM = PRITEM

PRITEMX = S_ITEMX

PRITEMEXP = S_ITEMEXP

  • PRITEMSOURCE =

  • PRACCOUNT =

  • PRACCOUNTPROITSEGMENT =

  • PRACCOUNTX =

  • PRADDRDELIVERY =

  • PRITEMTEXT =

PRHEADERTEXT = PRHEADERTEXT

  • EXTENSIONIN =

  • EXTENSIONOUT =

  • PRVERSION =

  • PRVERSIONX =

  • ALLVERSIONS =

.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

  • EXPORTING

  • WAIT =

  • IMPORTING

  • RETURN =

.

or

REPORT z_datainit_me51n .

TABLES:eban.

DATA: BEGIN OF itab OCCURS 0,

NO(5),

bnfpo LIKE eban-bnfpo,

bsart LIKE eban-bsart,

matnr LIKE eban-matnr,

lgort LIKE eban-lgort,

menge LIKE eban-menge,

bednr LIKE eban-bednr,

lfdat LIKE eban-lfdat,

TX(132),

END OF itab.

DATA :

prheader LIKE TABLE OF bapimereqheader WITH HEADER LINE,

prheaderx LIKE TABLE OF bapimereqheaderx WITH HEADER LINE,

PRITEMEXP LIKE TABLE OF BAPIMEREQITEM WITH HEADER LINE,

return LIKE TABLE OF bapiret2 WITH HEADER LINE,

pritem LIKE TABLE OF bapimereqitemimp WITH HEADER LINE,

pritemx LIKE TABLE OF bapimereqitemx WITH HEADER LINE,

PRITEMTEXT LIKE TABLE OF BAPIMEREQITEMTEXT WITH HEADER LINE.

DATA auxfilename LIKE rlgrap-filename.

CALL FUNCTION 'UPLOAD'

EXPORTING

filename = 'C:\PRCREATE.TXT'

filetype = 'DAT'

IMPORTING

act_filename = auxfilename

TABLES

data_tab = itab.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

LOOP AT ITAB .

prheader-pr_type = itab-bsart.

APPEND prheader.

CLEAR prheader.

prheaderx-pr_type = 'X'.

APPEND prheaderx.

CLEAR prheaderx.

pritem-preq_item = itab-bnfpo.

pritem-material = itab-matnr.

pritem-plant = '0100'.

pritem-store_loc = itab-lgort.

pritem-quantity = itab-menge.

pritem-trackingno = itab-bednr.

pritem-deliv_date = itab-lfdat.

APPEND pritem.

CLEAR pritem.

pritemx-PREQ_ITEM = itab-bnfpo.

pritemx-preq_itemX = 'X'.

pritemx-material = 'X'.

pritemx-plant = 'X'.

pritemx-store_loc = 'X'.

pritemx-quantity = 'X'.

pritemx-trackingno = 'X'.

pritemx-deliv_date = 'X'.

pritemx-SHORT_TEXT = 'X'.

APPEND pritemx.

CLEAR pritemx.

PRITEMTEXT-PREQ_ITEM = itab-BNFPO.

PRITEMTEXT-TEXT_ID = 'B01'.

PRITEMTEXT-TEXT_LINE = ITAB-TX.

append PRITEMTEXT.

CLEAR PRITEMTEXT.

ENDLOOP.

CALL FUNCTION 'BAPI_PR_CREATE'

  • EXPORTING

  • VERSIONS =

  • SKIP_ITEMS_WITH_ERROR =

  • TESTRUN =

  • IMPORTING

  • PRNUMBER =

TABLES

RETURN = RETURN

pritem = PRITEM

PRITEMX = PRITEMX

  • PRITEMEXP = PRITEMEXP

  • PRITEMSOURCE =

  • PRACCOUNT =

  • PRACCOUNTPROITSEGMENT =

  • PRACCOUNTX =

  • PRADDRDELIVERY =

PRITEMTEXT = PRITEMTEXT

  • PRHEADERTEXT =

  • PRLIMITS =

  • PRCONTRACTLIMITS =

  • PRSERVICES =

  • PRSRVACCESSVALUES =

  • PRSERVICESTEXT =

  • EXTENSIONIN =

  • EXTENSIONOUT =

  • ALLVERSIONS =

CHANGING

PRHEADER = PRHEADER

PRHEADERX = PRHEADERX .

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

REFRESH PRITEM.

REFRESH prheader.

REFRESH prheaderx.

REFRESH PRITEMX.

REFRESH PRITEMTEXT.

Regrds

Hiren K.Chitalia

0 Kudos

Thanks For the reply but i need accounts details as well .

Former Member
0 Kudos

You have to check that for for all the values which you are passing in PRHEADER table there is a corresponding Flag set as 'X' in the the PRHEADERX (Header table).

Similarly, all the values which you are passing in PRITEM table will have a corresponding Flag set as 'X' in the the PRITEMX (Item table).

Hope it helps.

0 Kudos

thanks, but i have already checked that problem is specific to account assignment category.