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!

Similar Messages

  • 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

  • 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

  • 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

  • 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 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>'.

  • 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

  • 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

  • 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

  • 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

  • Error in the ABAP Code for Customer Exit Variable

    Could you please update me what is the wrong with the below ABAP Code developed for Customer Exit Variable in BW
    i created a Variable (ZVWKNO) of Customer Exit,Single Value ,Mandatory and Variable is ready for input
    In CMOD i had written the below Code:
    When 'ZVWKNO'.
    DATA: WEEK(2) TYPE N,
    WEEKNO(2) TYPE N.
    IF i_step = 1.
    l_st_date = SY-DATUM.
    CALL FUNCTION 'DATE_GET_WEEK'
    EXPORTING
    DATE = l_st_date
    IMPORTING
    WEEK = l_fn_week.
    CHECK sy-subrc = 0.
    WEEK = l_fn_week+4(2).
    If WEEK 0.
    WEEKNO = WEEK - 1.
    l_s_range-low = WEEKNO.
    l_s_range-sign = k_sign_inclusive.
    l_s_range-opt = k_option_equals.
    APPEND l_s_range to e_t_range.
    ENDIF.
    ENDIF.
    But when i execute the query the default value is not populated with Week-1 No in the variable screen
    Please update me what went wrong
    Thanks

    Case ZVWKNO.                "write this with out comments
    When '1'.              "write the value that needs to equal with value in varaible ZVWKNO after when in sungle quotes
    DATA: WEEK(2) TYPE N,
    WEEKNO(2) TYPE N.
    IF i_step = 1.
    l_st_date = SY-DATUM.
    CALL FUNCTION 'DATE_GET_WEEK'
    EXPORTING
    DATE = l_st_date
    IMPORTING
    WEEK = l_fn_week.
    CHECK sy-subrc = 0.
    WEEK = l_fn_week+4(2).
    If WEEK 0.                                    "check this Week Minimum is '01' and Maximum '52'
    WEEKNO = WEEK - 1.
    l_s_range-low = WEEKNO.
    l_s_range-sign = k_sign_inclusive.
    l_s_range-opt = k_option_equals.
    APPEND l_s_range to e_t_range.
    ENDIF.
    ENDIF.
    Prabhudas

  • Looking for an ABAP-code for the customer-Exit Variable

    Hello,
    I have defined a Variable (Interval) which should be processed through Customer-Exit on characteristic Supplier-Date (date format). This Customer-Exit Variable is called ZDATE.
    We have another time characteristic Fiscal year / period (0FISCPER) which has single mandatory input variable for ex.  003.2011. This input variable is called ZFISCPER.
    Now I have to write an ABAP-Code where the customer exit variable ZDATE is derived (fiscal last year to last period) from input variable ZFISCPER in INCLUDE ZXRSRU01.
    Means when the input variable (ZFISCPER) is 003.2011 then the customer exit variable ZDATE should be calculated in INCLUDE ZXRSRU01 as 01.01.2010 u2013 28.02.2011 (fiscal last year to last period).
    Since I am quite new in ABAP, I will be grateful if you could write me sample ABAP for this.
    Many thanks.

    Hi,
    should be something like:
    DATA: l_s_range TYPE rsr_s_rangesid,
    input LIKE sy-datum.
    When 'ZDATE'
    CONCATENATE '0101' 0FISCPER+3(4)-1 into l_s_range-low. "You get 01012010
    CONCATENATE '01' Fiscper+1(6) into input.                            "You get 01032011
    l_s_range-high = input-1.                                                     "You get 28022011
    APPEND l_s_range TO e_t_range.
    Greetings
    Roman

  • Help! Need Abap code in Bex for Customer Exit

    Hi,
    I am new to abap, i need help in creating variable type customer exit.
    i want to create a variable type customer exit the reqmnt is to create a variable that will derive quarter(0CALQUARTER) from FINANCIAL_CLOSING variable.
    Really appreciate if one can provide me the coding for this logic.
    Thanks.

    Hi Yaser,
    Check this below.
    http://scn.sap.com/thread/278890
    Regards.

  • ABAP Help for customer exit

    Hi All, I need help with ABAP code for customer exit for formula variable. I have ZVKDATE as formula var from customer exit. user enters date in ZVKEYDT(this is selection type var). I have the below code, I debugged it the l_var_range-low get the date but when I append it to e_t_range the table doesn't gets the date. The report shows the ZVKDATE has empty demarcation. kindly help.
    data l_var_range like rrrangeexit.
    data: l_s_range type RSR_s_RANGESID.
    data: w_day(2) type c,
          w_mth(2) type c,
          w_year(4) type c.
    define append_range_table.
    l_s_range-low = &1.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    append l_s_range to e_t_range.
    end-of-definition.
    *Activities performed before selection screen pop-up window
    if i_step = 2.
    Calculate the current date based on system date
      case i_vnam.
        when 'ZVKDATE'.
          read table i_t_var_range into l_var_range
                            with key vnam = 'ZVKEYDAT'.
          l_s_range-sign = 'I'.
          l_s_range-opt = 'EQ'.
          w_day = l_var_range-low+6(2).
          w_mth = l_var_range-low+4(2).
          w_year = l_var_range-low(4).
          concatenate w_year w_mth w_day into l_var_range-low.
          append l_s_range to e_t_range.
      endcase.
    endif.
    puneet

    Hi,
    Check your code again. You are not appending l_var_range but l_s_range. Also I think the concatenate statement should contain l_s_range-low instead of l_var_range-low.
    Hope this will help you.
    Regards,
    Vaibhav

  • ABAP code Help for Customer Exit variable

    Hello All,
    Can anyone provide ABAP code for a customer exit variable please?
    Requirement:
    0CALYEAR(InfoObject) - ZCALCYR (Variable) <b>Calender year with default value actual year</b>.
    Proiperties of variable: single value,mandatory,ready for input,can'be changed in query navigation.
    i have read some docs on customet exit variables which i got from SDN but i found it's difficult for me to get this as i am not that good in ABAP.
    Thanks,
    Rakesh.

    Hi,
       Just check the below code. You just need to make slight changes I believe. Hope this helps you.
    In CMOD………..
    Sample code
      INCLUDE LXRSRF01                                                   *
    data: l_s_range type rsr_s_rangesid.
    case i_vnam.
      when 'ZCALCYR'.
        if i_step = 1.
         l_s_range-low = sy-datum+0(4).
            append l_s_range to e_t_range.
        Endif.
    Endcase.

Maybe you are looking for

  • PaperCaptureSvc not working in Cluster env.

    Hi ! The config: ADEP 10 SP1, Windows 2008 R2 (SP1) x64, Jboss 5.1 , MSSQL 2008 We built a cluster and when we are trying to simply OCR a TIF document using adminui, the returned error message is always : I started a single node and the message is th

  • My camera won't connect to iMovie

    When I click on 'import from camera'. it says that no camera is connected. But my camera is connected. I also checked to see, and my camera is compatible with iMovie. I feel like I have tried everything and I don't know what the problem is. I have re

  • Mail Merge script to replace any blank fields with specific text

    In InDesign Mail Merge I would like to replace any blank fields with specific text. For example if we have four fields (A, B, C & D) to merge, and field A is blank, it would insert field C. In essence leaving no blank fields but replacing a blank fie

  • Registering Photshop Album Starter Edition

    I received a copy of Adobe Photoshop Album Starter Edition 3.0 with a new computer and I am unable to register it, I have Windows XP Media Center 2005. I have DSL that normally works fine & I use Mozilla as my browser. I fill out the registration for

  • How to get logic to save a crashed version???

    Hi. Logic keeps crashing when i do things like move loads of audio a few bars later but never seems to save a crashed version. How do i make sure that a crashed version is saved everytime this happens? Thanks, Ben