Restricted KF

Dear All,
I need to create a report and req is like this:
b.     Purchase Value (MTD)    
c.     Purchase Value (YTD)
d.     Purchase Value Lyear (MTD)
e.     Purchase Value Lyear (YTD) 
f.     Avg. Purchase Price  (Month)    Value / Qty
g.     Avg. Purchase Price  (Year)      
h.     Lowest Rate (Month)
i.     Qty Of Lowest Rate (Month)
j.     Lowest Rate (Period)
k.     Qty Of Lowest Rate (Period)
l.     Highest Rate (Month)
m.     Qty Of Highest Rate (Month)
n.     Purchase Net Qty (MTD)
o.     Purchase Net Qty (YTD)
p.     Purchase Net Qty LY  (MTD)
q.     Purchase Net Qty LY (YTD)
r.     AOP Rate
s.     AOP Qty (MTD)
t.     AOP Qty  (YTD)
u.     AOP Value (MTD)
v.     AOP Value (YTD)
w.     Total Excise Value (MTD/YTD)
x.     Total Tax Value  (MTD/YTD)
y.     Total Freight Value (MTD/YTD)
I know MTD is month to date etc and i need to create restricted KF for it but i dont know how to restrict....Can u please tell me how to restrict for  MTD, YTD, LYYTD etc...
Regards
Shweta

Dear Shwetha,
Check this link
Help needed for YTD, MTD and QTD variables
Just check the below codes for YTD & MTD. Hope this solves your problem !
YTD: (Based on CalDay)
WHEN 'YTD'.
Clear all the variables
CLEAR: i_year, tmp_date.
tmp_date = sy-datum - 1.
Determines the year
i_year = tmp_date+0(4).
CONCATENATE i_year '01' '01' INTO l_s_range-low.
l_s_range-high = tmp_date.
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
APPEND l_s_range TO e_t_range.
MTD: (Based on CalMonth)
WHEN 'MTD'.
Clears all the variables
CLEAR: i_year, tmp_date.
tmp_date = sy-datum - 1.
Determines the year
i_year = tmp_date+0(4).
CONCATENATE i_year '01' INTO l_s_range-low.
l_s_range-high = tmp_date(6).
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
APPEND l_s_range TO e_t_range.
Hope this helps u..
Best Regards,
VVenkat..

Similar Messages

  • How can I setup a mail-specific passcode/restriction on iPad used by multiple family members?

    How can I setup a mail-specific passcode/restriction on iPad used by multiple family members?
    Have an Exchange mail account setup and accessible in my mail on iPad... however my kids use it and i would like to restrict them from accessing this specific portion of the device.  I tried viewing restriction options and do not see that i can apply a restriction specifically to Mail.  Thanks for your help.

    Not a feature of iOS. Check the AppStore to see if there are other
    mail apps that allow passcode protection.
    Or use Safari to log onto your email via a web-based interface and
    enter your credentials each time. A bit slower, but the kids will
    not know the details to login.

  • How to restrict manual changing of free goods in sales order

    Hi ,
    Goodmorning ,
    We have some requirement : In sales order free goods quantity determination by system  should not be allowed to change manually , where can we do this ?
    Looking for your inputs
    Thanks and regards
    Venkat

    As per SAP Standard, when the main Item quantity is changed, the Free Goods are redetermined. In this case any manual changes to Free Goods Quantities are lost.
    But your requirement is for restricting the Chages of the Quantity of Free Goods Correct?
    I believe there is no SAP standard solution for this. You will have to apply a User Exit, which will check the Item category of each LIne item & if it is free goods (TANN) then changes are not permitted.
    Hope this helps.
    Thanks,
    Jignesh Mehta

  • Retrieving ALL values from a single restricted user property

    How can I retrieve ALL values of a single restricted user property from within
    a .jpf file?
    I want to display a dropdown list within a form in a JSP which should contain
    all the locations listed in the property 'locations'. I ever get just the default
    value when I access the property via
    ProfileWrapper pw = userprofile.getProfileForUser(user);
    Object prop = pw.getProperty("ClockSetup", "Locations");

    Well, the code you've got will retrieve the single value of the property
    for the current user. You're getting the default value because the
    current user doesn't have Locations property set, so the ProfileWrapper
    returns the default value from the property set.
    I assume you want to get the list of available values that you entered
    into the .usr file in Workshop. If so, I've attached a
    SetColorController.jpf, index.jsp, and GeneralInfo.usr (put in
    META-INF/data/userprofiles) I wrote for an example that does just this.
    It uses the PropertySetManagerControl to retrieve the restricted values
    for a property, and the jsp uses data-binding to create a list from that
    pageflow method.
    For a just-jsps solution, you can also use the
    <ps:getRestrictedPropertyValues/> tag. I've attached a setcolor-tags.jsp
    that does the same thing.
    Greg
    Dirk wrote:
    How can I retrieve ALL values of a single restricted user property from within
    a .jpf file?
    I want to display a dropdown list within a form in a JSP which should contain
    all the locations listed in the property 'locations'. I ever get just the default
    value when I access the property via
    ProfileWrapper pw = userprofile.getProfileForUser(user);
    Object prop = pw.getProperty("ClockSetup", "Locations");
    [att1.html]
    package users.setcolor;
    import com.bea.p13n.controls.exceptions.P13nControlException;
    import com.bea.p13n.property.PropertyDefinition;
    import com.bea.p13n.property.PropertySet;
    import com.bea.p13n.usermgmt.profile.ProfileWrapper;
    import com.bea.wlw.netui.pageflow.FormData;
    import com.bea.wlw.netui.pageflow.Forward;
    import com.bea.wlw.netui.pageflow.PageFlowController;
    import java.util.Collection;
    import java.util.Iterator;
    * @jpf:controller
    * @jpf:view-properties view-properties::
    * <!-- This data is auto-generated. Hand-editing this section is not recommended. -->
    * <view-properties>
    * <pageflow-object id="pageflow:/users/setcolor/SetColorController.jpf"/>
    * <pageflow-object id="action:begin.do">
    * <property value="80" name="x"/>
    * <property value="100" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="action:setColor.do#users.setcolor.SetColorController.ColorFormBean">
    * <property value="240" name="x"/>
    * <property value="220" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="action-call:@page:index.jsp@#@action:setColor.do#users.setcolor.SetColorController.ColorFormBean@">
    * <property value="240,240,240,240" name="elbowsX"/>
    * <property value="144,160,160,176" name="elbowsY"/>
    * <property value="South_1" name="fromPort"/>
    * <property value="North_1" name="toPort"/>
    * </pageflow-object>
    * <pageflow-object id="page:index.jsp">
    * <property value="240" name="x"/>
    * <property value="100" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="forward:path#success#index.jsp#@action:begin.do@">
    * <property value="116,160,160,204" name="elbowsX"/>
    * <property value="92,92,92,92" name="elbowsY"/>
    * <property value="East_1" name="fromPort"/>
    * <property value="West_1" name="toPort"/>
    * <property value="success" name="label"/>
    * </pageflow-object>
    * <pageflow-object id="forward:path#success#begin.do#@action:setColor.do#users.setcolor.SetColorController.ColorFormBean@">
    * <property value="204,160,160,116" name="elbowsX"/>
    * <property value="201,201,103,103" name="elbowsY"/>
    * <property value="West_0" name="fromPort"/>
    * <property value="East_2" name="toPort"/>
    * <property value="success" name="label"/>
    * </pageflow-object>
    * <pageflow-object id="control:com.bea.p13n.controls.ejb.property.PropertySetManager#propSetMgr">
    * <property value="31" name="x"/>
    * <property value="34" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="control:com.bea.p13n.controls.profile.UserProfileControl#profileControl">
    * <property value="37" name="x"/>
    * <property value="34" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="formbeanprop:users.setcolor.SetColorController.ColorFormBean#color#java.lang.String"/>
    * <pageflow-object id="formbean:users.setcolor.SetColorController.ColorFormBean"/>
    * </view-properties>
    public class SetColorController extends PageFlowController
    * @common:control
    private com.bea.p13n.controls.ejb.property.PropertySetManager propSetMgr;
    * @common:control
    private com.bea.p13n.controls.profile.UserProfileControl profileControl;
    /** Cached possible colors from the User Profile Property Set definition.
    private String[] possibleColors = null;
    /** Get the possible colors, based upon the User Profile Property Set.
    public String[] getPossibleColors()
    if (possibleColors != null)
    return possibleColors;
    try
    PropertySet ps = propSetMgr.getPropertySet("USER", "GeneralInfo");
    PropertyDefinition pd = ps.getPropertyDefinition("FavoriteColor");
    Collection l = pd.getRestrictedValues();
    String[] s = new String[l.size()];
    Iterator it = l.iterator();
    for (int i = 0; it.hasNext(); i++)
    s[i] = it.next().toString();
    possibleColors = s;
    catch (P13nControlException ex)
    ex.printStackTrace();
    possibleColors = new String[0];
    return possibleColors;
    /** Get the user's favorite color from their profile.
    public String getUsersColor()
    try
    ProfileWrapper profile = profileControl.getProfileFromRequest(getRequest());
    return profileControl.getProperty(profile, "GeneralInfo", "FavoriteColor").toString();
    catch (P13nControlException ex)
    ex.printStackTrace();
    return null;
    // Uncomment this declaration to access Global.app.
    // protected global.Global globalApp;
    // For an example of page flow exception handling see the example "catch" and "exception-handler"
    // annotations in {project}/WEB-INF/src/global/Global.app
    * This method represents the point of entry into the pageflow
    * @jpf:action
    * @jpf:forward name="success" path="index.jsp"
    protected Forward begin()
    return new Forward("success");
    * @jpf:action
    * @jpf:forward name="success" path="begin.do"
    protected Forward setColor(ColorFormBean form)
    // set the color in the user's profile
    try
    ProfileWrapper profile = profileControl.getProfileFromRequest(getRequest());
    profileControl.setProperty(profile, "GeneralInfo", "FavoriteColor", form.getColor());
    catch (P13nControlException ex)
    ex.printStackTrace();
    return new Forward("success");
    * FormData get and set methods may be overwritten by the Form Bean editor.
    public static class ColorFormBean extends FormData
    private String color;
    public void setColor(String color)
    this.color = color;
    public String getColor()
    return this.color;
    [GeneralInfo.usr]
    [att1.html]

  • Restriction of addition of Schedule lines to a sales order/scheduling agrmt

    Dear Gurus,
    I need to restrict addition of new schedule lines to a scheduling agreement till all the goods in the previous schedule line have been delivered.
    I tried applying a delivery block at the SL line level ( in the SL category). But to my surprise, the system allows the user to add SL lines to the scheduling agreement. after this the user is free to create deliveries even though the delivery block is still active on the SL line.
    I'll try explaining this on numbers:
    0n 30.01.2010 i created a SL line for say 100 qtys. The system automatically applies the SL block to this. This Delivery block is removed by the concerned authority.
    Now I create a delivery of say 99 QTY for this SL line. The scheduling agreemnt status is as follows:
    order qty is 100, *** rel qty is 100, open qty is 1 and confirmed qty is 100.
    Now suppose the user enters another Sl line for 100 qty's for which the delivery block is till active and not released.
    In this case the user can create delivery for upto 101 qty's. Ideally I want the system should allow the user to create a delivery for only 1 more Qty ( Delievery block for the new SL line is still not removed).
    How can we do this? Please help!
    Warm Regards
    Prashant Joshi.

    Hi,
    If u adding 100 more quantity in same schedule line then system will create delivery for 101 not for the 1
    becauze u adding qty in existing SL,
    If u want to deliver first 1 qty,then
    Add another schedule line of 100 & block it.
    Create delivery, now system will create delivery onely for qty 1, Not for 100 becauze it is blocked.
    If your Block is not working properly
    Then on initial screen of delivery creation put from to item Number as 10 in both and deliver it
    Kapil
    Edited by: Kapildev Farakte on Feb 3, 2010 5:11 PM
    Edited by: Kapildev Farakte on Feb 3, 2010 5:13 PM

  • How To Restrict Number Of Rows For Multiple Group In Report Output

    Hi ,
    I have a requirement to restrict number of rows in report output.I have three different group , if i use same no of rows to restrict then output is as expected but if i want Deduction group should have 7 rows , earning should have 5 rows and Tax group have 3 rows in report output then XML tag is not working.
    Below is the XML tag i am using -
    First i have declare the variable to restrict the rows -
    <xsl:variable name="lpp" select="number(7)"/>
    <xsl:variable name="lpp1" select="number(5)"/>
    <xsl:variable name="lpp2" select="number(3)"/>
    For Each -
    <?for-each:PAYSLIP?>
    <xsl:variable xdofo:ctx="incontext" name="DedLines" select=".//AC_DEDUCTIONS"/>
    <xsl:variable xdofo:ctx="incontext" name="EarLines" select=".//AC_EARNINGS[ELEMENT_CLASSIFICATION!='Taxable Benefits']"/>
    <xsl:variable xdofo:ctx="incontext" name="EarTaxLines" select=".//AC_EARNINGS[ELEMENT_CLASSIFICATION='Taxable Benefits']>
    <?for-each:$DedLines?><?if:(position()-1) mod $lpp=0?> <xsl:variable name="start" xdofo:ctx="incontext" select="position()"/>
    <?if:(position()-1) mod $lpp1=0?><xsl:variable name="start1" xdofo:ctx="incontext" select="position()"/
    <?if:(position()-1) mod $lpp2=0?><xsl:variable name="start2" xdofo:ctx="incontext" select="position()"/>
    Report output is tabular form (one page has two column - Earning and Deduction ) . Tax group comes below earning group.
    Deduction Group -
    <?for-each-group:$DedLines;./REPORTING_NAME?><?if:position()>=$start and position()<$start+$lpp?>
    <?REPORTING_NAME?>
    <?end if?><?end for-each-group?>
    Earning Group -
    <?for-each-group:$EarLines;./REPORTING_NAME?><?if:position()>=$start1 and position()<$start1+$lpp1?>
    <?REPORTING_NAME?>
    <?end if?><?end for-each-group?>
    Tax Group -
    <?for-each-group:$EarTaxLines;./REPORTING_NAME?><?if:position()>=$start2 and position()<$start2+$lpp2?>
    <?REPORTING_NAME?>
    <?end if?><?end for-each-group?>
    Please let me know in case additional detail is require.
    Thanks in Advance.
    Thanks,
    Harsh
    Edited by: Harsh.rkg on Jan 14, 2013 9:43 PM

    variable lpp2 is declare to restrict EarTaxLines -
    <xsl:variable name="lpp2" select="number(2)"/>
    This will help to restrict the no of rows on one page , if we have more then two tax benefits line then layout will roll over to continuation page.
    As part of report output my expectation is if i restrict Earning , Deduction and Tax benefits to same no of line for example - variable lpp ,lpp1 and lpp2 have same value "number(2)" , we can see the layout is continue on next page (restrict every group can have max two lines) .This is the reason we have 4 header grid , deduction and Tax Benefit lines are rolled over to continuation page .But if we restrict different value for each variable then continuation page layout is missing .
    When we tried for <xsl:variable name="lpp2" select="number(3)"/> value continuation page layout is not getting generate for both employee number .

  • How can I restrict maintaining the same customer for different CC Areas?

    Hi All,
    I have a problem about maintaining customer credit limits via tcode FD32.
    User can maintain a customer in different credit control areas (CCA) and these CCAs are belong to different company codes.
    How can i restrict the user not to update another countries' credit limit?
    Your fast reply will be highly appreciated.
    Regards,
    Bilal

    Hi,
    I donu2019t think so there is any configuration for this kind of purpose.
    You can only do by the authorisation.
    Just give the user authorisation that only this person can change the value of the credit control area.
    And I think so that will be usefull also because if every body has authority then any body can change the limit which is not good.
    First they have to take permission from the authorised person and if he approved then only he should change limits.
    So just try out the user authorisation for your purpose.
    Regards
    Raj.

  • How can a parent restrict a child's access to a PARENT'S PRE-EXSISTING iTunes account via iCloud's Family Sharing Program?

    How can a parent restrict a child's access to a PARENT'S PRE-EXSISTING iTunes account via iCloud's Family Sharing Program?  To explain further... I have a young son who is on my iCloud family sharing program... I am excited to be able to share SOME of my music in my iTunes library, but there are some songs and music videos that are not age appropriate for him and currently there is no way to restrict him from viewing and downloading anything off of my iTunes library.  Yes, I suppose I can delete the songs he shouldn't have access to, but I don't think I should have to do that... I paid for them and still like them and listen to them while I work out or am without my kids.  Is there a way for me to personally select which songs/videos I would like to "hide" from my children in an effort to shield them from inappropriate content?

    Hello ggg39,
    Welcome to the Apple Support Communities!
    I understand that you have some content in your iTunes library that you would like to restrict access for the child set up on Family Sharing with you. To do this, you can set restrictions on the child’s device as described in the attached article. 
    Family Sharing - Apple Support
    Now kids under 13 can have their own Apple IDs. As a parent or legal guardian, the family organizer can create an Apple ID for a child and add the child to the family group automatically. Ask to Buy is turned on by default, and the organizer can also limit the content kids have access to on their devices through Restrictions on an iOS device or parental controls in OS X and iTunes.
    For more information on restrictions and how to set them up, please reference the next attached article. 
    About Restrictions (parental controls) on iPhone, iPad, and iPod touch - Apple Support
    Have a great day,
    Joe

  • Is it possible to restrict the ability to e-mail a pdf outside a specific domain name?

    Hello,
    I am trying to find a solution to a friends problem.  She has a quarterly publication that she sends out to big banks and financial institutions.  Recently she has had some problems with press leaks.  I am trying to find some security options for her however the task is difficult. Because these institutions have firewalls I am not sure encrypting or tracking is the right answer because the publication might not make it through. She wants users to be able to print the publication because many of the readers are older and prefer to read during their commute and at home.  Essentially I am looking for any ways to make readers think twice about sharing the information. I thought if I could restrict e-mail to a specific domain name that would help this way users can only e-mail within their specific company.  If any one has any suggestions please feel free to share. 

    Thank you Todd, I was able to get it to work but I do have a few more questions...
    1) When I tested this, at the top of the message, before any of the text I created, this showed up: This is a multi-part message in MIME format. --------------040406040801080102080500 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit
    2) After the signature line, this showed up: --------------040406040801080102080500 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-ID: /9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAA AAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0K CgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAC5ApUDASIAAhEBAxEB/8QA HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQID AAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6 Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/
    (It was actually much longer than that)
    Is there anyway that I can get that to go away? I obviously would prefer a nice, cleanly formatted e-mail to be sent just like I would send if I were creating it on the spot.
    Thanks,
    Evan

  • How do I restrict my pdf form to print legal only

    I have a form (in Acrobat 9 Pro) that should only be printed on legal. I am unable to locate information. Have tried setting the Adobe PDF Document Properties (Page Size) to legal. Is there a way to limit to printing legal only?? Would appreciate any help on this topic. Thanks much.

    Yes, tried that. But unfortunately that option doesn't allow me to restrict users to only print their forms on legal paper. But thank you for your help.
    Barbara A. Smith
    Communications Coordinator
    Marketing and Communications Group
    Supply & Services Division
    MB Infrastructure and Transportation
    p. (204) 945-8892
    f. (204) 948-3414
     Please consider the environment before printing this email.

  • 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

  • In Free goods how to restrict the quantity to not to alter.

    Dear All,
    I have maintain condition record for free goods in VBN1.EX.102.While creating sales order for 20 quantities system populates 204.But if am changing this as 152 or 205,system is allowing to do.Same is the case at delivery.How can we restrict the system to not to allow the changes in sales order in case of free goods .Please guide me.
    Regards,
    Deepti

    Hi
    KIndly check the  below user exit and make the free goods item as in display mode
    MV45AFZZ 'USEREXIT_FIELD_MODIFICATION'
    to change the SCREEN-INPUT = 0 to make it display  for free goods item category Tann
    By doing above if any one changes main item  system will accordingly change the free goods item also
    Regards
    Damu.

  • Restrict PO goods receipt based on PO due date

    Folks,
    Is there a way to restrict the processing of a PO goods receipt with tnx MIGO if the PO due date is too far in the future. Basically,I want to stop goods receipts when the physical delivery much earlier than the PO due date.
    Thanks,
    Greg Russell
    IT Analyst - SAP Supply Chain
    AngioDynamics

    There is no configuratin setting  to restrict the processing of a PO goods receipt with tnx MIGO if the PO due date is too far in the future.
        You can use the enhancement MBCF0005 and component EXIT_SAPM07DR_001 and make changes based on your requirement.
    With Best Regards,
    Srinivas

  • Restrict Manual Entry of Items while creation of sales order

    Hi,
    <b>Requirement:</b>
    User can create a sales order only for line items of contract if sales order is created with reference to contract. Any manual entry of line item should be restricted.
    <b>Analysis:</b>
      I have coded to check the line item is created with ref to contract or not.( VGBEL gets populated if it is created with ref to contract.). I checked in userexits (USEREXIT_SAVE_DOCUMENT_PREPARE) and (USEREXIT_FIELD_MODIFICATION).
      Do help if anyone have come across such scenario.
    Regards
    Sailaja.
    (Intelligroup)

    Hi,
       This functionality may be possible with a Configuration setting in SPRO.
       plz check with your Functional guys.
    regards.

  • How to restrict Sales office and Sales Group.

    Hi All,
    I want to restrict the users from changing the sales office and sales group in the sales order.
    Is there any standard way to achieve this or do we need to do with User exit??
    Please help.
    Thanks,
    Pavan.

    hi
    there is no standard settings for estrict the users from changing the sales office and sales group in the sales order
    so you have to write the logic in userexit
    DATA: lt_user_list   TYPE STANDARD TABLE OF tvarvc,
           lw_user_list   TYPE tvarvc,
           lr_user        TYPE RANGE OF syuname,
           lw_user        LIKE LINE OF lr_user.
    IF screen-name EQ ' VBAK-VKBUR' and   VBAK-VKGRP.
    * IF sy-tcode EQ 'VA02'.
    **Get list of users who are allowed to change SO - only they can change payment terms
         SELECT *
           FROM tvarvc
           INTO TABLE lt_user_list
          WHERE name = 'ZSD_VA02_ALLOWED'
            AND type = 'S'.
         IF sy-subrc = 0.
           LOOP AT lt_user_list INTO lw_user_list.
             lw_user-sign = lw_user_list-sign.
             lw_user-option = lw_user_list-opti.
             lw_user-low    = lw_user_list-low.
             lw_user-high   = lw_user_list-high.
             APPEND lw_user TO lr_user.
             CLEAR lw_user.
           ENDLOOP.
    **    If user is not in the users listed for change allowed
           IF sy-uname NOT IN lr_user.
             screen-input = 0.
           ELSE.
             screen-input = 1.
           ENDIF.
         ENDIF.
       ENDIF.
    ENDIF.
    go to STVARV t code here you check the NAME and give the user ids who need to change

  • How to restrict editing of some paragraphs and allow for others in same document?

    I have a client that wants to put together standard proposals that have boiler plate information (long paragraphs and some imagery) that will not change. In the same document they have other information that is to be customized by sales teams (text and images). Sometimes, they will have a sentence or a phrase which needs changing in the middle of a long paragraph but the rest of it remains the same. Since these documents are shared and edited by multiple parties, they would like to restrict some paragraphs from editing while making other areas editable, perhaps on the same page of the document. Is there a way to do this in Acrobat Pro XI?

    Thanks for that, yes I’ve been creating pdfs in InDesign for better layout results. We want to generate a template that our international sales team can use for templates, sharing over a server, and trying to prevent them from ruining text flow, image flow etc. just wondering where my limitations are at.\
    Thanks for your help. Anymore suggestions are very welcome.

Maybe you are looking for

  • Exprees document update was terminated received from author "laxman"in miro

    Hi MM experts My user trying to create invoice wth reference po no  in miro t.code during saving system showing error Exprees document update was terminated received from author "laxman"i have checked in transaction OMRJ t.code ,there is  no overlap

  • Podcasts disappearing from Ipod

    For some reason, a few months ago, my podcasts started disappearing off my ipod, it is an 80gig classic, so i prefer to leave them on there, i have checked in podcast settings that it is set to keep them, and i can't see any pattern emerging as to wh

  • File is too big for exporting as QuickTime

    When I try to export my 2 h HD movie, through QuickTime conversion H264, 960 + 540, I get an error message telling me that the file is too big. How can i change my settings to make it work???

  • Dreamweaver can't open any files

         Today installed Dreamweaver CC on my new MacBook Air and when i tried to open a .html file i simple saw flash of the screen that should appear with my code and then it went back to the start up screen. I can create new files, edit, and save them

  • Export Menu Missing Newly Installed Plugin

    Is there a limit to how many export plugins you can have installed? How do you remove one? I installed Kodak Gallery one a few weeks ago and it works, but I want to use Myphotoalbum plugin now instead of kodak one and have run install and rebooted an