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

  • 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.

  • BAPI_PO_CREATE1 - In case of account assignment, please enter acc. assignme

    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

  • BAPI_PO_CREATE1 - In case of account assignment, please enter acc. assignment data for item

    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 - &quot;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_poaccountx

    Hi 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,
    Abraham

    Thank 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

  • PO Account assignment P and Q

    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,
    Satish

    Hi 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 PM

    how 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?

  • Account Assignment in PO

    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,
    Vikas

    Hi,
    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