BAPI_PO_CREATE1 - In case of account assignment, please enter acc. assignm
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
-
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 - 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. -
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 -
IDoc error In case of ERS procedure, please enter terms of payment
Hi,
I tried to use BAPI_PO_CREATE1 to post purchase order. However, I encountered this error.
IDoc error In case of ERS procedure, please enter terms of payment
I passed the payment term in IDOC PORDCH. Segment E1BPMEPOHEADER-PMTTRMS has value filled out. This value is passed into the BAPI correctly but for some reasons, it got cleared out in the BAPI. Any ideas or suggestions would be greatly appreciated.
ThanksCheck
BAPI_PO_CREATE1 - E 06 436 In case of account assignment -
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 -
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? -
How to solve the error 'please enter account assignment ' in BAPI_PO_CREATE.
Hi gurus,
While creating shopping cart with an item from services type i am getting error please enter account assignment.Please suggest me how to solve this error
thanks®ards,
Suneel Kumar.Hi Suneel,
Are you getting while transferring the Shopping cart into ECC? Or you are getting while creating Shopping cart in SRM?
Thank you
Ritesh -
Enter only one non-statistical account assignment (J1IIN)
Hi Friends,
We are facing one problem relating to controlling.
Here we are assigning internal order in sales order for scrap sales and we are doing order related billing.
we are maintaining different GL accounts for billing and Exicse accounts for Excise and this accounts are cost elements.
when we are doing the billing system is not creating any error message and we are activated COPA also. So in billing COPA document is generating.
we are tried to post the excise invoice for this billing document using the standard transaction code J1IIN.
But system is giving the error message "Enter only one non-statistical account assignment"
Please suggest.
Regards
RamThe system does not recognize whether it should be assigned to the sales order or to the internal order probably. There is every possibility of program error, please refer to oss notes like 170014.
-
Service PO Account assignment Error
Hello All
We have created Service PO with 10 line items ( Cost centre K ) & Deleted all the line & again restored the same but in service line deletion indicator is still there in each line.
During removal of deletion indicator it is giving error Please specify valid account assignment, for all the line items account assignment is there & cost centre & GL account is given
Please suugest
Regards
RajeshHi,
a service line can be never saved WITHOUT the account assignment details (except acc. ***. category U in in the PO item).
In case the table ESLL will have entry but the accounting tables eskl has got no entry or has entries with deletion flag, it would be an inconsistent situation.
You can set on the screen SAPLMLSK 0200 the deletion flag (ESKL-LOEKZ) for your service account assignment, but without entering a new account assignment information the system would not allow you to leave this screen. When you set the deletion flag for service line in the account assignment detail screen, you must enter right afterwards a new account assignment information in order to leave the screen without the error message 06 408.
Regards,
Edit -
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 -
While doing service in service po we get account assignment error pls help
while doing services in service po we get error account assignment error (se181) pls help to resolve
Hi,
a service line can be never saved WITHOUT the account assignment details (except acc. ***. category U in in the PO item).
In case the table ESLL will have entry but the accounting tables eskl has got no entry or has entries with deletion flag, it would be an inconsistent situation.
You can set on the screen SAPLMLSK 0200 the deletion flag (ESKL-LOEKZ) for your service account assignment, but without entering a new account assignment information the system would not allow you to leave this screen. When you set the deletion flag for service line in the account assignment detail screen, you must enter right afterwards a new account assignment information in order to leave the screen without the error message 06 408.
Regards,
Edit -
Hi
I have created PO doc type as ZCAP (for Capital items).whenever we select this doc type we have to select account assignment "A" in Acc.*** Category field in PO line item.As it is manual entry, user (by mistake) is giving "K" instead of "A".
My question how can i make "A" as default to doc type ZCAP.so that whenever we select ZCAP, automatically acc.assign "A" should come and all other account assignment categories should be deleted.
plz suggest me some way.
Thanks in advance.
Regards,
JNRKMMHello
There is no standard configuration to control the account assignment with Purchase order document type. Purchase order document type is an header level control where as the account assignment is Item level comtrol.
You need to use Badi to control the account assignemnt category at PO line item level with reference to the PO document type.
Please consider the Badi ME_PROCESS_PO_CUST
Application components: MM-PUR-PO, MM-PUR-PO-GUI : Main program: SAPLMEPO
The Business Add-In (BAdI) ME_PROCESS_PO_CUST enables you to extend the business logic of the Enjoy purchase order on an individual basis. You can thus influence the dialog transactions ME21N, ME22N, ME23N, and ME29N, and the BAPIs BAPI_PO_CREATE1 and BAPI_PO_CHANGE.
Typical applications for this BAdI include:
Processing of own objects
Processing of additional data on standard objects
Implementation of additional checks and derivations
Change of data in standard fields
1. Start of transaction
Documentation for BADI method INITIALIZE
2. Opening of a PO
Documentation for BAdI method OPEN
3. Checking of data
Header data of PO
Documentation for BAdI method PROCESS_HEADER
Item data of PO
Documentation for BAdI method PROCESS_ITEM
Delivery schedule lines of PO
Documentation for BAdI method PROCESS_SCHEDULE
Account assignments in PO
Documentation for BAdI method PROCESS_ACCOUNT
Processing of Account Assignment Data
Functionality
The PROCESS_ACCOUNT method enables you to change the account assignment data and check it for correctness.
Parameters
The following parameters are available:
IM_ACCOUNT - Account assignment
The interface reference is of the type IF_PURCHASE_ORDER_ACCOUNT_MM. You can use all methods defined there.
Note
Please note the general hints on Error Handling.
If you wish to mark the account assignment data as invalid, use the method INVALIDATE() of the IF_PURCHASE_ORDER_ACCOUNT_MM interface.
Pleae contact Technical consultant to implement the same
warm regards
Ramakrishna
Maybe you are looking for
-
I'm using MacFuse to connect via Finder. It worked before, even on 10.7. But since I cannected th eiPhone to my Windows 7 dual boot partition, now it won't work! Maybe it was just a coincidence, not sure. Just returns this error: "The operation can't
-
File upload uix controller (how to access/save file name in DB returned by
sorry i am new in uix xml. my question is how to save/access file name in DB returned by FileUploadManager. I have used example Using a Controller in ADF UIX. Its uploading the file fine but i am not able to save this filename in DB so that i can acc
-
WM Storage Location control problem - no TR created in receiving warehouse
Hi all, I have configured the system to perform a 311 mvt from sloc 4002 to sloc 0010. Both Slocs have different warehouse numbers assigned. The transfer is working fine, however in the receiving warehouse no TR is being generated even though I am us
-
I recently installed the Iphone update 4 and lost all of my music because of it - it was not backed up. I need to try and get it back. So I right clicked on purchased and went to available downloads and then I got an error message saying "could not c
-
Cannot install itunes and quicktime
I get an error message during quicktime installation "cannot open key: HKEYLOCALMACHINE/Software/Classes/QuicktimePlayerlib.Quicktimeplayerapp/CLSID" Any suggestions what to do next.