Forecast - Skipping Zeroes

Hi Gurus,
During Forecast Execution, is there a way for me to skip/ignore periods that has zero consumption?
Thank you,
Aivanny

When I'm about to execute material forecast via MP30 and I have the following Historical Values:
May 27 - 300 pcs
May 28 - 380 pcs
May 29 - 290 pcs
May 31 - 400 pcs
June 1 - 0 pcs
June 2 - 340 pcs
June 3 - 200 pcs
June 4 - 345 pcs
June 5 - 411 pcs
The June 1 historical data should be skipped/ignored/smoothen out by the program since this is an abnormal situation.
Thanks,
Aivanny   

Similar Messages

  • Mass deletion of forecasts

    Hi Experts,
    I was wondering if anyone knew of a solution to do a mass deletion of forecasts. I know that you can do it on an individual basis with MD62 (Change Planned Independent Requirements) , but is there another method?
    Thanks in advance!

    Hi,
    the standard way to delete forecasts is MD74 as mentioned above.
    If you want to delete forecasts in the future or for a specific period only you also can use MS64. This transaction's intention is not to delete forecasts but it works. The idea is to copy the current forecast version onto itself and setting all forecasts to zero. For the selection this means:
    - source version has to be the same as target version
    - at 'change target version' you have to insert
          Change quantity:   0   =      ( do not miss the 0  !!!!!)
        so that all values at the target/source version are set to zero.
    - set all other parameters like period, mode etc as needed
    Of course the forecast are not deleted then, but they are all set to zero what in most cases should be sufficient.
    Hubert

  • Forecast run MP30 be to disabled for future

    One of the user has by mistake made a forecast run at a plant level (T code : MP30)leading to forecast view added to the materials in the plant. This leads to Unplanned Requirements appearing in the Stock requirement List.
    How do we reverse these changes. Can we switch off Forecast related requirement for the plant via. some T code? If we delete the forecast from MM, these quantity disappear from MD04 but it seems this is not sufficient.
    Also, how can we figure out who made this run ? These changes are not recorded in the MM and there is no trace of who did it ?

    Ravi,
    I believe that you have misread the events.  I don't believe MP30 can be run until the forecast view in the MM has first been maintained.
    If you wish to know who created the forecasting view of the MM, you can look in MM history for an MM01 entry.  I don't believe that MP30 can create this view.
    Forecasts by themselves do not normally create unplanned issues, they must be released to demand planning, where they create PIRs.  I suspect you may have some automatic jobs that are performing this task behind the scenes.
    If you wish to deactivate the forecast, go to MM02, forecast tab.  Select forecast model zero, save.  existing forecasts and relevant data will be deleted.  Then, delete any PIRs that you don't want. 
    Rgds,
    DB49

  • MRP Forecasting Run

    Hi Gurus,
    Need your expert advice on one of our issues.
    We have a requirement that AMC should be taken for the past 6 months regardless if there is any usage or not. Standard behaviour is that during MRP Forecasting run, zero values in the earlier historical values are not taken into account.
    For instance forecast period is set to '6' however, only last period has a value of 19.17 and others are zero in the historical data.
    When we execute the forecast run system actually considers as 1 month even if we defined 6 month.
    If standard SAP doesn't  cater for the above,  is there a  way to twig the system to achieve the above objective? If yes, how can this address the zero usage and can it be restricted for a specific group of users?
    Thanks.
    J&J

    Dear Poster
    You have created a thread in the SRM (Supplier Relationship Management) area, is this correct? The issue reported seems like it should belong to an ERP or similar forum? Let us know of this issue refers at all to SMR_SERVER and we can proceed with assistance otherwise I will move your thread to a  more suitable forum if SRM is not your issue!
    Regards,
    Jason

  • Negative forecast release to snp

    Hi,
    we have a requirement to be able to release negative forecast values from dp to snp, i tried this out using the standard transaction sapapo/mc90 but whenever i release negative forecast values it zeroes it out in snp. Though we get a message that negative forecast values zeroed out.
    Is it possible to release negative forecast values to dp, if yes how?
    Thanks

    As far as i know, You cant release negative forecasts into SNP by MC92
    This converts the Time series to Order Series Data. There cant be a negative Forecast in SNP . Forecast is already a negative requirement. So a negative forecast is the equivalent of a reciept
    Why do you need negative forecast in SNP. If its for display purposes use TSCOPY and copy to a time series KF in SNP planning area.
    Else, using some mechanism, Filter out the Negative forecasts and make it absolute values and pass it on to SNP as Planned orders instead of Forecasts (you can change the order type when you release forecast from FA to something that is planned orders) you can pass the non-negative as forecast.

  • Use of key figure 9ADFCST in SNP

    I am using APO V5.1.
    In particular I'm using SNP heuristics, and we have forecasts in the standard key figure 9ADFCST.
    As I understand it, this key figure contains the 'unconsumed forecast', and so is the original forecast (from APO DP) minus open sales orders and minus sales order despatches.
    I want to be able to distinguish between the situation where 9ADFCST is zero because the original forecast is zero (and we have no sales orders), and where 9ADFCST is zero because it has been fully consumed by sales orders/despatches.
    Any advice on this would be appreciated...

    Hi,
    I would recommend that you do not touch the 9ADFCST Key Figure and add a new Time Series KF for storing the original forecast (let's say CORFCST).
    When you release forecast from DP to SNP, in a next step, also copy your DP forecast to CORFCST using the program /SAPAPO/RTSCOPY.
    So, use original forecast KF CORFCST to see the values of the forecast that came out of DP, while 9ADFCST will tell you how much unconsumed forecast remains. When both values are zero, it's clear that your forecasted value was zero, otherwise, you could find out the original forecast using the KF CORFCST.
    Of course, other option is to go to forecast tab in RRP3 (product view) and check the consumption situation (how much of the forecast is consumed vs how much was available initially).
    Hope this helps.
    Thanks - Pawan

  • Adobe on Leopard, refuses to boot from disc, disaster?

    After buying Adobe CS3 Web Premium, I found out I couldn't install it because my drive was formatted as case-sensitive. So, I was forced to backup all my important data and re-initialize. I zeroed the drive, but told it to skip zeroing just before it was done with the last little sliver in the progress bar.
    So, I get all the whole system updated. Install Aperture, Thunderbird, Firefox... everything is going great. Then get the updates for Aperture, everything works flawlessly. I had never seen it run so well. Then I finally install CS3 and the install process seems to go without a hitch.
    So, I've got CS3 on there, but I want to do some stuff with Aperture before I get into it. I'm working with Aperture and everything is going great. Good performance, really speedy. Then, I decide to open Illustrator CS3. To my horror, Aperture starts to go completely wrong. It gets to the point where I can't use it for longer than 30 seconds without having it crash. So, I quit Illustrator and the problem persists. Finally, I decide to restart the machine, Aperture seems to have fixed itself with restart, everything seems to be alright, for now.
    Hmm, I think, maybe the CS3 needs to be updated. Yes, it did, 524 MB of updates. The installer downloads it all, starts the updating process and hangs silently (liquid in the progress bar still flowing). I get no notification except in Activity Monitor, where launchd and another process (I forget which) are going crazy with the CPU. I force-quit the updater from Activity Monitor, reopen it, press the install button again. It doesn't do anything, so I found out I actually have to say "Delete All" as in, delete all the downloaded updates. Then the updater quits itself and I have to reopen it and redownload and install whatever the installer thinks didn't get updated. I had to force quit, delete all, redownload, and install about 5 times before it said it was through.
    Oh man, that was bad. Now the whole machine is pretty much a sluggish mess. Naturally, I thought, "I'll run Disk Warrior." I had run it with an earlier version of Leopard before, so I expected it to work. Insert Disk Warrior, Restart, hold C key, disc spins for a second and ejects itself. System ignores my command and boots from hard drive.
    But everything loads and things seem alright, so I think, "oh well, I guess everything is alright." I do some work in Illustrator, everything seems good. Listening to music, but not working in Aperture. The machine works great for about 2 days. Then, I decided I want to install Final Cut - I put in the Install DVD, it spins for a second and spins back down, nothing happens. No desktop icon, no optical drive showing up in Disk Utility, Eject button on keyboard doesn't work, iTunes - control > Eject Disc, now my iTunes is hung. I try to force quit, nothing happens. Force quit dialog, iTunes is listed as if it hasn't crashed, click force quit, it remains in the list. iTunes icon remains in the dock, arrow still below, but does nothing when I click it and won't poof. iTunes doesn't show up in Activity Monitor.
    Okay, "definitely gonna try Disk Warrior again," I think to myself. Restart, reset PRAM twice, hold option to boot select screen, press eject to remove FCE disc, insert Disk Warrior, Disk Warrior icon shows up on screen, click it, click the arrow to boot to it. Wait a second - BSOD, no cursor! Disc spins for a while and stops. Press any key, it spins back up again and eventually dies down again, doing nothing. Forced shutdown holding power button, press power again, hold the C key to boot to disc. Disk Warrior spins up again and spits itself out, just as before. System boots to hard drive instead.
    What am I doing wrong? The Mac Pros at school run Leopard and CS3 and they seem to be flawless. Am I the only one having these problems? I can't figure out if this is hardware or software. I'm currently creating an image of the Disk Warrior disc. I plan to restore it to my hard drive's second partition and see what happens. I'll let you know what happens. Until then, can anybody give me any hints on what might be wrong with my system or at least give me some sympathy? LOL. This is beyond frustrating.
    I'd had my system ignore what seemed like successful insertion of optical discs and refuse to eject them before the fresh install, but I've never had it refuse to boot from a bootable disc like this. Any ideas?

    Excuse me, it seems there is some data in the CrashReporter log for VersionCueCS3. I had forgotten to remove my search filter keyword.
    This is a copy of the top section (which seems like it might be the most significant). If you want to see the rest, I'll gladly post it as well:
    Process: VersionCueCS3Status [1577]
    Path: /Library/Application Support/Adobe/Adobe Version Cue CS3/Server/bin/VersionCueCS3Status.app/Contents/MacOS/VersionCueCS3Status
    Identifier: VersionCueCS3Status
    Version: ??? (???)
    Code Type: X86 (Native)
    Parent Process: launchd [1]
    Date/Time: 2008-09-10 20:41:58.527 -0500
    OS Version: Mac OS X 10.5.4 (9E17)
    Report Version: 6
    Exception Type: EXC_CRASH (SIGABRT)
    Exception Codes: 0x0000000000000000, 0x0000000000000000
    Crashed Thread: 0
    Thread 0 Crashed:
    0 libSystem.B.dylib 0x90256b9e __kill + 10
    1 libSystem.B.dylib 0x902cdec2 raise + 26
    2 libSystem.B.dylib 0x902dd47f abort + 73
    3 libstdc++.6.dylib 0x948f9005 0x948b1000 + 294917
    4 libstdc++.6.dylib 0x948f710c _gxx_personalityv0 + 1108
    5 libstdc++.6.dylib 0x948f714b std::terminate() + 29
    6 libstdc++.6.dylib 0x948f7261 _cxathrow + 101
    7 ....versioncueCS3.VCStatusMenu 0x00005a11 start + 14545
    8 ....versioncueCS3.VCStatusMenu 0x00005a39 start + 14585
    9 ....versioncueCS3.VCStatusMenu 0x000e6be5 0x1000 + 941029
    10 ....versioncueCS3.VCStatusMenu 0x00003fcd start + 7821
    11 ....versioncueCS3.VCStatusMenu 0x0000374a start + 5642
    12 com.apple.Foundation 0x92f241aa -[NSObject(NSKeyValueCoding) valueForKey:] + 250
    13 com.apple.Foundation 0x92f51d2a -[NSObject(NSKeyValueCoding) valueForKeyPath:] + 474
    14 com.apple.AppKit 0x953a3cd4 -[NSBinder _valueForKeyPath:ofObject:mode:raisesForNotApplicableKeys:] + 876
    15 com.apple.AppKit 0x953a38dc -[NSBinder valueForBinding:resolveMarkersToPlaceholders:] + 192
    16 com.apple.AppKit 0x956e07bb -[NSObjectDetailBinder refreshDetailContent] + 96
    17 com.apple.AppKit 0x953a2e77 -[NSBinder _performConnectionEstablishedRefresh] + 79
    18 com.apple.AppKit 0x9539b0e8 -[NSObject(NSKeyValueBindingCreation) bind:toObject:withKeyPath:options:] + 744
    19 com.apple.AppKit 0x953d771e -[NSNibBindingConnector establishConnection] + 166
    20 com.apple.AppKit 0x951aeaa4 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 1211
    21 com.apple.AppKit 0x951a4e12 loadNib + 264
    22 com.apple.AppKit 0x951a4774 +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 946
    23 com.apple.AppKit 0x951a43b7 +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:] + 171
    24 com.apple.AppKit 0x951a42f5 +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 391
    25 com.apple.AppKit 0x951a3fa4 NSApplicationMain + 434
    26 ....versioncueCS3.VCStatusMenu 0x000028d1 start + 1937
    27 ....versioncueCS3.VCStatusMenu 0x00002242 start + 258
    28 ....versioncueCS3.VCStatusMenu 0x00002169 start + 41
    Thread 1:
    0 libSystem.B.dylib 0x901e8506 semaphoretimedwait_signaltrap + 10
    1 libSystem.B.dylib 0x9021a84f pthread_condwait + 1244
    2 libSystem.B.dylib 0x9021c0d3 pthreadcond_timedwait_relativenp + 47
    3 com.apple.Foundation 0x92f46e8c -[NSCondition waitUntilDate:] + 236
    4 com.apple.Foundation 0x92f46ca0 -[NSConditionLock lockWhenCondition:beforeDate:] + 144
    5 com.apple.Foundation 0x92f46c05 -[NSConditionLock lockWhenCondition:] + 69
    6 ....versioncueCS3.VCStatusMenu 0x0002720d devtech_private::ZString::ZString(char const*, unsigned long, devtech::EncodingInfo const*) + 339
    7 ....versioncueCS3.VCStatusMenu 0x0001d215 devtech::ZString::GetCString(char*, unsigned long, bool, devtech::EncodingInfo*) const + 2485
    8 ....versioncueCS3.VCStatusMenu 0x00025738 devtech::ZString::GetCString(char*, unsigned long, bool, devtech::EncodingInfo*) const + 36568
    9 com.apple.Foundation 0x92f00f1d -[NSThread main] + 45
    10 com.apple.Foundation 0x92f00ac4 _NSThread__main_ + 308
    11 libSystem.B.dylib 0x902196f5 pthreadstart + 321
    12 libSystem.B.dylib 0x902195b2 thread_start + 34
    Thread 0 crashed with X86 Thread State (32-bit):
    eax: 0x00000000 ebx: 0x902dd43f ecx: 0xbffff39c edx: 0x90256b9e
    edi: 0x00115500 esi: 0xa0025578 ebp: 0xbffff3b8 esp: 0xbffff39c
    ss: 0x0000001f efl: 0x00000286 eip: 0x90256b9e cs: 0x00000007
    ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
    cr2: 0xffe173cc
    I suppose it would make sense that when items like com.apple.Foudation and com.apple.AppKit go wrong, the problems would spread system-wide.

  • Abt  Like, Phase-In and Phase-Out profiles

    Hi,
        Can some1 explain me what is<b> Like, Phase-In and Phase-Out profiles</b>?
    What is it's good for?
    Thanks in advance.
    Best Regards,
    Siva.

    Hi Sivaprakash.
    Like modelling (including phase in/phase out) is primarily used for introduction of new products and is normally called Lifecycle Planning:
    Example:
    Suppose you are introducing SKU2 to replace SKU1.
    You want to forecast demand for SKU2 but there is no history for this new product.
    You could use a Like profile to use the history of SKU1 to forecast demand for SKU2.
    You could use a phase-in profile to model the build of demand of SKU2 from zero up the forecast demand (it is very unlikely that demand will go from 0 to 100% of forecast from day one)
    Similarly, you could use a phase out profile for SKU1 to model the fall of demand from 100% forecast to zero.
    All together, the transition of demand from one product (SKU1) to a replacement product (SKU2) can be fully modelled using these profiles.
    This is all quite well documented in <a href="http://help.sap.com/saphelp_scm50/helpdata/en/8f/9d6937089c2556e10000009b38f889/frameset.htm">help.sap.com - lifecycle planning</a>
    Hope this helps.
    Mark
    Message was edited by:
            percx

  • How To Import Into A Table with Multi-Value Fields

    Hello:
    I have a table with a multi-value field that contains states in which a company does business.  It is multi-value because there can be more than one state.  I tried to import a text tab-delimited file in which the data was arranged as follows:
    Field1 Tab Field 2 Tab OR, WA, CA Tab
    The "State field contained the multiple entries separated by a comma (like they appear in a query of the multi-value field), but it won't accept it.  Does anyone know how to import into a multi-value field?
    Thanks,
    Rich Locus, Logicwurks, LLC

    Joana:
    Here's the code I used to populate a multi-value field from a parsed field.  The parsing routine could be greatly improved by using the Split function, but at that time, I had not used it yet.   FYI... the field name of the multi-value field in
    the table was "DBAInStatesMultiValue", which you can see in the example below how it is integrated into the code.
    Option Compare Database
    Option Explicit
    Option Base 1
    Dim strInputString As String
    Dim intNumberOfArrayEntries As Integer
    Dim strStateArray(6) As String
    ' Loop Through A Table With A Multi-Value Field
    ' And Insert Values Into the Multi-Value Field From A
    ' Parsed Regular Text Field
    Public Function InsertIntoMultiValueField()
    Dim db As DAO.Database
    ' Main Recordset Contains a Multi-Value Field
    Dim rsBusiness As DAO.Recordset2
    ' Now Define the Multi-Value Fields as a RecordSet
    Dim rsDBAInStatesMultiValue As DAO.Recordset2
    ' The Values of the Field Are Contained in a Field Object
    Dim fldDBAInStatesMultiValue As DAO.Field2
    Dim i As Integer
    ' Open the Parent File
    Set db = CurrentDb()
    Set rsBusiness = db.OpenRecordset("tblBusiness")
    ' Set The Multi-Value Field
    Set fldDBAInStatesMultiValue = rsBusiness("DBAInStatesMultiValue")
    ' Check to Make Sure it is Multi-Value
    If Not (fldDBAInStatesMultiValue.IsComplex) Then
    MsgBox ("Not A Multi-Value Field")
    rsBusiness.Close
    Set rsBusiness = Nothing
    Set fldDBAInStatesMultiValue = Nothing
    Exit Function
    End If
    On Error Resume Next
    ' Loop Through
    Do While Not rsBusiness.EOF
    ' Parse Regular Text Field into Array For Insertion into Multi-Value
    strInputString = rsBusiness!DBAInStatesText
    Call ParseInputString
    ' If Entries Are Present, Add Them To The Multi-Value Field
    If intNumberOfArrayEntries > 0 Then
    Set rsDBAInStatesMultiValue = fldDBAInStatesMultiValue.Value
    rsBusiness.Edit
    For i = 1 To intNumberOfArrayEntries
    rsDBAInStatesMultiValue.AddNew
    rsDBAInStatesMultiValue("Value") = strStateArray(i)
    rsDBAInStatesMultiValue.Update
    Next i
    rsDBAInStatesMultiValue.Close
    rsBusiness.Update
    End If
    rsBusiness.MoveNext
    Loop
    On Error GoTo 0
    rsBusiness.Close
    Set rsBusiness = Nothing
    Set rsDBAInStatesMultiValue = Nothing
    End Function
    Public Function ParseInputString()
    Dim intLength As Integer
    Dim intStartSearch As Integer
    Dim intNextComma As Integer
    Dim intStartOfItem As Integer
    Dim intLengthOfItem As Integer
    Dim strComma As String
    strComma = ","
    intNumberOfArrayEntries = 0
    strInputString = Trim(strInputString)
    intLength = Len(strInputString)
    ' Skip Zero Length Strings
    If intLength = 0 Then
    Exit Function
    End If
    ' Strip Any Leading Comma
    If Mid(strInputString, 1, 1) = "," Then
    Mid(strInputString, 1, 1) = " "
    strInputString = Trim(strInputString)
    intLength = Len(strInputString)
    If intLength = 0 Then
    Exit Function
    End If
    End If
    ' Strip Any Trailing Comma
    If Mid(strInputString, intLength, 1) = "," Then
    Mid(strInputString, intLength, 1) = " "
    strInputString = Trim(strInputString)
    intLength = Len(strInputString)
    If intLength = 0 Then
    Exit Function
    End If
    End If
    intStartSearch = 1
    ' Loop Through And Parse All the Items
    Do
    intNextComma = InStr(intStartSearch, strInputString, strComma)
    If intNextComma <> 0 Then
    intNumberOfArrayEntries = intNumberOfArrayEntries + 1
    intStartOfItem = intStartSearch
    intLengthOfItem = intNextComma - intStartOfItem
    strStateArray(intNumberOfArrayEntries) = Trim(Mid(strInputString, intStartOfItem, intLengthOfItem))
    intStartSearch = intNextComma + 1
    Else
    intNumberOfArrayEntries = intNumberOfArrayEntries + 1
    intStartOfItem = intStartSearch
    intLengthOfItem = intLength - intStartSearch + 1
    strStateArray(intNumberOfArrayEntries) = Trim(Mid(strInputString, intStartOfItem, intLengthOfItem))
    End If
    Loop Until intNextComma = 0
    End Function
    Regards,
    Rich Locus, Logicwurks, LLC
    http://www.logicwurks.com

  • Stacked Column Chart Data Labels Not Appearing

    I am using SetSytle in Actionscript to make the data labels in a stacked column chart appear inside but it's not working.
    A portion of the code I am using to create the chart is below:
                    //initialize column set for stacked columns
                    var colSet:ColumnSet = new ColumnSet();
                    colSet.type="stacked";
                     for each(var node:XML in _chartDP){
                         var k:int = 0;
                         //skip zero datapoints
                         if (parseInt(node.toString()) != 0) {
                             //if measure node does not exist, add as series
                             k = uniqueYCat(node.attribute("BillTo"));
                             if (k == -1){                                                        
                                    // Create the new column series and set its properties.
                                    var localSeries:ColumnSeries = new ColumnSeries();
                                    localSeries.setStyle("labelPosition","inside");
                                    localSeries.dataProvider = dataArray;
                                    localSeries.yField = node.attribute("BillTo");
                                    localSeries.xField = "ConfidenceStatus";
                                    localSeries.displayName = node.attribute("BillTo");
                                    localSeries.setStyle("showDataEffect", ChangeEffect);
                                    // Back up the current series on the chart.
                                    var currentSeries:Array = chart.series;
                                    // Add the new series to the current Array of series.
                                    currentSeries.push(localSeries);
                                    //Add Array of series to columnset
                                    colSet.series.push(localSeries); 
                                       //assign columnset to chart
                                    chart.series = [colSet];
    After some more research, I put a breakpoint inside ColumnChart.as in the following function:
        mx_internal function getSeriesLabelPos(series:Series):void
            if(series is ColumnSeries)
                var columnSeries:ColumnSeries = ColumnSeries(series);
                var position:String = columnSeries.labelPos;
                if(position == "inside" || position == "outside" || position == "none")
                    _needLabels = true;
            else if(series is ColumnSet)
                var setSeries:Array /* of Series */ = ColumnSet(series).series;
                for (var i:int = 0; i < setSeries.length; i++)
                    getSeriesLabelPos(setSeries[i]);
    the following line: var position:String = columnSeries.labelPos;
    returns postion as null. It looks like the setStyle is not passing the correct value to this function.
    Any ideas as to what is going on?

    chart appearance is controlled by xml files located in
    {cfroot}\charting\styles. the file for bar charts is
    default.xml
    you will want to:
    1) copy thisfile to your site's root or some other folder
    (i.e. same
    folder that the page displaying your chart is in)
    2) edit the file and change isHideOverlapped attribute of
    labelStyle
    property for xAxis to "false"
    3) point the STYLE attribute of your cfchart tag to this new
    file.
    hth
    Azadi Saryev
    Sabai-dee.com
    http://www.sabai-dee.com/

  • To calculate the variance percentage

    In below given query , i want to calculate the variance between Forecast and sale.
    Here
    FRCST - Forecast
    SALE - Sale
    FRCST-sale - Difference between forecast and sale
    Now i want to display one more column i.e Variance
    I need a statement to caluclate the DIFF / FRCST. The result should be displayed according the conditions :
    1) If Forecast is Zero, and Sale is Zero - then result should be No Forecast and Sale for the item
    2) If Forecast is Zero, and sale is not Zero, then Sale against Nil Forecast
    3) If Sale is Zero and Forecast is not Zero then No sale against Forecast
    4) If difference between Forecast and Sale is zero (Both are non zero numbers) then No Variance
    5) If Forecat and Sale difference is not Zero then DIFF / FRCST
    The problem arise when the FRCST is Zero and Sale is non zero then divide by zero occurs
    Kindly guide me on this..
    SELECT ITEM_NAME, NVL(FRCST,0) FRCST, NVL(SALE,0) SALE, NVL((FRCST-SALE),0) DIFF
    FROM
    SELECT DISTINCT ITEM_NAME
    FROM OM_ITEM
    WHERE ITEM_CODE LIKE 'F%'
    AND ITEM_FRZ_FLAG_NUM<>1
    SELECT FYEAR, FMNTH, FITEM_NAME,FRCST
    FROM FORECAST
    WHERE FYEAR||'-'||FMNTH = :YM
    SELECT SYEAR, SMNTH, SITEM_NAME, SALE
    FROM SALE
    WHERE SYEAR||'-'||SMNTH = :YM
    WHERE ITEM_NAME = FITEM_NAME(+)
    AND ITEM_NAME = SITEM_NAME(+)
    ORDER BY 1

    I had changed the query as given below . Its giving me result, but how could i convert the case statement into decode. Is there any simple way for this:
    SELECT
    ITEM_NAME, FRCST, SALE, DIFF,
    (CASE
    WHEN FRCST = 0 AND SALE = 0 THEN 'No transaction '
    WHEN FRCST = 0 AND SALE <>0 THEN 'Sale against Nil Forecast'
    WHEN FRCST<> 0 AND SALE = 0 THEN 'No Sale against Forecast'
    WHEN FRCST<>0 AND SALE<>0 AND DIFF=0 THEN 'No Variance'
    ELSE TO_CHAR(ROUND((DIFF/FRCST),2))||'%'
    END)VARIANCE
    FROM
    SELECT ITEM_NAME, NVL(FRCST,0) FRCST, NVL(SALE,0) SALE, NVL((FRCST-SALE),0) DIFF
    FROM
    ( SELECT DISTINCT ITEM_NAME FROM OM_ITEM
    WHERE ITEM_CODE LIKE 'F%'
    AND ITEM_FRZ_FLAG_NUM<>1
    ( SELECT FYEAR, FMNTH, FITEM_NAME, FRCST
    FROM FORECAST
    WHERE FYEAR||'-'||FMNTH = :YM
    ( SELECT SYEAR, SMNTH, SITEM_NAME, SALE FROM SALE
    WHERE SYEAR||'-'||SMNTH = :YM
    WHERE ITEM_NAME = FITEM_NAME(+) AND ITEM_NAME = SITEM_NAME(+)
    ORDER BY 1
    )

  • Forecasting: all historical values are zero

    Hello,
    I would like to execute forecast for a specific material.
    Then I'm in MM02 in forecasting view, I filled all necessary parameters and I press "execute forecasts".
    I received different pop ups, and one is "Between 11.2006 and 10.2011 all historical values are zero".
    If I go out of this, and press on "Consumption vals", I have no data for unplanned consumption but if I click on "Total consumption", I got all values for each period of my historical periods.
    So why do I have this message that historical values are zero? Then I have no chance to execute forecast with that behavior.
    Same with several other materials.
    Thanks for help.

    Dear Olivia,
    In MM of forecasting view there is filed Hist. periods which you could have probably maintain more than 12 months say 60. So starting from current months it will go backward & search value for last 60 months. In your case it is not finding any past values. Have you maintain it in Additional data of material master Consumption tab ? Maintain some values for months & then try
    Regards
    Abhijit Gautam

  • Setting Negative Forecast Values to Zero

    In 7.0 we used a option - Setting Negative Forecast Values to Zero.
    But after upgrade to 7.3 this option is missing and I can find any information about this.
    Can we open the option in 7.3?
    Anatoly

    Hi,
    thanks for your reply.
    mls qos
    interface GigabitEthernet3/34
    description *** DATA VLAN 35 - VOICE VLAN 34 ***
    switchport
    switchport trunk native vlan 36
    switchport trunk allowed vlan 34,36
    switchport mode trunk
    mls qos trust dscp
    no cdp enable
    spanning-tree portfast trunk
    If i don't include the global 'mls qos' command then the voice packets keep the dscp 46 value.  If I add the mls qos command this causes the switch to set the dscp values to zero.
    Thanks again 
    ps.  there are some other mls commands on the switch... i don't know if these could interfere but they were already on there so i'm reluctant to remove them..

  • Function that zero out negative forecast in APO DP (SCM 4.0)

    Hi,
      I tried to look for a thread about the above function but I have no luck.  Would you kindly share a light if you have come accross negative number being generated automatically? (no macro is set up for negating forecast)
    This is the note that I would found from SAP help, but there is no actual direction to get it.
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/d5e13ffb118f15e10000000a155106/frameset.htm
    Thanks
    Anita

    it depends on the forecast strategy used....negative forecasts are automatically made zero by most strategies
    some forecast strategy will generate negative forecasts ( am not sure which of them do).. but in that case you can use a macro to make it zero
    I did not understand if you wanted Negative forecast or you want to zero out the negative ones
    pl check link... http://help.sap.com/saphelp_nw04/helpdata/en/a4/42e03fc2269615e10000000a155106/content.htm
    SCM 5.0 has Planning area parameters that will enable you to not allow non-sero numbers in KF

  • How to delete forecast entries with zero current and original qty from a particular forecast set which span across multiple forecasts

    how to delete forecast entries with zero current and original qty from a particular forecast set which span across multiple forecasts

    Hi,
    There is no way to delete those records selectively from front end.
    The best possible way is to delete the records from MRP_FORECAST_DATES tables from backend.
    Hope that helps!!
    Regards,
    Mohan Balaji
    NOTE: Please mark the post as Helpful or Answered if the update has really helped you. This would also bring the thread to logical conclusion and will be helpful for the viewers.

Maybe you are looking for