BAPI_PO_CREATE1 - E 06 436 In case of account assignment
Please, I need your help...
I am trying to create the PO´s since last week, but is imposible. I try to search posts about this same case but, nothing good to me.
Well, I am creating a Service PO using an agreement and buying to cost center.
When I execute the BAPI generate this messege:
E 06 436 In case of account assignment, please enter acc. assignment data for item .
I put the agreement and item in POITEM and checked in POITEMX. The system bring to me all fields of agreement, but don´t bring the account. In PO ITEM bring the ACCTASSCAT = K.
What I must to do to bring the Account Itens that are inside of my agreement?
Please, help me. I am with problems because I can´t do it.
Thanks a lot ,
Victoria.
Hi,
When we create Purchase Order using "BAPI_PO_CREATE1", it works for all cases but we can have problems when we create Service Items in PO. Either we get an error u201CPlease maintain services or limitsu201D or u201CIn case of Account assignment, please enter acc. assignment data for itemu201D.
Service PO occurs when we enter item category u2018Du2019 (Service) and Account category u2018Ku2019 (Cost Center).
When we use BAPI_PO_CREATE1 to create service PO, following tables are populated at item level:
a) POITEM
b) POITEMX
c) POACCOUNT
d) POACCOUNTX
e) POSERVICES
f) POSRVACCESSVALUES
For service items: POITEM-PCKG_NO = u20180000000001u2019. (assign package no as a dummy number)
Set PCKG_NO flag in POITEMX table as u2018Xu2019.
Package No is the link that connect POITEM table to POACCOUNT table through tables POSERVICES and POSRVACCESSVALUES.
Set POACCOUNT-SERIAL_NO to u201801u2019.
Set same PCKG_NO to u20180000000001u2019 in POSERVICES table. Maintain two entries in POSERVICES table like this:
WA_POSERVICES-PCKG_NO = u20180000000001u2019.
WA_POSERVICES-LINE_NO = u20180000000001u2019.
WA_POSERVICES-OUTL_IND = u2018Xu2019.
WA_POSERVICES-SUBPCKG_NO = u20180000000003u2019. (Dummy No.)
WA_POSERVICES-QUANTITY = u2018100.000u2019.
WA_POSERVICES-BASE_UOM = u2018EAu2019.
WA_POSERVICES-PRICE_UNIT = u20181u2019.
WA_POSERVICES-GR_PRICE = u2018100.000u2019.
WA_POSERVICES-SHORT_TEXT = u2018SERVICE TESTu2019.
APPEND WA_POSERVICES TO IT_POSERVICES.
WA_POSERVICES- PCKG_NO = u20180000000003u2019.
WA_POSERVICES- LINE_NO = u20180000000002u2019.
WA_POSERVICES-QUANTITY = u201810.000u2019.
WA_POSERVICES- BASE_UOM = u2018EAu2019.
WA_POSERVICES--PRICE_UNIT = u20181u2019.
WA_POSERVICES-GR_PRICE = u2018100.000u2019.
WA_POSERVICES-SHORT_TEXT = u2018SERVICE 1u2019.
WA_POSERVICES-MATL_GROUP = u20180012u2019.
APPEND WA_POSERVICES TO IT_POSERVICES.
Set PCKG_NO as SUB_PCKG_NO in table POSRVACCESSVALUES this:
WA_POSRVACCESSVALUES-PCKG_NO = u20180000000003u2019.
WA_POSRVACCESSVALUES-LINE_NO = u20180000000002u2019.
WA_POSRVACCESSVALUES-SERNO_LINE = u201801u2019.
WA_POSRVACCESSVALUES-SERIAL_NO = u201801u2019.
WA_POSRVACCESSVALUES-QUANTITY = u201910.000u2019.
APPEND WA_POSRVACCESSVALUES TO IT_ POSRVACCESSVALUES.
This logic will work definitely and PO Service Items will be created.
Similar Messages
-
Please, I need your help...
I am trying to create the PO´s since last week, but is imposible. I try to search posts about this same case but, nothing good to me.
Well, I am creating a Service PO using an agreement and buying to cost center.
When I execute the BAPI generate this messege:
E 06 436 In case of account assignment, please enter acc. assignment data for item .
I put the agreement and item in POITEM and checked in POITEMX. The system bring to me all fields of agreement, but don´t bring the account. In PO ITEM bring the ACCTASSCAT = K.
What I must to do to bring the Account Itens that are inside of my agreement.
Please, help me. I am with problems because I can´t do it.
Thanks a lot ,
Victoria.Hi,
When we create Purchase Order using "BAPI_PO_CREATE1", it works for all cases but we can have problems when we create Service Items in PO. Either we get an error u201CPlease maintain services or limitsu201D or u201CIn case of Account assignment, please enter acc. assignment data for itemu201D.
Service PO occurs when we enter item category u2018Du2019 (Service) and Account category u2018Ku2019 (Cost Center).
When we use BAPI_PO_CREATE1 to create service PO, following tables are populated at item level:
a) POITEM
b) POITEMX
c) POACCOUNT
d) POACCOUNTX
e) POSERVICES
f) POSRVACCESSVALUES
For service items: POITEM-PCKG_NO = u20180000000001u2019. (assign package no as a dummy number)
Set PCKG_NO flag in POITEMX table as u2018Xu2019.
Package No is the link that connect POITEM table to POACCOUNT table through tables POSERVICES and POSRVACCESSVALUES.
Set POACCOUNT-SERIAL_NO to u201801u2019.
Set same PCKG_NO to u20180000000001u2019 in POSERVICES table. Maintain two entries in POSERVICES table like this:
WA_POSERVICES-PCKG_NO = u20180000000001u2019.
WA_POSERVICES-LINE_NO = u20180000000001u2019.
WA_POSERVICES-OUTL_IND = u2018Xu2019.
WA_POSERVICES-SUBPCKG_NO = u20180000000003u2019. (Dummy No.)
WA_POSERVICES-QUANTITY = u2018100.000u2019.
WA_POSERVICES-BASE_UOM = u2018EAu2019.
WA_POSERVICES-PRICE_UNIT = u20181u2019.
WA_POSERVICES-GR_PRICE = u2018100.000u2019.
WA_POSERVICES-SHORT_TEXT = u2018SERVICE TESTu2019.
APPEND WA_POSERVICES TO IT_POSERVICES.
WA_POSERVICES- PCKG_NO = u20180000000003u2019.
WA_POSERVICES- LINE_NO = u20180000000002u2019.
WA_POSERVICES-QUANTITY = u201810.000u2019.
WA_POSERVICES- BASE_UOM = u2018EAu2019.
WA_POSERVICES--PRICE_UNIT = u20181u2019.
WA_POSERVICES-GR_PRICE = u2018100.000u2019.
WA_POSERVICES-SHORT_TEXT = u2018SERVICE 1u2019.
WA_POSERVICES-MATL_GROUP = u20180012u2019.
APPEND WA_POSERVICES TO IT_POSERVICES.
Set PCKG_NO as SUB_PCKG_NO in table POSRVACCESSVALUES this:
WA_POSRVACCESSVALUES-PCKG_NO = u20180000000003u2019.
WA_POSRVACCESSVALUES-LINE_NO = u20180000000002u2019.
WA_POSRVACCESSVALUES-SERNO_LINE = u201801u2019.
WA_POSRVACCESSVALUES-SERIAL_NO = u201801u2019.
WA_POSRVACCESSVALUES-QUANTITY = u201910.000u2019.
APPEND WA_POSRVACCESSVALUES TO IT_ POSRVACCESSVALUES.
This logic will work definitely and PO Service Items will be created. -
Hello!
While using bapi_po_create1 and making it account assignment in services case
i get an error
E 06 436 In case of account assignment, please enter acc. assignment data for item
Thanks!Hello,
When we create Purchase Order using "BAPI_PO_CREATE1", it works for all cases but we can have problems when we create Service Items in PO. Either we get an error u201CPlease maintain services or limitsu201D or u201CIn case of Account assignment, please enter acc. assignment data for itemu201D.
Service PO occurs when we enter item category u2018Du2019 (Service) and Account category u2018Ku2019 (Cost Center).
When we use BAPI_PO_CREATE1 to create service PO, following tables are populated at item level:
a) POITEM
b) POITEMX
c) POACCOUNT
d) POACCOUNTX
e) POSERVICES
f) POSRVACCESSVALUES
For service items: POITEM-PCKG_NO = u20180000000001u2019. (assign package no as a dummy number)
Set PCKG_NO flag in POITEMX table as u2018Xu2019.
Package No is the link that connect POITEM table to POACCOUNT table through tables POSERVICES and POSRVACCESSVALUES.
Set POACCOUNT-SERIAL_NO to u201801u2019.
Set same PCKG_NO to u20180000000001u2019 in POSERVICES table. Maintain two entries in POSERVICES table like this:
WA_POSERVICES-PCKG_NO = u20180000000001u2019.
WA_POSERVICES-LINE_NO = u20180000000001u2019.
WA_POSERVICES-OUTL_IND = u2018Xu2019.
WA_POSERVICES-SUBPCKG_NO = u20180000000003u2019. (Dummy No.)
WA_POSERVICES-QUANTITY = u2018100.000u2019.
WA_POSERVICES-BASE_UOM = u2018EAu2019.
WA_POSERVICES-PRICE_UNIT = u20181u2019.
WA_POSERVICES-GR_PRICE = u2018100.000u2019.
WA_POSERVICES-SHORT_TEXT = u2018SERVICE TESTu2019.
APPEND WA_POSERVICES TO IT_POSERVICES.
WA_POSERVICES- PCKG_NO = u20180000000003u2019.
WA_POSERVICES- LINE_NO = u20180000000002u2019.
WA_POSERVICES-QUANTITY = u201810.000u2019.
WA_POSERVICES- BASE_UOM = u2018EAu2019.
WA_POSERVICES--PRICE_UNIT = u20181u2019.
WA_POSERVICES-GR_PRICE = u2018100.000u2019.
WA_POSERVICES-SHORT_TEXT = u2018SERVICE 1u2019.
WA_POSERVICES-MATL_GROUP = u20180012u2019.
APPEND WA_POSERVICES TO IT_POSERVICES.
Set PCKG_NO as SUB_PCKG_NO in table POSRVACCESSVALUES this:
WA_POSRVACCESSVALUES-PCKG_NO = u20180000000003u2019.
WA_POSRVACCESSVALUES-LINE_NO = u20180000000002u2019.
WA_POSRVACCESSVALUES-SERNO_LINE = u201801u2019.
WA_POSRVACCESSVALUES-SERIAL_NO = u201801u2019.
WA_POSRVACCESSVALUES-QUANTITY = u201910.000u2019.
APPEND WA_POSRVACCESSVALUES TO IT_ POSRVACCESSVALUES.
This logic will work definitely and PO Service Items will be created.
Thanks,
Jayarama Krishna -
Hi,
Currently I'm facing an error "In case of account assignment, please enter acc. assignment data for item" when create a Purchase Order using BAPI_PO_CREATE1. The condition of the data that need to pump into the system is that this PO is an open item PO where does not require a metarial code for input, but it will pump in Short Text and Material Group. Other than that, the account assignment category is "K" and the item category is "9".
Below is the coding that I have implemented.
IF wa_temp_upr1-waers IS NOT INITIAL.
MOVE wa_temp_upr1-waers TO wa_header-currency.
wa_headerx-currency = abap_true.
ENDIF.
MOVE: wa_temp_upr1-lifnr TO wa_header-vendor,
wa_temp_upr1-unsez TO wa_header-collect_no,
wa_temp_upr1-bukrs TO wa_header-comp_code,
sy-datum TO wa_header-doc_date,
sy-langu TO wa_header-langu,
'KTN1' TO wa_header-purch_org,
wa_temp_upr1-bkgrp TO wa_header-pur_group,
wa_temp_upr1-zterm TO wa_header-pmnttrms.
wa_headerx-collect_no = abap_true.
wa_headerx-po_number = abap_true.
wa_headerx-comp_code = abap_true.
wa_headerx-vendor = abap_true.
wa_headerx-doc_date = abap_true.
wa_headerx-langu = abap_true.
wa_headerx-purch_org = abap_true.
wa_headerx-pur_group = abap_true.
wa_headerx-pmnttrms = abap_true.
IF wa_temp_upr1-meins IS NOT INITIAL.
MOVE wa_temp_upr1-meins TO zunit_e.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
EXPORTING
INPUT = zunit_e
LANGUAGE = 'E'
IMPORTING
OUTPUT = zunit_e.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ELSE.
MOVE zunit_e TO wa_temp_upr1-meins.
ENDIF.
MODIFY it_upr1 FROM wa_temp_upr1.
ENDIF.
ADD 10 TO line_item.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = '01'
OBJECT = 'SERVICE'
IMPORTING
NUMBER = pckg_no.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = wa_temp_upr1-matnr
IMPORTING
OUTPUT = wa_po_item-material.
MOVE: line_item TO wa_po_item-po_item,
wa_temp_upr1-ewerks TO wa_po_item-plant,
wa_temp_upr1-lgort TO wa_po_item-stge_loc,
wa_temp_upr1-matnr TO wa_po_item-material,
wa_temp_upr1-menge TO wa_po_item-quantity,
wa_temp_upr1-peinh TO wa_po_item-price_unit,
wa_temp_upr1-netpr TO wa_po_item-net_price,
wa_temp_upr1-meins TO wa_po_item-po_unit,
wa_temp_upr1-afnam TO wa_po_item-preq_name,
wa_temp_upr1-eeind TO wa_po_item-price_date,
' ' TO wa_po_item-gr_ind,
'X' TO wa_po_item-ir_ind,
'X' TO wa_po_item-prnt_price,
' ' TO wa_po_item-distrib.
wa_po_item-acctasscat = 'K'.
MOVE pckg_no TO wa_po_item-pckg_no.
wa_po_itemx-pckg_no = abap_true.
IF wa_temp_upr1-bismt IS INITIAL.
MOVE: wa_temp_upr1-short_text TO wa_po_item-short_text,
wa_temp_upr1-matl_group TO wa_po_item-matl_group,
'9' TO wa_po_item-item_cat.
wa_po_itemx-short_text = abap_true.
wa_po_itemx-matl_group = abap_true.
wa_po_itemx-item_cat = abap_true.
wa_potext-po_item = wa_po_item-po_item.
wa_potext-text_id = 'F01'.
APPEND wa_potext TO it_potext.
ENDIF.
MOVE wa_po_item-po_item TO wa_po_itemx-po_item.
wa_po_itemx-plant = abap_true.
wa_po_itemx-po_itemx = abap_true.
wa_po_itemx-stge_loc = abap_true.
IF wa_po_item-material IS NOT INITIAL.
wa_po_itemx-material = abap_true.
ENDIF.
wa_po_itemx-quantity = abap_true.
wa_po_itemx-price_unit = abap_true.
wa_po_itemx-net_price = abap_true.
wa_po_itemx-po_unit = abap_true.
wa_po_itemx-preq_name = abap_true.
wa_po_itemx-price_date = abap_true.
wa_po_itemx-acctasscat = abap_true.
wa_po_itemx-gr_ind = abap_true.
wa_po_itemx-distrib = abap_true.
wa_po_itemx-part_inv = abap_true.
APPEND wa_po_item TO it_item.
APPEND wa_po_itemx TO it_itemx.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = wa_temp_upr1-kostl
IMPORTING
OUTPUT = wa_temp_upr1-kostl.
wa_account-costcenter = wa_temp_upr1-kostl.
ADD 1 TO l_acc.
ADD 10 TO v_po_item.
MOVE v_po_item TO wa_account-po_item.
MOVE '01' TO wa_account-serial_no.
APPEND wa_account TO it_account.
wa_accountx-costcenter = abap_true.
MOVE v_po_item TO wa_accountx-po_item.
MOVE '01' TO wa_accountx-serial_no.
wa_accountx-SERIAL_NOX = abap_true.
wa_accountx-po_itemx = abap_true.
APPEND wa_accountx TO it_accountx.
*********** services
wa_services-pckg_no = pckg_no.
wa_services-line_no = '0000000001'.
wa_services-outl_ind = 'X'.
wa_services-subpckg_no = pckg_no + 1.
wa_services-quantity = wa_temp_upr1-menge.
wa_services-base_uom = wa_temp_upr1-meins.
wa_services-price_unit = wa_temp_upr1-peinh.
wa_services-gr_price = wa_temp_upr1-netpr.
IF wa_temp_upr1-short_text IS NOT INITIAL.
wa_services-short_text = wa_temp_upr1-short_text.
ENDIF.
APPEND wa_services TO it_services.
CLEAR: wa_services,
val_lin.
wa_services-pckg_no = pckg_no + 1.
wa_services-line_no = '0000000002'.
wa_services-quantity = wa_temp_upr1-menge.
wa_services-base_uom = wa_temp_upr1-meins.
wa_services-price_unit = wa_temp_upr1-peinh.
wa_services-gr_price = wa_temp_upr1-netpr.
IF wa_temp_upr1-short_text IS NOT INITIAL.
wa_services-short_text = 'SERVICE 1'.
ENDIF.
IF NOT wa_temp_upr1-matl_group IS INITIAL.
wa_services-matl_group = wa_temp_upr1-matl_group.
ENDIF.
APPEND wa_services TO it_services.
************* service account assignment
wa_services_acc-pckg_no = pckg_no + 1.
wa_services_acc-line_no = '0000000002'.
wa_services_acc-serno_line = '01'.
wa_services_acc-quantity = wa_temp_upr1-menge.
wa_services_acc-serial_no = '01'.
wa_services_acc-net_value = wa_temp_upr1-netpr.
APPEND wa_services_acc TO it_services_acc.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
POHEADER = wa_header
POHEADERX = wa_headerx
TESTRUN = pa_test
NO_PRICE_FROM_PO = 'X'
IMPORTING
EXPPURCHASEORDER = va_ebeln
EXPHEADER = wa_expheader
TABLES
RETURN = it_return
POITEM = it_item
POITEMX = it_itemx
POACCOUNT = it_account
POACCOUNTX = it_accountx
POSERVICES = it_services
POSRVACCESSVALUES = it_services_acc
POTEXTITEM = it_potext.
I have done some search regarding this error and try to implemented it, but still does not working.
example website that i found for this error is:
David Klein's Corner: SAP Purchase Order Creation Error via BAPI - "In case of account assignment, please enter acc…
PO Upload through BAPI_PO_CREATE1 - Problem in Service Item
Currently my system is using: SAP_APPL SAPKH60604
I am really stuck on this error. Hope you all can help me on this matter.
Thanks.Hi,
Filling the service line have the problem,
while filling the services we must follow correct order,
Here You entering the new services, first manually create purchase order after that observe the table
'ESLL' and use the FM;-' MS_FETCH_SPEC_FOR_LIST' how the services are inserting after that you also follow the same order.
if service entries are created before the creation of the PO.
then follow as bellow....
SELECT * FROM esll INTO TABLE lt_esll WHERE packno = wa_tmp_spec-packno.
IF sy-subrc = '0'.
LOOP AT lt_esll.
CLEAR : lt_poservices.
lt_poservices-pckg_no = lt_esll-packno .
lt_poservices-line_no = lt_esll-introw .
lt_poservices-ext_line = lt_esll-extrow .
lt_poservices-outl_level = lt_esll-rang .
lt_poservices-outl_no = lt_esll-extgroup .
lt_poservices-outl_ind = lt_esll-del .
lt_poservices-subpckg_no = lt_esll-sub_packno .
lt_poservices-service = lt_esll-srvpos .
lt_poservices-edition = lt_esll-ausgb .
lt_poservices-ssc_item = lt_esll-stlvpos .
lt_poservices-ext_serv = lt_esll-extsrvno.
lt_poservices-quantity = lt_esll-menge .
lt_poservices-base_uom = lt_esll-meins .
lt_poservices-ovf_tol = lt_esll-uebto .
lt_poservices-ovf_unlim = lt_esll-uebtk .
lt_poservices-gr_price = lt_esll-tbtwr .
lt_poservices-from_line = lt_esll-frompos .
lt_poservices-to_line = lt_esll-knt_introw.
lt_poservices-short_text = lt_esll-ktext1 .
lt_poservices-distrib = lt_esll-vrtkz .
lt_poservices-pers_no = lt_esll-pernr .
lt_poservices-wagetype = lt_esll-lgart .
lt_poservices-con_pckg = lt_esll-knt_packno.
lt_poservices-con_line = lt_esll-knt_introw .
lt_poservices-matl_group = lt_esll-matkl .
lt_poservices-taxjurcode = lt_esll-txjcd.
lt_poservices-tax_code = lt_esll-mwskz .
lt_poservices-date = lt_esll-sdate .
APPEND lt_poservices TO lt_poservices[].
CLEAR lt_esll.
ENDLOOP.
ENDIF.
CALL FUNCTION 'MS_FETCH_SPEC_FOR_LIST'
EXPORTING
spec_packno = wa_tmp_spec-packno
* ONLINE_DATA = ' '
* IMPORTING
* LIMIT =
TABLES
servicetab = lt_ml_esll1
* LIMITTAB =
EXCEPTIONS
no_specification_exist = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
LOOP AT lt_ml_esll1 INTO DATA(ls_ml_esll1).
CLEAR : lt_poservices.
lt_poservices-pckg_no = ls_ml_esll1-packno .
lt_poservices-line_no = ls_ml_esll1-introw .
lt_poservices-ext_line = ls_ml_esll1-extrow .
lt_poservices-outl_level = ls_ml_esll1-rang .
lt_poservices-outl_no = ls_ml_esll1-extgroup .
lt_poservices-outl_ind = ls_ml_esll1-del .
lt_poservices-subpckg_no = ls_ml_esll1-sub_packno .
lt_poservices-service = ls_ml_esll1-srvpos .
lt_poservices-edition = ls_ml_esll1-ausgb .
lt_poservices-ssc_item = ls_ml_esll1-stlvpos .
lt_poservices-ext_serv = ls_ml_esll1-extsrvno.
lt_poservices-quantity = ls_ml_esll1-menge .
lt_poservices-base_uom = ls_ml_esll1-meins .
lt_poservices-ovf_tol = ls_ml_esll1-uebto .
lt_poservices-ovf_unlim = ls_ml_esll1-uebtk .
lt_poservices-gr_price = ls_ml_esll1-tbtwr .
lt_poservices-from_line = ls_ml_esll1-frompos .
lt_poservices-to_line = ls_ml_esll1-knt_introw.
lt_poservices-short_text = ls_ml_esll1-ktext1 .
lt_poservices-distrib = ls_ml_esll1-vrtkz .
lt_poservices-pers_no = ls_ml_esll1-pernr .
lt_poservices-wagetype = ls_ml_esll1-lgart .
lt_poservices-con_pckg = ls_ml_esll1-knt_packno.
lt_poservices-con_line = ls_ml_esll1-knt_introw .
lt_poservices-matl_group = ls_ml_esll1-matkl .
lt_poservices-taxjurcode = ls_ml_esll1-txjcd.
lt_poservices-tax_code = ls_ml_esll1-mwskz .
lt_poservices-date = ls_ml_esll1-sdate .
APPEND lt_poservices TO lt_poservices[].
CLEAR ls_ml_esll1.
ENDLOOP.
CLEAR : lt_poservices.
*& Filling the po service values internal table from service internal table
LOOP AT lt_poservices[] INTO lt_poservices WHERE gr_price GT 0.
READ TABLE lt_ml_esll1 INTO wa_msll WITH KEY packno = lt_poservices-pckg_no
introw = lt_poservices-line_no
extrow = lt_poservices-ext_line..
IF sy-subrc EQ 0.
CLEAR lt_posvalues.
lt_posvalues-pckg_no = wa_msll-packno.
lt_posvalues-line_no = wa_msll-introw.
lt_posvalues-quantity = wa_msll-menge.
* lt_posvalues-net_value = wa_msll-netwr.
lt_posvalues-serno_line = '01'.
lt_posvalues-serial_no = '01'.
* lt_posvalues-percentage = '100'.
APPEND lt_posvalues TO lt_posvalues[].
CLEAR : wa_msll.
ENDIF.
ENDLOOP.
note:- if it is correct give points -
RE: In case of account assignment, please enter acc. assignment data for it
Dear All,
I am getting the Error : 'In case of account assignment, please enter acc. assignment data for item'. when I try to create a service PO(I mean when the 'Item Cat' = 9 (D) and Account assignment category as K) .
I am populating POACCOUNT and POACCOUNTX structures of BAPI Correctly even the POSERVICES structure.
I tried even by creating through me21n, there it is getting created correctly. The order in which I am trying to enter in ME21N is First I am providing Org Data,
Next Item data with Acct assn cat as 'K' Item Category as 'D' short text, PO quantity, Order Unit, Net price, Material group, Plant,
Requisitioner.
Next it is prompting for Services data : short text, quantity, Unit, Gross price.
Then it is prompting for Account assignment of service in line 10, there I am giving GL account, Cost center.
It is creating the PO successfully.
But when I try using BAPI (BAPI_PO_CREARE1) it is giving the error 'In case of account assignment, please enter acc. assignment data for item'.
Please do the needful.
Thanks & Warm Regards,
Jayarama Krishna.Dear All,
Who ever facing the above problem can use the below code, problem is solved.
When we create Purchase Order using "BAPI_PO_CREATE1", it works for all cases but we can have problems when we create Service Items in PO. Either we get an error u201CPlease maintain services or limitsu201D or u201CIn case of Account assignment, please enter acc. assignment data for itemu201D.
Service PO occurs when we enter item category u2018Du2019 (Service) and Account category u2018Ku2019 (Cost Center).
When we use BAPI_PO_CREATE1 to create service PO, following tables are populated at item level:
a) POITEM
b) POITEMX
c) POACCOUNT
d) POACCOUNTX
e) POSERVICES
f) POSRVACCESSVALUES
For service items: POITEM-PCKG_NO = u20180000000001u2019. (assign package no as a dummy number)
Set PCKG_NO flag in POITEMX table as u2018Xu2019.
Package No is the link that connect POITEM table to POACCOUNT table through tables POSERVICES and POSRVACCESSVALUES.
Set POACCOUNT-SERIAL_NO to u201801u2019.
Set same PCKG_NO to u20180000000001u2019 in POSERVICES table. Maintain two entries in POSERVICES table like this:
WA_POSERVICES-PCKG_NO = u20180000000001u2019.
WA_POSERVICES-LINE_NO = u20180000000001u2019.
WA_POSERVICES-OUTL_IND = u2018Xu2019.
WA_POSERVICES-SUBPCKG_NO = u20180000000003u2019. (Dummy No.)
WA_POSERVICES-QUANTITY = u2018100.000u2019.
WA_POSERVICES-BASE_UOM = u2018EAu2019.
WA_POSERVICES-PRICE_UNIT = u20181u2019.
WA_POSERVICES-GR_PRICE = u2018100.000u2019.
WA_POSERVICES-SHORT_TEXT = u2018SERVICE TESTu2019.
APPEND WA_POSERVICES TO IT_POSERVICES.
WA_POSERVICES- PCKG_NO = u20180000000003u2019.
WA_POSERVICES- LINE_NO = u20180000000002u2019.
WA_POSERVICES-QUANTITY = u201810.000u2019.
WA_POSERVICES- BASE_UOM = u2018EAu2019.
WA_POSERVICES--PRICE_UNIT = u20181u2019.
WA_POSERVICES-GR_PRICE = u2018100.000u2019.
WA_POSERVICES-SHORT_TEXT = u2018SERVICE 1u2019.
WA_POSERVICES-MATL_GROUP = u20180012u2019.
APPEND WA_POSERVICES TO IT_POSERVICES.
Set PCKG_NO as SUB_PCKG_NO in table POSRVACCESSVALUES this:
WA_POSRVACCESSVALUES-PCKG_NO = u20180000000003u2019.
WA_POSRVACCESSVALUES-LINE_NO = u20180000000002u2019.
WA_POSRVACCESSVALUES-SERNO_LINE = u201801u2019.
WA_POSRVACCESSVALUES-SERIAL_NO = u201801u2019.
WA_POSRVACCESSVALUES-QUANTITY = u201910.000u2019.
APPEND WA_POSRVACCESSVALUES TO IT_ POSRVACCESSVALUES.
This logic will work definitely and PO Service Items will be created. -
BAPI_PO_CREATE1 - PO not created due to wrong account assignment
Hello,
I'm trying to use this BAPI for a PO that I can create with ME21n, so I'm asking you what can be wrong with my input data. Here are the facts:
A - Message returned: KI / 265: Cost Center 1000 / 1000 does not exist;
B - Account Assignment Category = 'K' (Cost Center);
C - G/L account exists and is valid for the PO date;
D - Cost center exists and is valid for the PO date;
Here's how I'm filling the POACCOUNT table (one item only)
PO_ITEM = 00010
SERIAL_NO = 01
CREAT_DATE = 20.10.2009
GL_ACCOUNT = 614000
COSTCENTER = 1000
CO_AREA = 1000
In the POACCOUNTX table I filled the appropriate fields
Please remind that the PO enters fine with ME21n.
Any clues?
Regards,
JoãHi,
do you get the same error Ki265 also in the online transaction ME21N?
Maybe you need to specify POACCOUNT-COSTCENTER with leading zeros; like
"0000001000".
Please check In your test data POHEADER-COMP_CODE and POHEADERX-COMP_CODE, these should be filled as well.
If you still have a problem with the BAPI creation, please create a SAP ticket and use the notes 375886 and 539978
to prive us with a test data to check in SE37.
Regards,
Edit -
BAPI_PO_CHANGE for account assignment tab
Hi sdn,
I am trying to chnage the Account Assgnment tab details with the BAPI BAPI_PO_CHANGE and getting below error message.
E MEPO 000 Purchase order still contains faulty items
I 06 684 Releases already effected are liable to be reset
E 06 436 In case of account assignment, please enter acc. assignment data for item
I am trying to the chnage the line item details for Acount assignment type - Cost center. Item catagory - Limit.
Th evalue i am changing - Gl account and Cost center.
Below is the sample code.
APPEND wa_poitem TO it_poitem.
wa_poitemx-po_item = wa_poitem-po_item.
wa_poitemx-po_itemx = c_x.
APPEND wa_poitemx TO it_poitemx.
wa_poaccount-costcenter = wa_po_tmp_c-kostl.
wa_poaccountx-costcenter = c_x.
wa_poaccount-gl_account = wa_po_tmp_c-sakto.
wa_poaccountx-gl_account = c_x.
wa_poaccount-gr_rcpt = wa_po_tmp_c-wempf.
wa_poaccountx-gr_rcpt = c_x.
wa_poaccountx-po_item = wa_po_tmp_c-ebelp.
wa_poaccountx-serial_no = wa_poaccount-serial_no.
wa_poaccountx-po_itemx = c_x.
wa_poaccountx-serial_nox = c_x.
APPEND wa_poaccount TO it_poaccount.
APPEND wa_poaccountx TO it_poaccountx.
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = wa_po_c-ebeln
testrun = v_testrun
no_messaging = c_x
no_message_req = c_x
IMPORTING
expheader = wa_expheader
TABLES
return = it_return
poitem = it_poitem
poitemx = it_poitemx
poaccount = it_poaccount
poaccountx = it_poaccountxHi I had fixed this problem by creating Enhancement point in the Method .
IF_PURCHASE_ORDER_MM~SET_DATA
at the end of the method.
if sy-tcode = 'ZPO_ACCT_CHANGE'.
free my_recheck_queue[].
refresh my_recheck_queue[].
endif.
Edited by: Naresh Nelapatla on May 13, 2011 5:17 PM -
Using BAPI_PO_CREATE1 : Linking service, and account assignment
Hello,
I have trouble when using BAPI_PO_CREATE1. When creating PO using BAPI_PO_CREATE1, I need to input service for each po item and the service itself need to have account assignment. I simplify the code below.
**PO item
t_poitem-po_item = '10'. "for item 10
t_poitem-PCKG_NO = '20'. "link with service
t_poitemx-po_item = 'X'.
t_poitemx-PCKG_NO = 'X'.
**Account Assignment
t_poaccount-po_item = '10'. "link with PO Item
t_poaccount-SERIAL_NO = '01'.
t_poaccount-DISTR_PERC = 1.
t_poaccountx-po_item = '10'.
t_poaccountx-SERIAL_NO = '01'.
t_poaccountx-po_itemx = 'X'.
t_poaccountx-SERIAL_NOx = 'X'.
t_poaccountx-DISTR_PERC = 'X'.
**PO Services
**1st row
t_poservices-PCKG_NO = '20'.
t_poservices-LINE_NO = '0000000001'.
t_poservices-SUBPCKG_NO = '21'.
APPEND t_poservices.
clear t_poservices.
**2nd row
t_poservices-PCKG_NO = '21'.
t_poservices-LINE_NO = '0000000002'.
t_poservices-EXT_LINE = '0000000010'.
**fill account assignment for services
t_POSRVACCESSVALUES-pckg_no = '21'.
t_POSRVACCESSVALUES-LINE_NO = '0000000002'.
T_POSRVACCESSVALUES-SERNO_LINE = '01'.
t_POSRVACCESSVALUES-SERIAL_NO = '01'. "acct. assign. link
t_POSRVACCESSVALUES-PERCENTAGE = '100'.
Every time i execute BAPI_PO_CREATE1 using entry similar like above, i always found error message in t_return like this:
No account assignment exists for service line 0000000010
I feel sure that i have fill every field needed to link services and account assignment which is using serial_no, but somehow it does not link correctly. Can anyone advise me if there is some thing missing or incorrect with my ABAP code above? Thank you in advance for your help. For sure, first helpful answer will receive my rewards point.
Regards,
AbrahamThank you for the code. Actually i have fill the required field as you told but i did not put it in my code here to focus the problem on service and account assignment. After checking out your code, i found that the different between your code and mine is in services table.
<u><b>your code :</b></u>
<b>POSERVICES:structure</b>
PCKG_NO : 0000000001
LINE_NO :0000000001
SUBPCKG_NO : 0000000002
SERVICE :3000000000017
QUANTITY :5
BASE_UOM :AU
GR_PRICE :20000
<b>POSRVACCESSVALUES: structure name</b>
PCKG_NO :0000000002
LINE_NO :0000000002
<u><b>my code are:</b></u>
<b>POSERVICES:structure</b>
PCKG_NO : 0000000001
LINE_NO :0000000001
SUBPCKG_NO : 0000000002
PCKG_NO : 0000000002
LINE_NO :0000000002
SERVICE :3000000000017
QUANTITY :5
BASE_UOM :AU
GR_PRICE :20000
<b>POSRVACCESSVALUES: structure name</b>
PCKG_NO :0000000002
LINE_NO :0000000002
SERIAL_NO :0000000001
The other difference are in account assignment table, you didn't fill SERIAL_NO field.
my code will be like below:
<b>POACCOUNT: structure name</b>
PO_ITEM :10
SERIAL_NO : 0000000001
If using your version, the error message will be:
<i>In case of account assignment, please enter acc. assignment data for item</i>
If using my version, the error message will be:
<i>No account assignment exists for service line 0000000010</i>
Please advise what was wrong with my code. Thank you.
Regards,
Abraham -
'BAPI_PO_CREATE1' Multiple account assignment is not possible for AFS item
'BAPI_PO_CREATE1' -> This BAPI works perfectly without the 'account assignment' option . But for purchase requisitions which have account assignments BAPI returns the error - E|8W |185 |Multiple account assignment is not possible for AFS items.
Can somebody please help me to get this error resoleve .
My coding I have done like below.
DATA: pohead TYPE bapimepoheader.
DATA: poheadx TYPE bapimepoheaderx.
CONSTANTS : c_x VALUE 'X'.
DATA: exp_head TYPE bapimepoheader.
DATA: return TYPE TABLE OF bapiret2 WITH HEADER LINE.
DATA: poitem TYPE TABLE OF bapimepoitem WITH HEADER LINE.
DATA: poitemx TYPE TABLE OF bapimepoitemx WITH HEADER LINE.
DATA: posched TYPE TABLE OF bapimeposchedule WITH HEADER LINE.
DATA: poschedx TYPE TABLE OF bapimeposchedulx WITH HEADER LINE.
DATA: POACCOUNT TYPE TABLE OF BAPIMEPOACCOUNT WITH HEADER LINE.
DATA: POACCOUNTX TYPE TABLE OF BAPIMEPOACCOUNTx WITH HEADER LINE.
pohead-comp_code = '1000'. "IEQ1 plant. "'1000'.
pohead-doc_type = 'NB' .
pohead-creat_date = sy-datum .
pohead-vendor = EKKO-LIFNR. "'0000500004'.
pohead-purch_org = purch_org.
pohead-pur_group = purch_grp.
pohead-langu = sy-langu .
pohead-doc_date = sy-datum.
poheadx-comp_code = c_x.
poheadx-doc_type = c_x.
poheadx-creat_date = c_x.
poheadx-vendor = c_x.
poheadx-langu = c_x.
poheadx-purch_org = c_x.
poheadx-pur_group = c_x.
poheadx-doc_date = c_x.
poitem-po_item = iLineItem. "1.
poitem-material = req_item-MATERIAL. " '000000000040000234'.
poitem-plant = req_item-PLANT.
poitem-quantity = req_item-QUANTITY.
poitem-net_price = NET_PRICE.
poitem-price_unit = PRICE_UNIT.
poitem-shipping = 'Z1'.
poitem-preq_no = req_item-PREQ_NO.
poitem-preq_item = req_item-PREQ_ITEM.
poitem-acctasscat = 'K'.
APPEND poitem.
poitemx-po_item = iLineItem. "1.
poitemx-po_itemx = c_x.
poitemx-material = c_x.
poitemx-plant = c_x .
poitemx-quantity = c_x .
poitemx-tax_code = c_x .
poitemx-item_cat = c_x .
poitemx-acctasscat = c_x .
poitemx-net_price = c_x.
poitemx-price_unit = c_x.
poitemx-shipping = c_x.
poitemx-preq_no = c_x.
poitemx-preq_item = c_x.
poitemx-acctasscat = c_x.
APPEND poitemx.
POACCOUNT-PO_ITEM = iLineItem.
POACCOUNT-SERIAL_NO = iLineItem.
POACCOUNT-GL_ACCOUNT = '0000211010'.
POACCOUNT-SD_DOC = '0001001056'.
POACCOUNT-ITM_NUMBER = '000100'.
POACCOUNT-CO_AREA = '1000'.
APPEND POACCOUNT.
POACCOUNTX-PO_ITEM = '00001'.
POACCOUNTX-SERIAL_NO = '01'." '01'.
POACCOUNTX-PO_ITEMX = 'X'.
POACCOUNTX-SERIAL_NOX = 'X'.
POACCOUNTX-GL_ACCOUNT = 'X'.
POACCOUNTX-SD_DOC = 'X'.
POACCOUNTX-ITM_NUMBER = 'X'.
APPEND POACCOUNTX.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = pohead
poheaderx = poheadx
IMPORTING
exppurchaseorder = ex_po_number
expheader = exp_head
TABLES
return = return
poitem = poitem
poitemx = poitemx
POACCOUNT = POACCOUNT
POACCOUNTX = POACCOUNTX.I found the answer
-
Account Assignment Category in Rework Order for non valuated material
Friends,
We created non valuated material for rework. I want to accumulate the rework cost. When i am trying in CO02 = Header = Settlement Rule where the category is MAT but I want it to be ORD.
How that category is changed to ORD, so that I can able to accumulate cost with respect to order?Hi,
Whether you are creating the rework order with material? Actually rework order is supposed to be created without material with transaction CO07. Here in this case you have to define the account assignment category ORD in settlement rule.
In some cases to meet the requirement we can create the rework order with material also through transaction CO01/CO08, but in this case the account assignment category will be MAT by default. Therefore you cannot change it to ORD.
Hence you need to create rework order to have account assignment category ORD w/o material only.
Regards,
Sandeep -
Account Assignment tab in the Central Contracts
Dear Experts,
We are on SRM 7.0 SP10 in Extended classic scenario using central contracts and don't find the account assignment tab which is required for non stock materials, and during replication to ECC these contracts are failing since account assignment data is being expected in ECC. Thus request you to please advice me on how to address this error.
Thanks and Regards,
Venkata Koppisetti.Hi Venkata Koppisetti.
In the standard SRM system there is no account assignment in a contract. This is available if you have the PPS functionality acitivated and in that case the account assignment will only be visible when a Guarenteed Minimum is entered.
I hope this helps,
Kind Regards
Lisa -
What is the difference between acc assignment P and Q in purchase order ?
Hi,
P is for Project and Q for Project make to Order
Account assignment is changeable at IR in the case of "P" and GR indicator not binding by default (this can be changeable)
Stock indicator will be Project Stock in case of account assignement Category Q
Regards
Merwyn -
Product category account assignment relation
Hi Experts,
I have deleted a relation between a product cat 1234311 with WBS in the spro configuration. when i am trying to create a SC with the same product cat 1234311 with WBS element. system is not giving any error message and it allowing me to create a SC in the system.
Could you some suggest me on this. our requiremnt is that for the product cat 1234311 users should not be able to use WBS while creating a SC.
Regards,
SatishHi Satish,
Please use BADI - BBP_DOC_CHECK_BADI to validate the required fields and throw error messages in case particular account assignment category is used with regards to a concerned product category.
The product category and account assignment combination is maintained to pick the account assignment details by default if a particular product category is used.
The system do not throw any error messages until and unless the account assignment details used are valid.
Hope this clarifies you and helps in resolving your issue.
Regards,
Teja -
Account assignment issue with service PO
Hi all,
I'm uploading service PO's via BUS2012. With a certain item I use Account assignment category P and item cat D. For that same item I entered the limits and the account assignment data in the appropriate structures .
When I try to upload the system gives me an error: "In case of account assignment, please enter acc. assignment data for item".
The other items in the PO don't have an account assignment category.
Anyone an idea what is wrong?
Edited by: Tom Lismont on Oct 23, 2009 1:27 PMhow do you run a BAPi upload in foreground?
You generate the Idocs and process them via either BD87 or directly in the lsmw transaction.
Is there an option to process in foreground? -
Dear All,
What is the significance of Account Assignment in PO.
How will the Inventory A/C will be effected In case 1) Account assignment is given and 2) In case Account Assignment is not given in PO.
Regards,
VikasHi,
Goods received will be used for two purposes.
1. Direct consumption ( without coming into stock/stores)
2. Entering into stock/stores and later when ever required, it will be issued.
Case-1: Direct consumption : In this case Account assignment need to be maintained as we are not entering into stock. Since it not for a stock, one consumption account ( consumption GL account VBR) need to be assigned. Consumption account can be either of the following :
Asset
Project
Cost Center
Network
Internal order, etc
In this case, No Stock account will be hit.
Case-2: Entering into stock: In this case Account assignment not required. All the materials are posted to Stock account ( BSX).
Thumb rule : If there is no AAC, then goods are posted to stock.
If there is AAC, Stock will NOT get hit. Only Consumption account get HIT.
Hope, this clarifies your requirement.
Thanks
Atchyuth.
Maybe you are looking for
-
Should I buy a single-link or dual-link DVI-D cable for my HP2207 monitor? This question was solved. View Solution.
-
Purchase Group to be selected based on Material Group
Dear Gurus, I would like the system to automatically suggest the purchase group based on the material group mentioned in the purchase requisition. Is there any way this can be done? Regards Veronica
-
When I got started in IPhoto, I imported photos from an external drive. I then discovered the only way I could view the pictures was to make sure that drive was connected - which was fine (in my mind) because it took up less space on the internal HD.
-
Dropbox: I cannot get video to play and cannot share pictures or video with those who do not have Dropbox installed. iMAC I am running OSX 10.6.8 Processor: 3.06 GHz Intel Core 2 Duo Memory: 4GB
-
I have iphone, but I also have an Android can I use itunes with an Android?
I have iphone, but I also have an Android can I use itunes with an Android?