Customer Exit Code Error

Hi All,
i have an issue while executing customer exit code for a query.
Its giving the following error
WValue "07.2010" is too long for variable Z_RAPMONTHS
EValue "07.201" for user-exit variable Z_RAPMONTHS is invalid
EVariables contain invalid values.
I>> Row: 82 Inc: LRRMSU13 Prog: SAPLRRMS
ASystem error in program CL_RSR_OLAP_VAR and form INIT-02- (see long text)
Requiremnt is: variable value should corresponds to last six months including current month (six months in total), e.g.  if we execute the report today (December month) the desired value should be 07.2010 - 12.2010.
code which i have written is:
when 'abc'.
    DATA: curr_month(2) TYPE n,
          calc_month(2) TYPE n,
          curr_year(4) TYPE n,
          prev_year(4) TYPE n.
    CLEAR:curr_month,curr_year,prev_year.
    if i_step eq 1.
      curr_month = sy-datum+4(2).
      curr_year = sy-datum+0(4).
      if curr_month = '01'.
        calc_month = curr_month + 7.
        prev_year = curr_year - 1.
       CONCATENATE calc_month '.' prev_year INTO l_s_range-low.
      else.
        calc_month = curr_month - 5.
      CONCATENATE calc_month '.' curr_year INTO l_s_range-low.
     else.
     l_s_range-low = lv_zp0003_year.
        ENDIF.
  CONCATENATE curr_month '.' curr_year INTO l_s_range-high.
      IF l_s_range-low = l_s_range-high.
          l_s_range-opt = 'EQ'.
        ELSEIF l_s_range-high IS INITIAL.
          l_s_range-opt = 'EQ'.
        ELSEIF l_s_range-low LT l_s_range-high.
          l_s_range-opt = 'BT'.
        ENDIF.
        l_s_range-sign = 'I'.
        APPEND l_s_range TO e_t_range.
Can any one please let me where i am doing the mistake.
Thanks & Regards.
AKG

remove the '.' from the below concatenate statements.
CONCATENATE calc_month '.' curr_year INTO l_s_range-low.
CONCATENATE curr_month '.' curr_year INTO l_s_range-high.
use the code as
CONCATENATE calc_month curr_year INTO l_s_range-low.
CONCATENATE curr_month curr_year INTO l_s_range-high.

Similar Messages

  • Return Custom Exit Code

    Hello Experts,
    We are using Wise Script Wrappers to run Microsoft Updates (KB). Wise Script has Exit Installation Command through which we can control the Custom Exit codes return by the setup (Wrapper) .
    Case 1
    In our case when we use shutdown.exe at the end  after installation of KB's to reboot the machine the exit code reflected in sccm is 0 though we set Exit code 100 in Wrapper.
    Case 2
    When we dont reboot at the end of installation that is we dont use Shutdown.exe the Exit code return is 100.
    We cannot use Config manager restarts computer due to our business needs
    So Any help will be appreciated on how we can  control the custom exit codes
    Thanks,
    Apppack

    So the real question is why are you using non-standard exit codes?If you do non-standard things, you will get non-standard results.
    As Jérémy pointed out 3010 means "The requested operation is successful. Changes will not be effective until the system is rebooted." There are actually other standard error codes that indicate a pending reboot also but 3010 is the most common. A complete
    list of standard error codes is available at http://msdn.microsoft.com/en-us/library/cc231199.aspx.
    Jason | http://blog.configmgrftw.com

  • How to make BEX Customer Exit Variable inactive through Customer Exit Code

    Hi,
    I had created two variables VAR1 and VAR2 as Customer Exit variables
    If VAR1 is entered then it should automatically make the VAR2 as NO Entry Variable.
    vice versa also required.
    can u help me with any code in CMOD so that we can make it inactive through Customer Exit Code.
    Thanks in Advance.
    Sunil.

    What i want is not commenting the code
    I want to make the BEX Variable as inactive by using the Customer Exit Code
    EX : If value in VAR1 is entered  then VAR2 should become automatically inactive.
           If value in VAR2 is entered  then VAR1 should become automatically inactive.
    how can this be done
    Thanks in advance.
    Sunil

  • How to write customer exit code to get current user as default in variable

    Hi guys,
           I design a query which has a variable called var_employee , I also set some default values for this variable in query designer. But I would like to set the current user account who logon on (who execute the query) in the dropdownlist as default user when the variable selection screen appear. of course after that he can choose other avaiable value.
          I look up some related threads, all says that this need some customer exit code, and they mention to use CMOD to create the customer exit , but I don't know the detail process, as I am pretty new on this.
         The attribute of the var_employee  variable is :  employee(defined info object by myself) characterstic value, customer exit.
         Can somebody show me the process to create the customer exit, and the apap code in detail if possbile. then I can try.
          Thanks a lot in advance.
    Best Regards,
    Ben

    Hi,
    Please have a look at:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
    Krzys

  • Customer exit code to populate fiscal period for prior three months

    Dear frns,
    I need an ABAP customer exit code to populate prior three month's fiscal period.
    Please update on this...thanks
    Cheers! Shana

    Hi
    Here is the code that will satisfies ur condition.
    CASE I_VNAM.
    IF I_STEP = 2.
    WHEN 'ZVAR1'.
    DATA DATE1 TYPE D.
    DATA PERIOD1 TYPE N.
    DATE1 = SY-DATUM.
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'.
    exporting
    l_date = date1
    l_periv = 'v3'
    importing
    E_BUPER = PERIOD2
    E_GJAHR = YEAR2.
    DATA PER3 TYPE N.
    PER3 = PERIOD2 + 1.
    CONCATENATE YEAR2 PERIOD2 INTO FPERLOW.
    DATA LDATE TYPE D.
    LDATE = SY-DATUM + 365.
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'.
    exporting
    l_date = LDATE
    l_periv = 'v3'
    importing
    E_BUPER = PERIOD2
    E_GJAHR = YEAR2.
    CONCATENATE YEAR2 PERIOD2 INTO FPERHIGH.
    DATA WA1 LIKE LINE OF E_T_RANGE.
    WA1-LOW = FPERLOW.
    WA1-HIGH = FPERHIGH.
    WA1-SIGN = 'I'.
    WA1-OPT = 'BT'.
    APPEND WA1 TO E_T_RANGE.
    ENDIF.
    Hope u gotit,
    Regard,
    RaviChandra

  • Customer exit code to populate three month's fiscal period

    Dear frns,
    I need an ABAP customer exit code to populate three month's fiscal period.
    Please update on this...thanks
    Cheers! Shana

    Dear,
    Thank u for all replies.
    My requirement is simple.
    Rows:
    Fiscal Year
    Columns
    GR Value
    Filters
    Material Number
    Input Paramters:
    Material No.
    Fiscal Year
    Using customer exit if we populate current fiscal year in the selection screen output be like this....
    FISCAL YEAR    GR Value(in crores)
    2009                     4000
    2008                     3000
    2007                     2000
    2006                     1000
    The cube name Custom Cube ZBBP_C03.
    But I dont have time char 0FISCYEAR in my Cube.In my cube avaiable chars are Calender Year,Calender Year/Month,Calender Year/Quarter,Fiscal Period
    Please let me know if you need any information.
    Waiting for replies,
    Thanks & Regards,
    Praveen.K

  • Customer exit code to calculate  Average YTD.

    Hi Experts,
    I want to create new column ( AVGYTD TRGT) in Bex report for folling data .( Which is FF data).
    I have created one formula variable(zfmvavgytd) of type customer exit. and strucked at coding part.
    so that, anybody provide customer exit code for required column(avgytd trgt). and details are as follows.
    0CALMONTH  ENO  ENAME  PERDAY_ TRGT  
    04.2011             1     ABC             100                     
    04.2011             2     BCD             200
    05.2011             1     ABC             200 
    05.2011             2     BCD             200 
    06.2011             1     ABC             300 
    06.2011             2     BCD             200 
    07.2011             1     ABC             200
    07.2011             2     BCD             200 
    till  03.2012        
    Now I want to display the column for ( AVG YTD_TRGT)   based on "0calmonth " & " ENo  "   as below
    AVG YTD_TRGT
    100           
    200
    150
    200
    200
    200
    200
    200
    calculation behind this is...
    for 04 .2011   --empno(1)  ---100/1
    for 04 .2011   --empno(2)  ---200/1
    for 05 .2011   --empno(1)  ---200+100/2
    for 05 .2011   --empno(1)  ---200+200/2
    for 06 .2011   --empno(1)  ---300200100/3
    for 06 .2011   --empno(1)  ---200200200/3
    for 07 .2011   --empno(1)  ---200300200+100/4
    for 07 .2011   --empno(1)  ---200200200+200/4

    First you need to calcualte the YTD and then Average YTD.
    Year to Date (YTD) u2013 From the 1st to entered u201CKey Dateu201D for the current year.
    Average Year to Date - YTD divided by the u201CNo of Daysu201D in year till u201CKey Dateu201D for current year.
    Check the below code for getting Previous YTD....next create a Selection restrict the KF with YTD varaible
    Below is sample code for reference.
    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.

  • Customer exit code for fiscalyear period based on system date

    Hi Experts,
    Please provide customer exit code for fiscalyear period derive based sy-datum. Fiscal year period derivie current to previous 12 periods and current to fast 12 periods.
    Thanks,
    Subbaraju

    Hi Subbaraju,
    Please use below customer exit code for your solution. Please define declarations as per requirement.
    When 'ZFPERIOD'.
    IF I_STEP = 2.
    ztoday = sy-datum.
    zfast = sy-datum + 365.
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
      EXPORTING
        i_date               =  ztoday
        i_periv              = 'K4'
    IMPORTING
       E_BUPER              = PERIOD2
       E_GJAHR              = YEAR2.
    CONCATENATE YEAR2 PERIOD2 INTO FISCPERLOW.
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
      EXPORTING
        i_date               =  zfast
        i_periv              = 'K4'
    IMPORTING
       E_BUPER              = PERIOD2
       E_GJAHR              = YEAR2.
    CONCATENATE YEAR2 PERIOD2 INTO FISCPERHI.
    L_S_RANGE-LOW = FISCPERLOW.
    L_S_RANGE-HIGH = FISCPERHI.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDIF.
    Similar code user for your previous periods also.
    Thanks,
    Chandra

  • Customer Exit VAriable Error

    Hi
      Please fix this or update me on how to fix it as i am struggling to fix
    I created a restricted Key Figure based on Info object data Type DATS
    User Enter Date intreval 01.01.2007 to 31.12.2007
    My requirment is to develop a Variable on Cal Year/Month (0CALNONTH) of Processing Type CUSTOMER EXIT that will take the user input date and display the Year/Month accordingly
    Code
    When 'EXIT_CYM_VAR'.
        DATA: Low_ymon1 Type N,
              High_ymon1 Type N.
        IF i_step = 2.
          LOOP AT i_t_var_range INTO  ls_varrange
              Where vnam = '0I_DAYS'."User Specified Key date Intreval
            CLEAR l_s_range.
            Low_ymon1 = ls_varrange-low+0(6).
            High_ymon1 = ls_varrange-high+0(6).
            l_s_range-low = Low_ymon1.
            l_s_range-high = High_ymon1.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'BT'.
            APPEND l_s_range TO e_t_range.
          ENDLOOP.
        ENDIF.
    Error
    Check the user exit for variable EXIT_CYM_VAR. Make sure that variables for characteristic values are in internal format and are not compounded. This means, for example, that a date variable must have the value 20000914 and not the value 14.09.2000.
    Thanks

    Hi,
    may be u try this.
    When 'EXIT_CYM_VAR'.
    DATA: Low_ymon1(6) Type N,
    High_ymon1(6) Type N.
    IF i_step = 2.
    Read i_t_var_range INTO ls_varrange
    Where vnam = '0I_DAYS'."User Specified Key date Intreval
    CLEAR l_s_range.
    Low_ymon1 = ls_varrange-low+0(6).
    High_ymon1 = ls_varrange-high+0(6).
    l_s_range-low = Low_ymon1.
    l_s_range-high = High_ymon1.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'BT'.
    APPEND l_s_range TO e_t_range.
    ENDIF.
    regards,
    rakesh.

  • No user input for the field on which i need to write customer exit code.

    Hello everyone,
    Scenario:
    There are differrent lease type and there Start date and expiry date.
    each lease has to return somoe returns on some basis.
    selection screen has four options but none of them is date.
    My understanding:
    I need to get only those leases in my report whose expiry date is greater than system date/current calendar day.
    I am not selecting any date field in selection screen, so i need to get value of expiry date from cube, and than compare it to current date.
    So i need to write a customer exit in which i need to read date and restrict data on this expiry date.
    Requirment:
    Need a code for SAP exit variable which will meet the following requirment
    There are the following 4 variables in the query.
    1) material
    2) product hierarchy
    3) City
    4) lease type
    I need a customer Exit variable (CMOD) that will
    filter the records on the basis of condition-"lease expiry date is greater than current system" and display all the records whose expiry date is greate than Sy Date (Current Date) and also if expiry date is blank.
    kindly give me information on how i can write this code asap; and let me know if need more information.
    Thanks

    I am Getting the same error for both the codes that i have written...
    Do i Need to write sth else in the code...
    Code:
    WHEN 'ZVLIVELEASES'.
      IF I_STEP = 2.
            L_DATE = SY-DATUM.
            SELECT * FROM "DSO_ACTIVE_TABLE"
                INTO TABLE ITAB_LL where "EXPIRY_DATE" > L_DATE.
            LOOP AT ITAB_LL INTO WA_LL.
            CLEAR l_s_range.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
            l_s_range-low = WA_LL-"EXPIRY_DATE".
           APPEND L_S_RANGE TO E_T_RANGE.
            ENDLOOP.
       ENDIF.
    Error: Error for variable in customer enhancement ZLIVELEASES

  • Customer Exit  (ABAP) Error

    Hi Experts,
    I developed a Customer Exit Variable (BEx)..ZVDAT
    In Variable definition i defined  'Processing Type-Customer Exit' and in CMOD i have written below code
    My requirment is to display records whose Expiry Date is Greater than and equal(>=)  to Current Sys Date (Current Date)
    The system is not displaying any error but when i execute query it is not displaying the desired
    Please correct any errors in the code below
    IF I_STEP = 1.
    CASE i_vnam.
    WHEN 'ZEDAT'.  "Policy  Expiry Date"
    CLEAR: l_s_range.
    l_s_range-low  = sy-datum.
    l_s_range-opt = 'GE'.
    l_s_range-sign = 'I'.
    APPEND l_s_range TO e_t_range.
    Endcase.
    Endif.

    Hi,
       Use the below code and try your program. I think this is the one you should use at i_step = 2
       not i_step = 1
    CASE i_vnam.
    WHEN 'ZEDAT'. "Policy Expiry Date"
              IF I_STEP = 2. "after the popup
                LOOP AT I_T_VAR_RANGE INTO LOC_T_VAR_RANGE
                WHERE VNAM = 'Your Variable Name'. '
                  CLEAR L_S_RANGE.
                  L_S_RANGE-LOW = 'Policy Start Date'    'Variable Start Date Value entered by User
                  L_S_RANGE-HIGH = Sy-Datum. "high value = input
                  L_S_RANGE-SIGN = 'I'.
                  L_S_RANGE-OPT = 'GE'.
                  APPEND L_S_RANGE TO E_T_RANGE.
                  EXIT.
                ENDLOOP.
              ENDIF.
    Regards,
    Raj

  • Help needed in customer exit code to exclude a value

    Hi Gurus,
    I need to use a Customer Exit Variable to read the values for a characteristic. Based on one indicator I have to include or exclude a value. I am trying to use the code as below. But, it is saying "AError for variable  in customer enhancement ...".
    Code
    the variable is a multiple single values customer exit variable
             zl_s_range-low = z_placc.
             CLEAR zl_s_range-high.
             if z_pl_ind = '1'.
               zl_s_range-sign = 'I'.
             elseif z_pl_ind = '2'.
               zl_s_range-sign = 'E'.
             endif.
              zl_s_range-opt = 'EQ'.
             APPEND zl_s_range TO e_t_range.
    Please help me to solve the issue,
    Thanks in advance,
    Regards,
    aarthi

    Hi Uday,
    Thanks for your response.
    Below is the complete code.
    WHEN 'ZV_CSS11'.
    IF I_STEP = 1.      "Before Pop-up
       select * into table i_tp_tab_pl from /BIC/QZ_TP_PLAC
        where /BIC/Z_TP_PLAC = '11' and
            DATEFROM <= sy-datum and DATETO >= sy-datum.
    if sy-subrc = 0.
         LOOP AT i_tp_tab_pl.
             clear zl_s_range.
             z_placc = i_tp_tab_pl-/BIC/Z_PLACC.
             z_pl_ind = i_tp_tab_pl-/BIC/Z_PGLA_IND.
             zl_s_range-low = z_placc.
             if z_pl_ind = '1'.
               zl_s_range-sign = 'I'.
             else.
               zl_s_range-sign = 'E'.
             endif.
              zl_s_range-opt = 'EQ'.
             APPEND zl_s_range TO e_t_range.
             clear z_placc.
             clear z_pl_ind.
          ENDLOOP.
    endif.
    endif.
    Thanks in advance,
    Regards,
    aarthi

  • Customer exit - code for variable

    Hi Friends,
    I have created a variable "CUST_EXIT_YEST" and defined the processing type as customer exit. Now would like to add code in CMOD.
    Requirement: The variable should allow take yesterday's date. Please help me with the code.
    Already there are some codes defined for other customer exit variables in CMOD. Can I add my code below that. If so please explain.
    Regards,
    Surjit

    If i'm not wrong you want to show previous day in the variable.
    At the bottom of the existing code before EndCase, u can write the below code
    Data: loc_var_range      LIKE rrrangeexit, (must be there this kind of declaration in ur existing code)
    WHEN 'CUST_EXIT_YEST'.
        IF I_STEP = '1'.
          Read Table I_T_VAR_RANGE into LOC_VAR_RANGE WITH KEY VNAM = 'CUST_EXIT_YEST'.
          myrange-SIGN = 'I'.
          myrange-OPT = 'EQ'.
          myrange-LOW = sy-datum - 1.
          APPEND myrange TO e_t_range.
        ENDIF.

  • Customer Exit code written at transaction SE38

    I am new to writing ABAP code. I talk to someone on here earlier and they gave me some code that is indented below to determine the last day of the week as a date. I am trying to use this code in a form that is called from a user exit. However, I do not understand what the code is doing. I added some break points and found out the the variables CurDate TYPE SCAL-DATE, and
    CurWeek TYPE SCAL-WEEK never populate with a date or a value. So my first question is why don't these variables populate with a value? My second question is how do I write the final desired value (LastDayOfTheWeek) back to the customer exit variable? My third question is to explain TYPE-POOLS: RSR, RRS0 and how they relate to i_t_var_range, e_t_range, and l_s_range. Are these standard variables used in customer exits or are these custom to the environment that I am working at? I know this is alot to ask, but I have no other place to get information. Thanks for all the help possible.
    -- Ryan
    *& Subroutine pool   ZBW_VAR_WEEKEND
    *& Created By: Ryan Casey
    *& Date: 07/19/2005
    *& Purpose: This function is used to determine the date of the last
    *&          day of the week (Sunday).
    *& Changes:
    PROGRAM  ZBW_VAR_WEEKEND.
    TYPE-POOLS:  RSR,
                 RRS0.
    Form GetWeekendDate  using     i_t_var_range type rrs0_t_var_range
                                   i_step type i
                         changing  e_t_range type rsr_t_rangesid.
                              DATA: l_s_range TYPE rsr_s_rangesid,
                                    CurDate TYPE SCAL-DATE,
                                    CurWeek TYPE SCAL-WEEK,
                                    LastDayOfTheWeek TYPE SCAL-DATE.
                              CALL FUNCTION 'DATE_GET_WEEK'
                              EXPORTING
                              DATE = CurDate
                              IMPORTING
                              WEEK = CurWeek
                              EXCEPTIONS
                              DATE_INVALID.
                              CALL FUNCTION 'WEEK_GET_FIRST_DAY'
                              EXPORTING
                              WEEK = CurWeek
                              IMPORTING
                              DATE = LastDayOfTheWeek
                              EXCEPTIONS
                              WEEK_INVALID.
                              ADD 6 TO LastDayOfTheWeek.
    *&l_s_range-low    = LastDayOfTheWeek.
    *&l_s_range-sign   = 'I'.
    *&l_s_range-opt    = 'EQ'.
    *&APPEND l_s_range to e_t_range.
    Endform.

    Hi Ryan,
    I thought it was related to BW since the message is posted in the BW forum and accordingly suggested a formula in the update rule, so you would not find it as a FM in R/3. The following code should do it.
    data : p_week type KWEEK,
           p_Date type SYDATUM.
    p_week = <incoming value in week of year>
    CALL FUNCTION 'WEEK_GET_FIRST_DAY'
      EXPORTING
        week               = p_week
    IMPORTING
       DATE               = p_date
    EXCEPTIONS
       WEEK_INVALID       = 1
       OTHERS             = 2
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    To get the last day of the week.
    p_date = p_date + 6.
    You can find the available fm in the system from se37 transaction code.
    Cheers, Ashu

  • Customer Exit Code

    Hello Folkes,
    Could some one explain the below code step by step.
    Is there any documentation explaining about L_S_RANGE-LOW ,L_S_RANGE-HIGH, etc How they are related to the customer variable. Please give your suggestions.
    Lets assume variable ZVAR1 is on fiscal year:
    and Lets assume variable ZVAR2 is on fiscal period:
    WHEN 'ZVAR2'.
    IF I_STEP = 2.
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZVAR1'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(4).
    L_S_RANGE-LOW+4(2) = '01'.
    L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW(4).
    L_S_RANGE-HIGH+4(2) = '12'.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDLOOP.
    ENDIF.
    Regards
    -R

    Hi Rajesh,
    The situation looks for me as following.
    You have a query where the result is shown for the whole fiscal year (fiscal periods from 001 to 012 - most likely with K4 fiscal year variant).
    Since you don't want to manually change the structure of the query (the reporting year) from year to year, you implemented the reporting year variable ZVAR1.
    The user just enters the reporting fiscal year into variable ZVAR1, let's say 200X. The customer exit variable ZVAR2 (of range type) should return the range of fiscal periods to be applied, from 200X01 to 200X12.
    So, the code does the following.
    When the system executes a query containing ZVAR2 (WHEN 'ZVAR2' statement) after the user enters the variable value (IF I_STEP = 2 statement), it searches among the all entered variables values the reference to ZVAR1 variable (LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZVAR1'. statement).
    If the system finds it, it tooks the four digits of the entered date (it's the entered year) and adds to it 01 for the low range limit (L_S_RANGE-LOW4(2) = '01'. statement) and 12 for the higher range limit (L_S_RANGE-HIGH4(2) = '12'. STATEMENT) returning in the customer exit variable a range of fiscal periods from 01 to 12 of the reported year.
    The statement L_S_RANGE-OPT = 'BT'.
    means that low and high values of the returned range should be treated as BeTween option, and
    the statement L_S_RANGE-SIGN = 'I'
    means Inclusive.
    So, the variable ZVAR2  returns its range value: BeTween 01 period of the entered year (through ZVAR1) till 12 period of the same year Inclusively.
    It's simple. There is no need to write any documents or howtos.
    For more details you can execute the SMOD t-code in English choosing:
    enhancement = RSR0001
    object components = Documentation
    and pressing Display button.
    Hope it helps.
    Eugene
    The (your) query has a variable that limits the fiscal periods (most likely in columns).

Maybe you are looking for