Reservation Restriction.

Dear Expert,
Is there is any configuration through which i can control Reservation.My scenario is that suppose
Unrestricted stock:10.So user can reserve up to 10 not more than 10.Any User exit or enhancement.
Please Help?????
Regards
Tanmoy_mm.

Hi,
as already said this can be done by Dynamic Availability Check, with the following settings :
T Code : OMB1 or SPRO
IMG>MM>Inventory Management & Physical Inventory>Reservation
Click on Mvt Tpe
Select the desired Mvt Type for Dynamic Availability Check ( say 201) for Individual requirements (02)
In the screen select check B from Match Code
Maintain Settings in Define Checking Rule as individual requirements  (02)
In Transaction Code Tab Enter the desired Checking Rule and save.
Go to MM02 and Maintain MRP3 View with Availability check (02) for that Material and you are done.
Hope this helps,
Amit Bakshi

Similar Messages

  • Error in creation of Phantom item bill

    Hi Gurus,
    We have planned to use phantom item. for that wehave created an item of type: 'option class'. Then created its routing but facing below error when trying to cretae bill for phantom item.
    Kindly help me out
    Regards,
    Ali Raza
    APP-FND-01048: Use of this combination restricted by WHERE clause ' ( ((:parameter.query_mode = 2 AND bom_enabled_flag = 'Y') OR (:parameter.query_mode = 1 AND EXISTS (SELECT NULL FROM bom_bill_of_materials bom WHERE bom.organization_id = :parameter.org_id AND bom.assembly_item_id = inventory_item_id AND ((:parameter.bom_or_eng = 1 AND assembly_type = 1) OR :parameter.bom_or_eng = 2) ))) AND (bom_item_type in (:parameter.model_item_access, :parameter.planning_item_access, :parameter.std_item_access, :parameter.oc_item_access) ) AND ((:parameter.bom_or_eng = 1 AND eng_item_flag = 'N' AND NOT EXISTS (SELECT 'X' FROM bom_bill_of_materials bom WHERE bom.organization_id = :parameter.org_id AND bom.assembly_item_id = inventory_item_id AND bom.alternate_bom_designator IS NULL AND bom.assembly_type <> 1) AND (:parameter.eam_type is null OR (:parameter.eam_type in (1, 2, 3)
    APP-FND-01388: Cannot read value for profile option FND_INDICATOR_COLORS in routine &ROUTINE.

    Hi Sandeep,
    Thanks for your reply.
    I have checked all three possibilities. Item is not Engineering item and already assigned to Org. Also the BOM doesnot exist. Kindly note that I donot have any issue in creating bill of a standard item. We are using phantom item for the first time so tell me if phantom item need some special setup or some profile option to be active etc? I am using below attributes in inventory. Kindly go through it and suggest.
    Deviation Factor +     0
    Deviation Factor -     0
    Shelf Life Days     0
    Price Tolerance %     0
    Acceptable Rate -     0
    Acceptable Rate +     0
    Postprocessing Lead Time     0
    Planning Time Fence Days     1
    Lead Time Lot Size     1
    Descriptive Flexfield     ---------
    Item Status     Active
    Conversions     Both standard and item specific
    Forecast Control     Consume Forecast
    Effectivity Control     Date
    Service Request     Enabled
    RMA Inspection Required     Inspection not required
    Default SO Source Type     Internal
    Restrict Locators     Locators restricted to pre-defined list
    Make or Buy     Make
    Billing Type     Material
    Cycle Count Enabled     No
    Check Material Shortage     No
    Lot Split Enabled     No
    Lot Merge Enabled     No
    Lot Translate Enabled     No
    Lot Substitution Enabled     No
    Bulk Picked     No
    Engineering Item     No
    EAM Notification Required     No
    Use Approved Supplier     No
    Taxable     No
    Allow Description Update     No
    RFQ Required     No
    Outside Processing Item     No
    Equipment     No
    Planned Inventory Point     No
    Repetitive Planning     No
    Build in WIP     No
    Customer Ordered     No
    Customer Orders Enabled     No
    Internal Ordered     No
    Internal Orders Enabled     No
    OE Transactable     No
    Assemble to Order     No
    Ship Model Complete     No
    Financing Allowed     No
    Invoiceable Item     No
    Invoice Enabled     No
    Enable Contract Coverage     No
    Enable Defect Tracking     No
    Lot Control     No lot control
    Serial Number Generation     No serial number control
    Lot Expiration     No shelf life control
    End Assembly Pegging     None
    Check ATP     None
    ATP Components     None
    Safety Stock     Non-MRP planned
    Inventory Planning Method     Not planned
    MRP Planning Method     Not planned
    Primary Unit of Measure     NUMBER
    BOM Item Type     Option class
    WIP Supply Type     Phantom
    User Item Type     Phantom item
    Locator Control     Prespecified locator control
    Tracking UOM Indicator     Primary
    Pricing UOM Indicator     Primary
    Reservable     Reservable
    Restrict Subinventories     Subinventories restricted to pre-defined list
    Description     TEST FG
    Revision Control     Under revision quantity control
    Planning Time Fence     User-defined time fence
    Inventory Item     Yes
    Stockable     Yes
    Transactable     Yes
    BOM Allowed     Yes
    Costing Enabled     Yes
    Inventory Asset Value     Yes
    Include in Rollup     Yes
    Purchased     Yes
    Purchasable     Yes
    Receipt Required     Yes
    Create Supply     Yes
    Shippable     Yes
    Pick Components     Yes
    Returnable     Yes
    Enable Service Billing     Yes
    Regards,
    Ali Raza

  • Restricting cost center selection during creation of reservation

    Hi,
    We had a requirement to restrict the selection of cost center during creating a reservation. An user should be restricted in selecting any other cost center which does not belongs to his department. Since the restriction was not possible in standared/available authorization objects, we have created a customized object thru SU2. The Z object is available in role maintenance (PFCG) which we assigned to the object class MM_B and maintained the relevant cost center value.
    Still it is not giving the desired result as selection of any aother cost center (which is mot mentioned under the Z object) is permitted while creating a reservation.
    Request your valuable update in fixing the issue.
    Thanks & Regards,
    Vinod Punnoran

    Hello Vinod,
    How to manipulate the screens from transaction MB21 to avoid your
    issue?
    a) by transaction OXK1:
    In customizing transaction 'OXK1' you can see which screens are
    available and in which order they are selected by the program.
    This transaction also allows to add customer-defined screens, to
    change the priorities and to de-activate standard screens.
    So if you create yourself a screen with all the fields you
    would like to see you can assign it in OXK1. You would have to
    set the priority key so that program would choose your screen rather
    than the standard screens.
    Transaction OXK1:
    The coding block searches through the existing subscreens for the one
    which fulfills most requirements. The "Priority" serves as fine tuning
    in the search procedure: 1 is the highest priority, 9 the lowest.
    The system searches for the most suitable subscreen according to the
    following strategy:
    First, it searches for subscreens containing all the account assignment
    fields required. If there is more than one, it selects the one with the
    highest priority.
    If this is unsuccessful, the system then looks for subscreens containing
    all of the obligatory fields, or as many of them as possible. The
    subscreen containing the most obligatory fields is selected.
    If two subscreens contain the same number of obligatory fields, then the
    one containing the most required account assignment fields is selected.
    If there is still more than one, the selection is made according to the
    priority.
    b) by user exit or BADI
    Enhancement to manipulate reservation data is MBCF0007 and the user
    exit is EXIT_SAPMM07R_001.
    MBCF0007 Customer function exit: Updating a reservation
    MBCF0010 Customer exit: Create reservation BAPI_RESERVATION_CREATE1
    MBCF0011 Read from RESB and RKPF for print list in  MB26
    There is a BADI as well:
    MB_RESERVATION_BADI  MB21/MB22: Check and Complete Dialog Data
    I hope this information helps you.
    Best Regards !
    Fábio Almeida
    MM Consultant

  • Restrict excess posting against manual reservation (for movement type 311).

    Hello,
    Reservations are created for transfer posting within plant (311). However, during posting the system allows to post more than the reservation quantity. Can this be restricted?
    Regards
    Sameer

    Hi,
    2 options i can think of:
    1. Use MB1B with 313 & 315 mvmt's. Once you generate a mtl doc nos. with MB1B & 313 mvt. use this docu in MBSU & post the 315 mvt. system will throw an error message if the qty is increased
    2. Use user-exit MBCF0002, check with your abaper on this.
    Regards,
    Vivek

  • Restrict Goods Issue for Reserved Stock

    Hi Experts,
    My requirement is to restrict goods issue of stock qty which is reserved.
    For that i have created checking rule and assigned to MIGO_GI because we need to consider only reservation .
    Now when i create manual reservation system gives msg as per config.
    e.g current unristricted stock is 100 qty
    manual  reservation  created for  10 qty
    System gives msg if i issue material more than 90 qty. It is working properly
    Now pb is system is not considering reservation created by  process order confimation.
    I already assing checking rule with Checking grp for availability check and also set properties.
    in include dependant reservation i set - x - Include all reservations.
    I need to restrict goods issue for reserved stock for reservation created by process order.
    Thanks in Advance
    Janak

    Hi Janak,
    When a reservation is created automatically or manual, it will depicts the requirement of the material for the specific department/process. BUt it doesnot restrict or label the material as reserved. This is because the acutal requirement/consumption may vary from the reserved quantity. Also the stock still remains in the un-restricted stock and hence its open to be issued.
    Now if you want restrict the stock for automatic reservation, then you can make an enhancement wherein the stock is moved to required stock type. But this will block the stock for the order even if it is not required.
    Regards

  • Restrict the material reservation to only planning plant

    Hello,
    We have the requirement like we have created the maintenace order with planning plant but in componenets tab we are creating the reservation of the material of other plant,so could you kindly let me know how we can restrict to use only the components of the planning plant and not other plants within the same company code.
    Is there any customization setting or any development needs to be done to achive the same.
    Thanks for your reply.
    Regards
    Santosh

    You can do this in a few ways:
    At save using user-exit IWO10009 reading-in the components
    When entering the component using user-exit CNEX0027
    PeteA

  • Restrict GI Qty as per BOM/Reservation

    Dear Experts,
    Please guide me to address the following issue:
    As per Standard SAP, I can do GI (MB1A - 261 Mvt) for any quantity irrespective of reservation quantity (calculated as per BOM ratio).
    If the FG to HALB ratio is 1:1 and the production order is created for 10 units. The HALB required would be 10 units only (as per BOM). But system allows to issue more than 10 units also.
    How to restrict this? The GI should be allowed for less than or equal to the reservation quantity only (system should not allow more quantity to be issued.
    One way I can do this is by making a transaction variant and making qty field display only. But in this case I would not be able to change it to lesser qty, which is required.
    Please suggest some method to check this at the time of GI or the user exit available for this.
    Regards,
    Rohit.

    Hi Sravanthi,
    Thanks for the reply.
    But still the GI quantity can be changed to a higher value than reservation, and system doesn't stop the posting of this value.
    I want system to check and throw a message if quantity exceeds the reservation.
    Any idea about the userexit MBCF0011, can it help. Actually I have very less idea about ABAP.
    Regards,
    Rohit.

  • Quantity restriction in Reservation

    Hi,
    We have a requirement to restrict the quantity issued against a reservation document. For example reservation document can have the quantity of 100 but we want to restrict the issue quantity to 10 at a time.
    Multiple departments reserve material to be used but issue at a time would only be 10. Any pointers would be appreciated.

    by system i do not think its possible. but you can do one thing . you can keep 10 qty in unrestricted stock at one particular time. lets say total stock comes 150. keep 10 in unrestricted and rest in blocked. after issue of that 10. release next 10  for next issue. that is atleast better idea than first one.
    regards
    points if helpful/solved

  • Restricting Goods Issue only against reservation and Production Oder

    HI all,
    Is it possible to restrict goods issue only against Reservation, and Production Order.
    I dont want the user to issue goods without refering to any reservation or Production Order.
    Thanks and Regads

    Hi,
    To restrict the same in MIGO, go to following path;
    SPRO > MM > Inventory Management and Physical Inventory > Settings for Enjoy Transactions > Settings for Goods Movements (MIGO) > Settings for Transactions and Reference Documents and Here Select Transaction "MIGO" and double click on "Transaction/event", here select "A07 Goods Issue" and double click on "Reference document" and remove only keep Active "Order" and "Reservation" and remove remaining. And then check in MIGO.

  • Restricting Transfer Posting for Reserved Stock

    Dear Gurus,
    I have a scenario that the user should not be allowed to transfer material (SLoc to SLoc) that has been reserved. At the moment the system is allowing without any warning or error. Is it possible and do I have to configure any settings for it?
    Regards,

    Hi,
    Contact your Basis team and lock the movement type 311.
    Reards,
    Mahesh Wagh

  • Is this a PrintDataGrid bug / restriction / my lack of understanding?

    Hi!
    I'm trying to implement PrintDataGrid in my application  and I'm encountering a peculiar problem. The printout is skipping last several  rows in the printout of each page.
    I have narrowed down to what's causing this issue. My  application-level custom skin provides Flex scrolling capability to the entire  application. Presence of this scrollbar in the custom skin is causing  PrintDataGrid to skip last rows. In fact, number of rows skipped depends on the  height of the browser. If you reduce the browser height, you skip more  rows!
    Is this a bug PrintDataGrid or a restriction (cannot  have PrintDataGrid within Scroller) or I'm missing something?
    Please help as I'm struggling with this for several  days!
    Here is simple code to reproduce the issue:
    Main Application:
    ============
    <?xml version="1.0"?>
    <!-- printing\MultiPagePrint.mxml -->
    <s:Application
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx"
        initialize="initData();"
        skinClass="ApplicationSkinCustom"
        >
        <s:states>
            <s:State name="displayState" />
            <s:State name="printState" />
        </s:states>
        <fx:Script>
            <![CDATA[
                import mx.collections.ArrayCollection;
                import mx.printing.*;
                [Bindable]
                public var dgProvider:ArrayCollection;
                public var prodIndex:Number;
                // Data initialization, called when the application initializes.
                public function initData():void {
                    // Create the data provider for the DataGrid control.
                    dgProvider = new ArrayCollection;
                // Fill the dgProvider ArrayCollection with the specified items.
                public function setdgProvider(items:int):void {
                    // First initialize the index and clear any existing data.
                    prodIndex=1;
                    dgProvider.removeAll();
                    // Fill the ArrayCollection, and calculate a product total.
                    // For simplicity, it increases the Index field value by
                    // 1, and the Qty field by 7 for each item.
                    for (var z:int=0; z<items; z++) {
                        var prod1:Object = {};
                        prod1.Qty = prodIndex * 7;
                        prod1.Index = prodIndex++;
                        dgProvider.addItem(prod1);
                // The function to print the output.
                public function doPrint():void {
                    currentState = "printState";
                    // Create a FlexPrintJob instance.
                    var printJob:FlexPrintJob = new FlexPrintJob();
                    // Start the print job.
                    if (printJob.start()) {
                        // Set the print view properties.
                        vGroup.width=printJob.pageWidth;
                        vGroup.height=printJob.pageHeight;
                        // Set the data provider of the FormPrintView
                        // component's DataGrid to be the data provider of
                        // the displayed DataGrid.
                        printDataGrid.dataProvider = dgProvider;
                        printJob.addObject(vGroup);
                    // Send the job to the printer.
                    printJob.send();
            ]]>
        </fx:Script>
        <s:VGroup
            excludeFrom="printState"
            width="100%"
            horizontalAlign="center"
            paddingTop="10"
            paddingBottom="10"
            paddingLeft="10"
            paddingRight="10"
            gap="10"
            >
            <!-- The form that appears on the user's system.-->
            <mx:Form id="myForm" width="80%">
                <mx:FormHeading label="Product Information"/>
                <mx:DataGrid id="myDataGrid" dataProvider="{dgProvider}">
                    <mx:columns>
                        <mx:DataGridColumn dataField="Index"/>
                        <mx:DataGridColumn dataField="Qty"/>
                    </mx:columns>
                </mx:DataGrid>
                <mx:Text width="100%"
                         text="Specify the number of lines and click Fill Grid first.
                         Then you can click Print."/>
                <mx:TextInput id="dataItems" text="35"/>
                <mx:HBox>
                    <mx:Button id="setDP"
                               label="Fill Grid"
                               click="setdgProvider(int(dataItems.text));"/>
                    <mx:Button id="printDG"
                               label="Print"
                               click="doPrint();"/>
                </mx:HBox>
            </mx:Form>
        </s:VGroup>
        <s:VGroup
            id="vGroup"
            includeIn="printState"
            width="100%"
            horizontalAlign="center"
            paddingTop="10"
            paddingBottom="10"
            paddingLeft="10"
            paddingRight="10"
            gap="10"
            >
            <mx:PrintDataGrid id="printDataGrid" width="60%" height="100%">
                <!-- Specify the columns to ensure that their order is correct. -->
                <mx:columns>
                    <mx:DataGridColumn dataField="Index" />
                    <mx:DataGridColumn dataField="Qty" />
                </mx:columns>
            </mx:PrintDataGrid>
        </s:VGroup>
    </s:Application>
    Application custom skin class:ApplicationSkinCustom.mxml
    ============================================
    <?xml version="1.0" encoding="utf-8"?>
    <!--
    ADOBE SYSTEMS INCORPORATED
    Copyright 2008 Adobe Systems Incorporated
    All Rights Reserved. NOTICE: Adobe permits you to use, modify, and distribute this file
    in accordance with the terms of the license agreement accompanying it.
    --> <!--- The default skin class for the Spark Application component. @see spark.components.Application @langversion 3.0
    @playerversion Flash 10
    @playerversion AIR 1.5
    @productversion Flex 4
    -->
    <s:Skin
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
        alpha.disabled="0.5" alpha.disabledWithControlBar="0.5"
        >
        <fx:Metadata>
            <![CDATA[
            * A strongly typed property that references the component to which this skin is applied.
            [HostComponent("spark.components.Application")]
            ]]>
        </fx:Metadata>
        <fx:Script fb:purpose="styling">
            <![CDATA[
                 *  @private
                override protected function updateDisplayList(unscaledWidth:Number,
                                                              unscaledHeight:Number) : void
                    bgRectFill.color = getStyle('backgroundColor');
                    super.updateDisplayList(unscaledWidth, unscaledHeight);
            ]]>
        </fx:Script>
        <s:states>
            <s:State name="normal" />
            <s:State name="disabled" />
            <s:State name="normalWithControlBar" />
            <s:State name="disabledWithControlBar" />
        </s:states>
        <!-- fill -->
        <!---
        A rectangle with a solid color fill that forms the background of the application.
        The color of the fill is set to the Application's backgroundColor property.
        -->
        <s:Rect id="backgroundRect" left="0" right="0" top="0" bottom="0"  >
            <s:fill>
                <s:SolidColor id="bgRectFill" color="#FFFFFF"/>
            </s:fill>
        </s:Rect>
        <s:Scroller left="1" top="1" right="1" bottom="1" id="scroller">
            <s:Group left="0" right="0" top="0" bottom="0">
                <s:layout>
                    <s:VerticalLayout gap="0" horizontalAlign="justify" />
                </s:layout>
                <!---
                @private
                Application Control Bar
                -->
                <s:Group
                    id="topGroup"
                    minWidth="0"
                    minHeight="0"
                    includeIn="normalWithControlBar, disabledWithControlBar"
                    >
                    <!-- layer 0: control bar highlight -->
                    <s:Rect left="0" right="0" top="0" bottom="1" >
                        <s:stroke>
                            <s:LinearGradientStroke rotation="90" weight="1">
                                <s:GradientEntry color="0xFFFFFF" />
                                <s:GradientEntry color="0xD8D8D8" />
                            </s:LinearGradientStroke>
                        </s:stroke>
                    </s:Rect>
                    <!-- layer 1: control bar fill -->
                    <s:Rect left="1" right="1" top="1" bottom="2" >
                        <s:fill>
                            <s:LinearGradient rotation="90">
                                <s:GradientEntry color="0xEDEDED" />
                                <s:GradientEntry color="0xCDCDCD" />
                            </s:LinearGradient>
                        </s:fill>
                    </s:Rect>
                    <!-- layer 2: control bar divider line -->
                    <s:Rect left="0" right="0" bottom="0" height="1" alpha="0.55">
                        <s:fill>
                            <s:SolidColor color="0x000000" />
                        </s:fill>
                    </s:Rect>
                    <!-- layer 3: control bar -->
                    <!--- @copy spark.components.Application#controlBarGroup -->
                    <s:Group id="controlBarGroup" left="0" right="0" top="1" bottom="1" minWidth="0" minHeight="0">
                        <s:layout>
                            <s:HorizontalLayout paddingLeft="10" paddingRight="10" paddingTop="7" paddingBottom="7" gap="10" />
                        </s:layout>
                    </s:Group>
                </s:Group>
                <!--- @copy spark.components.SkinnableContainer#contentGroup -->
                <!--<s:Group id="contentGroup" width="100%" height="100%" minWidth="0" minHeight="0" />-->
                <s:Group id="contentGroup" left="0" right="0" top="0" bottom="0" />
            </s:Group>
        </s:Scroller>
    </s:Skin> 

    Steps to reproduce the issue:
    1. create a new Flex application with the code provided after the last step
    (PrintTest.mxml is the test application's main file and
    ApplicationSkinCustom.mxml is the application's custom skin class). Both the
    files go in the default package
    2. run the application
    3. click on 'Fill Grid' button
    4. click on 'Print' button
    5. depending on your browser height, it'll print up to 25 rows in a table
    6. reduce the height of the browser to about 400 pixels
    7. run the application
    8. click on 'Fill Grid' button
    9. click on 'Print' button
    10. Depending on your browser height, it'll print a few rows but will skip
    last 10-12 rows from the table
    PrintTest.mxml
    ============
    <?xml version="1.0"?>
    <s:Application
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    initialize="initData();"
    skinClass="ApplicationSkinCustom"
    >
    <s:states>
      <s:State name="displayState" />
      <s:State name="printState" />
    </s:states>
    <s:VGroup
      excludeFrom="printState"
      width="100%"
      horizontalAlign="center"
      paddingTop="10"
      paddingBottom="10"
      paddingLeft="10"
      paddingRight="10"
      gap="10"
      >
      <!-- The form that appears on the user's system.-->
      <mx:Form id="myForm" width="80%">
       <mx:FormHeading label="Product Information"/>
       <mx:DataGrid id="myDataGrid" dataProvider="">
        <mx:columns>
         <mx:DataGridColumn dataField="Index"/>
         <mx:DataGridColumn dataField="Qty"/>
        </mx:columns>
       </mx:DataGrid>
       <mx:Text width="100%"
          text="Specify the number of lines and click Fill Grid first.
          Then you can click Print."/>
       <mx:TextInput id="dataItems" text="25"/>
       <mx:HBox>
        <mx:Button id="setDP"
             label="Fill Grid"
             click="setdgProvider(int(dataItems.text));"/>
        <mx:Button id="printDG"
             label="Print"
             click="doPrint();"/>
       </mx:HBox>
      </mx:Form>
    </s:VGroup>
    <s:VGroup
      id="vGroup"
      includeIn="printState"
      width="100%"
      horizontalAlign="center"
      paddingTop="10"
      paddingBottom="10"
      paddingLeft="10"
      paddingRight="10"
      gap="10"
      >
      <mx:PrintDataGrid id="printDataGrid" width="60%" height="100%">
       <!-- Specify the columns to ensure that their order is correct. -->
       <mx:columns>
        <mx:DataGridColumn dataField="Index" />
        <mx:DataGridColumn dataField="Qty" />
       </mx:columns>
      </mx:PrintDataGrid>
    </s:VGroup>
    <fx:Script>
      <![CDATA[
       import mx.collections.ArrayCollection;
       import mx.printing.*;
       public var dgProvider:ArrayCollection;
       public var prodIndex:Number;
       // Data initialization, called when the application initializes.
       public function initData():void {
        // Create the data provider for the DataGrid control.
        dgProvider = new ArrayCollection;
       // Fill the dgProvider ArrayCollection with the specified items.
       public function setdgProvider(items:int):void {
        // First initialize the index and clear any existing data.
        prodIndex=1;
        dgProvider.removeAll();
        // Fill the ArrayCollection, and calculate a product total.
        // For simplicity, it increases the Index field value by
        // 1, and the Qty field by 7 for each item.
        for (var z:int=0; z<items; z++) {
         var prod1:Object = {};
         prod1.Qty = prodIndex * 7;
         prod1.Index = prodIndex++;
         dgProvider.addItem(prod1);
       // The function to print the output.
       public function doPrint():void {
        currentState = "printState";
        // Create a FlexPrintJob instance.
        var printJob:FlexPrintJob = new FlexPrintJob();
        // Start the print job.
        if (printJob.start()) {
         // Set the print view properties.
         vGroup.width=printJob.pageWidth;
         vGroup.height=printJob.pageHeight;
         // Set the data provider of the FormPrintView
         // component's DataGrid to be the data provider of
         // the displayed DataGrid.
         printDataGrid.dataProvider = dgProvider;
         printJob.addObject(vGroup);
        // Send the job to the printer.
        printJob.send();
      ]]>
    </fx:Script>
    </s:Application>
    ApplicationSkinCustom.mxml
    =======================
    <?xml version="1.0" encoding="utf-8"?>
    <!--
    ADOBE SYSTEMS INCORPORATED
    Copyright 2008 Adobe Systems Incorporated
    All Rights Reserved.
    NOTICE: Adobe permits you to use, modify, and distribute this file
    in accordance with the terms of the license agreement accompanying it.
    -->
    <!--- The default skin class for the Spark Application component.
    @see spark.components.Application
    @langversion 3.0
    @playerversion Flash 10
    @playerversion AIR 1.5
    @productversion Flex 4
    -->
    <s:Skin
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
    alpha.disabled="0.5" alpha.disabledWithControlBar="0.5"
    >
    <fx:Metadata>
      <![CDATA[
    A strongly typed property that references the component to which this
    skin is applied.
      [HostComponent("spark.components.Application")]
      ]]>
    </fx:Metadata>
    <fx:Script fb:purpose="styling">
      <![CDATA[
    @private
       override protected function updateDisplayList(unscaledWidth:Number,
                    unscaledHeight:Number) : void
        bgRectFill.color = getStyle('backgroundColor');
        super.updateDisplayList(unscaledWidth, unscaledHeight);
      ]]>
    </fx:Script>
    <s:states>
      <s:State name="normal" />
      <s:State name="disabled" />
      <s:State name="normalWithControlBar" />
      <s:State name="disabledWithControlBar" />
    </s:states>
    <!-- fill -->
    <!---
    A rectangle with a solid color fill that forms the background of the
    application.
    The color of the fill is set to the Application's backgroundColor property.
    -->
    <s:Rect id="backgroundRect" left="0" right="0" top="0" bottom="0"  >
      <s:fill>
       <s:SolidColor id="bgRectFill" color="#FFFFFF"/>
      </s:fill>
    </s:Rect>
    <s:Scroller left="1" top="1" right="1" bottom="1" id="scroller">
      <s:Group left="0" right="0" top="0" bottom="0">
       <s:layout>
        <s:VerticalLayout gap="0" horizontalAlign="justify" />
       </s:layout>
       <!---
       @private
       Application Control Bar
       -->
       <s:Group
        id="topGroup"
        minWidth="0"
        minHeight="0"
        includeIn="normalWithControlBar, disabledWithControlBar"
        >
        <!-- layer 0: control bar highlight -->
        <s:Rect left="0" right="0" top="0" bottom="1" >
         <s:stroke>
          <s:LinearGradientStroke rotation="90" weight="1">
           <s:GradientEntry color="0xFFFFFF" />
           <s:GradientEntry color="0xD8D8D8" />
          </s:LinearGradientStroke>
         </s:stroke>
        </s:Rect>
        <!-- layer 1: control bar fill -->
        <s:Rect left="1" right="1" top="1" bottom="2" >
         <s:fill>
          <s:LinearGradient rotation="90">
           <s:GradientEntry color="0xEDEDED" />
           <s:GradientEntry color="0xCDCDCD" />
          </s:LinearGradient>
         </s:fill>
        </s:Rect>
        <!-- layer 2: control bar divider line -->
        <s:Rect left="0" right="0" bottom="0" height="1" alpha="0.55">
         <s:fill>
          <s:SolidColor color="0x000000" />
         </s:fill>
        </s:Rect>
        <!-- layer 3: control bar -->
        <!--- @copy spark.components.Application#controlBarGroup -->
        <s:Group id="controlBarGroup" left="0" right="0" top="1" bottom="1"
    minWidth="0" minHeight="0">
         <s:layout>
          <s:HorizontalLayout paddingLeft="10" paddingRight="10" paddingTop="7"
    paddingBottom="7" gap="10" />
         </s:layout>
        </s:Group>
       </s:Group>
       <!--- @copy spark.components.SkinnableContainer#contentGroup -->
       <!--<s:Group id="contentGroup" width="100%" height="100%" minWidth="0"
    minHeight="0" />-->
       <s:Group id="contentGroup" left="0" right="0" top="0" bottom="0" />
      </s:Group>
    </s:Scroller>
    </s:Skin

  • Restriction for items from Purchase Order based on Sale Order

    Hi !
           We create PO directly from Sale Order ( by ticking Option under Logistic tab, 'Purchase Order') for customer C01 (for eg).
    From the PO created, we post GRPO.
    Now our need is,
    Assume if 10 Qty is been ordered in such a way and been received (GRPO posted). it 'll add on to the stock account i.e will increase stock qty at our whse.
    is it possible to restrict these 10 qty of item from being sold to any other Customer other than whom hav ordered i.e if we create sale order for C02 the SBO should not take the items received from PO created based on Sales Order created for C01?
    Meera.

    Meera,
    Which version of SBO are you using 2005 or 2007?
    I don't think Serial numbers can help in this scenario.  There is no hard allocation or blocking possible using Serial numbers.
    This is the Work around I am thinking about.
    Set the items to be Batch Managed - On Every Transaction
    When performing Goods Receipt, enter the Sales Order Number as the Batch Number
    When creating the delivery, using SBO_SP_TransactionNotification we can easily check the Batch of the Item being selected and verify it with the BaseRef of Delivery lines to match with Sales Order number.
    If the numbers don't match we can warn user with message, "The items batch reserved for Sales Order xyz"
    Even if you make a mistake when entering the batch number same as Sales Order number when doing a goods receipt. It can still be traced and blocked during delivery.
    Hint: The Batch table records the Goods Receipt transaction along with the BaseDocument number, Base Ref, etc
    If you decide to go this route, I could help you further.
    Let me know
    Suda

  • Confirmation of activity (restriction by system)

    dear gurus,
    kindly tell how can i restrict confirmation of successor activity. Example in my Network structure diagram their is only one netwrok and three internal activities and relationship is finish start for all three activity.
    1. activity ===>fs===> 2.activity ===>fs ===> 3.activity
    As all can see the flow, i want is when i confirm activity 2 or 3 without confirming activty 1 the system should not confirm the successor activities.
    kindly help its urgent
    saqib usman

    Hi,
    Please use Tcode :SMOD
    Use: Enhance ment as CONFPS02.
    I never tried it still, the
    help is pasted below for your quick referal.
    Thanks.
    Please reward if helpful.
    CONFPS02    PS confirmation: Customer-specific input checks 1
    The enhancement CONFPS02   contains the following components:
    Function exit:
    EXIT_SAPLCORF_007  PS confirmation: Customer-specific input check without changes
    You can use this enhancement to subject the confirmation to your own checks, after the SAP standard checks have run. The confirmation can no longer be changed.
    As well as the activity (AFVGD), the complete network header (CAUFVD) and the confirmation  (AFRVD) are transfered in the interface.
    Activities
    1. Create the enhancement
    Either create a new project or use an existing project.
    2. Activate the project.
    Your enhancement can only take effect after you have activated the project.
    Further notes
    Enhancements are, in contrast to modifications, release-insensitive, since they are not in the original SAP system, but in a name range that is reserved for customers.
    You can find information about the general procedure for creating enhancements by choosing Utilities -> Documentation ->  Onlinemanual

  • Material  stock to be  posted to restricted stock( urgent please)

    Hi genius,
                     This is below my scenario, Please let me the solution .
    1.  Material to be received thro’ GR ( MIGO ) and which has to be posted to unrestricted stock.
    2.  Material will be reserved by the users as on when required thro’ MB21 T.Code.
    3. Reservation does not allow the reservation qty over the quantity available present in unrestricted stock.
    4.  New Reservation should not allow to create more than available qty. which is taken into the account of already reserved.
    5. Consumption should be blocked on actual objective.
    6.  Plant control/Indented items should be put to restriction on issuance only to indented department.
    7.Less impact on account inventory qty and value reconciliation.
    Please find anyother solution , Let me know, I am eagarly waiting for your valuable reply,
    Regards
    Jeya

    Hi
    1. Through movement type 101, stock will be posted as unrestricted stock.
    2. Reservation is created via MB21 only
    3 You are defeating the logic of reservation if in you scenario reservation should not exceed the quantity available in stock. If you are running MRP, it will take the reservation into a/c and if any deficit in stock in there it will draw an PR for the same.
    4 Same answer as point 3
    5 You can restrict consumption against reservation.
    6 You can control this thru reservation.
    7 Its matter od discipline.

  • How to restrict the dropdown values in Att/abs type in Record Working Time

    Hello experts,
    We are implementing ESS business package.  In the Record Working time, within the Weekly View and Daily View tabs, there is a column Att/abs.type which has several drop down values - like:  floating value, Funeral Leave, Military Reserve, Regular Attendance, etc.   Our requirement is to restrict the dropdown values  by means of showing only one of these values (say:  Regular Attendance) and others should not be shown.   How do we achieve this?
    Thanks
    Vicky R.

    Hi Siddarth,
    Thanks for the info.  By the way, this table info is not mentioned in the Business Package documentation.  Which documentation are you referring to?
    Thanks
    Vicky R.

Maybe you are looking for