I_Step ?...Customer Exit

Dear All,
          When using processing type "customer exit"in Bex I go to ZZXRSRU01 and I find code. But in every bit of code for a variable I find "if i_step = 'some number'. What's that? What does '0', '1', '2' mean?
Regards,
Ratish
[email protected]

Hi Ratish,
I_STEP = 1
Call is made directly before variable entry.Also used for validation purposes of variable entry.
   I_STEP = 2
Call is made directly after variable entry. This step is only executed if the same variable is not input ready and could not be filled for I_STEP=1.
    I_STEP = 3
In this call, you can check the values of the variables. When an exception (RAISE) is triggered, the variable screen appears again. I_STEP=2 is also called again subsequently.
   I_STEP = 0
The enhancement is not called from the variable screen. The call can originate from the authorization check or from the monitor.
Refer this link too
http://help.sap.com/saphelp_nw04s/helpdata/en/1d/ca10d858c2e949ba4a152c44f8128a/frameset.htm
Hope this solves
Regards
Karthik

Similar Messages

  • Bex Customer Exit: I_STEP 2,3 are not getting called up?

    Hi All,
    I need a small help in BEX variable customer exit. I am trying to give an error message on what user had entered on the selection screen. I kept several breakpoints. But I understand that this particular code is calling up only when 'I_STEP = 1'. For I_STEP 2 and 3, the follwong code is not being called? I have seen so many validations happening on user entered values with error messages.. But I am not sure where I am missing?
    Here is my sample code.. can any one extend the help?
    The original requirement is to 'modify' what user had entered. But I understand that SAP is not allowing to modify what user had input.. So thought of giving a small error message.. and not able to do that also.. so I am in this Forum..
    thanks,
    Hari
    When 'ZCATID2'.
    *data : l_year1(4) type n,
          l_year2(4) type n,
          l_text(12).
    data: l_cat(10).
    *IF I_STEP <> 2.
    *RAISE no_processing.
    *ENDIF.
    IF I_STEP EQ 3.
      break-point.
      READ TABLE I_T_VAR_RANGE WITH KEY VNAM    =  'ZCATID2'
      INTO  LOC_VAR_RANGE .
      if LOC_VAR_RANGE-LOW CP '*'.
      message i999(zz) with 'Test'.
      endif.
      break-point.

    Thanks Roberto for this good document to clear my fundamentals. I think I understand the mistake on my code.
    Thanks verymuch for your timely help.
    Best Regards,
    Hari
    ( I looked to give more points to you but it allwoed me only 10 points to give you.). Have a nice day!!

  • Authorizations by use of customer-exit: in  i_step = 3,   i_vnam is empty

    Hello all,
    I have checked multiple scenarios and they do not work:
    Current situation/setup:
    1. <b>Creation of several variables and adding each of them to different queries</b> :
    Variable   Type   Processing      Infoobject                     Selection  ready for input
    COB     1     6     ZCCOSTCTR__ZCCOB     S     
    CB2     1     6     ZCCOB                                     S     
    CBV     1     3     ZCCOB                                     S     
    2. <b>Adding values in a role</b> (currently 3.0 is used and we want to check the exit and if it works before upgrading to 7.0) and assign it to the user:
    Old active Object:ZCKS_COB:
    1KYFNM    *                                                                            
    9ZCCOB    $C-B2, $C-OB , $C-BV    
    added new object without 1KYFNM:                                                                               
    ZCCOB      $C-B2, $C-OB, , $C-BV             
    3. <b>Marked the used object auth. relevant</b> for the cube of the query
    4. Enhanced ZXRSRU01 via CMOD with coding and activated also the project:
      WHEN 'COB' or 'RESPNO'.
       IF I_STEP = 0.
        IF I_STEP = 1.
       IF I_STEP = 3.
          CALL FUNCTION 'Z_VARIABLE_BY_AUTH'
            EXPORTING
              I_VNAM           = I_VNAM
            TABLES
              E_T_RANGE        = E_T_RANGE
            EXCEPTIONS
              NO_AUTH          = 1
              NOT_VALID        = 2
              MISSING_OPERATOR = 3
              OTHERS           = 4.
          IF SY-SUBRC = 1.
            MESSAGE W007(EYE).
          ENDIF.
          IF SY-SUBRC = 2.
            MESSAGE W707(BRAIN).
          ENDIF.
          IF SY-SUBRC = 3.
            MESSAGE W999(BRAIN).
          ENDIF.
          IF SY-SUBRC = 4.
            MESSAGE W649(BRAIN) with I_VNAM ''.
          ENDIF.
        endif.
    The function 'Z_VARIABLE_BY_AUTH' was tested separately and fills in E_T_RANGE as expected.
    I also changed the variable names each time to all the other existing variables while debugging.
    If I use a variable of <b>type customer-exit</b> and process it with <b>i_step =1</b> the value selection and query result is OK.
    But this <b>scenario works without roles</b> and authorization values triggered by a variable $<VARIABLE> and is not the intended and documented way proposed by SAP. The documentation says to create a variable of type authorizations and to process it in I_Step = 3. But in this step I_VNAM is empty and so there is no processing ot the function module.
    Has anyone a solution? I could not find the issue during several debugging sessions. One strange thing is the protocol of rssm: the authorization buffer is not reflecting the enhanced role but only the value $C-B2 for object ZCKS_COB.
    Thanks in advance to have a look on this tricky issue.
    Bye,
    Petra

    Try this:
    IF i_s_rkb1d-compid = 'Query Name'
    Validation of data for the value entered in your Variable
        READ TABLE i_t_var_range INTO yourworkarea
                    WITH KEY vnam = yourvariable
        IF sy-subrc = 0.
          IF w_s_var_range-low(4) <>  w_s_var_range-high(4).  " Your condition or Logic
            l_msgv1     = c_qtr_com1.  " Your message
            i_handle = 9998.
            CALL FUNCTION 'RRMS_HANDLE_MESSAGE_INIT'
              EXPORTING
                i_handle         = i_handle
                i_msg_handler_id = sy-uzeit.
            CALL FUNCTION 'RRMS_MESSAGE_HANDLING'
              EXPORTING
                i_class  = 'RSBBS'
                i_type   = 'I'
                i_number = '000'
                i_msgv1  = l_msgv1
            RAISE again.
          ENDIF.
        ENDIF.
      ENDIF.

  • Using variable values form parametrized URL in Customer Exit in i_step = 1

    Hello BW experts,
    I call a parametrized URL to a Web Template that has a Query with the variable VAR1:
    http://XXX?...&CMD=LDOC&template_id=TEMP1&VAR_NAME_1=VAR1&VAR_VALUE_EXT_1=2006
    Then I try to access the value of VAR1 in i_step = 1 in the Customer Exit for BEx variables in order to determine the value for a customer exit variable VAR2:
    WHEN 'VAR2'.
        IF i_step = 1.
          READ TABLE i_t_var_range INTO var_range
            WITH KEY vnam = 'VAR1'.
          fl_var_range-sign = 'I'.
          fl_var_range-opt = 'EQ'.
          fl_var_range-low = *some operation with var_range
          APPEND fl_var_range TO e_t_range.
        ENDIF.
    The problem is that VAR1 contains either the default values (if the variable is set to have default variables) or is empty (if there are no default variables defined). It does not retrieve the value in the URL in the Customer Exit, but displays it correctly in the variable screen.
    Is there any way I can acces the URL parameter in the Customer Exit?
    Thanks for any answers in advance.
    Michael

    Gili,
    thanks for your answer. The problem was, though, that the first value determines the behavior of the variable screen by setting the value of a customer exit variable.
    My goal was to have two variable screens. In the first a date is chosen and in the second a node of a time-dependant hierarchy is chosen. If one enters the date in the same screen as the hierarchy, the valid hierarchy for the date is not displayed.
    I solved the problem now in following way:
    <b>1. Saving the value in SAP Memory as a parameter.</b> The parameter has to be defined in SE80. A Dummy Web Template with a query on the same Infoprovider with just the two InfoObjects (Year/Month) displays a variable screen for Month/Year. In addition there is a Dummy Customer Exit variable that is needed in order to pass the variable values (month/year) into SAP Memory. Using JavaScript in the Dummy WebTemplate the second Web Template with the actual query is called without displaying anything else than the variable screen.
    WHEN 'DUMMY_CUSTOMEREXIT_VAR'.
        data: w_date like sy-datum
        IF i_step = 2.
          READ TABLE i_t_var_range INTO var_range
            WITH KEY vnam = 'VAR1'.
        do your peration
        i.e.  w_date(4)+2 = var_range-low.
                 w_date(6)+2 = var_range-high.
          SET PARAMETER ID 'ZBW_PARA1' FIELD w_date.
        ENDIF.
    <b>2. Retrieving the value from SAP Memory</b> Before displaying the variable screen, the chosen date is retrieved from SAP Memory and used to set the date for a customer exit variable for the hierarchy validity date.
    WHEN 'VAR2'.
        IF i_step = 1.
          GET PARAMETER ID 'ZBW_PARA1' FIELD w_date.
        do some operation with     
          APPEND fl_var_range TO e_t_range.
        ENDIF.
    It is quite a comlex construct, but it works....

  • Customer-Exit for analysis Authorizations: i_step = 3, i_vnam is empty

    Hello all,
    I have checked multiple scenarios and I cannot figure out the mistake I've done:
    Current situation/setup:
    1. Creation of several variables and adding each of them to different queries :
    Variable Type Processing Infoobject Selection ready for input
    COB 1 6 ZCCOSTCTR__ZCCOB S
    CB2 1 6 ZCCOB S
    CBV 1 3 ZCCOB S
    2. Adding values in a role (currently 3.0 is used and we want to check the exit and if it works before upgrading to 7.0) and assign it to the user:
    Old active Object:ZCKS_COB:
    1KYFNM *
    9ZCCOB $C-B2, $C-OB , $C-BV
    added new object without 1KYFNM:
    ZCCOB $C-B2, $C-OB, , $C-BV
    3. Marked the used object auth. relevant for the cube of the query
    4. Enhanced ZXRSRU01 via CMOD with coding and activated also the project:
    WHEN 'COB' or 'RESPNO'.
    IF I_STEP = 0.
    IF I_STEP = 1.
    IF I_STEP = 3.
    CALL FUNCTION 'Z_VARIABLE_BY_AUTH'
    EXPORTING
    I_VNAM = I_VNAM
    TABLES
    E_T_RANGE = E_T_RANGE
    EXCEPTIONS
    NO_AUTH = 1
    NOT_VALID = 2
    MISSING_OPERATOR = 3
    OTHERS = 4.
    ENDIF.
    The function 'Z_VARIABLE_BY_AUTH' was tested separately and fills in E_T_RANGE as expected.
    I also changed the variable names each time to all the other existing variables while debugging.
    If I use a variable of type customer-exit and process it with i_step =1 the value selection and query result is OK.
    But this scenario works without roles and authorization values triggered by a variable $<VARIABLE> and is not the intended and documented way proposed by SAP. The documentation says to create a variable of type authorizations and to process it in I_Step = 3. But in this step I_VNAM is empty and so there is no processing ot the function module.
    Has anyone a solution? I could not find the issue during several debugging sessions. One strange thing is the protocol of rssm: the authorization buffer is not reflecting the enhanced role but only the value $C-B2 for object ZCKS_COB.
    Thanks in advance to have a look on this tricky issue.
    Bye,
    Petra

    Hi Petra,
    You are correct.  I_VANM is not stored at I_STEP 3.  However, to access that value at I_STEP3, use the following code.
    IF I_STEP = '3'.
         READ TABLE I_T_VAR_RANGE INTO L_RANGE WITH KEY VNAM = '...variable name.....'
         IF SY-SUBRC = 0.
           ...code here to alter values...
          .....for example:  L_RANGE-LOW = 'S'
         ENDIF.
    ENDIF.
    Kind Regards,
    Larry

  • BW Variable Customer Exit I_STEP 3

    Can anyone tell me under what circumstances I_STEP 3 is called to validate a variable input.
    Thank you,
    Beat

    Let me try to explain you with an example
    I have the following scenario our fiscal period starts in Oct so it is 001.2005.
    So if a user runs a report in period 003.2005 the report must report for the periods 001.2005, 002.2005 & 003.2005.
    If the user reports in 005.2005 the report must report for the period 004.2005 and 005.2005 which is the second fiscal quarter. Similarly, if the user reports for period 011.2005 it must report for the periods 010.2005 & 011.2005 which is the fourth fiscal quarter.
    Now in order to do this task i used variable exits
    First create a variable of type customer exit and write the code in Program(Include) ZXRSRU01.
    Code looks like this.
    In the code try to put this logic
    dat1 = fisc period u supplied (say 3.2005)
    dat2 = dat1+4(2) " i.e 3
    like this for four querters u have to define and supply the values dat3 and dat1 in low and high selections.
    WHEN 'ZE_CALMT'.
    IF I_STEP = 3.
    If Qarter = 1.
    Concatenate dat1(4) 01 into dat3. " 200501
    dat1 " 200503 which is supplied by user
    elseif querter = 2
    Concatenate dat1(4) 04 into dat3. " 200501
    dat1 " 200503 which is supplied by user
    etc
    L_S_RANGE-LOW = DAT3
    L_S_RANGE-HIGH = DAT1
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDLOOP.
    ENDIF.
    I_STEP = 3
    In this call up, you can check the values of the variables. Triggering an exception (RAISE) causes the variable screen to appear once more. Afterwards, I_STEP=2 is also called up again from the authorization check or from the Monitor.
    If you have specific problem please do let me know.
    Regards
    vijay
    Message was edited by: sundaresan chander

  • How to debug i_step=0 Bex Variable (Customer Exit)

    Hi all,
    can anyone please help me regarding following problem:
    I have a variable (customer exit) in a query. This is for hierarchy authorization.
    This variable is mentioned in my analysis authorization (Infoobject 0COSTCENTER).
    Now i want to debug the coding when execute the query in TA RSRT.
    But when i set a break-point. The i_step starts with 1. I want to debug
    the coding when the i_step is 0 !!!! Any idea?
    Best regards,
    Frank

    Here a break solution:
    only for develop system-
    you can set this code at start of the include:
    DATA: flag TYPE c.
    WHILE flag IS INITIAL.
    ENDWHILE.
    let start the query, then go to SM50 and take in debugging the process in loop. (Programe/mode-program-debugging).
    Pay attention leave the code immediately after that.

  • I_step = 2 : Customer Exit Variables

    Has anyone had problems with i_step = 2 in customer exit variables in 2004s queries and web templates.
    When the web template is first executed the call takes place directly after the variables values are entered.  This works as expected.
    If you return to the variable screen to change the variable values the call does not take place.
    We are on SP11.
    I have tested the same customer exit variable using a 3.5 Query and Web template and it works in both cases explained above.
    Has anyone had a similar problem?

    Hi MM
    Thanks for the pointer.  Unfortunately this did not help.
    It is interesting to note with 2 identical queries, 1 developed in the 3.5 Query Designer and the Other in the 2004s Query Designer.
    Both queries have the same customer exit variable.  The variable exit is called correctly on all calls (1st and 2nd) when the 3.5 query is executed. 
    The 2004s query does not yield the correct result in the new BI Web runtime.
    Also as we have just applied SPS11 to our development system, only our Development System has been effected.  Our QA and Production systems on SPS 10 are not effected.
    Cheers
    Ian
    PS> I have submitted a OSS note to SAP.
    Message was edited by:
            Ian Carbonel

  • BEx Variable I_Step 2, Custom Exit, IF Condition fail for "var ready Inp"

    Hi all,
    could someone please help with the following issue.
    Variable definition is as followed.
    processing type = Customer Exit
    in the Details Tab I chose "Multiple Singles"
    and variable as "Optional"
    and "Variable is ready for Input".
    objective is, once the user enter fiscperiod like 004.2011, in the customer exit, using my own logic I would need to derive some set of periods and send back to query.
    In code, I am doing a check of I_STEP =2, then do the loop on the i_t_var_range, then capture the "LOW" value, then use my own logic to derive my own fiscperiods, then append the e_t_range, then Endif.
    when I debug, control is going to IF condition, but I see that I_step contained "1" not 2 as expected, that's where the condition is failing, and control is skipping the whole block of the code inside the If condition.
    this is giving me an impression that, the definition of the variable has some problem.
    Any Insights are greatly appreciated.

    I guess you need to use 2 variable.
    Var1 will store the value of user entered fiscal year period and then. this is normal Variable and is ready for Input".
    Var2 to will read that value of Var1 -
    then you write your logic -
    to populate Var2 correctly.
    And use Var2 in your query.
    Note : Var2 is not ready for input, and its exit variable
    Regards,
    Vinod

  • Customer Exit (i_step = 1) - Retrieve Variable Value

    Hello,
    I have BW web report and created customer exit (i_step = 1). The BW Web Report is being called from BSP application and I'm passing variable value on URL.
    For example:
    /sap/bw/BEx?cmd=ldoc&template_id=Z_JEFF_CLAIM_TEST&VAR_NAME_1=ZAGGET&VAR_VALUE_EXT_1=10310
    What I need to do now is retrieve the variable value passed on URL in the custom exit i_step = 1. 
    Does anyone know how to do this?
    Thanks,
    Gary

    hi Gary,
    can try in variable user exit ZXRSRU01 ?
    DATA: LOC_VAR_RANGE LIKE RRRANGEEXIT.
      IF I_STEP = 1.
        LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZAGGET'.
        .... = LOC_VAR_RANGE-LOW.
        ENDLOOP. 
      ENDIF.
    hope this helps.

  • Passed i_step = 2,3(Hierarchy Node Variable with Customer-Exit)

    Hellow !
    I want to insert the following ststement to force the variable to be executed with i_step = 2 or 3.
    CASE I_VNAM.
    when 'ZTEST'.
        CLEAR loc_var_range. REFRESH loc_var_range.
        CLEAR: l_s_range, ytest001.
    LOOP AT i_t_var_range INTO loc_var_range.
       SELECT * FROM ytest001
                  WHERE bname = sy-uname
                        AND node   = loc_var_range-low.
            IF sy-subrc = 0.
              l_s_range-low = loc_var_range-low.
              l_s_range-high = '0HIER_NODE'.
              l_s_range-sign = 'I'.
              l_s_range-opt  = 'EQ'.
              APPEND l_s_range TO e_t_range.
             else.
              l_s_range-low = '#'.
              l_s_range-sign = 'I'.
              l_s_range-opt  = 'EQ'.
              APPEND l_s_range TO e_t_range.
             endif.
    ENDLOOP.
    However, Passed customer-exit(Enhancements for Global Variables in Reporting)  i_step =2,3
    Regards,
    Don

    Hi,
    in addition to Anil's valid input, make sure that ZTEST is NOT ready for input. Indeed "ready for input" vars cannot be changed via customer exits.
    hope this helps...
    Olivier.

  • Scenerios for using I_STEP parameter for creating customer exit variables.

    Hi All,
    I need to create a customer exit variable.
    Please explain the different scenerios for using each i_step parameters.
    For eg. in which practical scenerio i_step 3 is used?

    Hi Shobhit,
    You can find plenty of info on this in the forums, So i suggest you to do a small search with imp Key words. Anyways below is the std usage of I_STEP
    I_STEP = 1
    Call takes place directly before variable entry. Can be used to pre populate selection variables
    I_STEP = 2
    Call takes place directly after variable entry. This step is only started up when the same variable is not input ready and could not be filled at I_STEP=1.
    I_STEP = 3 In this call, you can check the values of the variables. Triggering an exception (RAISE) causes the variable screen to appear once more. Afterwards, I_STEP=2 is also called again.
    I_STEP = 0
    The enhancement is not called from the variable screen. The call can come from the authorization check or from the Monitor. This is where you want to put the mod for populating the authorization object.
    This is basic info from help.sap.com.
    regards,
    Gaurav
    Edited by: Gaurav Kothari on Aug 4, 2011 2:18 PM

  • Fun BEx i_step 2 Customer Exit / ABAP Question!

    Hello Gurus
    We run two queres, one has a restriction on ZCOMPCODE (which is an OpCo), the other on ZCOMPHIER (Which is an OpCo Hierarchy).
    We have too many cubes under our multiProvider so to aid performance we have an 'InfoProvider' Customer Exit Variable in our queries. This restricts the cubes to those relevant to the selected OpCo by indexing against a predefined table.
    The code works for ZCOMPCODE.
    ZLASTHIER has a one to one relationship with ZCOMPCODE so we want to enhance our 'InfoProvider' Exit Variable to incorporate restrictions on ZLASTHIER.
    Ie currently we have:
    LOOP AT i_t_var_range INTO ls_var_opco WHERE VNAM = 'ZVAR006'.
    (Where ZVAR006 is on ZCOMPCODE)
    I want to enhance this so that if VNAM = 'ZVAR007' (which is a variable based on ZCOMPHIER), it will convert it.
    I need to tag something along the following lines into my code:
    If VNAM 'ZVAR007' = 'H1'.
    ls_opco = '001'.
    ELSEIF 'ZVAR007' = 'H2'.
    ls_opco = '002'
    etc etc
    Im not very good at abap but im sure I can't be miles off!
    Any help appreciated!
    Tom

    Hi
    Basically the requirement is to get Company code corresponding to the Hierarchy in ZVAR007 and then restrict to the particular Infoprovider. Plz let me know if my understanding is correct.
    Here we go :
    LOOP AT i_t_var_range INTO loc_var_range WHERE VNAM = 'ZVAR007'. "reads Hier value
    If sy_subrc is not initial.
    Select comp_code  comp_hier from table
    into itab1 where comp_hier = loc_var_range-low. " selects company code from thetable which has comp code - hierarchy mapping.
    read itab into wa_itab. " not giving condition assuming there s only one record.
    "Add the same code as in the user exit for Comp Code, to select the Infoprovider based on the company code selected(wa_itab-comp_code).
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'EQ'.
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDLOOP.
    Plz let me know in case of issues.
    Regards,
    Aparna

  • How to capture user input for customer exit processing?

    I need to calculate the number of working days elapsed in the current fiscal quarter BASED on the USER INPUT on the reporting front.  i.e., say the fiscal quarter started on 1 July 2005 and if the user enters 10 July 2005, I should get the value 8 (Assume that Monday through Friday are all workdays).  If the user enters 12 July 2005, I should get 10.  I have written customer exits and know how to use factory calendar, but <b>THE CHALLENGE</b> is how do I <b>CAPTURE</b> the user input and use it in my exit?  During the varible definition, if I select the check box "Ready for input" then the customer exit is not being processed and unless I check that box I can't get a user entry!  If I look at the import values in the customer exit, I see i_t_var_range with type rrs0_t_var_range.  My strong feeling is that this parameter gets the user input, but I am unable to use it as the customer exit is not being called if I make the user to input the data.  Based on the empirical evidence, I felt that user input and customer exit can not co-exist!!  Please somebody prove me wrong and let me know how can I use the user input to process my "customer-exit" variable.  I would really appreciate any input from the BW community here.

    Hi Sameer,
    Most likely, I'm missing something, but I think that the answer is very simple.
    CASE I_VNAM.
    WHEN 'YOUR_CUSTOMER_EXIT_VAR'.
    IF I_STEP = 2. “ After selecting of input variable
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'USER_INPUT_VAR'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(4).
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDLOOP.
    ENDIF.
    ENDCASE.
    In this typical user exit coding you have a user entered value in LOC_VAR_RANGE (originally in I_T_VAR_RANGE) and you construct your user exit variable value in E_T_RANGE.
    Best regards,
    Eugene
    Message was edited by: Eugene Khusainov

  • Displaying Customer Exit Variable with derived value from another ODS

    Hi All,
    Sorry if this question has been answered before.  I searched the forums and could not find anything specific to my problem.
    I am new to BEx Query.  Customer is requesting a variable(s) be created which will be displayed as a column along with other CKF and RKF.  This query is a payroll query for US/Canada.  This new variable will be based on the user input date for the query.  We are to take this date and go look up the actual pay date for the pay period to which the user input date belongs.  The pay date is stored in another ODS.
    So far, as far as the changes to the Customer Exit ZXRSRU01 are concerned, I would perform the logic when I_STEP = 2.  Do a basic selection off the second ODS, derive the pay date, and store in range table E_T_Range.
    The data displayed off the user input date is displayed in rows.  This is done six times, going back seven days for each row (first row is data for period user entered date to user entered date - 7 days; second row is data for period user entered date - 7 days to user entered date - 14 days; etc ...).  For this to happen  correctly, I am assuming the variable(s) are to to have characteristic types 'Not ready for input', 'Mandatory', 'Customer Exit', and 'Single Value'.
    My question is ... How do I display the six variables in columns (how are they to be defined in the query) and the characteristics I list above, are they correct? Does this need to be a replacement path variable?
    Thanks.
    Edited by: Amir Hasan on Jun 11, 2009 6:24 PM
    Edited by: Amir Hasan on Jun 11, 2009 6:25 PM

    Hi Amir,
    What i can understand from u r requirement is you want to few columns that will show something like below,
    User entered date = x
    Period of X to Period of (X-7)       Period of X to Period of (X-14).....
    This can be done by CMOD for variable only.
    Logic steps :
    1) Take the user input.
    2) Find out the period by using T009B table and store in temp variable.
    3) Do day -7 and find out period for the same
    4) Assing period of X to ls_range-high range and X-7 to ls_range-low.
    Let me know if you have any doubt
    Regards,
    Viren

Maybe you are looking for