2009 Jul 27 3:15 AM
As I want to create PR items and rewrite the items' short text,
even if i have give the short_text some values ,
but it still to be the default value after the PR items created.
The following is main part of my program using BAPI 'BAPI_PR_CREATE' to create PR:
......
w_pritem-material = t_in-matnr.
perform frm_add_zero using w_pritem-material.
W_PRITEM-PREQ_ITEM = SY-TABIX.
w_pritem-preq_item = l_tabix.
perform frm_add_zero using w_pritem-preq_item.
w_pritem-acctasscat = t_in-knttp.
w_pritem-plant = t_in-werks.
W_PRITEM-STORE_LOC = '1003'.
w_pritem-quantity = t_in-menge.
w_pritem-SHORT_TEXT = t_in-txz01.
append w_pritem to t_pritem.
w_pritemx-preq_item = w_pritem-preq_item.
w_pritemx-material = 'X'.
w_pritemx-preq_itemx = 'X'.
w_pritemx-acctasscat = 'X'.
w_pritemx-plant = 'X'.
W_PRITEMX-STORE_LOC = 'X'.
w_pritemx-quantity = 'X'.
w_pritemx-SHORT_TEXT = 'X'.
append w_pritemx to t_pritemx.
......
call function 'BAPI_PR_CREATE'
exporting
prheader = w_prhead
prheaderx = w_prheadx
importing
number = l_prnum
tables
return = t_return
pritem = t_pritem
pritemx = t_pritemx
praccount = t_praccount
praccountx = t_praccountx
pritemtext = t_pritemtext
.
......
Ivan Yang
As I want to create PR items and rewrite the items' short text,
even if i have give the short_text some values ,
but it still to be the default value after the PR items created.
The following is main part of my program using BAPI 'BAPI_PR_CREATE' to create PR:
......
w_pritem-material = t_in-matnr.
perform frm_add_zero using w_pritem-material.
W_PRITEM-PREQ_ITEM = SY-TABIX.
w_pritem-preq_item = l_tabix.
perform frm_add_zero using w_pritem-preq_item.
w_pritem-acctasscat = t_in-knttp.
w_pritem-plant = t_in-werks.
W_PRITEM-STORE_LOC = '1003'.
w_pritem-quantity = t_in-menge.
w_pritem-SHORT_TEXT = t_in-txz01.
append w_pritem to t_pritem.
w_pritemx-preq_item = w_pritem-preq_item.
w_pritemx-material = 'X'.
w_pritemx-preq_itemx = 'X'.
w_pritemx-acctasscat = 'X'.
w_pritemx-plant = 'X'.
W_PRITEMX-STORE_LOC = 'X'.
w_pritemx-quantity = 'X'.
w_pritemx-SHORT_TEXT = 'X'.
append w_pritemx to t_pritemx.
......
call function 'BAPI_PR_CREATE'
exporting
prheader = w_prhead
prheaderx = w_prheadx
importing
number = l_prnum
tables
return = t_return
pritem = t_pritem
pritemx = t_pritemx
praccount = t_praccount
praccountx = t_praccountx
pritemtext = t_pritemtext
.
......
Ivan Yang
2009 Jul 27 10:13 AM
Now I try to use 'BAPI_REQUISITION_CREATE' to instead of 'BAPI_PR_CREATE'.
But it still fail , it always give a error message like that 'No direct postings can be made to G/L acct.'.
Pls note that the ACCTASSCAT is setted to be 'M' , and I am sure that all the data entries can generate a PR without problem
while using 'BAPI_PR_CREATE'.
Following is the main part of my program:
......
PR_ITEM-DOC_TYPE = T_in-BSART.
PR_ITEM-PREQ_ITEM = l_tabix.
perform frm_add_zero using PR_ITEM-PREQ_ITEM.
PR_ITEM-ACCTASSCAT = 'M' .
PR_ITEM-MATERIAL = t_in-MATNR.
perform frm_add_zero using PR_ITEM-MATERIAL.
if t_in-txz01 is not initial.
PR_ITEM-SHORT_TEXT = t_in-txz01.
endif.
PR_ITEM-QUANTITY = T_IN-MENGE.
PR_ITEM-DELIV_DATE = '20090801'.
PR_ITEM-PLANT = T_IN-WERKS.
PR_ITEM-PREQ_DATE = '20090801'.
APPEND PR_ITEM.
PR_ACCOUNT-PREQ_ITEM = PR_ITEM-PREQ_ITEM.
PR_ACCOUNT-G_L_ACCT = T_IN-SAKNR.
PR_ACCOUNT-SERIAL_NO = 1.
PR_ACCOUNT-CO_AREA = 'XXX'.
PR_ACCOUNT-PREQ_QTY = t_in-MENGE.
PR_ACCOUNT-sd_doc = t_in-vbeln.
perform frm_add_zero using PR_ACCOUNT-sd_doc.
PR_ACCOUNT-SDOC_ITEM = t_in-posnr.
perform frm_add_zero using PR_ACCOUNT-SDOC_ITEM.
APPEND PR_ACCOUNT.
CLEAR PR_ACCOUNT.
CLEAR PR_ITEM.
CALL FUNCTION 'BAPI_REQUISITION_CREATE'
EXPORTING
SKIP_ITEMS_WITH_ERROR =
AUTOMATIC_SOURCE = 'X'
IMPORTING
NUMBER = l_prnum
TABLES
REQUISITION_ITEMS = PR_ITEM
REQUISITION_ACCOUNT_ASSIGNMENT = PR_ACCOUNT
RETURN = PR_RETURN
.
Ivan Yang
2009 Jul 28 8:35 AM
Just is a bug.
Implement a notes 1343594 can solve it.
Ivan Yang