2024 Jan 06 6:59 PM
How to create Service PR using BAPI_PR_CREATE?
Please send the complete working code as I am able to create the PR with ITem but for PR, it is giving error "Enter only one true account assignment Message no. KI249".
And of course, refer to the SAP documentation and to SAP notes like 1950319 - BAPI_PR_CREATE: Template for creating service PR - SAP for Me.
2024 Jan 06 7:09 PM
Here is how to work with BAPI, usually you have one BAPI_*_GETDETAIL and one BAPI_*_CREATE:
Good luck!
2024 Jan 06 7:10 PM
And of course, refer to the SAP documentation and to SAP notes like 1950319 - BAPI_PR_CREATE: Template for creating service PR - SAP for Me.
2024 Jan 06 7:32 PM
Hi Sandra,
Can you please help where I am doing wrong in the below code.. I am getting this error - "Enter only one true account assignment"
gs_header-pr_type = 'NB'."
gs_headerx-pr_type = 'X'.
CLEAR: ls_item.
ls_item-preq_item = '00010'.
ls_item-PURCH_ORG = wa_output-ekorg.
ls_item-pur_group = wa_output-ekgrp."
ls_item-short_text = 'PR Text'.
ls_item-plant = wa_output-werks.
ls_item-quantity = wa_output-menge.
ls_item-DES_VENDOR = wa_output-lifnr.
ls_item-FIXED_VEND = wa_output-lifnr.
ls_item-matl_group = wa_output-matkl."
ls_item-item_cat = '9'.
ls_item-acctasscat = 'N'.
ls_item-pckg_no = '0000000001'."
APPEND ls_item to lt_item.
CLEAR: ls_itemx.
ls_itemx-preq_item = '00010'.
ls_itemx-PURCH_ORG = 'X'.
ls_itemx-preq_itemx = 'X'.
ls_itemx-pur_group = 'X'."
ls_itemx-short_text = 'X'."
ls_itemx-plant = 'X'."
ls_itemx-quantity = 'X'.
ls_itemx-DES_VENDOR = 'X'.
ls_itemx-FIXED_VEND = 'X'.
ls_itemx-matl_group = 'X'."
ls_itemx-item_cat = 'X'."
ls_itemx-acctasscat = 'X'."
ls_itemx-pckg_no = 'X'."
APPEND ls_itemx to lt_itemx.
CLEAR: ls_account.
ls_account-preq_item = '00010'.
ls_account-serial_no = '01'.
*account-quantity = '0.955'.
ls_account-CO_AREA = 'SBCC'.
*ls_account-gl_account = wa_output-kstar.
*ls_account-costcenter = wa_output-kstar.
ls_account-NETWORK = wa_output-aufnr.
ls_account-activity = wa_output-vornr.
ls_account-wbs_element = wa_output-posid.
*account-profit_ctr = '9999999999'.
APPEND ls_account to lt_account.
CLEAR: ls_accountx.
ls_accountx-preq_item = '00010'.
ls_accountx-serial_no = '01'.
ls_accountx-preq_itemx = 'X'.
ls_accountx-serial_nox = 'X'.
ls_accountx-CO_AREA = 'X'.
*accountx-quantity = 'X'.
*accountx-distr_perc = 'X'.
*ls_accountx-gl_account = 'X'.
ls_accountx-wbs_element = 'X'.
*ls_accountx-costcenter = 'X'.
ls_accountx-NETWORK = 'X'.
ls_accountx-activity = 'X'.
*accountx-co_area = 'X'.
*accountx-profit_ctr = 'X'.
APPEND ls_accountx to lt_accountx.
CLEAR: ls_service.
ls_service-doc_item = '00010'.
*ls_service-outline = '0000000001'.
ls_service-srv_line = '0000000010'.
ls_service-short_text = wa_output-ktext1.
ls_service-quantity = wa_output-menge.
ls_service-uom = wa_output-meins.
ls_service-gross_price = wa_output-tbtwr.
ls_service-currency = 'SAR'.
*service-matl_group = 'AS07'."物料组
APPEND ls_service to lt_service.
CLEAR: ls_servicex.
ls_servicex-doc_item = '00010'.
*ls_servicex-outline = '0000000001'.
ls_servicex-srv_line = '0000000010'.
ls_servicex-short_text = 'X'.
ls_servicex-quantity = 'X'.
ls_servicex-uom = 'X'.
ls_servicex-gross_price = 'X'.
ls_servicex-currency = 'X'.
*servicex-matl_group = 'X'.
APPEND ls_servicex to lt_servicex.
CLEAR: ls_serviceaccount.
ls_serviceaccount-doc_item = '00010'.
ls_serviceaccount-outline = '0000000001'.
ls_serviceaccount-srv_line = '0000000010'.
ls_serviceaccount-serial_no = '01'.
ls_serviceaccount-serial_no_item = '01'.
ls_serviceaccount-percent = '100'.
APPEND ls_serviceaccount To lt_serviceaccount.
CLEAR: ls_serviceaccountx.
ls_serviceaccountx-doc_item = '00010'.
ls_serviceaccountx-outline = '0000000001'.
ls_serviceaccountx-srv_line = '0000000010'.
ls_serviceaccountx-serial_no = '01'.
ls_serviceaccountx-serial_no_item = 'X'.
ls_serviceaccountx-percent = 'X'.
APPEND ls_serviceaccountx To lt_serviceaccountx.
CALL FUNCTION 'BAPI_PR_CREATE'
EXPORTING
prheader = gs_header
prheaderx = gs_headerx
* TESTRUN =
IMPORTING
number = lv_preq_no
* PRHEADEREXP =
tables
return = lt_return
pritem = lt_item
PRITEMX = lt_itemx
* PRITEMEXP =
* PRITEMSOURCE =
PRACCOUNT = lt_account
* PRACCOUNTPROITSEGMENT =
PRACCOUNTX = lt_accountx
SERVICELINES = lt_service
SERVICELINESX = lt_servicex
SERVICEACCOUNT = lt_serviceaccount
SERVICEACCOUNTX = lt_serviceaccountx
.
READ TABLE lt_return INTO wa_return WITH KEY type = 'E'.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
2024 Jan 06 7:48 PM
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |