Query Designer - Dynamic periods

Dear BI EXPERTS,
I am new to BI and I have got a requirement to display a Query with dynamic periods on execution.
Requirement:
On Execution of Report, It asks for a Period from the user.
Suppose user gives 3 then it shows report as below
Char1 Char2 Period1 Period2 Period3
If user gives 5 then it shows report as below
Char1 Char2 Period1 Period2 Period3 Period4 Period5
Kindly let me know how it can be done(step-by-step) and if it solves my problem then i shall definitely assign FULL P O I N T S.
Regards

HI Sajid,
Let us assume that the info object for Period is ZPERIOD.
Now for the query Definition.
1.Drag Char1 into the Row Section of the Query.
2.Drag the the Key figure into the Column Section of the Query.
3. Drag the ZPERIOD object into the column section of the Query above the Keyfigure.
4. No go to the Filter Section and drag and Drop ZPERIOD into it.
5. Right Click and restrict the ZPERIOD with a Manual Input Optional variable. (if not available create one) with range Options as less than or equal to the variable name.
Now this way, when the user Inputs the period the report will show all months less than or equal to the user Input month.
If he does not enter anything it will show all values.
Hope this Helps.
Regards.
Shafi.
Edited by: shafi abdul on Aug 9, 2010 4:31 PM

Similar Messages

  • Fiscal Year Period - Query Designer - Characteristics Value

    Hi Experts,
    In query designer, characteristics value for 0FISCPER by default shows value of fiscal year variant V9. But for Fiscal year variant V9, 002.2014 is November 2013.
    Now user want to display the correct period and its description (002.2014 is February 2014) which implies need to use different variant. Please let me how this can be changed.
    Regards
    Suresh Kumar

    Hi Suresh,
    Try this
    Path: Financial Accounting >> Financial Accounting Global settings >> Fiscal Year >> maintain Fiscal year variant (maintain shortened fiscal year)
    Transaction Code: OB29
    Regards,
    Amit

  • Creating customer formula to be used in the Query Designer

    hi,
    How can i code a specific formula to be used in the query designer. As an example, i need to calculate dynamically working days between two dates.
    i tried to find the corresponding BAdl interface with no success..
    Do you have any suggestion ?
    Ludovic

    Hi..
    I have a scenario ...  it may help..
    The group HR administrator wants a detailed line item report that lists all employee absences in a given period. The report is to show the employee number, the absence start date, together with the end date of the absence and show the number of calendar days the employee was absent.
    The good thing about using this technique is that no redesign work is needed from your technical BW team, no ABAP is involved and best of all, it quick and easy.
    Solution:
    For this example I created an ODS object called Absence that holds basic employee information along with individual absence record data.
    Follow the steps below:
         Open the BEx Query Designer and create a new report on your chosen InfoProvider.
                  Drag the Employee, Valid from and Valid to characteristics into the Rows section of the screen.
    If needed, apply data selection restrictions to the characteristics as pop up
         Right click on the Key Figures structure and select New Formula
         In the new formula window right click on Formula Variable and choose New Variable
         The Variables Wizard will launch and will require you to specify the variable details.
    ( Click the NEXT button if the Introduction screen appears )
         Enter the variable details on the General Information as shown in  pop up
    Enter the Variable Name , Description and select Replacement Path in the Processing by field.
    Click the Next Button.
         In the Characteristic screen (pop up) select the date characteristic that represents the first date to use in the calculation (From Date).
    Click the Next Button.
         The Save Variable screen (pop up) displays a summary of the new variable.
    Click on the Finish button to save the variable.
         Repeat steps first four  for to create a second variable for the second date to be used in the calculation.
    In the example shown, the characteristic 0DATETO is used to create the variable ABSEND (Absence End Date)
    Define the Calculation............
                The new calculated key figure will now show in the columns section of the BEx query designer
    excute...
    with regards,
    hari

  • Doubt on Rows and Coloums in BEx Query Designer.

    Hello, Experts.
    I have a Doubt in BEx Query Designer.
    In the Rows I have a Fiscal year Period,  if the user enters the Fiscal year period for e.g. : 001/2006  .  
    in the columns i have  forecast for the Fiscal year period which user entered ( 001/2006 ),   and we have another column pervious ( Prior )fiscal year period ( 001/2005 ). 
    My Questions is ,  as we are Restricting with 001/2006 will the query retrieve the values of 2005 or not?
    Thanks in Advance .
    Sharp

    yes i am  Doing Offest.
    I moved this Fiscal year Period to Free char,   and i Restricted with Pervious Fical Year period and Fical year period .  it worked.  but
    when i kept this in Rows and deleted Previous Fiscal Year period .  it is displaying blanks.   in prior years forecast.
    is it because i am Ristricting it to only fical year period  which user entered
             Colums-->  Forcast ( User Entered year )          Prior year
    Rows
    Fiscal year period
      Fiscal year period( user enterd )
    Thanks

  • Need help in bex query designer

    hi experts ,
    Actually we had a ODS where the KPI's values  for all weeks are present and also the module.
    in the query designer we need to show the targets for respective KPI's modulewise.
    the requirement is
    module-selections
    week no-selection
    targetweek1week2---week3
    KPI1--10090---90--
    90
    KPI2--95-7885-----90
    based on the module selection the targets values should change and also there should not be any restriction on weeks.
    and also exceptions needs to be done for color coding.
    we actually implemented cell defination for getting the above requirement , but here the problem is that we need to fix the  targets and there is arestriction on the weeks . but the requirement should be dynamic i.e, the targets should be configurable and the weeks should not be restricted.
    in the backend ODS all weeks data is present. we just need an idea how to fix these targets and also color coding for the respective KPI's without using cell defination.
    Kindly throw some pointers how to acheive this..
    thanks in advance,
    Madhu

    Hi Madhuri,
      Ur requirement can be done by using a customer exit variable,keeping any sap stand. time characteristics value.
    If u want to define the any selection dynamically,make a new selection with the text variable and call the customer exit variable into it and assaign the corresponding KPI into it and there by u can define the offset value as well.
      for writting the customer exit,u need to contact ur ABAP'er and say the requirement.
    Hope this helps!!

  • Drill down ( Collapsible Row ) Report in BEx query designer ?

    Dear Friends!
       I am supoosed to create a report drill down report for Purchasing History to be precise,  I know that we can have drill down feature using heirarchy but is it possible for Us to have PO & PO item heirarachy ? or any other way to do drill down reporting in SAP BEx Query designer ?
    like my current report is : -
    | Vendor | Purchasing Organisation | Purchasing Group | Plant | PO Number | Item | Material / Service | Description | .... ( keyfigures) |
    Now I am supposed to create a report  in which
    normal view
    | Vendor | Purchasing Organisation | Purchasing Group | Plant | |> PO Number| .... ( keyfigures) | Payment |
    drill down or collapsible view ( please consider the heading as data I am not talking about dynamically change of  headings ).
    | Vendor | Purchasing Organisation | Purchasing Group | Plant | V PO Number | Item | Material / Service | Description | .... ( keyfigures) |
    is there anyway to design the report in above mention manner ? you any input will be appreciated greatly.
    Thank you so much!
    Regards
    Naim

    Hi Naim,
    usually we don't do the transactional data as hierarchy.  not sure the reason behind your requirement.
    we can do one of the below :-
    1. To have the default view as
    | Vendor | Purchasing Organisation | Purchasing Group | Plant | | PO Number| .( keyfigures) | Payment |
    and then user can drill down on rest of the characteristics for detailed view later on.
    2. or if they don't want to drill down on characteristics;-
    we can build 2 reports , one for header level information and then jump to second query for detailed information(item level) using RRI.
    first query:
    | Vendor | Purchasing Organisation | Purchasing Group | Plant | | PO Number| .( keyfigures) | Payment |
    second query:
    | Vendor | Purchasing Organisation | Purchasing Group | Plant |  PO Number | Item | Material / Service | Description | .... ( keyfigures) |
    Let us know if this works out?
    Regards,
    Sakthi.

  • Grouping Free Characteristics in Query Designer?

    Hello,
    I have a couple reports that per busniess have many free characteristics. So many that that they do not fit on one page and you must continue scrolling the page down to view all. This makes the report look sloppy but the business owner wants all of these free characteristics. I'm looking for a way to clean up the list of free characteristics without removing any selections. Can they be grouped up or consolidated through Query Designer or WAD?
    Thank You,
    Alex

    Hi Alex,
    Actually use of free characteristic will not slow down the report performance rather free characteristics are used to enable the user for dynamic drilldown and to improve the query performance for initial output display.
    What you can suggest your users is to keep only required free characteristics and then remove the rest of the characteristics and from grouping perspective all the free characteristics in query designer output are shown alphabetically so you can not manipulate the group in designer.
    Regards,
    Durgesh.

  • MTD/YTD reporting design, query designer

    Hi BI folks,
    I have a requirement to build queries through BEx query designer that show MTD and YTD figures.  I also have multiple versions/value type built into the RKFs already.  I am wondering if there is a way to display YTD/MTD figures, without having to physically restrict them into the RKFs??, (i.e. I would like to have that time restriction sitting on top of the structure as a characteristic).
    I am trying to create more flexibility for the end-user, rather that having a huge amount of selections in the structure representing a particular version and time period.
    Is there some sort of hierarchy or variable definition that anyone can suggest where I can solve this need?
    Thanks.
    - BJ

    BJ,
    this depends on the environment that you are using, but it is fairly simple to do for MTD and YTD.
    as there are multiple variables available to be used for this, I consistently use two in the restriction (but you can play around and see what fits your needs the most).  For each structure, you should restrict on the following:
    MTD:
    Period Characteristic - Restrict to variable 0P_PER3
    Fiscal Year Characteristic - Restrict to variable 0P_FYEAR
    QTD:
    Period Characteristic - Restrict to Value range from period 00 to variable 0P_PER3
    Fiscal Year Characteristic - Restrict to variable 0P_FYEAR
    The reason you should have the Fiscal Year there is that you can use the text variable to set the column headers.
    Be careful that you use the right KF for this.  You need the periodic activity for the KF.  The reason Period 00 is included as that is where the balance from the prior year is carried over, so if you want to have the YTD values for the Balance Sheet, you would want to include that.  This scenario is the only option in BCS, and it doesn't have the Cumulative values.
    you can also use the cumulative values, but that depends on how the KF's are set up
    Pavel

  • Double record make it to single record in Query for perticular period in BW

    Hi
    In my ODS some of the records got doubled  from Mar 17th to May 31st  but from 1st of june its correct , its Open orders, i dont want to reload data again to that ODS , because its Open orders anyways its going to be close after some time  , automatically it will become "0".
    So i want tocalculate in query itself to make it single
    please some one suggest me how can i do for that perticular period divided by 2
    for example  :
    Open Orders (its In ODS)
    120
    140
    20
    10
    50
    I need output should be 
    60
    120
    10
    5
    25
    Note : BW 3.1 Version
    Thanks,
    GAl
    12

    hi,
       You can create a a formula variable with replacement path on the Period(replace with key of Posting Date/Calday) and use it for comprision in the fomula like below
    if posting date is in between date1 and date2
      order value = order value/2.
    else
    ordervalue = ordervale.
    In Bex Query designer you will have the below formula
    (posting date formula variable >date1 and posting date formula variable <date2) * (Ordervalue/2) + ordervalue
    But also note that when the order is closed the value of order value will net become zero since the value is doubled up in the DSO , when the delta records come into DSO the order will be closed but the value will still not become zero since the reverse image will give negative value of the actual order value.
       For example if your order value is 100, in your DSO it will currently show the value is 200(doubled up). In the Delta the reverse value come as -100. So the final value will still be 100(200-100).
    So the best solution will be to do selective deletion
    Thanks,
    Praveen
    Edited by: Praveen kumar kamineni on Jun 11, 2010 11:06 AM

  • Input query with dynamic actual & forecast values by month per year

    Hello,
    I am working on a Input ready query for a forecasting application which shows both actuals and forecast numbers and the user will revise the forecast numbers by month
    Requirement: I want to build a Input query for monthly forecasting for the current year. It will be dynamic rolling of months with actuals & forecast data.
    E.g. My report has 12 months for the current year
    and if run the report in May, the months before May has to show the actuals and the months after May has to show the old forecast data so that the user will revise the numbers again in each month and save the data to the real time cube.
    Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sept.Nov.Dec
    Act Act  Act Act Act  Old frcst for the remaining months
      user will revise forecast for these months
    So, i am able to create Input query with all restricted key figures( plan kf has change mode set to change, actual kf are not set change) and calculate key figures and all the logic is done on dynamically moving/rolling the data based on the input month of the year.
    But the problem is that i am using cal kf to dynamically roll months, i was not able to set the change option for the cal kf.
    So, how can i make sure that the dynamically changed plan months will open for entering forecast and the actuals months not to change?
    Do you guys have any better solutions in implementing it?
    I really appreciate it your input....:)
    Thanks,
    Srini

    Hi,
    Please look at the following DOC which may be useful to you and if so please grant me point.
    Regards,
    SUbha'
    Input-Ready Query
    Use
    You use input-ready queries to create applications for manual planning. These can range from simple data entry scenarios to complex planning applications.
    Integration
    You define a query that you want to use for manual planning in the BEx Query Designer (see Defining New Queries).
    In the Web Application Designer or the BEx Analyzer, you can combine the input-ready queries with other queries and planning functions to create complex planning applications.
    Prerequisites
    You can define an input-ready query on any of the following InfoProviders:
    &#9679;     Aggregation levels (see Aggregation Levels)
    &#9679;     MultiProviders that include at least one simple aggregation level
    The aggregation levels are created in the planning modeler; MultiProviders are defined in the modeling functional area of the Data Warehousing Workbench.
    Features
    Definition of an Input-Ready Query
    Once you have defined a query on an InfoProvider, you see the Planning tab page under the Properties of structural components (for example, in key figures or restricted key figures). The options provided there allow you to determine which structural components of an input-ready query are to be input ready at runtime and which are not. With structural components that are not input ready, you can also determine whether these components are viewed as reference data or are just protected against manual entry.
    For the structural components, you also have the following options:
    Input readiness of structural components of a query
    Option
    Description
    Not input ready (reference data)
    If they are being used as reference data, the structural components are not protected by data locks to ensure exclusive access for one user because this data serves as a reference for many users.
    This is the default setting.
    Not input ready (no reference data)
    If you want to protect structural components against manual entries but allow changes by planning functions, you can use locks to protect this data for one particular user. In this way you can ensure that the planning function works with the displayed data only and not with data that has been changed by other users.
    Input ready
    You can also determine whether an input ready query is to be started in change mode or in display mode. You find this property in the Query Properties on the Planning tab page. If there is at least one input-ready query component, the query (as long as it has not been determined otherwise) is started in display mode.
    In BI applications that use input ready queries as data providers, you can enter data manually at runtime. For more information, see Performing Manual Planning and Creation of Planning Applications.
    Example
    You want to create an input-ready query for manual planning for a plan-actual comparison of revenues for a set of products. You want the plan data in a real-time-enabled InfoCube and the actual data in a standard InfoCube.
           1.      Create a MultiProvider that includes the InfoCubes for the plan and actual data.
           2.      Define an aggregation level on the MultiProvider which contains the characteristic Product and the key figure Revenue.
           3.      On the aggregation level, create two restricted key figures Plan Revenue and Actual Revenue. For restriction, choose the characteristic 0INFOPROV and restrict it to the plan or actual InfoCube.
           4.      Add the restricted key figures to the key figure structure. Insert Product into the rows. For Plan Revenue, choose Input Ready for the input-readiness option. For Actual Revenue, choose the option Not Input Ready (Reference Data).
           5.      In the query properties, set the indicator that determines whether the queries are started in display or change mode as required.
    Example of an input-ready query
    Product
    Plan Revenue
    Actual Revenue
    P01
    20
    P02
    30
    If you want to keep actual and plan data in a real-time enabled InfoCube, you do not require a MultiProvider for the task described above. Create an aggregation level on the InfoCube and define the input-ready query for the aggregation level. In the example above, a version characteristic acts as the InfoProvider. Create restricted key figures with the plan or actual version and proceed as in the previous example.

  • Creating Query with dynamic columns to show results

    Hi experts,
    I need to know how to create a query with dynamic columns. Meaning, I don't want to create a query with fixed columns representing the 12 periods of the fiscal year to show me actuals as the fiscal year proceeds.
    For example, if I am currently in the middle of period 3 (March) of a fiscal year, when I execute the query, I need it to automatically only show me the 'Actuals' for periods 1 and 2, without seeing the columns from periods 3 to 12 showing blank.
    Then when I am in the middle period 5 (May) the query should ONLY show me the columns for periods 1 to 4 'Actuals', no results should be shown for periods 5 to 12 yet, and I don't want to even see blank columns for period 6 to 12.
    How do I define my columns, to achieve this.
    Maximum points will be awarded.
    Thanks Everyone.

    Hi Josh,
    I'm having a little difficuluty understanding what should be included in my restricted key figures.
    The time characteristics that I have available to use are:
    0FISCPER3 (posting period)
    0FISCYEAR (fiscal year), currently using SAP EXIT to default current fiscal year.
    0FISCVARNT (fiscal year variant).
    In addition, I have the following characteristics available to be used in the columns:
    Value type (10)
    version (currently I'm using variable for it)
    Currency type (020)
    Currency (USD).
    Can you explain what my restricted key figure should be based on and how it should look.
    I tried to create a restircted key figure using 0AMOUNT, and 0FISCPER3. For 0FISCPER3  I created a range from 1 to previous period (using SAP EXIT that supplied previous period).I also had value type, version, currency type, and currency included in that restricted key figure.Then when I tried to drag 0FISCPER3 under the restricted key figure once again, it wouldn't let me, probably because I've already used 0FISCPER3 in the restricted key figure.
    Please let me know if my explanation is not clear.
    Your step by step help would be great.
    Thanks
    Edited by: Ehab Mansour on Sep 23, 2008 2:40 PM

  • Heading for Different Types  in Query designer

    We have three different types Direct, Indirect and Others. Where Indirect and Others are fixed values and Direct types are dynamic which are getting from ECC.
    So they are expecting heading before each type and result according to these types.
    Tried so many options but not able to achieve the desired result as expected in Query Designer.
    Please find the attached document for desired output
    Please provide some inputs how can we achieve at the report level.

    hi Naresh,
    Structures are objects that you define in the BEx Query Designer. You can define reusable structures as well. they form the basic framework of a report. You can have maximum of 2 structures in a query. In such case you cannot have the same KeyFigure in both the structures.
    You can also define a structure for a Characteristic.
    Please check out these links.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/b2/e50138fede083de10000009b38f8cf/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/b2/e50138fede083de10000009b38f8cf/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/b2/e50138fede083de10000009b38f8cf/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/4d/e2bebb41da1d42917100471b364efa/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/46/81fc706a23468ce10000000a114a6b/frameset.htm
    Limitations of Structures usage
    You can have maximum of two structures only ... One for kfs and one for characteristics..A characteristic can't be included in a KF structure and a KF can'be included in a characteristic structure...
    We can't have 2 KF structures but we can have 2 Char Structure or 1 KF Structure and 1 Char Structure.
    Regards
    Lavanya.

  • Can't see good variables in Query Designer BW 7.0

    Hello,
    The technical name of our caracteristic variables in the Query Designer are prefixed by "OR_" or "SV_". I try to make a filter in this variables (for example: a user must be able to see only "SV_" variable) with the authorization objects S_RS_COMP and S_RS_COMP1. But this filter does not work, even if the ST01 trace shows me a Return Code = 4 for the test in the variable technical name.
    Have I made something wrong ? is it a bug ? (we are in BW 7.0 SPS9 with Sapgui 6.40 SP 19 and BEx SP 12).
    Thank you for your help

    Hi Paul,
    If iam not worng, are you asking about Infoobject level security in BW?
    If it is, the following are the steps need to be implemented:
    <u><b>Steps to Implement InfoObject Security (field-level security)</b></u>
    1) Make the InfoObject authorization-relevant.
    The Authorization Relevant setting for an InfoObject made in the InfoObject definition on the Business Explorer tab. The business needs will drive which InfoObjects should be relevant for security. Keep in mind that the people using SAP BWare running queries to help make strategic decisions on how to better run the business. The decision makers typically need to see more data on SAP BW than they would need to see in SAP R/3.
    2) Create a custom reporting authorization object.
    Since there are no reporting authorization objects provided for InfoObjects, you will have to create your own reporting authorization object for any InfoObject you decide to secure. This is done in transaction code RSSM. When creating your reporting authorization object, you select which fields to put in the authorization object from a list of authorization-relevant InfoObjects. Only InfoObjects that have been marked Authorization Relevant are eligible to be put in a reporting authorization object.
    3) Add your new authorization object to a role.
    Once you have created an new reporting authorization object and linked it to the appropriate InfoCube(s), users will need access to your reporting authorization object. You will need to manually insert your object into a role.
    4) Add a variable to the query.
    The reason the variable is required is sometimes unclear at first. If we want a  query to only provide results based on the division, for example, then the query itself needs the ability to filter specific division values. Before we can secure on division, the query must be  able to restrict data by division. The only way the query can restrict data dynamically is through a variable.
    5) Link the reporting authorization object to an InfoProvider.
    Linking your reporting authorization object to an InfoProvider is a very critical step. In this step, you will impact people currently executing queries for the InfoProvider that is now related to your reporting authorization object. This linkage forces your reporting authorization object to be checked when ANY query tied to the InfoProvider is executed.
    Hope it helps, please revert back if you are asking for something else.
    Please reward points if it is sueful.
    Thanks & Regards,
    Santosh

  • Query Designer - Variables - Replacement Path

    I need a help.
    In one query I need to select some data from the current Period until yesterday.
    In another query I need to select the same data, but from the current Month until yesterday.
    I created 2 restricted key figures:
    SEL_PERIOD restricts 0FISCPER by the variable 0FPER, wich is an exit SAP for current Period.
    SEL_MONTH restricts OCALMONTH by the variable 0CMONTH, wich is an exit SAP for current Month.
    Now in both RKFs I want to restrict 0CALDAY from the beginning of the Period or Month until yesterday.
    I found this variable 0DAT, wich is an exit SAP for current day.
    I'm trying to create an interval variable, type replacement path, with From Value not filled and To Value filled with 0DAT - 1.
    But it doesn't work, Query Designer points that 0DAT is not an allowed source for the target variable.
    And the documents that I searched state that "the target variable must represent a single value" and "the source variable must be input-ready".
    Does anyone have a suggestion on how I can restrict 0CALDAY, for this specification ???
    Thanks in advance.
    César Menezes
    Edited by: César Menezes on Jun 25, 2011 11:51 PM
    I forgot an important point:
    Sometimes I need current Period or Month, in other cases I need the same Period or Month from last Fiscal Year or Calendar Year.
    No problem with 0FISCPER and 0CALMONTH, I can off-set the variables by -12.
    But I would like a help on how to do it with 0CALDAY.
    Example: today is 25.06.2011. In some cases I need to restrict until 24.06.2011, in other cases I need to restrict until 24.06.2010.

    Hi Ceaser,
    This is a generic explanation to your scenario. Please make some changes as per your requirement. Just to give you some idea......................
    We  need to manipulate u201CKey Dateu201D values to achieve required analytics.
    Step 1: As a first step, create a variable on u201CSales Dateu201D (or whichever date is used for Sales Date) field (ZPDATE) with user input. It was meant to capture u201CKey Dateu201D through user entry.
    Step 2: Create a restricted key figure on Sales & restrict it on u201CKey Dateu201D value to get first analytics need i.e. u201CSales on Dayu201D.
    Step 3:Next step was to manipulate the value of u201CKey Dateu201D on which I could restrict u201CSalesu201D (Key Figure) again and again to get other values.
    Step 4: Create a new variable (e.g. ZPUTMNTH) and assigned it to be filled up by Customer Exit. (For simplicity purposes only u201CMonth to Dateu201D value is explained below. Same procedure can be repeated to fulfill other needs. Though in code section, ABAP code is available for almost all the variables)
    Create Variable
    Step 5:  Create one variable (ZPUTMNTH) for u201CMonth to Dateu201D with processing by u201CCustomer Exitu201D. This variable was created on u201CDateu201D characteristics.
    Sample ABAP Code
    *& Include ZXRSRU01
    DATA: L_S_RANGE TYPE RSR_S_RANGESID.
    DATA: LOC_VAR_RANGE LIKE RRRANGEEXIT.
    Data: v_loc_date type d.
    Data: v_loc_date1 type d.
    Data: v_loc(4) type c.
    CASE I_VNAM.
    to calculate "month to date" user input is "Calday" Key Date
    WHEN 'ZPUTMNTH'.
    IF I_STEP = 2. "after the popup
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZPDATE'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(6). "low value, e.g.YYYYMM (200606) part of key date (20060625)
    L_S_RANGE-LOW+6(2) = '01'. u201C low value e..g. YYYYMM01 (20060601)
    L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW. "high value = input
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    EXIT.
    ENDLOOP.
    ENDIF.
    to Calculate no of days up to "month to date" (user input Calday Key date)
    WHEN 'ZDAYMTH'.
    IF I_STEP = 2. "after the popup
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZPDATE'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW+6(2). "YYYYMMDD - DD will indicate the no of days
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'EQ'.
    APPEND L_S_RANGE TO E_T_RANGE.
    EXIT.
    ENDLOOP.
    ENDIF.
    to calculate Previous year "month to date" (User input Calday u2013 Key date)
    WHEN 'ZDAYPMTH'.
    IF I_STEP = 2. "after the popup
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZPDATE'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW.
    L_S_RANGE-LOW(4) = L_S_RANGE-LOW(4) - 1. "low value previos year
    v_loc_date = L_S_RANGE-LOW. "take input value in another variable
    L_S_RANGE-LOW+6(2) = '01'.
    L_S_RANGE-HIGH = v_loc_date. "high value = input, taken into another variable
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    EXIT.
    ENDLOOP.
    ENDIF.
    to calculate "year to date" (User input Calday u2013 key date)
    WHEN 'ZPUTYEAR'.
    IF I_STEP = 2. "after the popup
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZPDATE'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(4)."low value, e.g.200001
    L_S_RANGE-LOW+4(4) = '0101'.
    L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW. "high value = input
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    EXIT.
    ENDLOOP.
    ENDIF.
    to calculate "Previous year to date" (User input Calday u2013 key date)
    WHEN 'ZDAYPYR'.
    IF I_STEP = 2. "after the popup
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZPDATE'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW.
    L_S_RANGE-LOW(4) = L_S_RANGE-LOW(4) - 1. "low value previos year
    v_loc_date = L_S_RANGE-LOW. "take input value in another variable
    L_S_RANGE-LOW+4(4) = '0101'.
    L_S_RANGE-HIGH = v_loc_date. "high value = input, taken into another variable
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    EXIT.
    ENDLOOP.
    ENDIF.
    to calculate "Previous year" User input Calday u2013 key date
    WHEN 'ZPYEAR'.
    IF I_STEP = 2. "after the popup
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZPDATE'.
    CLEAR L_S_RANGE.
    v_loc = LOC_VAR_RANGE-LOW(4) - 1.
    L_S_RANGE-LOW = v_loc. "low value previos year
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'EQ'.
    APPEND L_S_RANGE TO E_T_RANGE.
    EXIT.
    ENDLOOP.
    ENDIF.
    to calculate No of Days - "year to date"
    WHEN 'ZYRDAY'.
    IF I_STEP = 2. "after the popup
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZPDATE'.
    CLEAR L_S_RANGE.
    v_loc_date1 = LOC_VAR_RANGE-LOW.
    v_loc_date = LOC_VAR_RANGE-LOW(4). "low value, e.g.200001
    v_loc_date+4(4) = '0101'.
    L_S_RANGE-LOW = v_loc_date1 - v_loc_date. "get the difference between current date & first date of year
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'EQ'.
    APPEND L_S_RANGE TO E_T_RANGE.
    EXIT.
    ENDLOOP.
    ENDIF.
    Save and Activate the Include.
    Go back to Exit and activate again.
    Go back to Project and activate again.
    Variable (ZPUTMNTH) is ready (its values filled up with the manipulation of u201CKey Dateu201D) to be used in query to restrict Key Figure u201CSalesu201D on it and get u201CMonth to Dateu201D (MTD) Sales Value.
    Regards,
    Suman

  • Moving avg calculation in query designer

    Hi,
    I know we can do a mov avg in the query designer as " single value " of all the data that is in query.
    How can I get a mov avg for a specific period, say 50 day, 10 weeks or 12 months.
    Can you all help.
    Thanks.

    hi Venkat,
    Can you eloborate your query with an example ??
    Regards
    Raj

Maybe you are looking for

  • Software for ipod touch 2nd generation

    i cant seem to download games it says i need ios software and im new to this can someone help pls

  • Request custom BIOS for MS-1762 - 937-176262-072

    Hello, i attempted to perform a BIOS flash with the MSIHQ tool that indicated that it was a successful flash but it still showed the current/previous E1762IG6.70O rather than the E1762IMS.10U (advised to use from Devil Tech for the GT70 0NE i have a

  • How to edit the text generated by OCR

    Using Arobat Pro 8 I have scanned in a booklet with text in it. The OCR function has made it searchable and Read Out Loud too but how do I edit this text as some pages have errors on them due to graphics on the page interfearing with them. I tried us

  • Updated... now I cant "click"

    So I ran the update and now I cant click on anything google related... google search displays but cant click, gmail... cant click... Also... I am not able to watch any videos on the web (even the one on Apple's website) it just shows a sideways trian

  • BlueJ Help [Mainly File Operations, I think]

    I've been working on my Computers project for ages and have been breaking my head over it. It's 5AM and I'm still awake. Could somebody please please please help me with this code:     public void Rates() throws IOException, IndexOutOfBoundsException