Round up factor

Hi all,
here is what I'm looking for: On my selection screen I have a parameter of a round-up factor. With this factor I need to round a quantity. If for example I have a quantity of 2.26 and my factor is 25% it should go to 2.5.
Can anyone help how to do this?
Thanx!

take an integer type and move the original value into a dummy variable say dummy of the original variable type.
data a, b  type i.
dummy = 2.26
b = dummy - 0.5.  " b = 2
a = ( dummy - b ) * 100. " a = 26
now u have write if else block to see whether  'A' is in between 0-25, 25-50, 50-75, 75-100.
if a bt 0 and 25.
      a = 25.
elseif a bt 25 and 50.
      a  = 50.
endif.
dummy = b + ( a / 100 ).
copy back dummy to its original value.

Similar Messages

  • Rounding off a float to two decimal places

    I want to make a function where I shall pass a float and and integer.
    The float shall have to be rounded off to a value in the integer.
    Can anyone please suggest how to round off a float.
    E.g.: if the float is 12.56890 and I want to round it off to 2 decimal places, then it should be 12.57.
    Regards
    Hawker

    I didn't mention any datatypes like float, double.True, but that is what the question is about, so you weren't answering the question. For a change.
    As I mentioned, that was just a mathematical steps to round of the floating point value. (Not in any programming languages point of view).False. You didn't mention that at all.
    This is the code for that in java.So here you are mentioning datatypes and floats for the same piece of mathematics that you have already been told, with reasons, doesn't work in floating point.
    which seems to be working fine
    Seems to. What evidence do you have that the float actually got rounded? As opposed to got displayed as rounded? Which is not what the OP asked for.
    And of course all that code seems to do is round 0.01 to two decimal places, which again is not what the OP asked for.
    For any remaining fans of this 'technique', please explain the behaviour of the following code:
         public static void     main(String[] args)
              int     count = 0, errors = 0;
              for (double x = 0.0; x < 1; x += 0.0001)
                   count++;
                   double     d = x;
                   int     scale = 2;
                   double     factor = Math.pow(10, scale);
                   d = Math.round(d*factor)/factor;
                   if ((d % 0.01) != 0.0) // if 'd' really has been rounded this should be zero
                        System.out.println(d % 0.01);
                        errors++;
              System.out.println(count+" trials "+errors+" errors");
         }

  • Formatting a Double to a String for Swing output

    Hi, I'm new to Java and I'm working on a project with AWT & Swing. I'm trying to read in a user entered number, convert it to a double, work on it and then output the String value of the result with only two decimal places. The code I have is:
    public void actionPerformed(ActionEvent e)
    double result = 99;
    double temp;
    DecimalFormat newTemp = new DecimalFormat("#,###.00");
    if (e.getSource() == bConvert1)
    temp = (Double.parseDouble(tTemp1.getText().trim()));
    result = (temp*1.8)+32;
    newTemp.format(result);
    tResult1.setText(String.valueOf(result));
    else if (e.getSource() == bConvert2)
    temp = (Double.parseDouble(tTemp2.getText().trim()));
    result = (5.0/9)*(temp-32);
    newTemp.format(result);
    tResult2.setText(String.valueOf(result));
    This is working for some values, but for some values entered, the result displayed is just the remainder.

    The reason it doesn't always work could be because DecimalFormat (for reasons known only to Sun) uses ROUND_HALF_EVEN...
    This means that you will have to round the value to the number of decimal places you require before calling format()
    I use something like the following formatter class
    class Formatter {
      public static final int DEFAULT_PRECISION = 2;
      public static final String DEFAULT_PATTERN = "#.00";
      public static final String ZEROS = "0000000000000000";
      public static String convertDoubleToString(Double d) {
        return convertDoubleToString(round(d, DEFAULT_PRECISION), DEFAULT_PATTERN);
      public static String convertDoubleToString(double d) {
        return convertDoubleToString(round(d, DEFAULT_PRECISION), DEFAULT_PATTERN);
      public static String convertDoubleToString(Double d, int precision) {
        return convertDoubleToString(round(d, precision), "#." + ZEROS.substring(precision));
      public static String convertDoubleToString(double d, int precision) {
        return convertDoubleToString(round(d, precision), "#." + ZEROS.substring(precision));
      public static String convertDoubleToString(Double d, String pattern) {
        return new DecimalFormat(pattern).format(d.doubleValue());
      public static String convertDoubleToString(double d, String pattern) {
        return new DecimalFormat(pattern).format(d);
      private static final double round(Double d, int precision) {
        double factor = Math.pow(10, precision);
        return Math.round((d.doubleValue() * factor)) / factor;
      private static final double round(double d, int precision) {
        double factor = Math.pow(10, precision);
        return Math.round((d * factor)) / factor;
    }

  • Formatting currencies and decimal places

    I'm currently using NumberFormat.getCurrencyInstance() to format numbers as currency. However, one problem I'm having is that I'd like values with no cents to be formatted with no decimal places, and any values with cents to be formatted with the usual 2 decimal places. For example:
    17 would be formatted as $17
    17.45 would be formatted as $17.45
    17.4 would be formatted as $17.40
    The last one is the tricky part--I've tried formatter.setMinimumFractionDigits(0), and this works great for the first two cases. But for the last case, the number gets formatted as $17.4.
    Basically my problem is I want a number to be formatted with zero or two decimal places and nothing in between. Is there an easy way to do this?
    Thanks in advance.

    Otherwise you are likely to find that you are getting .00 due to errors from previous calculations. You are right. Adjusted it to Locale aware
    import java.text.FieldPosition;
    import java.text.NumberFormat;
    import java.text.ParseException;
    import java.text.ParsePosition;
    import java.util.Locale;
    public class SpecialCurrencyFormat extends NumberFormat {
        private static final long serialVersionUID = 1L;
        private final NumberFormat noDecimals;
        private final NumberFormat decimals;
        private final double maxDifference;
        private final double factor;
        public SpecialCurrencyFormat() {
         this(Locale.getDefault());
        public SpecialCurrencyFormat(Locale locale) {
         decimals = NumberFormat.getCurrencyInstance(locale);
         noDecimals = NumberFormat.getCurrencyInstance(locale);
         noDecimals.setMaximumFractionDigits(0);
         maxDifference = Math.pow(10, -decimals.getMaximumFractionDigits()) * .5;
         factor = Math.pow(10, decimals.getMaximumFractionDigits());
        @Override
        public StringBuffer format(double number, StringBuffer toAppendTo,
             FieldPosition pos) {
         double adjustedValue = (Math.round(number * factor)) / factor;
         if ((Math.abs(number - Math.round(number)) < maxDifference)) {
             return noDecimals.format(adjustedValue, toAppendTo, pos);
         } else {
             return decimals.format(adjustedValue, toAppendTo, pos);
        @Override
        public StringBuffer format(long number, StringBuffer toAppendTo,
             FieldPosition pos) {
         return noDecimals.format(number, toAppendTo, pos);
        @Override
        public Number parse(String source, ParsePosition parsePosition) {
         return decimals.parse(source, parsePosition);
        public static void main(String[] args) {
         NumberFormat nf = new SpecialCurrencyFormat(Locale.US);
         double[] values = { 10000, 1000, 100, 10, 1, 10.1, 10.01, 10.001,
              10.002, 10.003, 10.004, 10.005, 10.006, 10.007, 10.008, 10.009,
              10.010 };
         for (double value : values) {
             print(nf, value);
        private static void print(NumberFormat nf, double number) {
         String formatted = nf.format(number);
         try {
             System.out.println(number + "\tas " + formatted + "\tand back "
                  + nf.parse(formatted));
         } catch (ParseException e) {
             e.printStackTrace();
    }The value adjustedValue is needed since NumberFormat doesn't seem to round the value. It just breaks.
    Piet

  • Create thumbnail from selected images

    Hi,
    in my app the user can choose some pictures from his local
    file system.
    I want to create a smaller image of every selected picture.
    So I do this for each image:
    for( var f = 0; f < e.files.length; f++ ){
    name = e.files[f].name;
    src = e.files[f].url;
    path = e.files[f].parent.url;
    files.push( e.files[f] );
    //...some other code, not important for this...//
    image = new air.Loader();
    image.contentLoaderInfo.addEventListener(
    air.Event.COMPLETE, function() {
    var ratio = null;
    if (image.width <= 100) {
    thumb_height = image.height;
    thumb_width = image.width;
    ratio = 1;
    else {
    var thumb_width = 100;
    var thumb_height = null;
    var factor = image.width / thumb_width;
    thumb_height = Math.round(image.height / factor);
    ratio = 100/ image.width;
    if (thumb_height > thumb_width) {
    thumb_height = 120;
    factor = image.height / thumb_height;
    thumb_width = Math.round(image.width / factor);
    ratio = 100/ image.width;
    var bmp = new air.BitmapData( thumb_width, thumb_height );
    var temp = air.File.createTempFile();
    var desktop = null;
    var matrix = new air.Matrix();
    var png = null;
    var stream = new air.FileStream();
    var div = null;
    var elem = null;
    matrix.scale( ratio,ratio );
    bmp.draw( image.content, matrix );
    png = runtime.com.adobe.images.PNGEncoder.encode( bmp );
    stream.open( temp, air.FileMode.WRITE );
    stream.writeBytes( png, 0, 0 );
    stream.close();
    desktop = air.File.desktopDirectory.resolvePath( toPNG(
    e.files[f] ) );
    temp.moveTo( desktop, true );
    image.load( new air.URLRequest(e.files[f] ) );
    function toPNG( orig )
    return orig.name.substr( 0, orig.name.length -
    orig.extension.length ) + 'png';
    The problem is, that the "thumbnail" is only created of the
    last selected image. I think it has something to do with the
    air.Event.COMPLETE event. But when I kick that off, an error
    occures: Error #2015: Invalid BitmapData. at
    flash.display::BitmapData().
    Hope somebody can help. Thanks in advance

    Here´s a nice example that does exactly what I want:
    <html>
    <head>
    <title>Thumbnails</title>
    <script src="library.swf"
    type="application/x-shockwave-flash"></script>
    <script src="AIRAliases.js"
    type="text/javascript"></script>
    <script type="text/javascript">
    var MAX_HEIGHT = 100;
    var MAX_WIDTH = 100;
    var files = null;
    var index = 0;
    var loader = null;
    var output = null;
    function loadImages()
    if( index < files.length )
    output = document.createElement( 'div' );
    loader.load( new air.URLRequest( files[index].url ) );
    } else {
    loader.visible = false;
    function doLoad()
    loader = new air.Loader();
    loader.contentLoaderInfo.addEventListener(
    air.Event.COMPLETE, doLoaderComplete );
    window.nativeWindow.stage.addChild( loader );
    btnOpen.addEventListener( 'click', doOpenClick );
    function doFilesSelect( e )
    files = e.files;
    index = 0;
    loadImages();
    function doLoaderComplete()
    var bmpd = null;
    var encoder = null;
    var img = null;
    var jpg = null;
    var matrix = null;
    var ratio = 0;
    var realHeight = loader.contentLoaderInfo.height;
    var realWidth = loader.contentLoaderInfo.width;
    var stream = null;
    var thumb = null;
    var thumbHeight = 0;
    var thumbWidth = 0;
    if( realWidth > 0 )
    if( realWidth <= MAX_WIDTH )
    thumbHeight = realHeight;
    thumbWidth = realWidth;
    ratio = 1;
    } else {
    thumbWidth = MAX_WIDTH;
    thumbHeight = 0;
    factor = realWidth / thumbWidth;
    thumbHeight = Math.round( realHeight / factor );
    ratio = MAX_WIDTH / realWidth;
    if( thumbHeight > thumbWidth )
    thumbHeight = MAX_HEIGHT;
    factor = realHeight / thumbHeight;
    thumbWidth = Math.round( realWidth / factor );
    ratio = MAX_WIDTH / realWidth;
    matrix = new air.Matrix();
    matrix.scale( ratio, ratio );
    bmpd = new air.BitmapData( thumbWidth, thumbHeight );
    bmpd.draw( loader, matrix );
    encoder = new runtime.com.adobe.images.JPGEncoder( 85 );
    jpg = encoder.encode( bmpd );
    thumb = air.File.desktopDirectory.resolvePath( 'thumb_' +
    files[index].name );
    stream = new air.FileStream();
    stream.open( thumb, air.FileMode.WRITE );
    stream.writeBytes( jpg, 0, 0 );
    stream.close();
    output.innerHTML = files[index].name + ': ' + realWidth + '
    x ' + realHeight;
    document.body.appendChild( output );
    img = document.createElement( 'img' );
    img.src = thumb.url;
    output.appendChild( img );
    index = index + 1;
    loadImages();
    function doOpenClick()
    var browse = air.File.desktopDirectory;
    browse.addEventListener( air.FileListEvent.SELECT_MULTIPLE,
    doFilesSelect );
    browse.browseForOpenMultiple(
    'Select Images',
    [new air.FileFilter( 'Image Files',
    '*.gif;*.jpg;*.jpeg;*.png' )]
    </script>
    </head>
    <body onLoad="doLoad();">
    <input id="btnOpen" type="button" value="Open..." />
    </body>
    </html>

  • How to decide number of decimals

    Hi!
    I wonder how I can decide how many decimals I want. I write a program where I use doubles, but there is no limit on how many decimals I get. How can I limit the decimal the easiest way?
    for instance like this:
    double a = 1.23
    double b = 1.46
    double c = a * bWhere c is in format x.xx (eg 2.34).
    Also, is there a way to e.g tell that you want 2 decimals, but if the number you get is an integer (eg. 1), it will only say 1 and not 1.00.
    Thank you in advance.

    Cissi wrote:
    Also, is there a way to e.g tell that you want 2 decimals, but if the number you get is an integer (eg. 1), it will only say 1 and not 1.00.There sure is, but this depends on your interpretation of what the double being an integral value means. You never want to deal with absolute == operations on doubles.
    This is a way of telling whether a double is an integral value to 5 decimal places:
    double a = 3.000006;
    int factor = 100000;
    if ( Math.round(a) * factor == (int) (a * factor) ) {
       //a is an integer to 5 decimal places
    }There are probably better ways to do this though; I don't use floating point numbers all that much in what I do.
    edit I threw up a bit in my mouth after I read what I wrote there. Please don't use that. I wouldn't.
    Edited by: endasil on Dec 20, 2007 9:53 AM

  • Double to 2 decimal places

    I am putting a double variable out to a web page and also calculations on that double(a price). I am getting 4 decimal places on the original price and several decimal places on the calculations. Can anyone tell me how to round down to 2 decimal places?
    Thank you.
    Karen

    I generally use a formatter along the lines of the following. You could also use a wrapper class (Double is final, and you can't extend primitives) for Double which would incorperate this formatting. However you only need to use it when you are presenting it (or if you are persisting it to a lower precision data source, where truncation could result in larger inaccuracies creeping in).
    This also changes the ROUND_HALF_EVEN behaviour of DecimalFormat to ROUND_HALF_UP.
    Alternatively you could use BigDecimal (.setScale() to set decimal places) but there is an overhead which may be restrictive.
    class Formatter {
      public static final int DEFAULT_PRECISION = 2;
      public static final String DEFAULT_PATTERN = "#.00";
      public static final String ZEROS = "0000000000000000";
      public static String convertDoubleToString(Double d) {
        return convertDoubleToString(round(d, DEFAULT_PRECISION), DEFAULT_PATTERN);
      public static String convertDoubleToString(double d) {
        return convertDoubleToString(round(d, DEFAULT_PRECISION), DEFAULT_PATTERN);
      public static String convertDoubleToString(Double d, int precision) {
        return convertDoubleToString(round(d, precision), "#." + ZEROS.substring(precision));
      public static String convertDoubleToString(double d, int precision) {
        return convertDoubleToString(round(d, precision), "#." + ZEROS.substring(precision));
      public static String convertDoubleToString(Double d, String pattern) {
        return new DecimalFormat(pattern).format(d.doubleValue());
      public static String convertDoubleToString(double d, String pattern) {
        return new DecimalFormat(pattern).format(d);
      private static final double round(Double d, int precision) {
        double factor = Math.pow(10, precision);
        return Math.round((d.doubleValue() * factor)) / factor;
      private static final double round(double d, int precision) {
        double factor = Math.pow(10, precision);
        return Math.round((d * factor)) / factor;
    }

  • 2 Decimal Places (that's all)

    My output from my calculations is:
    2.74594
    1.343434343434
    14.4758395065893849
    How can I limit my digits after the decimal point to only 2 places?
    Above answers would be:
    2.74
    1.34
    14.47
    Would appreciate any help.

    Well your code does exactly what you say it will ;-)
    It truncates the number to just 2 places.
    But if you want to get the "standard" behaviour of ROUND_HALF_UP then you should use Math.round(), as can be seen in the following.for (int i = 0; i < 100; i++) {
      double d = 2.74594 * i;
      double d2 = d;
      double d3 = d;
      //this code truncates to 2 decimal places
      d2 = d > 0 ? Math.floor(d * 100) / 100.0 : Math.ceil(d * 100) / 100.0;
      d3 = Math.round(d * 100) / 100.0;
      System.out.println("d = " + d + "\td2 = " + d2 + "\td3 = " + d3);
    }I usually leave doubles at their default precision until I need to presist or present them(to a db for instance), and then I use a class along the following lines...class Formatter {
      public static final int DEFAULT_PRECISION = 2;
      public static final String DEFAULT_PATTERN = "#.00";
      public static final String ZEROS = "0000000000000000";
      public static String convertDoubleToString(Double d) {
        return convertDoubleToString(round(d, DEFAULT_PRECISION), DEFAULT_PATTERN);
      public static String convertDoubleToString(double d) {
        return convertDoubleToString(round(d, DEFAULT_PRECISION), DEFAULT_PATTERN);
      public static String convertDoubleToString(Double d, int precision) {
        return convertDoubleToString(round(d, precision), "#." + ZEROS.substring(precision));
      public static String convertDoubleToString(double d, int precision) {
        return convertDoubleToString(round(d, precision), "#." + ZEROS.substring(precision));
      public static String convertDoubleToString(Double d, String pattern) {
        return new DecimalFormat(pattern).format(d.doubleValue());
      public static String convertDoubleToString(double d, String pattern) {
        return new DecimalFormat(pattern).format(d);
      private static final double round(Double d, int precision) {
        double factor = Math.pow(10, precision);
        return Math.round((d.doubleValue() * factor)) / factor;
      private static final double round(double d, int precision) {
        double factor = Math.pow(10, precision);
        return Math.round((d * factor)) / factor;
    }

  • OPS (Oracle 8.1.7) with Jdriver - Oracle 10g JDBC

    Hi,
    we have a web applikation running under a Bea Weblogic 6.1 Cluster with Jdriver Oci Driver. It runs perfectly with Oracle OPS Cluster in four years, but we needed to change to Oracle Drivers (10.1.0.3) because of batch input.
    Unfortunately our webapp is very slow right now .. round about factor 2x. We have tried a lot of configurations (WL61 + Bea Jdriver/Oracle 8.X,9.X,10.X OCI+THIN + OPS).
    Here it comes .. as soon we use Oracle Drivers with OPS, performance is bad. Oracle with single instance db runs perfectly and Bea Jdriver runs perfectly with OPS.
    How can we get Oracle Driver running with OPS? What is the problem here? Anybody some experience or advice?
    TIA

    It still seems incredibly low priority to me - I'm not sure if you could even exploit that vulnerability in this instance, even somone did get onto your network.
    But, you could configure requests to be routed via the http server http://download.oracle.com/docs/cd/A87860_01/doc/java.817/a83720/modi_apa.htm#77221 - which will filter out the track/trace requests, but I'm not sure if you could disable direct access to the servlet engine.
    Apart from that, not really sure.

  • Production Order Compoent Rounding with a Scrap Factor

    Hi all,
    We are using a 3 decimal unit mesure. And I'm having a problem when the component have a Scrap factor.
    Instead of rounding up to the nearest whole number it is keeping the decimal place so a component with a scrap factor of 1% and a requirement of 10 come out to 10.1 in the production order instead of 11.
    Does anybody know of a userexit, BADI or other solution?
    Points will be given
    Thanks

    Dear
    Changing directly the base UoM of components related with component scrap may  not work either as far as I have read and according to the note SAP 931971.
    Otherwise , try to check Decimal places and rouding of decimal place is maintain properly for the base unit of measure of that component in T.code CUNI. Is there any Rounding value (value = 1) is maintain in MRP 1 data of that component ?
    I think , you should keep Decimal Place Rouding field in CUNI -Conversion Tab  -as 1 or 2 if you want to round to 10.1 as 11
    Try and revert
    Regards
    JH

  • Key Figure displays as rounded in BEx

    Hello,
    I have a report that is based off of InfoProvider/Object: 0MATERIAL.
    When I run the report, the key figures are displayed as rounded values, for example 15.000 LB, 0.000 LB, 2.000 FT3. 
    I would like to get 3 decimal places for example 15.255 LB, 1.531 FT3.  When I look at the Master Data for 0MATERIAL in RSA1 I see values with greater accuracy then the rounded number obtained in reporting.
    Details below...Can someone help?
    For infoObject 0MATERIAL, I have the attribute 0NET_WEIGHT key figure.
    0NET_WEIGHT has the following properties
    Type: QUANTITY
    Data type: QUAN - Quantity field, points to a unit field with format UN
    Unit of measure - 0UNIT OF WT
    Aggregation/Exception Agg: Summation
    Cumulative Val
    Decimal Places: 0.000
    Display "in 1"
    Bex Descript: Short description
    In BEX under 'Number Format' I have
    Scaling factor: (From Key Figure: 1)
    Number of Decimal Places: (From Key figure: 0.000)
    Thanks,
    Nick
    Message was edited by:
            Nick Bertz

    Hello Jaya,
    When I looked at the T006 table for the following units I obtained the value 0 in field ANDEC
    FT3
    LB
    When I look at tx: CUNI and I set the selection to 'Mass' > then I click on 'Units of Measurement' > Then I select 'LB' and click on 'Details' I see no value for 'Decimal pl. Rounding'
    When I look at tx: CUNI and I set the selection to 'Volume' > then I click on 'Units of Measurement' > Then I select 'FT3' and click on 'Details' I see no value for 'Decimal pl. Rounding'
    What i see in CUNI on BW matches what I see in CUNI on R3.
    None the less, on our development system I made the change via CUNI setting 'Decimal pl. Rounding' to 3 and it seems to be working now.
    I could have go to RSA1 > Source Systems > RC'd on my Source System > Chose 'Transfer Global Settings' > Selected the checkboxes for 'Units of Measurement' and then for mode selected 'Update tables' This updates the T006, T006A, T006B, T006C, T006D, T006I, T006J, T006T tables.
    But since on R3 the CUNI table had the same information, it wouldn't have helped.  That is why I went and updated CUNI directly on BW. When I saved the changes it prompted for a transport which will make it easy to transport to BW Production.
    Thanks for the Help!
    Nick
    Message was edited by:
            Nick Bertz

  • BW Report - Rounding Quantities

    Hi:
    I have a report with a quantity field.  When I view the quantity in the cube the value contains 3 decimals. However, when I run the query in Bex or Web, the quantity is rounded off and my decimals show as zero.
    Example:  Invoice Quantity = 168.650.  the report will display 169.000.  Invoice Quantity is define as a quantity; data type is Quan.  Unit/currency is 0PO_Unit.
    In the query, in the properties of Invoice Quantity  I have set up as the following:  Under "Number Format" - Scaling Factor is set to 1.  "Number of Decimal Places" is set to 0.000.  I don't understand why this is not working properly.
    Does anybody have any ideas why it's rounding instead of showing the decimals?
    Thanks in advance for your help!
    Regards,
    Helena

    Hi Eugene:
    In Table T006 I have a UOM "VAL" with Measure unit text "Value" and Unit Text "Monetary Value".  The decimal pt.rnd. is 0.  The dimension is "ZEACH". Also, the ISO Code is blank. When I execute transaction CUNI, it brings me to an Initial Screen.  In this intial screen it contains 3 tabs: Dimensions, ISO Codes, and Unit of Measurement.  Next to the Unit of Measurament it has a drop down.  If I select ZEACH, and click on Unit of Measurement, I get the entry that I'm interested in.  It has:  Unit = Val; Commercial = Val; Technical = Value; Meas. unit text = Value.  If I highlight and then click on more details button, I get the details screen.  Under "Display" Decimal places is blank.  Under "Conversion", Decimal pl. rounding is also blank.  And "ALE/EDI" ISO Code is also blank.  So in summary the culprit here is table T006.  Table T006 needs to be adjusted in R/3 so that when it gets fed to BW is correct.  The questions is how to modify T006?  Is this considered a configuration issue?
    Regards,
    Helena

  • Factors influencing creation of a planned order

    Hi,
            What are the factors that lead to creation of  a planned order during a Heuristic run?
    When does a system decides to create a planned order? at what stock level? and how is the planned order qty. decided?
    I have a material in a location that has planned orders generated.
    I am trying to understand why the system created this order?
    There is no safety stock, safety days supply or target days supply or rounding profile  defined in Product master in Lot size tab.
    Lot sizing procedure is by period (Days)  - number of periods = 1
    Lot size strategy blank
    When I look at the product view,
    the requirements pileup with category SNP:DepDmd and after some days, a planned order is generated for some qty.
    I am trying to understand when the system determines to create a planned orders? What is the upper limit of the demand when the system generates a Planned order?
    In the system, some times the planned order is generated when the stock is at 2,484.567 PCs some times 13.645 PCs.

    Planned Order creation is based on a MRP calculations (net requirements planning) and ofcourse APO takes into account various factors such as min or max lotsizes, time-phasing requirements, calendars or safety stock requirements etc.
    Keeping aside the safety stock complexity in your situation, some of the reasons why a planned order could be created even with lots of stock in hand could be:
    1. Check projected stock on hand may be going down under 0 if the planned order were not created on time
    2. There would be a window of time for planned order creation due to production and other calendars that if lost would force projected stock in hand below 0
    3. the stock in hand is blocked stock not useful for planning
    4. Issues with SNP planning book configuration where key figures are not mapped correctly to ATP categories. Makes sense to double check in Product View
    5. Due to min lot size being high, it might appear that system is over planning production.

  • Factoring a Goods Receipt Batch Value by 100

    In our scenario we are receiving material using Batch Specific Alternate Units of Measure.  The base uom of the material is LB and we've created a Batch Specific uom called GLB under No Dimensions   We have also configured a conversion ratio called L/G (lb/glb) also under No Dimensions. 
    In configuration for the Batch Specific calculations for Proportional Factors we are using the "Calculation of base quantity from proportion/product quantity" section with the Characteristic UoM L/G and the calculation is Base Uom LB / Batch Specific UoM GLB
    If the LB is at a 75.15% weight of the batch specific unit GLB then we enter .7515 in the characteristic.  This calculation works fines and delivers the desired result however to make it simpler to enter and less error prone I'm searching for a solution so that the end user can enter 75.15 which will result in the exact same conversion factor.
    Is this possible and if so how.  I've tried many combinations of ratio factors in the Unit of Measure (t-code CUNI) with no success.

    Hi Jeff,
    As 75.15% weight of the batch specific unit GLB  characteristic value .7515 conversion will be fine.
    If you enter the value as 75.15 you not have conversion factor directly, Please refer OSS note 362932 -Conversion with proportion/product units
    You can use the Object dependencies in that case.You enter data in any unit of measure. The conversion factors are determined by object dependencies using characteristics of the batch classification, or they are entered manually. If there is no conversion factor to be determined or none is entered, the system uses the planned conversion factor. The conversion factors are stored in the batch classification as characteristic values.
    Also you can use the function module MURC_ROUND_FOR_FRACT which works with a new algorithm for the calculation of the approximation. This algorithm determines the best possible approximation depending on the available (decimal) places and the length of the conversion factors (numerator and denominator)
    391710 - Rounding of characteristic values for quantity conversion
    Please have a look on below document,
    Catch Weight Management
    Regards,
    R.Brahmankar

  • Rounding while goods receipt against outbound delivery

    Hi Experts,
    I have an issue regarding alternative unit of measure.
    Material with base unit of measure FT,ordered unit is Meters since the alternate unit of measure has conversion factor getting decimal places while goods receipt against outbound delevry.
    Is it possible to round off to nearest figure without decimals.At what level means PO,delivery,GR how we can round off.please advice with customization.
    Thank you very much for your help.
    Regards,
    Babu
    9930154536

    it is not possible to rounding of stock while  GR through customizaton settings.
    abap development is required to round off the stock.

Maybe you are looking for

  • Has the recent Itunes upgrade caused incompatibility issue with APPLE TV 1st gen?

    after recent upgrade to itunes, itunes no longer recognizes data on my apple tv 1st gen....but the Apple TV still has them loaded.  additonally this new itunes does not let me resync new songs or movies, etc.  thoughts? thanks!

  • Errors when unmarshalling with JAXB

    Am getting an error when unmarshalling an xml file ..... javax.xml.bind.UnmarshalException - with linked exception: [org.xml.sax.SAXParseException: unexpected root element comment]      at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarsh

  • Just installed office, wont work

    I just installed office home and student 2013 on my windows 8 computer.  I try to open word or excel and immediately after opening a message pops up reading "a problem caused the program to stop working correctly. windows will close the program and n

  • Where do MP3s go?

    I can save them to my hard drive, desk top, itunes, no problem, but when you mark a destination and you burn them twice, it says that a file already exists. Where are they stored?

  • Next steps when a disk is MISSING

    Hi, I'm new to ASM and wanted to check what are the steps and how it might work when a disk fails. So I removed a disk randomly from the diskgroup. WHen I looked at the v$asm_disk. It said one disk was MISSING. Then it was taking a while to rebalance