Regarding Customer exit - ABAP Code

Hi Friends,
I have a scenario in one of the query and need to write a customer exit for the same. Here is the scenario:
I am using one input variable XXX to get input from user which feeds value to one of the charateristic lets say "CHAR1" in query. I have one more characteristic "CHAR2" which has to get the value from the same variable XXX. This is not allowed in BI7.0 as the variable is Hierarchy Node type. It gives error that "Variable XXX is used for two different characteristics."
So i need to create one more vaiable YYY which will get the value from XXX and then YYY will feed value to CHAR2. I would appreciate if some one could tell me step by step how to write customer exit and give me the piece of ABAP code i need to write in my case.
Your help will be appreciated in terms of points.
Thanks,

Hi Manmit,
The following link can guide you on how to write customer exits (this has example as well)
[http://help.sap.com/saphelp_nw70/helpdata/EN/61/579b3c494d8e15e10000000a114084/frameset.htm]
Hope this helps.
Cheers,
Sumit

Similar Messages

  • 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

  • Help needed in writting Customer exit - ABAP Code

    Hi Friends,
    I have a scenario in one of the query and need to write a customer exit for the same. Here is the scenario:
    I am using one input variable XXX to get input from user which feeds value to one of the charateristic  lets say "CHAR1" in query. I have one more characteristic "CHAR2" which has to get the value from the same variable XXX. This is not allowed in BI7.0 as the variable is Hierarchy Node type. It gives error that "Variable XXX is used for two different characteristics."
    So i need to create one more vaiable YYY which will get the value from XXX and then YYY will feed value to CHAR2.  I would appreciate if some one could tell me step by step how to write customer exit and give me the piece of ABAP code i need to write in my case.
    Your help will be appreciated in terms of points.
    Thanks,
    manmit

    Hi Arun,
    1. What should CHAR2 take - Hierarchy node variable or something else ?
    --> CHAR2 is a simple charateristic
    2. In your scenario - why have CHAR1 and CHAR2 ? why not have the user enter values against CHAR2 ??
    --> We dont want user to enter two input as the input values for both Chars are same.
    3. Did you try using a replacement path variable with the CHAR2 variable taking values from Variable on CHAR1 ?
    --> In BI7.0 replacement path variable only take values from Query results. So not able to do the same.
    Thanks

  • 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

  • Where is the BEX customer exit's code

    Hi:
      There is a customer exit named ZFI_E_FPER_CY in bex. i want to  see the code of this exit.   i tried to find it in function moudle EXIT_SAPLRRS0_001 and ZXRSRU01.but the code is not inculded there.
    can anybody tell me how to find this customer exit's code.
    thanks and regards.

    i know now . there is a function :
      CALL FUNCTION funcname
        EXPORTING
          i_vnam        = i_vnam          "var nm
          i_vartyp      = i_vartyp        "var type text, char,formula etc
          i_iobjnm      = i_iobjnm        "infoobject var refers to
          i_s_cob_pro   = i_s_cob_pro     "infoobject properties
          i_s_rkb1d     = i_s_rkb1d       "Query Reporting Attribute
          i_periv       = i_periv         "Query Definition Attribute
          i_t_var_range = i_t_var_range
          i_step        = i_step
        IMPORTING
          e_t_range     = e_t_range
          e_meeht       = e_meeht
          e_mefac       = e_mefac
          e_waers       = e_waers
          e_whfac       = e_whfac
        CHANGING
          c_s_customer  = c_s_customer.
    if the value in this function is  fill the request,it's not neccessary to deal anymore.

  • 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

  • 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

  • Customer Exit-ABAP

    Hi Experts,
    The following code is return as a customer exit used in reports,Could you please tell me what exactly it is doing and also modify this code,So that it won't display zero values
       Please convert this machine language into human language
       WHEN 'ZYTD'.
        CLEAR l_s_range.
        wdate = ww_date.
        weekno = '01'.
        SELECT SINGLE * FROM  /bic/pycalday_w
             WHERE  /bic/ycalday_w  = wdate
             AND objvers = 'A'.
        thisweek = /bic/pycalday_w-/bic/ylwk_w.
        CONCATENATE thisweek(4) weekno INTO firstweek.
        l_s_range-low = firstweek.
        l_s_range-high = thisweek.
        l_s_range-sign = 'I'.
        l_s_range-opt = 'BT'.
        APPEND l_s_range TO e_t_range.
    Thanks

    Hi,
    Functionality- ZYTD --this variable gives the first week of the year to the current week of year.
    low- first week as 012006
    high -the current week as per "wdate" which can to enter by user...
    /bic/pycalday_w - master data table for calday_w infoobject where for current date ..you will find week.
    you can go ti se11 and enter the table name...you then see thw master data for this...
    now understand the code...
    WHEN 'ZYTD'. <b>''This is custtom exit variable create in query..</b>
    CLEAR l_s_range.
    wdate = ww_date. <b>''contains the date as 10.01.2006</b>
    weekno = '01'.
    SELECT SINGLE * FROM /bic/pycalday_w
    WHERE /bic/ycalday_w = wdate
    AND objvers = 'A'. <b>''now you are finding the current week as per wdate..' it will fetch you 02 (as 10.01.2006)</b>
    thisweek = /bic/pycalday_w-/bic/ylwk_w.
    <b>(thisweek=022006)</b>
    CONCATENATE thisweek(4) weekno INTO firstweek.
    <b>(thisweek(4) will give you year ie. 2006 and weekno is 01..whihc make '200601'</b>
    l_s_range-low = firstweek. <b>'200601'</b>
    l_s_range-high = thisweek. <b>'200602'</b>
    l_s_range-sign = 'I'.
    l_s_range-opt = 'BT'.
    APPEND l_s_range TO e_t_range.
    now where are you getting zero value...
    regards,
    San!
    Message was edited by: San!

  • Customer Exit - ABAP Class in WAD 7.0

    I am using the Customer Exit  (CUSTOMER_EXIT_TYPE  - ABAP_CLASS_NAME) in the WAD 7.0 to place some urls on the web application. I pass the url value as <a href=u201Dhttp://www.yahoo.comu201D>yahoo</a> in the ABAP class to the the template but when I execute the template it converrts to the following - &lt;a href=u201Dhttp://www.yahoo.comu201D>yahoo</a> in the source code.
    Does any one has experienced the same problem and know the solution.
    Thanks
    Amit

    Just to Clarify I am passing value as l_s_values-value = '<a href=u201Dhttp://www.yahoo.comu201D>yahoo</a>'
    and the IE is interpreting it as l_s_values-value = '&lt;a href=u201Dhttp://www.yahoo.comu201D>yahoo</a>'.

  • Regarding Customer Exit in Bex

    Hello Expers.
    Here is my scenario: I have variable which accepts the key date from the user. The requirement is to get the calmonth from the date entered by the user. According to my point of view, Writing customer exit is a best option but i do not know is it possible for me to pass the date, entered by the user, to exit? If Yes than please let me know how?
    Help required Urgently

    use the parameter I_STEP which specifies when the enhancement is called.
    The following values are valid for I_STEP:
    ·        I_STEP = 1
    Call takes place directly before variable entry
    ·        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.
    sample code : user enter value of date in say variable ZDATE
    l_s_range TYPE rsr_s_rangesid,
    l_t_var_range TYPE rsr0_s_var_range.
    WHEN 'ZCALM' .
    if i_step=2.
    read table i_t_var_range into l_t_var_range with key vnam = 'ZDATE' .
    if sy-subrc = 0.
    l_s_range-low = l_t_var_range+0(6).
    l_s_range-high = l_t_var_range+0(6).
    l_s_range-opt = 'EQ'.
    l_s_range-sign = 'I'.
    append l_s_range to e_t_range.
    endif.
    endif.

  • Explain Customer Exit (ABAP) Logic

    Hi Experts
    Could any one explain me what is this Customer Exit doing
    CASE I_VNAM.
    WHEN 'ZXPDATE'.
    IF I_STEP = 2.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = SY-DATUM.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'GE'.
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDIF.
    ENDCASE.

    Hi Santosh,
    Thanks for the Update
    'In your code it is calculating the system data which is greate than or equal to and that value will be restricted to that user exit variable and it will bring the output based on that system data '
    The Variable ZXPDATE (Processing Type-Customer Exit) is Created on Policy Expiry Date.
    My requirment is to show all the Policys whose expiry date is Greater than or equal to Current Cal Day/Sys date
    Is that the code doing
    If not please correct the code accordingly
    Thanks

  • Explain Customer Exit (ABAP) Written in CMOD

    Hi Experts,
    Please explain what this Customer Exit (CMOD) is performing
    Here var1 is the user entered expiry date and test1 is the newly created customer exit variable.
    What happens if user enters 01.05.2008 to 31.05.2008
    data: yrr1(4) type n,
    mn(2) type n,
    dy1(2) type n.
    when 'test1'.
    if i_step = 2. "after the popup
    loop at i_t_var_range into loc_var_range
    where vnam = 'var1'.
    yrr1 = loc_var_range-low+0(4).
    mn = loc_var_range-low+4(2).
    dy1 = loc_var_range-low+6(2).
    clear l_s_range.
    concatenate yrr1 mn '01' into l_s_range-low.
    concatenate yrr1 mn dy1 into l_s_range-high.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'BT'.
    append l_s_range to e_t_range.
    exit.
    endloop.
    endif.

    HI,
    it will populate the below range for test1.
    01.05.2008 to 01.05.2008.
    based on the selection provided in var1, it takes the from value.
    then it takes the first day of the month of the from value from the var1 to the from date in var1.
    suppose you give in var1 25.05.2008 to 31.05.2008
    then in test1 it will take 01.05.2008 to 25.05.2008
    retgds,
    Shashank

  • Doubt Regarding Customer Exit

    Hi All ,
    In customer exit MM06E005 we have a screen area named INCLUDES in the components screen , in that we have two customer includes .
    My doubt is that whether it is mandatory that we can add only the field that are added in that customer includes i.e CI_EKKODB  CI_EKPODB  or we can add any others from other customer includes such as CI_COKB in the table EKKN..

    Hi,
    You can add fields in other cusomer include also but then this userexit will not be useful for you since its using CI_EKKODB and CI_EKPODB.
    REWARD IF USEFUL

  • Regarding Customer Exit

    I am doing Function Exit for Transaction CO12.
    When the Wage Group is initial it should display message like "Enter Shift A/B/C in field Wage Group".
    i am getting this one. after display this message screen should go to previous screen ( What we entered data) . I am getting this one but data is clearing and fresh CO12 transaction is opening.
    I want that data also.
    Please sugget.
    Regards
    Rami

    Dear Rami Reddy,
    This is a functio Exit.
    i don't think you need to use LEAVE SCREEN.
    see from the Standard Code of SAP the funtion module will get called and it come to your code, after executing the FM it will contine processing further.
    in Function Exits IT is not adviceable to use LEAVE SCREEN or CALL SCREEN unless suggeted by the FM documentation
    Most importantly you are using the LEAVE SCREEN with in a loop.
    please analyze your code with peace of mind.
    regards
    Ramchander Rao.K
    Edited by: ramchander krishnamraju on Nov 20, 2008 8:18 AM

  • Regarding explaination of ABAP code

    hai
    pls tell me what this code means
    <b>Delete int_equipment where zpmtechid is initial.
    Delete adjacent duplicates from int_equipment.</b>
    Here , int_equipment is internal table with zpmtechid is column
    pls tell me the code explanation
    txs
    rizwan

    hi Rizwan,
    for delete adjacent, from sap help
    http://help.sap.com/saphelp_nw2004s/helpdata/en/06/aafd54fc4011d195280000e8353423/frameset.htm
    Deleting Adjacent Duplicate Entries
    To delete adjacent duplicate entries use the following statement:
    DELETE ADJACENT DUPLICATE ENTRIES FROM itab
    COMPARING f1 f2 ... .
    The system deletes all adjacent duplicate entries from the internal table itab. Entries are duplicate if they fulfill one of the following compare criteria:
    ·        Without the COMPARINGaddition, the contents of the key fields of the table must be identical in both lines.
    ·        If you use the addition COMPARING f1 f2 ... the contents of the specified fields f1 f2 ... must be identical in both lines. You can also specify the fields f1 f2… dynamically using (n1) (n2) … as the contents of a field n1 n2. If n1 n2 is empty when the statement is executed, it is ignored. You can also restrict all fields f1 f2 … to subfields by specifying offset and length.
    ·        If you use the addition COMPARING ALL FIELDS the contents of all fields of both lines must be identical.
    You can use this statement to delete all duplicate entries from an internal table if the table is sorted by the specified compare criterion.
    hope this helps.

Maybe you are looking for

  • Accessing container variables from ccBPM in Message Mapping?

    Hello Friends, I have created a ccBPM and require to send response messages to the sending system at different points as the message proceeds from one state to another. I do not want to create multiple message mapping stating different status in ever

  • Files missing from drive - and Time Machine (Freeway files)

    A file that was just updated yesterday is now gone from the computer - everywhere. Gone from the internal drive and gone from time machine. When I do a search for the file type, the last update to it shows as December 19th. This is the day after I er

  • Why are my bookmarks becoming invisible?

    Ever since I downloaded the latest version of Firefox, I've been having display issues with my bookmarks toolbar. Whenever I mouse over the last five or six bookmarks, their icons disappear until I reload the page. I cannot access any of the bookmark

  • "The Game Cannot Be Launched"

    This error message has occured about 3 times in the three months that I've own my ipod classic. It only occurs when I click to play Klondike the solitare game. The message states: "This game cannot be launched. This may be the result of a full iPod.

  • Trying to figure out how to enter time for resources that dont have access to PWA

    I am fairly new to Project Online and have configured most of my server settings.  I have created a project and set the enterprise resources then published the project to PWA. Once there the users with Project lite and project managers can see the ta