07-31-2009 3:36 AM
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
07-31-2009 4:32 AM
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
07-31-2009 4:39 AM
07-31-2009 6:51 AM
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.
07-31-2009 6:54 AM
thanks, but i have already checked that problem is specific to account assignment category.