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,
manmitHi 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 MMMYYYYAmrit 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!
TomHi
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 -
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.
ThanksHi,
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 - <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
AmitJust 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 = '<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 Urgentlyuse 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 -
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 -
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
RamiDear 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
rizwanhi 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
-
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