Penalty costs in the optimizer

I have a requirement in my project where the sales orders should have a higher priority than the forecast.  I have defined the delay penalty for the sales orders as 1 per unit per day and the delay penalty for the forecast as 0.01 per unit per day.  I have defined the maximum delay as 45 days for
both the sales orders and forecast.  This is how I have setup all the products.
Does the above setting ensure that the sales orders are satisfied all the time before the forecast is
satisfied by the deployment optimizer.  Could there be a scenario where the forecast is satisfied before the sales orders with the above penalty structure.
Thanks in advance.
Regards,
Venkat

Hi venkat,
You must maintain distinctly higher penaly costs in the SNP 1 tab for customer demand than for demand forecast.
But I do not understand the statement "sale order should always be fulfilled before forecast".  If you are talking about same location, what difference does it make? 
If yoy are saying that there is a forecast for one product and sale order for another which are manufactured with same resource and that the product wih sale order should be produced in preference over the product with forecast, the above solution should work.
Regards,
Nitin Thatte

Similar Messages

  • Procurement costs in the optimizer

    HI all,
    In my optimization run, the procurement costs are not being considered. I updated the procurement costs in the transportation lane and updated the cost profile. Do anyone know if I have to do any other configuration with this cost?
    thanks a lot and regards,
    Luiz Manssur

    Hi Luiz Manssur,
    You can define cost function in the Procurement tab of APO master data maintenance(mat1).
    Cost functions are used by optimization-based planning in Supply Network Planning (SNP), to calculate the costs of procuring, producing, and transporting varying quantities of products. The following types of cost function are available:
    The cost function in the location product master defines the cost of procurement.
    The cost function in the production process model (PPM) or in the production data structure (PDS) defines the costs of production.
    The cost function in the master data of the transportation lane defines the transportation costs.
    Regards
    R. Senthil Mareeswaran.

  • Penalty Cost Groups in SNP Optimization

    Hello APO experts!!
    I would like to know if any of you have more information about the of penalty cost group in SNP Optimization.
    I have been researching on the help.sap.com web site but I need more details.
    Can anybody help me?
    Best Regards
    Angela

    Hi Angela,
    1)  You can use penalty cost group for optimization-based planning in Supply Network Planning (SNP) to define that customer demand is prioritized.
    2) You can use the Business Add-In (BAdI) /SAPAPO/SDP_RELDATA to assign penalty cost groups to forecasts and sales orders
    3)  You then release the forecasts with descriptive characteristics, such as customer, to SNP or transfer sales orders from SAP ERP to SAP SCM via the Core Interface (CIF).
    4) In SNP 1 tab page for product master data, you can assign penalty costs for non-delivery and delays to the penalty cost groups. In this way, penalty costs become customer-dependent.
    5) You can use the penalty cost group to define that the system first covers the demand from penalty cost groups with a higher priority, and only then covers penalty cost groups with a lower priority.
    6) Penalty cost groups are controlled by penalty cost group profiles
    7) You define the profiles from the SAP Easy Access menu, by choosing Advanced Planning and Optimization -> Supply Network Planning -> Environment -> Current Settings -> Profiles -> Define SNP Penalty Cost Group Profiles and then assign them to individual optimization runs in interactive planning or when executing the SNP optimizer in the background.
    Regards
    R. Senthil Mareeswaran.

  • ZERO Total Costs of the Solution and No Result Log after Optimiser Run

    Hi Experts
    I found that after SNP optimiser run for one variant with selected product and location, the Result Log generated & Total Costs of the Determined Solution is ZERO from OPTIMISER LOG.
    Before optimiser run, I had run consistency check /SAPAPO/CONSCHK, /SAPAPO/TSCONS & /SAPAPO/OM17.
    Also note, sale optimiser profile is used later with other set of products and location, but there Result Log and Total Costs of the Determined Solution is there in optimiser log.
    What could be the reason of this? Please suggest.
    Regards
    Pradipta Sahoo

    Hi Pradipta,
    Did you see any result from your optimizer run? Means, if you see some pln ord/purch req. , generated from the optimizer run, to meet the demand?  If yes, then it sounds like a master data issue with cost maintenance. If no, then it could be master data issue with  cost maintenance or there is no source (for example- no t-lane for those products you used in the optimizer run) to meet the demand and you have set the indicator for 'no order w/o source'.
    Anyway I would suggest to check the following-
    1. As Anand said, make sure you have maintain all the penalty cost for the product-locations where you have the demand. Also please check if the products are assigned to the lane (from Source to destination location).
    2. If you have maintained any production cost  in PPM (if used one) or storage cost in the demand location or transportation cost (in the T-lane), then make sure these all cost are way lesser than the non-delivery penalty cost.
    But yes, even if, this is the case, then optimizer should generate some non-delivery penalty cost, when demands are not fulfilled! So, it seems like there is no penalty cost.
    Did you use any optimizer cost profile or it is same as previous one?
    Please update us.
    Thanks,
    Satyajit

  • Can I trust the optimizer to do the right thing every time?

    Hello,
    I have a Business Objects report that is performing poorly, I kind of found something akin to a solution but I'd like a second (and third, and...) opinion about is suitability. I don't know much about BO, so I'll stick to the SQL part.
    So, the query looks something like that:
    SELECT ..... FROM
    -- this is the generic part of the report
    < long list of ANSI joins here>
    RIGHT JOIN some_table ON (conditions - non parametrizable from the report - not allowed by BO)
    <some more joins for good measure>
    -- end of the generic part, up to here nothing can take user parameters
    WHERE
    -- this is the specific part, from here on, the conditions can take user parameters
    some_column = @some_param
    ....So far so simple. Now, I'm trying to find a way to push some user defined parameters in the generic part.
    I can to this using package variables, something like that (very simplified form) :
    CREATE OR REPLACE PACKAGE vars AS
    my_filter VARCHAR2(100);
    FUNCTION set_filter(filter_val IN VARCHAR2) return number;
    END vars;
    CREATE OR REPLACE PACKAGE BODY vars AS
    FUNCTION set_filter(filter_val IN VARCHAR2) return number DETERMINISTIC IS
          my_filter := filter_val;
          return 1;
    END set_filter;
    END vars;And ask the developers to rewrite the report like that:
    SELECT ..... FROM
    -- this is the generic part of the report
    < long list of ANSI joins here>
    RIGHT JOIN some_table ON (conditions  - as above
                                                    *AND my_varchar_column = vars.my_filter*)
    <some more joins for good measure>
    -- end of the generic part, up to here nothing can take user parameters
    WHERE
    -- this is the specific part, from here on, the conditions can take user parameters
    some_column = @some_param
    *AND vars.set_filter('some text here') = 1*
    ....The question is, can I trust the optimizer to evaluate my where clause (thus executing set_filter) before trying to enter the joins?
    I know that this works nicely with conditions like "1=0", in this case it doesn't even bother to read the tables involved. But can I assume it will do the same with a pl/sql function? Always?
    In my tests it seems to work but obviously they are not exhaustive. So I guess what I'm asking is, can anyone imagine a scenario where the above would fail?
    Thanks,
    Iulian
    Edited by: Iulian J. Dragan on Feb 27, 2013 2:57 AM

    Iulian J. Dragan wrote:
    Even though I tell the optimizer, "look, this function is ridiculously expensive, plus it won't filter any rows" it keeps evaluating it first.
    So it looks like not only can I rely on Oracle to evaluate a literal expression first, much as I try I can't make it behave otherwise.
    Still, this is only empirical, I wouldn't use it in a production environment. Probably...Iulian,
    I think I understand what you are trying to do here. Something like using cost to drive the optimizer to process the SQL statement "procedurely"...
    But I believe SQL, by definition, is a set-based language and this means one can not rely on the way an SQL statement is executed by the oracle engine.
    I believe this is good in most of the situations. However, I understand that it is possible that one may want to use his/her knowledge of the data to write
    SQL so that it is more efficient. CBO, being a software, has its limitations and may not always make the right decision, depending upon complexity of rewrite.
    I don't know enough about your original problem, which involves a third-party product i.e. Business Objects, but there is a way in your example to enforce
    the sequence in which he functions are called.
    Here is your code, as it is, producing the results that you have demonstrated:
    SQL> select * from v$version ;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE     11.2.0.1.0     Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL> create table testtab(n number) cache;
    Table created.
    SQL> insert into testtab values(1);
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> exec dbms_stats.gather_table_stats(user, 'TESTTAB', METHOD_OPT=>'FOR ALL COLUMNS SIZE 1');
    PL/SQL procedure successfully completed.
    SQL> create or replace function testfunc(p in varchar2)
      2  return number
      3  as
      4  begin
      5    dbms_application_info.set_client_info('executed with argument ' || p);
      6    return 1;
      7  end testfunc;
      8  /
    Function created.
    SQL> select * from testtab where n=5 and testfunc('no worries')=1;
    no rows selected
    SQL> select sys_context('USERENV', 'CLIENT_INFO') from dual;
    SYS_CONTEXT('USERENV','CLIENT_INFO')
    executed with argument no worries
    SQL> create or replace function testfunc(p in varchar2)
      2  return number
      3  as
      4  begin
      5    dbms_application_info.set_client_info(sys_context('USERENV', 'CLIENT_INFO') || '|testfunc with argument ' || p);
      6    return 1;
      7  end testfunc ;
      8  /
    Function created.
    SQL> create or replace function testfunc2(p in varchar2)
      2  return number
      3  as
      4  begin
      5    dbms_application_info.set_client_info(sys_context('USERENV', 'CLIENT_INFO') || '|testfunc2 with argument ' || p);
      6    return p;
      7  end testfunc2;
      8  /
    Function created.
    SQL> EXEC dbms_application_info.set_client_info('');
    PL/SQL procedure successfully completed.
    SQL> select * from testtab where testfunc2(n)=5   and testfunc('am I first?')=1;
    no rows selected
    SQL> select sys_context('USERENV', 'CLIENT_INFO') from dual;
    SYS_CONTEXT('USERENV','CLIENT_INFO')
    |testfunc with argument am I first?|testfunc2 with argument 1
    SQL> EXEC dbms_application_info.set_client_info('');
    PL/SQL procedure successfully completed.
    SQL> select * from testtab where testfunc2(n)=1 and testfunc('so lonely...') = 0;
    no rows selected
    SQL> select sys_context('USERENV', 'CLIENT_INFO') from dual;
    SYS_CONTEXT('USERENV','CLIENT_INFO')
    |testfunc with argument so lonely...I have left out the statistics association part above as I believe it does not affect.
    And below is the rewritten queries that result in functions being called in specific order
    SQL> EXEC dbms_application_info.set_client_info('');
    PL/SQL procedure successfully completed.
    SQL> select * from testtab where decode(testfunc2(n),5,testfunc('am I first?'))=1;
    no rows selected
    SQL> select sys_context('USERENV', 'CLIENT_INFO') from dual;
    SYS_CONTEXT('USERENV','CLIENT_INFO')
    |testfunc2 with argument 1
    SQL> EXEC dbms_application_info.set_client_info('');
    PL/SQL procedure successfully completed.
    SQL> select * from testtab where decode(testfunc2(n), 1, testfunc('so lonely...')) = 0;
    no rows selected
    SQL> select sys_context('USERENV', 'CLIENT_INFO') from dual;
    SYS_CONTEXT('USERENV','CLIENT_INFO')
    |testfunc2 with argument 1|testfunc with argument so lonely...One can also use the more flexible CASE expressions in place of DECODE.
    Hope this helps.

  • How do you run the optimizer with fixed orders?

    Hi experts,
    If the planner wishes to prioritize orders based on the customer demand, orders should be set as fixed.
    How do I run the optimizer when using fixed orders??
    Regards,
    Analía Nahmías

    Hi Analia,
    Will you please elaborate more ?
    It looks you are running SNP optimizer and want to use also make use of order prioirty functionlity.
    You may be knowing already the contents below :
    We know that Demand Prioritization functionlity is handled differently in SNP CTM and in SNP Optimizer.
    In SNP CTM, Demand can be sorted by different sort criteria.
    Whereas in SNP-Optimizer, Demand can be aggregated for three demand classes or by customer locations.
    We set prioirties on the SNP Optimizer profile Maintenance for demand classes ,
    1. Sales orders
    2. The Corrected demand forecast
    3.The demand forecast
    Apart from this, we can set flag for priority of location products
    The optimizer considers the priority of location products in combination with the priority of priority classes of the demand. To simplify this combination, we  must group the priorities of the location products into three classes.
    Within every priority class as above, the APO system uses all available cost information to determine the final solution
    With the above way, planner does not have to fix an order.
    regards
    Datta

  • Maintain penalty costs in product master data via macro

    Hi all,
    I am trying to use the function MATLOC_SET to maintain the penalty cost (field Non. Del. Penalty) on SNP1 tab, but it didn't work.
    Is it possible to use this function to update this field or I need to use an other function to do this?
    I tried :
    1) MATLOC_SET( 'NDPEN' ; 123 ; ACT_PRODUCT ; ACT_LOCATION ; ACT_VERSION )
    2) MATLOC_SET( 'NDPEN' ; '123' ; ACT_PRODUCT ; ACT_LOCATION ; ACT_VERSION )
    3) MATLOC_SET( 'NDPEN1LOC' ; 123 ; ACT_PRODUCT ; ACT_LOCATION ; ACT_VERSION )
    4) MATLOC_SET( 'NDPEN1LOC' ; '123' ; ACT_PRODUCT ; ACT_LOCATION ; ACT_VERSION )
    Thanks in advance,
    Regards,
    Douglas Marques

    Thanks all for replies!
    Kishore Reddy,
    Yes, it's possible to maintain product master data via macro by functions. In my case, I'm using MATLOC_SET and it's work fine... except for the penalty costs fields.
    Saradha,
    I can't use the MASSD to do this because the costs are calculated in the macro based on sku/location forecast. But call a custom program in the macro is a good idea. I only have a doubt... Is it possible to transfer the calculated values in the macro to the custom program? If it's possible, how can I do to call the custom program transferring these values?
    Julien,
    The function MATLOC_SET works fine for other fields, only doesn't work to penalty costs fields...  
    I saw that the structures are different, but the help that provides by SAP not mention any restriction. So, I think there is some other specific function to update the costs and i tried the MATLOC_EXTRA_SET, but it updates only extra fields...  
    May be having another function to do this...
    Thanks and Regards
    Doug

  • COGS (Cost of the Goods Sold) in OPM reg.

    Hi
    Can anyone provide the details about COGS (Cost of the goods sold) documents/set up in R12.
    This is very urgent.
    Kindly do the needful.
    Mail id : [email protected]
    Regards
    Raj

    Hi,
    1. Cost of manufacture of a Product is what the value of goods sold or Cost of Goods sold (COGS). Either, you use the SAP Costing module (CO-PC) to let SAP determine COGS or you can manullay input COGS into material master fields (Standard or Moving Average) in Accounting view of Material master. In either case, COGS is stored in the material master valuation (Accounting) view.
    2. You mean in a COGS? Whatever costs it takes to manufacture a product is included in COGS, for instance Material cost, Labor cost etc.,
    Hope this helps.
    PS: There is lot of documentation available online SAP help protals and please refrain from using this forum for asking such basic questions and restrict to only questions of clarificatory in nature or issue based questions.
    Make an effort to read the SAP help documentation for all your basic questions.
    http://help.sap.com/saphelp_erp60_sp/helpdata/en/80/ea89395eb58c4f9d0c3e837cf0909d/frameset.htm
    Mods (Moderators) will lock your threads, if you continue to ask such basic questions, so no one can reply to it.
    Edited by: Pradeep kumar Athmakur on Feb 27, 2010 12:41 AM

  • Ordered item to absorb the cost of the free goods

    We have created an exclusive free goods agreement and we would like the ordered item to absorb the cost of the free goods.  In order to transfer the correct information to CO-PA from SD billing, what should we do? Can anybody explain briefly?

    Hi Yasar,
    we do the setting for this in copy controls from delivery to billing.
    pl go to t.code VTFL, select the item which is required to abasorb the cost.
    there you will find a check box " cummulate cost ". Tick it here, this will make the cost of the free item to be transferred to the main item. This can also be used even incase of BOM's.
    regards
    sadhu kishore

  • All of a sudden my desktop apps and files went missing.what is the cost of the problem

    all of a sudden, my desktop applications, (i mean the whole applications and files,document in my desktop), went missing .what could be the cost of the problem?

    all of a sudden, my desktop applications, (i mean the whole applications and files,document in my desktop), went missing .what could be the cost of the problem?

  • Is it possible to force 16/32-bit stack alignment without using the optimizer?

    The compiler emits code targeted at the classic Pentium architecture for the -m32 memory model.  I'm running into problems mixing Sun Studio compiled code with code built with other compilers because the other compiler builds under the assumption that the stack is 16-byte aligned.
    The only way I've found to force Sun Studio to comply with that restriction is with -xarch={sse2a,sse3,...}, but this causes the code to pass through the optimizer.  As noted in the documentation, if you want to avoid optimizations you must remove all flags that imply optimizations -- that is to say, there's no way to disable optimizations once enabled.  This should not, however, be treated as an optimization because it's an ABI requirement.
    I've scoured the documentation, spent many hours googling, digging through forums, and asking questions.
    The best I've come up with is the -xarch option which is sub-optimal because it has side effects.  I tried -xchip=pentium4 (this is what my other compilers have set as their default target), but the generated code doesn't force 16-byte stack alignment.
    Is there a way to force the compiler to emit code conforming to a different ABI without using the optimizer?
    -Brian

    Thank you for your response.
    I hope you won't mind my asking: do you have a way to prove that it's not possible to force 16-byte alignment without using the optimizer?  I ask because your username / profile don't give the impression you work for Oracle, so while I think you're probably right it's at least possible that we're both mistaken.  I haven't been able to find any documentation on either stack alignment or altering the targeted ABI short of using the -xarch flag, and even there the details are fairly sketchy.
    -Brian

  • Target Cost in the settled process order become zero after cost deletion

    Dear all,
    User has standard cost estimates created in Jan 2010 that valid until the end of 2010 for every material in the system.  user created a process order in April 2010. Target cost of the order was created based on the standard cost estimate and recipes as well as order qty.    The order was also confirmed and settled in April 2010 without problem. 
    However, after I deleted all old costing estimates before I did a costing run for all materials in May 2010, the old order was resettled and all Target cost is removed from the order.  I guess system try to look at April costing estimate but it is not there since it was deleted before I created the new costing estimate in May.  Therefore, all varainces are throwed into remaining variances since the target cost become zero.
    Other than mark the settled order for deletion or keep all old costing estimates,  I am just wondering is anyway in the configuration to prevent the system to recaculate the target cost again for the settlement so I can avoid the problem happens?
    Thanks.

    Hi,
    Target costs are only calculated after goods movements have occured on the order, the Target Costs are then calculated during the Variance calculation.
    Target costs will only be calculated after the first goods receipt has been posted to the order. Also you have to ensure that the information to calculate target costs exists on the system in particular in OKV6.
    This estimation is based on the customizing for the Target cost version in transaction OKV6 as in turn will the "real" calculation of the Target costs via the variance calculation.
    So in OKV6 the Target cost will be based on preliminary costing on the order, an alternative cost estimate or the current standard cost estimate. Importantly if the choosen option is not fulfilled e.g. no current standard cost estimate, the target costs will not be predicted or calculated.
    regards
    Waman

  • Sales Order Report Showing Cost on the Sales Order & total invoice dollars

    I am looking for a report in SAP that shows you the Sales Order number, the cost on the sales order (NOT the average cost) the actual cost on the sales order detail line and then the total invoice dollars in month to date and year to date?
    Thanks,
    Linda

    You can use <b>T.code: COOIS </b> if Product Costing has been configured for MTO scenario whcih gives the costing details.
    You can also use To.code: <b>KE30</b> if CO-PA implemented.
    but if you want to link with billing, Please search for any reports in Sales information system.
    One more you can create a ABAP Query Report using T.code: <b>SQVI</b>
    Regards,
    Anbu

  • Planned delivery cost for the scheduling agreement

    Hi Experts
    1. I have an requirement to post Invoice ver. for the Planned delivery cost (freight,customs duty,CVD etc) against the Scheduling Agreement just like Import Purchases with checking off the GR Based IV Indicator before doing the GR
    I tried it but its giving me that no delivery costs are Planned in the Scheduling agreements it runs fine in case of the PO because PO is a time independent.  Please inform how to post the same for schedule agreement with time dependent indicator on. I tried switching off the time dependent indicator and the system allowed, but my requirement is to Post I.V for the delivery cost with the time dependent indicator on.
    Appreciate if you can suggest something in this case Urgently .
    2. Aother issue is we have some uploaded Scheduling agreement from legacy system with Time dependent conditions. For this we need to post planned delivery cost in Miro. Since the system is not allowing to post, how to about for this. Shall we enter the delivery cost in unplanned delivery cost in Miro and post.  Please suggest if any alternate solution is available.
    Regards
    Arvind

    Hi,
    As you know if the delivery cost document is not posted during GR the
    delivery cost is not proposed during invoice (MIRO). Planned delivery
    cost will be proposed in invoice only when there are records in EKBZ
    table. The EKBZ table will be updated when delivery cost is posted
    during GR itself.
    Please ensure in the PO itself thatr the conditions have been defined
    properly with the relevant amounts and values.
    During GR when planned delivery cost conditions are present in PO,
    system checks for values in amount field. Then only appropriate
    calculations will be done for delivery cost and planned delivery cost
    document will posted during GR and hence updates EKBZ table.
    Solution to this issue is described in below steps,
    1) reverse the invoice document
    2) reverse GR document.
    3) You have to give values in amount field in relevant conditions ZGDS
       in the PO.
       If you face any issues changing the values, delete above conditions
       and put it again manually and give values in amount field also.
    4) Post GR once again, delivery cost document will also be posted.
       You can check it in PO history.
    5) During invoice select Item + planned delivery cost and post the
       invoice. If you need planned delivery cost to be posted separately,
       then you can post individual invoice for item and delivery cost.
    Please note it is not possible to post delivery costs for documents with
    multiple accountassignments. 
    For your second question, I am afraid I can not answer. Please open a new ntry in the forum, so that someone else can answer it.
    Best Regards,
    Arminda Jack

  • Transportation cost before the reception of the material in MIGO (Stock in transit)

    Does it exist a way to make a reception of materials in transit and post the transportation cost before the reception of the material in MIGO ?
    The  material is own of company before to be receipt in plant.  We need to pay the transportation before that material is arrived at plant. 
    As the value is an important cost, we need that this cost be linked with the cost of the material.  We can put a condition, but it does not work if the material in not receipt in MIGO.  We can enter a subsequent debit memo, but the invoice of the reception should be enter in the system and by the way the reception too.  So how should we process to link the transportation cost with the material if this material is not received at plant and by the way in MIGO.
    Thanks in advance

    Hi,
       As of my knowledge, system will allow to process the shipment document - create shipment cost document and vendor invoice also, even before doing GR for the PO. Please check the scenario and revert back if you are getting any error.
       If you want the shipment cost as delivery cost, refer the note: 427944 - Info: Shipment costs as delivery costs during goods receipt
    Regards,
    AKPT

Maybe you are looking for

  • Trouble navigating to images folder

    Hi, I am sure that this is simple but ... I want to have a div with a background image ... here is the css .how_we_work_box { position: absolute; left:350px; top:450px; font-size: 16px; font-weight: bold; height: 150px; width: 200px; background-image

  • My Macbook experience

    I've had my Macbook for almost two weeks, and after spending a lot of quality time getting to know it, I thought I'd share my thoughts for anyone who is on the fence. I've never had a laptop before. I loved playing with my friend's Powerbook 12" when

  • Getting error in target SOAP communication channel

    Hi all, I am trying to send data from Http client to Webservice.In moni i got a message processed successfully means getting black flag.But i got an error in SOAP Communication channel as "error in response". I got this message from that error  <b>"S

  • Java - help to write scripts after moving to mac os x from windows

    hey, ive recently converted to using a mac. I study java as part of my uni course, and need to write java scripts. Is there a java script editor pre-installed on mac os x? Ive downloaded jEdit aswell to write scripts, so thats not essential, but my m

  • Invalid Xpath Expression

    Hi , I have an XML content as below and i am sending that as a string input to other interface . Here i have hard coded Teller ID and account ID , but i want to send the input from payload like this : ><Teller><ID>bpws:getVariableData('TellerId')</ID