Formula Variable with customer Exit (ABAP Code)

Hi Experts,
Please advise me wether i am going in the right way to achieve my requirment else please advise me any alternate approach and update me with the abap code for my customer exit as i am not familiar with ABAP.
My Requirment:
Data :
Emp_ID----Start_Date(DATS)---End_Date(DATS)
I had a user entry (intreval) VARIABLE created on Start_Date
User will enter the date intreval he want to analyze...
Ex: 01.01.2008 to 01.02.2008
Now i want to use the No of Days between user entered date intreval in my calculaction of a keyfigure
In the above example it is 31 days
So i created a Formula Variable of Customer Exit now i need a code that will
pass the user entered dates to
FM: FIMA_DAYS_AND_MONTHS_AND_YEARSImport parameters Value
I_DATE_FROM 01.01.2008
I_DATE_TO 01.02.2008
I_FLG_SEPARATE ' '
Export parameters Value
E_DAYS 31
E_MONTHS 1
E_YEARS 1
and need to pass the E_DAYS (31) to the result of formula
User Entry Variable (Intreval) : ZST_VAR
Formula Variable (Customer Exit) : ZND_EXIT
Code
WHEN 'ZND_EXIT'.
    DATA: low_date2 TYPE d,
    high_date2 TYPE d,
    num_days TYPE N,
    new_low_date2 TYPE d.
    IF i_step = 2.
      LOOP AT i_t_var_range INTO ls_varrange WHERE vnam = 'ZST_VAR'.
        CLEAR l_s_range.
        l_s_range-sign = 'I'.
        l_s_range-opt = 'EQ'.
        ls_varrange-low = low_date2.
        ls_varrange-high = high_date2.
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
  EXPORTING
    I_DATE_FROM          = low_date2
    I_DATE_TO            = high_date2
    I_FLG_SEPARATE       = ' '
  IMPORTING
    E_DAYS               = NUM_DAYS
  l_s_range = NUM_DAYS.
  APPEND l_s_range TO e_t_range.
  EXIT.
  ENDLOOP.
  endif.

Hello,
Before the WHEN statement it shoud have a CASE statement. In the user exit coding place your WHEN statement anywhere between CASE...ENDCASE statement.
your code should look like
DATA: low_date2 TYPE d,
high_date2 TYPE d,
num_days TYPE N,
new_low_date2 TYPE d.
Case i_vnam.
WHEN 'ZND_EXIT'.
IF i_step = 2.
LOOP AT i_t_var_range INTO ls_varrange WHERE vnam = 'ZST_VAR'.
CLEAR l_s_range.
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
low_date2 = ls_varrange-low.
high_date2 = ls_varrange-high.
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
I_DATE_FROM = low_date2
I_DATE_TO = high_date2
I_FLG_SEPARATE = ' '
IMPORTING
E_DAYS = NUM_DAYS
l_s_range-low = NUM_DAYS.
APPEND l_s_range TO e_t_range.
EXIT.
ENDLOOP.
endcase.
Thanks
Chandran

Similar Messages

  • Text Variable With Customer Exit ABAP Code

    Hi Experts,
    Could you please help me with the Logic/Code that i need to use in Calculacting The TEXT Variable Using CUSTOMER EXIT
    I had a rolling report in which there are 14 Calculacted Keyfigures (Not Restricted KF),Which are
    M-1,M-2,M-3,M-4,M-5........M-14
    My requirment is to get the MMM.YYYY based on Sy Date as a title of the column
    In MAY2009
    M-1 represents (Current Month -1) APR2009
    M-2 represents (Current Month -2) MAR2009
    M-3 represents (Current Month -3) FEB2009
    M-4 represents (Current Month -4) JAN2009
    M-5 represents (Current Month -5) DEC2008
    M-6 represents (Current Month -6) NOV2008
    M-7 represents (Current Month -7) OCT2008
    M-13 represents (Current Month -13) APR2008
    M-14 represents (Current Month -14) MAR2008
    In JUNE2009
    M-1 represents (Current Month -1) MAY2009
    M-2 represents (Current Month -2) APR2009
    M-3 represents (Current Month -3) MAR2009
    M-4 represents (Current Month -4) FEB2009
    M-5 represents (Current Month -5) JAN2009
    M-6 represents (Current Month -6) DEC2008
    M-7 represents (Current Month -7) NOV2008
    M-13 represents (Current Month -13) MAY2008
    M-14 represents (Current Month -14) APR2008
    Currently the Description of CKF is named as M-1,M-2..M-14.My requirment is to develop Text Variables that displays the description as MMMYYYY

    Amrit I think u72720 wanted to know how to get MMYYYY in the column headings.
    this can be achieved using text variable easily.
    steps
    1. Right click and go to properties and click the button next to description box.
    2. Add any existing text var from the list
    3. now right click on this var in the desription box and select 'new variable'
    4. give var name description
       processing type ->replacement path
       replace with char-> fiscal period (or calmonth if that is what restricted in your column)
       select value as 'Key'
    finish creation and use this var in all the selection column headings (remove M-1, M-2 etc)
    you will get mmyyyy decriptions for every column depending on month of that column

  • Formula Variable with customer exit

    Hi,
    can we use Formula variables with customer exit based  on characteristics(ex Bill date)? if yes, can you guys help me on this.
    Thanks
    kri

    Yes , you can use a formula variable with customer exit based on characteristics .
    Depends on the requirement what you want to show in the formula variable ,
    Eg : if you want to show the max fiscal year period , in that case :
    create a new formula in the keyfigure section of your query , go to edit , you can see formula variable below the keyfigures ,
    right click on the same and create new formula variable :
    Write the code for the formula varible in the backend as we do for normal customer exit varaible :
    for this e.g the code will be :
    FORM get_variable_value
          tables E_T_RANGE      type RSR_T_RANGESID
          using I_VNAM          type RSZGLOBV-VNAM
                I_VARTYP        type RSZGLOBV-VARTYP
                I_IOBJNM        type RSZGLOBV-IOBJNM
                I_S_COB_PRO     type RSD_S_COB_PRO
                I_S_RKB1D       type RSR_S_RKB1D
                I_PERIV         type RRO01_S_RKB1F-PERIV
                I_T_VAR_RANGE   type RRS0_T_VAR_RANGE
                I_STEP          type I.
      DATA L_S_RANGE LIKE LINE OF E_T_RANGE.
      DATA loc_var_range LIKE rrrangeexit.
    Data  : l_inPer TYPE string.
    IF i_step = 1.
    Select min( distinct FISCPER )
            from /BIC/A(DSO name)
            into l_minper  .
        l_s_range-sign = 'I'.
        l_s_range-opt = 'EQ'.
        l_s_range-low = l_minper  .
        APPEND l_s_range TO e_t_range.
    endif.
    drag the formula variable in the new formula created and exexcute the query , you will be able to see the output .
    This is just an example , your code will differ as per your requirement .

  • Formula variable in Customer exit

    Hi Experts,
    I need help.
    I create 
         first Formula variable (Z_OPTSEL) for a user entry, mandatory, ready for input, dimension ID = Number and
         second Formula variable (Z_OPT1), customer exit, mandatory, not ready for input, dimension ID = Number .
    User Exit code in ZXRSRU01 is :
    When 'Z_OPT1'.
    case i_step.
    when '2'.
    clear e_t_range.
    read table I_T_VAR_RANGE INTO loc_var_range with key vnam = 'Z_OPTSEL'.
    if sy-subrc = 0.
        if <b> loc_var_range-low = '1'.</b>       
                  l_s_range-low = '2'.
        endif.
        if loc_var_range-low = '2'.
             l_s_range-low = '0'.
        endif.
    endif.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    clear l_s_range-high.
    APPEND l_s_range TO e_t_range.
    endcase.
    Unfortunately, I get <u>no value in loc_var_range-low</u> (from Z_OPTSEL) so , I never can fill up Z_OPT1 !! What could I do to fix it ?
    Any help would be welcome .
    Thanks

    <FONT FACE = "Tahoma", Font Color = "Blue">
    My Dear Friend<br>
    <u>Please try the below code:</u><br><br>
    Case vnam.<br>
    When 'Z_OPT1'.<br>
    check i_step = 2.<br>
    <br>
    read table I_T_VAR_RANGE INTO loc_var_range with key vnam = 'Z_OPTSEL'.<br>
    <br>
    if sy-subrc = 0.<br>
    Clear l_s_range.<br>
    if loc_var_range-low = '1'. <br>
    l_s_range-low = '2'.<br>
    endif.<br>
    if loc_var_range-low = '2'.<br>
    l_s_range-low = '0'.<br>
    endif.<br>
    endif.<br>
    l_s_range--sign = 'I'.<br>
    l_s_range-opt = 'EQ'.<br>
    APPEND l_s_range TO e_t_range.<br>
    endcase.<br>
    <br><br>
    Hope it helps.<br><br>
    Cheers Abhijit<br>
    </FONT><FONT FACE = "Verdana", Font Color = "Red">
    Removed
    </FONT>

  • Prob in text variable with customer exit

    Hi to all
    I am working in PA module in HR ,In my Report i have to count total number of trainee and lateral in given Date range that From date to To Date , Before that i have to calculate a Total Employee Strength before one day of From date , suppose user enter a 1st of April 2007 to 1st of jun 2007 , so Employee strength should be calculated on the 31march 2007, for that i have written custome exit , now i am getting a value also , for Display that date have a created a text variable with customer exit , but i am not able to get that date , it should be display strength as on 31march2007 , instead of it is displaying Strength as on 00.00.0000.I am giving a cod also
    ls_range-sign ='I'.
    ls_range-opt = 'EQ'.
    ls_range-low = 'EB1A'.
    append LS_Range to e_t_range.
    WHEN 'ZPA_DATE'.
    if i_step = 3.
    READ TABLE I_T_VAR_RANGE INTO L_S_VAR_RANGE WITH KEY VNAM = 'ZPA_DATE'.
    IF SY-SUBRC = 0.
    ZTEST = L_S_VAR_RANGE-LOW.
    ztest1 = ZTEST - 1.
    export p = ztest1 to MEMORY ID 'VALUE'.
    ENDIF.
    endif.
    WHEN 'ZFRMDAT'.
    if i_step = 3.
    ls_range-sign ='I'.
    ls_range-opt = 'EQ'.
    ls_range-low = ztest.
    append LS_Range to e_t_range.
    endif.
    when 'ZPA_CDAT'.
    if i_step = 3.
    ztest1 = ztest - 1.
    ls_range-sign ='I'.
    ls_range-opt = 'EQ'.
    ls_range-low = ztest1.
    append LS_Range to e_t_range.
    endif.
    when 'ZPA_VAR3'.
    if i_step = 3.
    ztest1 = ztest - 1.
    import p = ztest1 from memory id 'VALUE'.
    concatenate ztest16(2) ztest14(2) ztest1+0(4) into date separated by '.'.
    move date to temp.
    move 'Hello' to temp.
    ls_range-sign ='I'.
    ls_range-opt = 'EQ'.
    ls_range-low = temp.
    append LS_Range to e_t_range.
    endif.
    Please help me to come out
    Thanks

    Hi Stefania,
    to me it looks like your local variable num_mese is not defined with the correct data type.
    Try to change
    if num_mese = 09 to if num_mese = <b>'</b>09<b>'</b>,
    same for 10 -> '10', 11 -> '11'.
    If that does not help please let me know your coding where you define the type of num_mese (DATA statement).
    Regards
    Stephan

  • Formula variable with User Exit

    Hi,
    Can we create a Formula Variable of processing type USER EXIT...which will display a constant Value Y
    Any syntax would be helpful
    Thanks

    Hi,
    check this for formula variables with user exits;
    http://wiki.sdn.sap.com/wiki/display/profile/Surendra+Reddy
    http://sap.ittoolbox.com/groups/technical-functional/sap-bw/customer-exit-to-derive-formula-variable-to-text-variable-sap-bw-35-3030684
    Also Check the issues and solution :
    Formula Variable with User Exit....Problem
    Thanks
    Hemav

  • Characterstic variable with customer exit

    Can u some bady help me.
    How to express about Characterstic variable with customer exit
    Edited by: chenna reddy on Aug 7, 2008 9:48 PM

    Hi,
    The variable may be personalized with some value.
    <b>To remove the personalization for a user:</b>
    Step 1: RSA1 -> Search for ODS 0PERS_VAR
    Step 2: Manage -> Contents ->selective deletion
    Step 3: Put the user to remove the personalization
    http://help.sap.com/saphelp_nw04/helpdata/en/01/42c73c13b0ce5be10000000a114084/content.htm
    Regards
    Happy Tony

  • Text Variable With Customer Exit Logic/ABAP Code

    Hi Experts,
    Could you please help me with the Logic/Code that i need to use in Calculacting The TEXT Variable Using CUSTOMER EXIT
    I had a rolling report in which there are 14 Calculacted Keyfigures  (Not Restricted KF),Which are
    M-1,M-2,M-3,M-4,M-5........M-14
    In MAY2009
    M-1 represents (Current Month -1)  APR2009
    M-2 represents (Current Month -2)  MAR2009
    M-3 represents (Current Month -3)  FEB2009
    M-4 represents (Current Month -4)  JAN2009
    M-5 represents (Current Month -5)  DEC2008
    M-6 represents (Current Month -6)  NOV2008
    M-7 represents (Current Month -7)  OCT2008
    M-13 represents (Current Month -13)  APR2008
    M-14 represents (Current Month -14)  MAR2008
    In JUNE2009
    M-1 represents (Current Month -1)  MAY2009
    M-2 represents (Current Month -2)  APR2009
    M-3 represents (Current Month -3)  MAR2009
    M-4 represents (Current Month -4)  FEB2009
    M-5 represents (Current Month -5)  JAN2009
    M-6 represents (Current Month -6)  DEC2008
    M-7 represents (Current Month -7)  NOV2008
    M-13 represents (Current Month -13)  MAY2008
    M-14 represents (Current Month -14)  APR2008
    Currently the Description of CKF is named as M-1,M-2..M-14.My requirment is to develop Text Variables that displays the description as MMMYYYY

    Sample code, NO syntax check...!!
    CASE i_vnam.  " Variablenname
      WHEN 'M-1'. "For Variable <M-1>
       Data: l_peri type E_BUPER, "Declare variable for Period
                l_year type E_GJAHR "Declare variable for year
        IF i_step = 2.
          DATA l_s_range LIKE LINE OF e_t_range.
          CLEAR l_s_range.
          CALL FUNCTION 'DATE_TO_PERIOD_CONVERT' " By providing Date this FM gives period and year
           EXPORTING
             I_DATE           = SY-DATUM "System Date
             I_PERIV         = V3 "Fiscal Variant
          IMPORTING
             E_BUPER       = l_peri "for period is date is today period = 005
             E_GJAHR       = l_year. "for Year = 2009
          l_peri = l_peri - 1. "To reduce 1 from period (005 - 1 = 004)
          IF l_peri = '004'       "Check value of period.
          Concatenate 'APR' l_year into l_s_range-low. "concatenate 'APR' & Year into Low.
          l_s_range-sign   = 'I'.
          l_s_range-opt    = 'EQ'.
                APPEND l_s_range TO e_t_range.
        ENDIF.
    For M-2 subtract 2 and repeate same.

  • Usage of formula variable with custom table for values

    Hi,
    I have the following scenario:
    a customer wants a report regarding payments of invoices with a formula in it to calculate interest results. In order to do so they want to be able to define a interest rate wich can be used to calculate te result by multiplying the rate by time and amount (for every line in the query the same rate should be used).
    As a solution I thought it would be easiest to give the key user access to a custom table via a custom transaction and then use the entered rate in the query by selecting it from this table using a formula variable (using an exit).
    I was wondering if anyone has ever used such a solution, or if one thinks this is possible.

    Hi Brock,
    Its possible, but I haven't tried as requirements didn't imply.
    More simpler idea is why don't you use a flat file loading through the IP to Info providers?
    Or even more better option is why don't you adapt to Virtual Info providers?
    For your suggested custom table using custom transaction, we can surely make it. Its possible in SE93. Try this transaction code. It must definitely help.
    Thanks,
    Arun Bala G
    Edited by: Arun Bala G on Jan 11, 2010 2:16 PM

  • Formula variable type customer exit

    Hi all,
    Can you explain me how link variable formula processing type customer exit to an infoobject?
    Can you give an example of the exit?
    Thanks
    Gianmarco

    Hi Gianmarco,
    Here's an example of some CMOD code that converts yesterday's date to the factory date - in this case it refers to Factory Calendar Z1. You'll have to create a formula variable (in this case the technical name of the formula variable is ZVFCYEST) to call the code. I'm not much of an ABAPer so it might not be the most efficient code in the world, but at least it works.....
    WHEN 'ZVFCYEST'.
    IF i_step = 1. " BEFORE THE POPUP
    z_today = sy-datum.
    z_yesterday = z_today - 1.
    CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
    EXPORTING
    correct_option = '-'
    date = z_yesterday
    factory_calendar_id = 'Z1'
    IMPORTING
    factorydate = z_yestfact.
    CLEAR l_s_range.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    l_s_range-low = z_yestfact.
    APPEND l_s_range TO e_t_range.
    ENDIF.
    Hope this helps,
    Janet

  • Formula Variable with User Exit....Problem

    Hi
      My requirment is to create a Formula Variable on User Exit that will give me Current Cal Year...so that i can use that vale in Formulas
    Created Formula Variable with processing Type Customer Exit single Value,Mandator and Unchecked the Variable input ready
    The below code in CMOD
    WHEN 'XXXXXXX'.
    Year  = sy-datum(4).
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = Year.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'EQ'.
    APPEND l_s_range TO e_t_range.
    But when i execute the query i am getting the below error
    No value could be determined for variable xxxxxxx.
    Incorrect call of OLAP layer CL_RSR_OLAP; error in BW-BEX-ET
    Diagnosis
    This error diagnosis is specific only to the variables 0P_FVAEX or 0P_CTPCA !
    Termination message BRAIN 632 appears:
    Could not determine value for variable 0P_FVAEX (or 0P_CTPCA).
    WHAT WRONG I AM DOING...please update me

    Use the code:
    WHEN 'XXXXXXX'.
         IF i_step = 2.
              Year = sy-datum(4).
              CLEAR L_S_RANGE.
              L_S_RANGE-HIGH = Year.
              L_S_RANGE-SIGN = 'I'.
              L_S_RANGE-OPT = 'EQ'.
              APPEND l_s_range TO e_t_range.
         ENDIF.
    Let me know, if it is work or not!
      - Balajee Kannan

  • Variables with customer exit

    Please search the forums before posting
    i want an example for variables using customer exit with steps
    Edited by: Arun Varadarajan on Mar 15, 2009 7:25 PM

    Hi,
    You can define 'Formula' variables in your customer exit..for example..
    you need to calculate no of machine running hours per month, in order to
    caculate the machine total utilization time..in this context.. you need to know
    how may hours are there in an month by month..
    you can define a variable and write the code in the customer exit for deriving the total no. of hours available for that month and get that value into a variable for further calution like deducting the down time and set up time so on..in your
    calculated KF..
    Hope this helps..
    Assign points if useful..
    Cheers,
    Pattan.

  • How to use formula variable in customer exit

    Hi all,
            I just want to use formula varible in customer exit
    For eg,
             I have created formula variable with user manual lnput eg: ZFM_V01 = 30
    Another char variable  with user manual input eg: 0keydate = 28/02/2011
    Required output,
    I just want to read my ZFM_V01 value in customer exit
    Result = 0KEYDATE - ZFM_V01
    EG:
    result = 28/02/2011 - 30
    Required result = 29/01/2011
    Kindly guide me how u get formula varibale value into customer exit(CMOD) and find the required result. please help me.
    Thanks & Regards,
    R. Saravanan

    Sorry, Bhanu,Ashwin need more info
    As my understand ::
    Function module RSW_CURRENCY_TRANSLATION uses the following parameters
    Import parameters
    I_CTTNM : Currency translation key (optional)
    I_AMOUNT: Amount in source currency  (not optional !!) (data type: floating point !!)
    I_SCUR : Source currency (optional) I_TCUR : Target currency (optional)
    I_TIME_IOBJVL : InfoObject for determination of the time reference (optional)
    I_SCUR_IOBJVL : InfoObject for determination of the the source currency (p.eg. 0COMP_CODE) (optional)I_TCUR_IOBJVL : InfoObject for determination of the the target currency (p.eg. 0COMP_CODE) (optional)
    I_PERIV : Fiscal year variant (optional)
    I_RATE : Exchange rate (optional)
    Export parameters
    E_AMOUNT : Amount in target currency (data type: floating point !!)
    E_RATE : Exchange rate
    E_SCUR : Source currency
    E_TCUR : Target currency
    I created a Currency key(ZXX) which takes CAD and converts to GBP on Planned Exchange rate (P) with time reference 0CALMONTH.
    In my case :
    Currency Key : ZXX (Confused here)
    Source Curr :CAD
    Target Curr :GBP
    I need a Variable ,which takes time reference and gives back the exchange rate .
    ,,I am I missing some thing ?
    Sudh

  • I need example for VARIABLES with Customer Exit.

    hi every body i need example for Variable for Customer Exit.

    Hi,
    You can define 'Formula' variables in your customer exit..for example..
    you need to calculate no of machine running hours per month, in order to
    caculate the machine total utilization time..in this context.. you need to know
    how may hours are there in an month by month..
    you can define a variable and write the code in the customer exit for deriving the total no. of hours available for that month and get that value into a variable for further calution like deducting the down time and set up time so on..in your
    calculated KF..
    Hope this helps..
    Assign points if useful..
    Cheers,
    Pattan.

  • Variable with customer exit

    Hello,
    I have created a query with customer exit variable.this variable calculates cumulative month from the beginning of the year. this variable depends on another regular variable 0PCALMON (single value, mandatory). i also use this variable in the query to show the month itself.
    <b>the problem is as follow:</b>
    until yesterday the 0PCALMON variable pop up normally, but now the variable doesn't pop up  at all!
    Does anyone have an idea?
    Thanks,
    Maya

    Hi,
    The variable may be personalized with some value.
    <b>To remove the personalization for a user:</b>
    Step 1: RSA1 -> Search for ODS 0PERS_VAR
    Step 2: Manage -> Contents ->selective deletion
    Step 3: Put the user to remove the personalization
    http://help.sap.com/saphelp_nw04/helpdata/en/01/42c73c13b0ce5be10000000a114084/content.htm
    Regards
    Happy Tony

Maybe you are looking for

  • How to merge 2 part of two different Domdocument

    Hi, I try to copy on subtree from a first DOMdocument to a second DOMDocument and I receive a java null pointer exception. How can I copy one part of a DOM to another ? CREATE OR REPLACE PROCEDURE testDom IS BufferString VARCHAR2(32767) := '<TEST>tes

  • Laptop stuck on blue loading screen!

    hi folks! i am in serious need of HELP! any advice wud be appreciated! I updated the software on my laptop to 10.4.9 about 3-4 days ago and it worked fine, however 2 days later my laptop crashes and then when i go to start it up again it doesnt stop

  • I want to disable login notification in my browser?

    I enabled login notification, so now I have to name my computer to sign into facebook.

  • Why isn't Adobe Captivate part of the CC subscription? Can it be added to the suite?

    I Recently purchased a subscription for  CC, and honestly I just found out about Captivate. This is what I really need. Why isn't it includes with the subscription? It seems odd not to include it.

  • HT202213 No Home Sharing Icon

    Signed in on both computers multiple times, turning home sharing on and off. Both computers have current versions of itunes. Should work, but doesn't. I need to transfer some moving purchases from one computer to the other. Thanks,