Customer Exit variable creation
All,
I have the follwoing requirement
Variable : Requested delivery date ( Range , Mandatory)
Rows: --- Columns
Average monday - Actual Orders
Average Tuesday --Actual Orders
Average wednesday - Actual Orders
Average thursday - Actual Orders
Average friday --Actual Orders
Based on the user entry , The query has to calculate Actual orders by different days..
I think I have to write customer exit variable. or is there any other/better solution..
thanks
srinivas
Hi,
We can do it by using Customer Exit code, but it requires more efforts to do teh same. For Customer EXit codes with example please see the url.
https://wiki.sdn.sap.com/wiki/display/profile/Surendra+Reddy
Thanks
Reddy
Similar Messages
-
Error creating Customer Exit variable, please help
Hi Experts,
This is the scenario, I need to obtain the convertion rate from the table TCURR in order to convert several currencies to USD, so I created a Customer Exit variable that gets the Period and based on that obtains the conversion rate for the last day of the given month from TCURR, the problem is when I created the Formula Variable to get the value from the Customer exit variable I got the following error:
'ZVARREGEXIT' ALREADY EXISTS; SELECT A DIFFERENT NAME.
But in not using that name anywhere on my variables creation, Im doing something wrong? How can I check wheres is that variable being used.
Ideas, comments are always welcome and appreciated.
Regards.Hi Ed,
Open Admin Workbench (RSA1) and choose Transport Connection --> Object Types --> Query Elements --> Variable --> Select Objects. Find the variable of interest and transfer it back to the main screen, then right-click and choose 'Display Description'. That will show you a "where used" list of queries, workbooks, etc.
Next, you can use the previous technique to open one of the queries, find the variable in the query, and determine which InfoObject it is associated with.
Hope this helps!
Regards,
Saurabh -
Customer Exit variable to display the current Year/Month by default.
Hi Experts,
I need to create a variable on the object 0CALMONTH that needs to display the current Month/Year by default when the query is run.
Can anyone please help with the ABAP code that is required for the creation of this Customer Exit Variable?
Thanks
AravindHi,
try this , just copy and paste in your Editor,
Data: Year(4) type c,
month(2) type C,
date(6) type c.
IF I_STEP = 1.
CASE I_VNAM.
WHEN 'VAR_X'.
l_s_range-low = sy-datum+0(6).
l_s_range-opt = 'EQ'.
l_s_range-sign = 'I'.
year = l_s_range.
l_s_range-low = sy-datum+4(2).
l_s_range-opt = 'EQ'.
l_s_range-sign = 'I'.
month = l_s_range.
concatenate year month INTO date separated BY '/' .
Append date to e_t_range .
ENDCASE.
ENDIF.
Thanks,
JACK -
Customer exit Variable for Previous 12months Rolling based on 0calday
Hi Experts,
I am creating a Customer exit variable to derive Rolling 12 months based on calday,
Could you please any body correct the below code,
Or if you any body have pseudo code based on calday, could you please pass to me
WHEN 'zcalday'.
* Rolling 12 months to period
IF i_step = 2.
CLEAR: l_s_range, loc_var_range,
LOOP AT i_t_var_range INTO loc_var_range
WHERE vnam = 'RYEAR'.
MOVE sy-datum TO: lv_date_from,
lv_date_to.
zmonth = lv_date_from+4(2)
l_s_range-high = zmonth = loc_var_range-low.
v_fiscper = v_fiscper - 12.
l_s_range-low = v_fiscper.
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
APPEND l_s_range TO e_t_range.
ENDLOOP.
ENDIF.
Thanks and regards
SreeHi Yasemin,
Thanks for your help,
I have small clarification, I have following data in base cube,After restricting the customer exit variable
on revenue I suppose I will get one Amount, i.e 7800, But If I want month wise, Do I need to create offset? or without creation of offset is there any way that will split based customer exit variable.....
Thanks a lot
regards
Sree
Execution date
24/06/2014
Comp Code
Date
Revenue
C100
01/07/2013
100
C100
01/08/2013
200
C100
01/09/2013
300
C100
01/10/2013
400
C100
01/11/2013
500
C100
01/12/2013
600
C100
01/01/2014
700
C100
01/02/2014
800
C100
01/03/2014
900
C100
01/04/2014
1000
C100
01/05/2014
1100
C100
01/06/2014
1200
Total
7800 -
Default value of BeX customer Exit variable not Displayed in WeBI??
Hello Experts,
We are stuck with a problem where WeBI report is created on top of BeX query and we are not able to see the default value of Bex Customer exit variable in WeBI run. Here is the complete scenario:
1. One restricted KF is created in BeX, restricted with Customer exit variable on net Due date. And this variable is mandatory, ready for input, and Default value in calculated is user exit as current Week's Monday.
2. So, by default KF data should be restricted to Monday of current week, if user does not change this value.
3. Now, WeBI report is created on top of this Bex query, and all is working fine, i.e. we are getting variable as Prompt in WeBI, but Default value is not shown while Running the Webi Report.
So, need your inputs on the same, if default values from BeX in WeBI is supported or not? If yes, why this is happening, and how to resolve it?
Please notice, the restrcition is in KF only, it is not a separate restrcition on Net Due date in Filter area or in Defualt area of BeX
and we are on SAP BW 7.1 and BOXI 3.1 SP4.
Regards,
Vipul
Edited by: VIPUL GOYAL on Nov 23, 2011 9:44 PMHi,
See 1285993 - Support of Customer Exit Variables from BEx query into WebIntelligence via OLAP universe
WebI will prompt when executed, but the default values calculated by the user exit - do not appear.
Note: If the BEx variable has property 'ready for input' set / enabled, then its WebI prompt shows ok, but no default value appears.
Cause
This behaviour expected 'by design' (in the context of the product's current limitations) as explained in the online guide below:
Please refer to Chapter 7, page 44, document link here: http://help.sap.com/businessobject/product_guides/boexir3/en/xi3_sap_olap_universes_en.pdf
Characteristic variable > processing type > Customer Exit is "Supported, without user entry"
--> This should be understood as meaning "User will not be shown a prompt"
regards,
H -
Display Error Message in BW Report based on Customer Exit Variable
Hi
I need to display an error message in the BW report based on the value of a customer exit variable - i was able to do this successfully in BW3.5 using the below code.
WHEN 'ZUPN'. "Here ZUPN is the customer exit variable
IF i_step = 1.
<check for condition -- if successful, variable flag = 1, else variable flag = 0>
IF flag = 0.
MESSAGE e157(00). "Error Message
ENDIF.
ENDIF.
I have upgraded my system to BI 7.0 now. Whenever the variable check is not successful, it displays a blank screen instead of the error message in the report. Please advice if we need to change the code and how ??Bhanu,
Thanks for u r reply.This warning message appears every time i execute the report through portal.
Any idea ?
Regards
Mano -
Customer Exit variable of Query not working in View
Hi,
I have a customer exit variable in my query to calculate the last 6 month period on Calendar month. I have used 0CMONTH for the same and then using offset of 6 on its value range to get it.
Now, I have many views based on this query, which should ideally be having the same filter condition for the calendar month, but it is not happening. Although, it is working fine for the query! The views do not seem to be catching the selection correct.Hi there,
As far as I Know, yes they exist. The only difference here, is that you build a query with a selection screen, and you execute the query with some selection parameters, and therefore all customer exit variables, offsets, etc, will be read and changed at the runtime execution of the query, and you can rearrange your query visualization drilling down free char., making filters, etc. and storing that visualization in a view.
If you save your view and execute it afterwards, you'll get the same selection parameters to input, the same offsets, etc, that you have with the query, but with a visualization stored by you.
So that should have been working.
Diogo. -
Customer Exit variable and Filter routine in DTP does not works?
Hello Experts,
Does anyone know what might be the possible reason - A customer exit variable working fine on the OLAP side does not work in a DTP??
I have also tried to use the Filter routine, which does not give me the right results..I am trying to fetch a Fiscalyear period maintained in an infoObject as follows in my Filter routine..
ata: sel_period like /BIC/PZPARAM-/BIC/ZPARAMVAL.
DATA: zperiod type /BI0/OIFISCPER.
SELECT SINGLE /BIC/ZPARAMVAL INTO sel_period
FROM /BIC/PZPARAM
WHERE /BIC/ZPARAM = 'ZPCA'
AND objvers = 'A'.
zperiod = sel_period.
data: l_idx like sy-tabix.
read table l_t_range with key
fieldname = 'FISCPER'.
l_idx = sy-tabix.
l_t_range-iobjnm = '0FISCPER'.
l_t_range-fieldname = 'FISCPER'.
l_t_range-sign = 'I'.
l_t_range-option = 'EQ'.
l_t_range-low = zperiod.
if l_idx <> 0.
modify l_t_range index l_idx.
else.
append l_t_range.
endif.
p_subrc = 0.
Please let me know if I am making any mistakes above..
Kind Regards,
KadriksHi
1. CLEAR l_t_range-high. is missing in your code befor assigning values to l_t_range.
2. use simple append l_t_range after the l_t_range asisgnments. remove below code :
if l_idx 0.
modify l_t_range index l_idx.
else.
append l_t_range.
endif.
p_subrc = 0.
3. I dont think you need to assign infoobject.
4. Clear sel_period and zperiod is also missing
Hence your code should be :
data: l_idx like sy-tabix.
read table l_t_range with key
fieldname = 'FISCPER'.
CLEAR l_t_range-high.
l_idx = sy-tabix.
l_t_range-fieldname = 'FISCPER'.
l_t_range-sign = 'I'.
l_t_range-option = 'EQ'.
l_t_range-low = zperiod.
append l_t_range . -
Customer exit variable - internal table in BEX
Hi,
i am running a report and using variables in it.
The report runs over a info cube. There are few challenges in it.
One of the variable is posting date, and when user enters posting date i need to negate it with current system date.
If the negated value is greater than 28 then i need to exclude documnet type 'YG' and display the query, else i need to include the dcumnet type 'YG' and document type ' '. The above logic can be well implemented via a customer exit variable(for posting date) using an internal table. We have internal tables like C_T_DATA which is used in data source enhancement, which help us to implement our own desired logic.
Do we have such kind of internal tables, based on which the report output (result set) is derived?
i know that we have l_t_range and e_t_range, but dont know their usage, some one can explain in detail about them?
Thanks in advance.Hi Selva & Lakshmin,
The code given by Selva is almost correct . If my understanding is clear , you also wanted to include document type ' ' when the negated value is less than 28 .
Modification in Selvas Code :
Variable 'V_DOCTYP' must be of type Multiple Single Values.
DATA : V_DATE LIKE SY-DATUM.
DATA : V_DAYS TYPE I.
if i_step = 2.
when 'V_DOCTYP'.
READ TABLE i_t_var_range INTO loc_var_range WITH KEY vnam = 'ZV_PDATE''.
IF SY-SUBRC = 0.
V_DATE = loc_var_range-low.
ENDIF.
V_DAYS = SY-DATUM - V_DATE.
IF V_DAYS > 28.
l_s_range-low = 'YG'
l_s_range-sign = 'E'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
ELSE.
l_s_range-low = 'YG'
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
clear l_s_range.
l_s_range-low = ' '.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
ENDIF.
ENDIF.
Hope the above reply was helpful.
Kind Regards,
Ashutosh Singh -
Customer Exit Variable and Condition in a Query (Sequence of Execution)
Hi,
For a query i defined a Customer exit variable and a condition....
Which will first execute...wether it is a Variable and then Condition or vise versa
Is there any way we can control sequence of execution
My requirment is first to execute the condition and the variable how can i control this
ThanksHi
In your customer exit you will be having a field by name I_STEP which will help you to handle the time of execution of the variable.
Assign points if helpful
Prathish -
Customer Exit Variable not working in BO-Webi Report
Hi All,
I have created a universe based on Bex Query.
Bex query consists of a customer exit variable on Calendar year/month where in it will populate current calendar year month by default while executing the query. It works fine while executing in SAP BI Bex Analyser.
I have created a universe based on the query. For Calender year/Month i got L00, L01, LOV values in universe.
Based on the universe I have created a Webi report. I did not specify calendar year/month as query filters. While directly executing the Webi report, I get the calendar year/month variable screen. But the value for it not populated based on customer Exit code written in BI.
What has to be done to get the customer exit values in variable screen.
Thanks for your understanding.
-- SelvaSince you have customer exit variable in your bex query, it will be like a global filter in your universe.
Execute the webi report and check whether you are getting only current month data.
--- Thanks -
Customer exit variable output error
Hi gurus,
I have created one customer exit variable. in the selection screen i am giving multiple plant and material value,
my code is working for sigle plant and single material.
when i have taken multiple value. i am getting error message
error is 'No value determined for th variable"
When i debug my code in RSRT, it is giving all the values for different combination of plant and material. and those values are getting in the E_T_RANGE.
but out put it is giving the error.
my code is:
WHEN 'ZPRDEMVA'.
IF i_step = 2.
READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
WITH KEY VNAM = 'ZPRRNDT'.
v_date = LOC_VAR_RANGE-LOW.
v_year = v_date+0(4).
v_month = v_date+4(2).
v1_date = v_date+6(2).
v3 = v_year - 1.
v4 = v_month - 1.
if v4 = 00.
v4 = 12.
v3 = v3 - 1.
endif.
concatenate v3 v4 v1_date into ddate.
CALL FUNCTION 'DATE_GET_WEEK'
EXPORTING
DATE = ddate
IMPORTING
WEEK = zweek
EXCEPTIONS
DATE_INVALID = 1
OTHERS = 2.
CALL FUNCTION 'WEEK_GET_FIRST_DAY'
EXPORTING
WEEK = zweek
IMPORTING
DATE = monday
EXCEPTIONS
WEEK_INVALID = 1
OTHERS = 2.
sunday = monday + 6.
v3_date = monday.
v4_date = sunday.
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
WHERE VNAM = 'ZPRPLNML'.
CLEAR L_S_RANGE.
v_werks = LOC_VAR_RANGE-LOW.
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
WHERE VNAM = 'ZPRMATML'.
CLEAR L_S_RANGE.
v_matnr = LOC_VAR_RANGE-LOW.
data: dummy_menge like i_mseg-menge value '0.01'.
Do 52 times.
select MATERIAL PLANT QUANT_B MOVETYPE
from /BIC/AWINO0100 into table i_mseg
where PSTNG_DATE between monday and sunday
and MOVETYPE between 261 and 262
and MATERIAL = v_matnr
and PLANT = v_werks.
if sy-subrc NE 0.
i_mseg-menge = '0.01'.
i_mseg-matnr = v_matnr.
i_mseg-werks = v_werks.
i_mseg-bwart = '261'.
append i_mseg.
endif.
loop at i_mseg.
itab1-matnr = i_mseg-matnr.
itab1-werks = i_mseg-werks.
itab1-menge = itab1-menge + i_mseg-menge.
itab1-bwart = i_mseg-bwart.
COLLECT i_mseg into itab1.
endloop.
sort itab1 by matnr werks bwart.
loop at itab1 where bwart = '261'.
itab2-matnr = itab1-matnr.
itab2-werks = itab1-werks.
itab2-bwart = itab1-bwart.
itab2-menge = itab1-menge.
read table itab1 with key matnr = itab2-matnr
werks = itab2-werks
bwart = '262'.
if sy-subrc = 0.
itab2-menge = itab2-menge - itab1-menge.
endif.
append itab2.
endloop.
clear itab1[].
refresh itab1.
sunday = sunday + 7.
monday = monday + 7.
ENDDO.
loop at itab2.
sum1 = sum1 + itab2-menge.
endloop.
average = sum1 / 52.
loop at itab2.
sum2 = sum2 + ( ( itab2-menge - average ) * ( itab2-menge - average ) ).
endloop.
sum2 = sqrt( sum2 / 52 ).
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
l_s_range-low = sum2.
Append l_s_range to E_T_RANGE.
clear itab2[].
refresh itab2.
sum1 = 0.
sum2 = 0.
monday = v3_date.
sunday = v4_date.
ENDLOOP.
ENDLOOP.
ENDIF.
Can any one please help me.
Thanks in advance.Hi Alec,
i created a customer exit with the formula variable only. in the code i am getting the both quantity and unit fields. now i want to get quantity with unit in output.
thanks -
Customer Exit Variable in cell definition in BEx
Hi,
I have defined a query with a Structure in Row and Key Figures in column.
The result of query should look like this:
Fiscal/Year Period | Quantity per month | Quantity cumulative
011.2010 (Variable Offset Value -3) | 5 | 5
012.2010 (Variable Offset Value -2) | 6 | 11
001.2011 (Variable Offset Value -1) | 7 | 7
002.2011 (Variable Single Value, Manual Input) | 8 | 15
"Quantity cumulative" is defined as follows:
Quantity cumulative (002.2011) = Quantity 001.2011 + Quantity 002.2011
Quantity cumulative (001.2011) = Quantity 001.2011
Quantity cumulative (012.2010) = Quantity 011.2010 + Quantity 012.2010
Quantity cumulative (011.2010) = Quantity 011.2010
"Fiscal/Year Period" and "Quantity per month" are OK. But I have problem to define the key figrue "Quantity cumulative".
I have defined a Customer Exit Variable on Reference Characteristic "Fiscal/Year Period". Moreover I have also defined cell definition to define each individual cell for key figrue "Quantity cumulative" restricted by Customer Exit Variable.
The Quantity cumulative (002.2011) and Quantity cumulative (001.2011) are calculated correct. But it doesn't work for 012.2010 and 011.2010 (because of previous year).
I would be helpful if you can give some hints.
ThanksHi,
try to use this trick with an IF condition in you customer exit. Calling 'var1' the manual input of:
data: month_difference TYPE N.
month_difference = 'var1'+4(3) - 4.
IF month_difference >= 0.
DO the classic code which you have already used.
ELSE month_difference < 0.
DO the replace concatenating manually 'var1'(4) and the single month.
ENDIF.
Hope it helps.
Best regards.
Simone. -
Hi,
I have defined a query with a Structure in Row and Key Figures in column.
The result of query should look like this:
Fiscal/Year Period | Quantity per month | Quantity cumulative
011.2010 (Variable Offset Value -3) | 5 | 5
012.2010 (Variable Offset Value -2) | 6 | 11
001.2011 (Variable Offset Value -1) | 7 | 7
002.2011 (Variable Singel Value, Manual Input) | 8 | 15
"Quantity cumulative" is defined as follows:
Quantity cumulative (002.2011) = Quantity 001.2011 + Quantity 002.2011
Quantity cumulative (001.2011) = Quantity 001.2011
Quantity cumulative (012.2010) = Quantity 011.2010 + Quantity 012.2010
Quantity cumulative (011.2010) = Quantity 011.2010
"Fiscal/Year Period" and "Quantity per month" are OK. But I have problem to define the key figrue "Quantity cumulative".
I have defined a Customer Exit Variable on Reference Characteristic "Fiscal/Year Period". The Quantity cumulative (002.2011)
and Quantity cumulative (001.2011) are calculated correct. But it doesn't work for 012.2010 and 011.2010 (because of previous year).
I would be helpful if you can give some hints.
ThanksHi,
Create a formula "Cumulative Quantity" and add only "Quantity per Month" in the formula. Go to formula properties, Calculations tab, check the Cumulated option.
This works for different years as well.
Regards,
Suzitha. -
Customer Exit Variable in formula to get values for multiple keyfigures
Hi to all,
I have query as defined in following scenario:
CHAR_X C_KF1 (based on KF1) C_KF2 (based on KF2) u2026 C_KFn (based on KFn)
Value1
Value2
u2026
Valuem
C_KF = calculated key figure
I need to create a customer exit variable that will search through selection e.g. CHAR_X/KF1 and give some result. I need this variable for every keyfigure (KF1-KFn). Using customer exit variable is the only solution.
My question is: do I have to create formula variable (customer exit) representing every keyfigure separately (VAR1 u2013 VARn, like in below example)?
CHAR_X C_KF1 (using VAR1) C_KF2 (using VAR2) u2026 C_KFn (using VARn)
Value1
Value2
u2026
Valuem
Or is it possible to create one general formula variable since the way to retrieve the value in variable is always the same (like in below example)? In this case, how do I pass the value of the respective keyfigure to this variable?
CHAR_X C_KF1 (using VAR_X) C_KF2 (using VAR_X) u2026 C_KFn (using VAR_X)
Value1
Value2
u2026
Valuem
Thanks for your replies, points will be awarded!
CheersThat is my concern, the value of variable is not the same.
What variable should do is:
take KF1 id, go through values for CHAR_X, get back one value
This value would always be different, and also "KF" part in code of variable should be different, based on the column where the variable is being used (so, in column C_KF1 ,variable should "pick up" id of KF1, etc.).
I hope it makes it more clear. For now, I do not have the code for variable yet, I am just interested in concept whether it is possible to pass the ID of keyfigure dynamically so I can make decision how to model this request.
Thanks
Maybe you are looking for
-
Officejet K550 Pro: Paper Feed Problems
About a year or two ago, we purchased a K550 unit for our office, and 3 subsequent units for employees' personal use. At first, everything went great - it was the best inkjet printer I or my staff had ever owned! After a month of great service, my
-
I've tried to reset my iPhone, shut it down, and connect it to my computer. Nothing has worked.
-
Safari and Firefox all media including U tube shows a quicktime ?
Anbody got had this happen, I even updated to the latest of quicktime on my system. Whether I use Safari or Firefox, media doesn't load, video and flash things I think. U tube doesn't work either. Just shows a quicktime ? The funny thing is it comes
-
How can we control value change actions on a form instead of using every form elements onValueChange action? Is it possible to use a generic onValueChange action for h:form tag?
-
CC 2014 export to epub Fixed Layout Table Of Contents Question
I have an .indd which I exported to an epub 3.0 looks fine except there is a table of contents in the .indd and it does NOT work in the Epub. I see a tuts for adding a navigation TOC in an EPub 2.0 doc but I need to have the TOC from the .indd as a l