Purchase Order Histroy Limitation

We have the business requirement to process selective SAP purchase orders which grow in size to over 500,000 line items due to the PO history. However, the size of the PO has become problamatic regarding the amount of time it takes to run on our server. Our basis team has informed us the threshold for the PO history is approximately 30,000 line items. The scenario for this large POs is most prevalent for our CATS process where a batch job creates Service Entry heets from time keeping entries. A specific time sheet per contingent worker is processed at least 10 lines per week as orkers are asked to split time between lunch. The contingent worker charges time against 4-5 work orders in a given eek, which in addition to splitting time can be 25 line items per week per user. So this translates to 25 line items on the SES and 25 line items on an ERS Invoice. The current SAP limitation is forcing us to shorten the PO duration to 2 months instead of the anticipated 1 year life cycle. Also the processing time for approving the SES and processing the invoice takes approximately 24 hours because of the PO history. We need a resolution to at least make the PO last for a year, and would very much appreciate any insights on if anyone runs a similar process without encourtering our stated issues.

Hi there,
Please kindly consider the notes I attached to your message.              
In general, aggregating part of the purchase order history documents      
should be used here. Or you should close the purchase order and create    
a new one. Surely we have technical restrictions and can not just         
support the processing of such huge data volume.                                                                               
As far as I can tell from here, using the aggregation transaction ME87    
is the only possibility to consolidate this issue, i.e., reduce the       
amount of data retrieved by the system to an acceptable amount. So        
please let me ask you to aggregate some of your EKBE data for the         
referring PO.                                                                               
311089 Performance problems because of long PO history                    
694091 Further processing of aggregated documents                         
1.Regarding mass execution of PO's.                                        
In this case you enter you selection data as it is on the start scree      
of TA ME87, then you call in the menu program -> execute in backgroun      
Then the aggregation will be carried out as a background job and           
everything possible will be aggregated as you expected.                                                                               
2.Details of aggregation can be checked in below notes                     
417933   Consulting note on purchase order history records ME87            
This says that The aggregated records are saved in table EKBEH.            
Also, since this will improve performance but if you need more you should follow the below advice.
Please create an index using the data in this note. Issue still is that
EKBE is very large.                                                    
1386608 MRN0: Performance problems for selection with receipt prices   
For a detailed description on how to create an index,                  
please refer to the online documentation, 'Basis Components ->         
ABAP Workbench ->  BC - ABAP Dictionary -> Tables -> Indexes'. 
Hope this helps.
Regards,
Matthew

Similar Messages

  • Purchase order increase limitation for user

    Hi Experts
    How can increase the purchase order limitation for the perticular user
    which transaction code have to be run to change the purchase limitation
    Regards
    Piroz

    Hi
    Thread closed, I got it
    Thanks

  • Table for parked and posted vendor bills for purchase order.

    Gurus
    In which table purchase order histroy data is stored? Is there any standard report for viewing following
    po no,PO date,line item no.,material code,ordered quantity,GRN date,GRN qty,GRN amount,parked qty,parked amount,posted qty, posted amount.
    Atul Kulkarni.

    Hi,
    PO history could be seen from table EKBe.
    Rest of the details can be seen in EKKO (header table for purchasing document) and EKKO (line item for purchasing doc).
    Regards,
    Ashwini.

  • Need to Reverse and Close the Purchase Order.

    Hi,
       I need a PO to be closed at the current invoiced
    amount.I GRNd the whole amount, but need this reversed and the PO
    closed. Pls let me know the ways to achive this.
    Thanks
    Rakesh.

    Question1: I need a PO to be closed at the current invoiced amount
    If do not want to process the current invoice then please select the "final invoice" indicator
    in invoice tab in purchase order tab (ME22N - transaction)
    Question2: GRNd the whole amount, but need this reversed and the PO
    Once you cancel the material document invoice will get revese automatically and NO need to do MR8M
    The histroy will be updated in purchase order histroy.
    Hope it will helps to you ||
    Thanks/
    Shrinivas

  • Tolerance limits in Purchase Requisition and Purchase Order

    Hi there
    I see there is some new functionality in ERP6 to control the price difference between the requisition and the order.  According to the documentation one needs to set up a tolerance key and then set the tolerance limits for price price variance.  Thereafter one needs to set the tolerance key on the document type.  I have looked in the document type and I can't seem to find any place in the config to set up or assign the tolerance key to it.  Has anyone tried this and how would I assign the tolerance key to the document type?
    Thanks
    Vinesh

    Aroop thanks for your reply.
    My scenario is not the same as in 3rd party processing. In fact my scenario is make to order and even repairs of other companies machinery. Now what we are trying to achieve is lets say in the repair or in production of the customers machinery or service, MM needs to make a purchase for a part or tool etc. That in itself has a price. Meaning our purchase mm dept has to pay the vendor for the purchase made and in return we need to charge our customer for that purchase. So we would like for the price of the purchase order come in our sales order condition type as a surcharge.
    We were able to fetch the price of the production order automatically thru condition type EK02.
    We would like to do the same from purchase order.

  • To Limiting the size of the attached document in a "Purchase order"

    Does anyone knows how to limit the size of the document indexing in an "Purchase order"?
    Let me explain:
    By the tcode me23n I can create an annex to attach a file to the Purchase order,
    right now there is no limitation on the size of it,
    is there any way to limit that someone attach a giant file to a purchase order and leave me the Database trembling?
    thanks in advance.

    No cross posting
    Read the "Rules of Engagement"

  • Service purchase order bapi_po_create1 error: maintain services or limits

    I am trying to create service Purchase Order.
    I am getting error: 'Purchase order still contains faulty items, Please maintain services or limits'.
    Struggling to solve this. Can anybody shed some light on this to solve.
    I would appreciate your any help.
    thanks.
    The following is the code I am working.
    REPORT  ZAUTO_PO_CREATE1                        .
    constants: c_x value 'X'.
    DATA: i_poitem TYPE STANDARD TABLE OF bapimepoitem,
    i_poitemx TYPE STANDARD TABLE OF bapimepoitemx,
    i_poitem_sch TYPE STANDARD TABLE OF bapimeposchedule,
    i_poitem_schx TYPE STANDARD TABLE OF bapimeposchedulx,
    i_acct_*** TYPE STANDARD TABLE OF bapimepoaccount,
    i_polimits type standard table of BAPIESUHC,
    i_acct_assx TYPE STANDARD TABLE OF bapimepoaccountx,
    i_services TYPE STANDARD TABLE OF bapiesllc ,
    i_srvacc TYPE STANDARD TABLE OF bapiesklc,
    i_return TYPE STANDARD TABLE OF bapiret2,
    wa_header TYPE bapimepoheader,
    wa_headerx TYPE bapimepoheaderx,
    wa_poitem TYPE bapimepoitem,
    wa_poitemx TYPE bapimepoitemx,
    wa_poitem_sch TYPE bapimeposchedule,
    wa_poitem_schx TYPE bapimeposchedulx,
    wa_acct_*** TYPE bapimepoaccount,
    wa_acct_assx TYPE bapimepoaccountx,
    wa_services TYPE bapiesllc,
    wa_srvacc TYPE bapiesklc,
    wa_return TYPE bapiret2,
    wa_BAPIESUHC type BAPIESUHC,
    ws_po TYPE bapimepoheader-po_number.
    data: wa_it_xlikp like line of it_xlikp.
    loop at it_xlikp into wa_it_xlikp.
    endloop.
    data: wa_it_xlips like line of it_xlips.
    loop at it_xlips into wa_it_xlips.
    endloop.
    data: wa_it_xvbpa like line of it_xvbpa.
    loop at it_xvbpa into wa_it_xvbpa.
    if wa_it_xvbpa-parvw = 'SP'.
    wa_header-vendor = wa_it_xvbpa-lifnr.
    endif.
    endloop.
    *data: it_komp type table of komp,
         wa_it_komp like line of it_komp.
         loop at it_komp into wa_it_komp.
         endloop.
    service PO is only for YLF delivery type.
    if wa_it_xlikp-lfart ne 'YLF'.
    exit.
    endif.
    shipping conditions.
    *case wa_it_xlikp-vsbed.
    *when '3P' or 'CP'.
    *exit.
    *endcase.
    wa_header-doc_type = 'YB'.
    wa_header-creat_date = sy-datum.
    wa_header-created_by = sy-uname.
    wa_header-vendor = '0005000000'.
    wa_header-comp_code = 'OB01'.
    wa_header-purch_org = 'OB01'.
    wa_header-pur_group = 'OB9'.
    wa_header-CURRENCY = 'USD'.
    wa_header-vper_start = '20061118'.
    wa_header-vper_end = '20061126'.
    wa_header-ref_1 = 1.
    wa_header-incoterms1 = 'AOS'.
    wa_header-incoterms2 = ''.
    wa_header-our_ref = 'N'.
    wa_headerx-comp_code = c_x.
    wa_headerx-doc_type = c_x.
    wa_headerx-creat_date = c_x.
    wa_headerx-created_by = c_x.
    wa_headerx-vendor = c_x.
    wa_headerx-purch_org = c_x.
    wa_headerx-pur_group = c_x.
    wa_headerx-vper_start = c_x.
    wa_headerx-vper_end = c_x.
    wa_headerx-ref_1 = c_x.
    wa_headerx-incoterms1 = c_x.
    wa_headerx-incoterms2 = c_x.
    wa_headerx-our_ref = c_x.
    wa_poitem-po_item = '00010'.
    wa_poitem-short_text = 'Automatic generation - Freight'.
    wa_poitem-plant = '0089'.
    wa_poitem-quantity = '1'.
    *wa_poitem-MATERIAL = '10'.
    wa_poitem-NET_PRICE = '23.00'.
    wa_poitem-po_unit  = 'ACT'.
    wa_poitem-item_cat = 'D'.
    wa_poitem-acctasscat = 'K'.
    *wa_poitem-matl_group = 'S1'.
    *wa_poitem-pckg_no = '10'.
    APPEND wa_poitem TO i_poitem .
    wa_poitemx-po_item = '00010'.
    *wa_poitemx-po_itemx = c_x.
    wa_poitemx-short_text = c_x.
    wa_poitemx-plant = c_x.
    wa_poitemx-quantity = c_x.
    wa_poitemx-net_price = c_x.
    wa_poitemx-po_unit = c_x.
    wa_poitemx-tax_code = c_x.
    wa_poitemx-item_cat = c_x.
    wa_poitemx-acctasscat = c_x.
    wa_poitemx-matl_group = c_x.
    wa_poitemx-pckg_no = c_x.
    APPEND wa_poitemx TO i_poitemx.
    wa_poitem_sch-po_item = wa_poitem-po_item .
    **wa_poitem_sch-delivery_date = ''.
    APPEND wa_poitem_sch TO i_poitem_sch.
    wa_poitem_schx-po_item = wa_poitem-po_item.
    wa_poitem_schx-po_itemx = c_x.
    wa_poitem_schx-delivery_date = c_x.
    APPEND wa_poitem_schx TO i_poitem_schx.
    wa_acct_***-po_item = wa_poitem-po_item.
    wa_acct_***-serial_no = 01.
    wa_acct_***-gl_account = '5210'.
    wa_acct_***-co_area = 'OB01'.
    wa_acct_***-costcenter = '36089'.
    wa_acct_***-funds_ctr = 'DUMMY'.
    APPEND wa_acct_*** TO i_acct_***.
    wa_acct_assx-po_item = wa_poitem-po_item.
    wa_acct_assx-serial_no = 01.
    wa_acct_assx-po_itemx = c_x.
    wa_acct_assx-serial_nox = c_x.
    wa_acct_assx-gl_account = c_x.
    wa_acct_assx-co_area = c_x.
    wa_acct_assx-costcenter = c_x.
    wa_acct_***-funds_ctr = c_x.
    APPEND wa_acct_assx TO i_acct_assx.
    *services/ limits
    *wa_BAPIESUHC-limit = '3000.00'.
    wa_BAPIESUHC-EXP_VALUE = '300.00'.
    wa_BAPIESUHC-no_limit = 'X'.
    *wa_BAPIESUHC-NO_FRLIMIT = 'X'.
    append wa_bapiesuhc to i_polimits.
    wa_services-pckg_no = '20'.
    wa_services-line_no = '2'.
    wa_services-service = '0005000000'.
    wa_services-subpckg_no = '10'.
    wa_services-quantity = '100'.
    wa_services-gr_price = '100'.
    wa_services-userf1_txt = 'TEXT'.
    wa_services-from_line = '1'.
    wa_services-to_line = '2'.
    APPEND wa_services TO i_services.
    wa_srvacc-pckg_no = '20'.
    wa_srvacc-line_no = '1'.
    wa_srvacc-serno_line = '02'.
    wa_srvacc-serial_no = '02'.
    wa_srvacc-percentage = '100'.
    APPEND wa_srvacc TO i_srvacc.
    CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
    poheader = wa_header
    poheaderx = wa_headerx
    POADDRVENDOR =
    TESTRUN =
    MEMORY_UNCOMPLETE =
    MEMORY_COMPLETE =
    POEXPIMPHEADER =
    POEXPIMPHEADERX =
    VERSIONS =
    NO_MESSAGING =
    NO_MESSAGE_REQ =
    no_authority = c_x
    no_price_from_po = c_x
    IMPORTING
    exppurchaseorder = ws_po
    EXPHEADER =
    EXPPOEXPIMPHEADER =
    TABLES
    return = i_return
    poitem = i_poitem
    poitemx = i_poitemx
    POADDRDELIVERY =
    poschedule = i_poitem_sch
    poschedulex = i_poitem_schx
    poaccount = i_acct_***
    *POACCOUNTPROFITSEGMENT =
    poaccountx = i_acct_assx
    POCONDHEADER =
    POCONDHEADERX =
    POCOND =
    POCONDX =
    POLIMITS = i_polimits
    POCONTRACTLIMITS =
    poservices = i_services
    posrvaccessvalues = i_srvacc
    POSERVICESTEXT =
    EXTENSIONIN =
    EXTENSIONOUT =
    POEXPIMPITEM =
    POEXPIMPITEMX =
    POTEXTHEADER =
    POTEXTITEM =
    ALLVERSIONS =
    POPARTNER =
    ***confirms the document creation by database commit.
       CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          WAIT          = 'X'
    IMPORTING
      RETURN        =
    LOOP AT i_return INTO wa_return.
       WRITE wa_return-message.
    ENDLOOP.

    Fill this tables:
    GT_POSRVACCESSVALUES  TYPE STANDARD TABLE OF BAPIESKLC,
    GT_POCONTRACTLIMITS   TYPE STANDARD TABLE OF BAPIESUCC,
    Glauco

  • Purchase Order History Tolerance Limits

    Good Morning,
    I am hoping someone can clarify this for me.  Within MM_EKKO archiving object a reason why you can not archive is "The last purchase order history transaction for an item is outside the tolerance limit".  When SAP says Tolerance Limits for this item what are they referring to?  Is it Residence Time or is it the C MM-PUR Reorg. Sched. Agrmnt Extra configuration?
    Our current settings are as follows:
    Residence Time = 2500 days
    C MM-PUR Reorg. Sched. Agrmnt Extra = Validty Period is expired for more than  day.  No other settings are active.
    Thanks in advance.

    GR for movement type '101'. IR via tcode MIRO.IR happens first before GR only in case where friegth charges are paid to a third party.

  • To List Open Purchase Orders

    Hi all,
    My requirement is to list all the open purchase orders by purchase organization, and the selection criteria is it should follow the condition as given below.
    If
    Delivery Complete indicator(ekpo-elikz)  = 'X'.
    Deletion Indicator(ekpo-loekz) = 'L'.
    GR Flag(ekpo-wepos) = 'X'.
    then Purchase order is considered as closed.
    Delivery Complete indicator(ekpo-elikz)  = 'X'.
    Deletion Indicator(ekpo-loekz) = ' '.
    GR Flag(ekpo-wepos) = 'X'.
    then Purchase order is considered as closed.
    Delivery Complete indicator(ekpo-elikz)  = ' '.
    Deletion Indicator(ekpo-loekz) = 'L'.
    GR Flag(ekpo-wepos) = 'X'.
    then Purchase order is considered as closed.
    Delivery Complete indicator(ekpo-elikz)  = ' '.
    Deletion Indicator(ekpo-loekz) = ' '.
    GR Flag(ekpo-wepos) = 'X'.
    then the Purchase order is considered as OPEN.
    So we should get the PO's by purchasing organization which satisfies the final condition.
    How can it be done, can anyone help me out?

    Hi Prashanth,
    This looks simple and all that you have to do is to just put in the last condition to select the open purchase orders.
    The other 3 conditions will automatically negated by the last one.
    Let me know if your question is limited to this or you are looking for some other information?

  • Can we create purchase order through report programming?

    hi experts.....
    can we create purchase order through report programming?If yes plz give me the thread details?

    Hi,
    Use this code in a program by using a BAPI function module
    Anothe rway is using classical/ALV report using call transaction from a report for changing the PO
    loop at i_header.
        header-ref_1         = i_header-legacy.
        headerx-ref_1        = c_x.
        header-doc_type      = i_header-bsart.
        headerx-doc_type     = c_x.
        header-comp_code     = i_header-bukrs.
        headerx-comp_code    = c_x.
        header-purch_org     = i_header-ekorg.
        headerx-purch_org    = c_x.
        header-pur_group     = i_header-ekgrp.
        headerx-pur_group    = c_x.
        header-vendor        = i_header-lifnr.
        headerx-vendor       = c_x.
        concatenate i_header-bedat+4(4)
                    i_header-bedat+0(2)
                    i_header-bedat+2(2)
                    into header-doc_date.
        headerx-doc_date     = c_x.
        header-created_by    = i_header-ernam.
        headerx-created_by   = c_x.
        header-currency      = i_header-waers.
        headerx-currency     = c_x.
        concatenate i_header-kdatb+4(4)
                    i_header-kdatb+0(2)
                    i_header-kdatb+2(2)
                    into header-vper_start.
        headerx-vper_start   = c_x.
        loop at i_items where legacy = i_header-legacy.
          item-po_item            =  i_items-ebelp.
          itemx-po_item           =  i_items-ebelp.
          itemx-po_itemx          =  c_x.
          if i_header-bsart = 'NB'.
            item-material            =  i_items-ematn.
            itemx-material           =  c_x.
            schedule-quantity        =  i_items-menge * 1000.
            schedulex-quantity       =  c_x.
          else.
            item-short_text          = i_items-ematn.
            itemx-short_text         = c_x.
            item-matl_group          = '1000'.
            itemx-matl_group         = c_x.
            schedule-quantity        =  '1'.
            schedulex-quantity       =  c_x.
          endif.
          item-plant               =  i_items-werks.
          itemx-plant              =  c_x.
          schedule-po_item         = i_items-ebelp.
          schedule-sched_line      = '1'.
          schedulex-po_item        = i_items-ebelp.
          schedulex-sched_line     = '1'.
          schedulex-po_itemx       = c_x.
          schedulex-sched_linex    = c_x.
          concatenate  i_items-eildt+0(2)
                       i_items-eildt+2(2)
                       i_items-eildt+4(4)
                       into schedule-delivery_date.
          schedulex-delivery_date  =  c_x.
          item-price_unit          =  i_items-peinh * 100.
          itemx-price_unit         =  c_x.
          item-tax_code            =  i_items-mwskz.
          itemx-tax_code           =  c_x.
          item-shipping            =  i_items-evers.
          itemx-shipping           =  c_x.
          account-po_item          = i_items-ebelp.
          accountx-po_item         = i_items-ebelp.
          accountx-po_itemx        = c_x.
          if i_header-bsart = 'FO'.
            item-pckg_no  = sy-tabix.
            itemx-pckg_no = 'X'.
            limits-pckg_no        = sy-tabix.
            limits-limit          = i_items-overalllimit.
            limits-exp_value      = i_items-expectedoverall.
            posrvaccessvalues-pckg_no    = sy-tabix.
            posrvaccessvalues-line_no    = '0'.
            posrvaccessvalues-serno_line = '00'.
            posrvaccessvalues-percentage = '100.0'.
            posrvaccessvalues-serial_no  = '01'.
            account-serial_no     = '1'.
            accountx-serial_no    = '1'.
            accountx-serial_nox   = c_x.
            account-quantity  = '1'.
            accountx-quantity = c_x.
            call function 'CONVERSION_EXIT_ALPHA_INPUT'
              exporting
                input  = i_items-kostl
              importing
                output = account-costcenter.
            accountx-costcenter   = c_x.
            call function 'CONVERSION_EXIT_ALPHA_INPUT'
              exporting
                input  = i_items-sakto
              importing
                output = account-gl_account.
            accountx-gl_account   = c_x.
            item-acctasscat       = i_items-knttp.
            itemx-acctasscat      = c_x.
            item-item_cat         = i_items-epstp.
            itemx-item_cat        = c_x.
          endif.
          append:item,itemx,schedule,schedulex,account,accountx,limits,posrvaccessvalues.
          clear :item,itemx,schedule,schedulex,account,accountx,limits,posrvaccessvalues.
        endloop.
        call function 'BAPI_PO_CREATE1'
          exporting
            poheader                     = header
            poheaderx                    = headerx
    *   POADDRVENDOR                 =
    *   TESTRUN                      =
    *   MEMORY_UNCOMPLETE            =
    *   MEMORY_COMPLETE              =
    *   POEXPIMPHEADER               =
    *   POEXPIMPHEADERX              =
    *   VERSIONS                     =
    *   NO_MESSAGING                 =
    *   NO_MESSAGE_REQ               =
    *   NO_AUTHORITY                 =
    *   NO_PRICE_FROM_PO             =
            importing
            exppurchaseorder             = ponumber
    *   EXPHEADER                    =
    *   EXPPOEXPIMPHEADER            =
            tables
            return                       = return
            poitem                       = item
            poitemx                      = itemx
    *   POADDRDELIVERY               =
            poschedule                   = schedule
            poschedulex                  = schedulex
            poaccount                    = account
    *   POACCOUNTPROFITSEGMENT       =
            poaccountx                   = accountx
    *   POCONDHEADER                 =
    *   POCONDHEADERX                =
    *   POCOND                       =
    *   POCONDX                      =
            polimits                     = limits
    *   POCONTRACTLIMITS             =
    *   POSERVICES                   =
       posrvaccessvalues            = posrvaccessvalues.
    *   POSERVICESTEXT               =
    *   EXTENSIONIN                  =
    *   EXTENSIONOUT                 =
    *   POEXPIMPITEM                 =
    *   POEXPIMPITEMX                =
    *   POTEXTHEADER                 =
    *   POTEXTITEM                   =
    *   ALLVERSIONS                  =
    *   POPARTNER                    =
        if ponumber eq space.
          loop at return where type = 'E'.
            clear buffer.
            move-corresponding return to e_return.
            concatenate i_header-legacy e_return into buffer.
            transfer buffer to p2_file.
          endloop.
          move-corresponding i_header to i_eheader.
          transfer i_eheader to p3_file.
          loop at i_items where legacy = i_header-legacy.
            move-corresponding i_items to i_eitems.
            transfer i_eitems to p4_file.
          endloop.
        else.
          commit work and wait.
        endif.
        clear:ponumber,header,headerx,item,itemx,account,accountx,limits,return,schedule,schedulex,posrvaccessvalues.
        refresh:item,itemx,account,accountx,limits,return,schedule,schedulex,posrvaccessvalues.
      endloop.
      close dataset p2_file.
      close dataset p3_file.
      close dataset p4_file.
    Regards
    Krishna

  • Purchase Order Controlled by Release Budget Amount.

    Dear Friend's
    I have created project upto level 2 wbs element.with ext services.
    In Budgeting,
    In CJ30 Tcode i have allocated budget Rs.100000/-
    In CJ32 Tcode i have released above mentioned same amount for WBS 1.
    In Purchase Ordering,
    While creating PO In ME21N Tcode i have taken services for WBS 1 for which PO net amount is more than Rs.100000/-
    When i go for saving of PO.The system must show Error "PO Amount is more than Released Budget.
    Pls tell me the customizing setting for above mentioned scenario.By doing this setting system must show error while saving PO.
    Pls help me urgently.
    Thanks & Regards,
    Sandeep N.Theurkar

    Sandeep,
    As far as I see, all the customizing settings are correct in this case. But just to summarize, please make sure:
    a) In budgeting profile (OPS9) make sure flag "releases" is set
    b) In CJ32 verify you have released budget for the WBS element (or superior)
    c) In CJ02 verify that status BUDG and AVAC are active for the WBS element
    d) In customizing path Project System > Costs > Budget > Define Tolerance Limits make sure you have entered the necessary tolerance limits for your budgeting profile. At least, one entry with Activity group ++,  action 3 and usage 100,00 is necessary in your case.
    e) In OPTK transaction, please make sure you have not included any cost element for your controlling area.
    f) In ME22N make sure the PO is correctly account assigned to the WBS element
    Once all this is done, please run CJBN and retest.
    If you still don´t get the error when posting the PO, please send the output of BPFCTRA0 report
    Hope this helps
    Regards
    Martina

  • Budget Exceed Error during creating of Purchase order in reference to PR

    Hi,
    I am getting the subject error (Budget Exceed Error) every time when I want to create a purchase order related to purchase requisition of my project.
    Issue is that after release the project when the purchase requisition has created for non stock item under activity I found in transaction CJ31 the assign value has already updated.
    Let say my budget is 400 US$, and the purchase requisition has created for 380 US$. Now when I check with CJ31I found the assigned value is 380. Now If I create a purchase order it throws an error that budget exceed.
    The tolerance limits are following:
    SA     ZSA01     Budget Profile Overall AVAC     ++     1     90,00
    SA     ZSA01     Budget Profile Overall AVAC     ++     3     100,00
    SA     ZSA01     Budget Profile Overall AVAC     01     1     90,00
    SA     ZSA01     Budget Profile Overall AVAC     01     3     100,00
    Please advice what will be the proposed solution for the above issue.
    Thanks in advance.
    With Regards,

    Your budget is 400$ and PR value is 380$ but you have not mentiond what is the tax value ?
    when u r creating PO at that time system will check the budget against PO value considering taxes also.
    eg. 380$+tax value.
    after considering taxes your total PO value imay be getting updated more that 400$.
    Explre you error by clicking on error information you get the exact diffrence in budget and PO value.
    Hope this will sove your problem, reply after doing this.

  • Blanket Purchase Order

    i created blanket purchase order with item category B and account assignment as K
    PO created
    and i am trying to enter invoice
    can any  one tell me how to do this..i failed several times
    finally in material tab of invoice receipt i entered material number and PO quantity and then i am able to post the invoice..
    please explain i did it correctly or tell me the right format
    thank you

    Hi,
    In Blanket PO refer to the business process where you have a Purchase Order with a validity period (start / end date) and a limit on the item. No Goods Receipt takes place. Payment is triggered by Invoice., select document type as FO and item category B and Account Assignment category K & provide the limits to the validity periods and the value limits in the PO.
    Multiple invoices can be processed in miro. One thing is that invoices must be processed within the validity period specified in PO. The total value of invoices must also not exceed the limit specified in PO item. The validity period is specified on PO Header Level, while the Limit is on Item level
    process :
    1. Make the Blanket PO. with doc type FO and item cat B and Account Assignment category K, with GL A/c and costcenter.
    2. Because no Goods Receipt (GR) will take place, the GR indicator is switched off when the item category is selected
    3. Based on the PO dates, we directly make the Invoice and pay to the vendor
    Regards
    Raj.

  • Times on Purchase Orders in APO or R/3

    Hi Gurus -
    We have a production schedule for finished goods  and semi finished goods in APO.
    The planned orders(production schedule) are then used in R/3 PP MRP for raw materials planning.
    For some of the raw materials, the storage space in the factory is limited due to some constraints and hence multiple shipments have to be scheduled each day.  These could be for the same ingredient or different ingredients depending on the product mix. For example, first truck at 6 AM, second at 2 PM and the third at 10 PM.  The timing of these trucks has to be in sync with the APO production schedule.
    Right now since MRP can only go the daily bucket level, the MRP run creates a single Purchase Requisition per day which is then converted into a Purchase Order. They also have to manually enter all the exact timing detail of the purchase orders before putting it up for all of the factory to see and also call the vendor and tell them about what times they have to be delivered. Is there any way to automate this?
    The desired output is a Purchase Requisition with times on it( one at 6 AM, 2 PM and 10 PM) which are in sync with the planned orders in APO, which can then be converted into Purchase Orders
    Can you please let me know what is the best way to do this?
    I was thinking about actually sending these special raw materials into APO and plan them in APO using the PPDS heuristic, that way the purchase requisitions actually have the times on it. The vendors are not modeled in APO but my assumption is when these Purchase requisitions flow through into R/3, they would read the vendor list and pick up the vendor.
    Is there any functionality with R/3 MRP to create Preqs by time? I have also asked this question in the PP forum since this question deals with both the systems.
    Regards
    Varun

    Hi Shailaja,
    If this approval is done through ESS, the Time administrator needs to manually transfer the approved data to IT2001 Using RPTARQPOST program.
    Also, check the scenario in 'PTARQ' transaction.
    If this helps, pl do reward.
    Thanks
    Narasimha

  • In creation of purchase order

    Dear All,
    When ever I am creating a purchase order system issuing a warning messages like mentioned below:
    <b>Effective price lower than material price (variance > 30.00 %)
    Effective price is 0.00 INR, material price is 80.00 INR</b>
    Can you suggest any body where we I am  missing the customization.
    Best Regards,
    Krishna

    Hi Krishna
    U can set these tolerance in
    SPRO>Materials Management->Purchasing>Purchase Order-->Set Tolerance Limits for Price Variance
    Also check help provided by SAP for this
    Set Tolerance Limits for Price Variance
    In this step, you define the tolerance limits for price variances.
    When processing a purchase order, the system checks whether the effective price of a PO item shows variances compared with the valuation price stored in the material master record. In addition, it checks whether the specified cash discount value is admissible.
    Variances are allowed within the framework of tolerance limits. If a variance exceeds a tolerance limit, the system issues a warning or error message.
    In the SAP System, the types of variance are represented by the tolerance keys. For each tolerance key, you can define percentage and value-dependent upper and lower limits per company code.
    Standard settings
    The standard SAP System supplied contains the following tolerance keys:
    PE Price variance, Purchasing
    Tolerance limit for system message no. 207. <b>This message appears if the specified effective price exceeds the predefined tolerances</b> when compared with the material price.
    SE Maximum cash discount deduction, Purchasing
    Tolerance limit for system message no. 231. This is a warning message, which appears when the specified cash discount percentage exceeds the predefined tolerances.
    If u don't want this message to appear click <b>Do not check</b> tab by going above said SPRo path
    Revert for any clarification
    Vishal...

Maybe you are looking for

  • CASE WHEN statement in DECODE

    SELECT v_startdate, v_enddate, (CASE WHEN SYSDATE BETWEEN v_startdate AND v_enddate THEN 'active' ELSE 'inactive' END) status FROM correction_tab; Could you kindly guide us as to how can we use DECODE and get the desired output. Thanks, Rami Reddy.

  • RSR_OLAP_BADI  or RSR00002 --not getting triggered from RSRT --Please Help

    Hi All Quick reposnse is highly Appreciated and rewarded. I wanted to implement a Virtual Key Figure .I have implemented RSR_OLAP_BADI .But when i execute query through RSRT .This BADI is not getting triggered infact its not reaching the Break Point

  • UserExit in HR-ABAP.

    Hi to ALL, my requirement is, PL are carry forward to next year and These PL are encashment . Exits are EXIT_SAPLHRLV_004 -->for Encashment,               EXIT_SAPLHRLV_0045-->for PL carry forward Any body can send code for this.... It is v.v.urgent.

  • Connect to Oracle Database on a Guest VM from the  - Problem

    Hello All, I've been facing an issue with my Oracle VM. Let me explain: I have a VM running CentOS 6 with Oracle Database 11g 11.2.0 installed. What I want to do is use SQL Developer, Toad, SQL*PLUS from the host machine that is running Windows 7 64b

  • Using charateristics in formulas

    Hello everybody, I got following problem: I've got a simpe reports: characteristics: COUNTRY (like US, DE, GB ...) key figures:     AMOUNT. What I need is this: to write an formula in which i make folowing check: if COUTRY = 'US'-> Noth America, if C