Customer exits (0calday) for a query to populate dates dynamically
Hi,
Our user has this requirement for running a reporting in background for every previous week and month which has 34 variants.
Please tell if the way i choose is correct and also any suggestion for the below!...
1. wanted to use reporting agent for running the report in the background with reporting agent+ webtemplates.
2. and also wanted to get the dates populated dynamically in the report...so thought of using CUSTOMER EXITs.
please help me with the code to write in CMOD. for populating the dates for every previous week and month dynmically.
- jj
Edited by: Jpjuvvan on Jun 1, 2009 8:36 PM
Edited by: Jpjuvvan on Jun 1, 2009 8:39 PM
Arun,
The report has 34 variants for which the date ( 0calday) RANGE has to be populated dynamically when I am running the report in the background using Reporting agent( using 'Precaculating of Web templates...as reporting agent setting).
My concern is ..
1. How can I dynamically populate the dates(0calday) for running the report weekly and monthly for all 34 varinats in the report in the backgrond?( since dont want to manually enter the date range for all 34 variants of the report)
2. Since I am using precalculating web templates as reporting agent setting should I have to create webtemplate on the query ( if so ..will it automatically run the 34 variants) or should I create web template for 34 variants using query views ( even then the dates has to be populated automatically/dynamically)?
For eg. If I am running the report on 1s t June....for Monthly the date range should be 5/1/2009 to 5/31/2009 and for weekly I run the report on sunday of every week..so if i run the report on 6/14/2009 then the date range should be 6/5/2009 to 6/13/2009.
The date range should be populated DYNAMICALLY , since I don't want to manulally give the date range for all 34 varinats every time I run the report.
Please suggest.
JJP
Similar Messages
-
Problem with customer exit variable in BeX Query
Hi All,
We have created a customer exit variable in a query and populated with few patterns in customer exit.
My query has to bring all the records where the address line is containg the patterns passed through customer exit. Here the query is not working as expected.
It is bringing the values where the address line is exactly same as the pattern and not bringing the records where the pattern is part of the address line.
For example: Pattern passed in customer exit = 'HOSPITAL'
The record where address line = 'HOSPITAL' is shown in the rpeort, where the record with address line = 'HOSPITAL ROAD' is not shown in the report.
I would appreciate your help on this.
Regards,
RakeshHi Diogo,
Below is the code I am using in the customer exit.
SELECT * FROM zae_tt_pbuild INTO TABLE gt_pbuild.
IF sy-subrc = 0.
LOOP AT gt_pbuild INTO gs_pbuild.
CONCATENATE '*' gs_pbuild-pbuild '*' into lv_pattern.
ls_range-low = lv_pattern.
ls_range-sign = lc_sign_i.
ls_range-opt = 'CP'.
APPEND ls_range TO e_t_range.
CLEAR: ls_range,
lv_pattern.
ENDLOOP.
ENDIF.
ENDIF.
I have tried using '%' instead of '*' aswell but the result is same.
Thanks,
Rakesh -
Hi all,
I need your help how to write customer exit in my BI query to get (current fiscal quarter) and (current fiscal quarter - 1 ) without user input.
in my query info object is 0CALQUARTER and variable is ZFIS_QTR.
in 0CALQUARTER fiscal quarter stored in 201301,201302,201303,201304 and 201401 format, for current fiscal quarter 201401 and (current fiscal quarter - 1 ) would be 201304.
please replay ASAP to deliver the report to client.
thanks in advance.
-- Rakesh NagpureI am Getting the same error for both the codes that i have written...
Do i Need to write sth else in the code...
Code:
WHEN 'ZVLIVELEASES'.
IF I_STEP = 2.
L_DATE = SY-DATUM.
SELECT * FROM "DSO_ACTIVE_TABLE"
INTO TABLE ITAB_LL where "EXPIRY_DATE" > L_DATE.
LOOP AT ITAB_LL INTO WA_LL.
CLEAR l_s_range.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
l_s_range-low = WA_LL-"EXPIRY_DATE".
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
Error: Error for variable in customer enhancement ZLIVELEASES -
Customer Exit IMRC0001 for condition based preventive maintenance
Dear Experts,
I am using customer Exit IMRC0001 for creating maintenance order if my measuring point reading exeeds the thresold value or it is out of the upper and lower limit range , which i have set for that particular Measuring point.
This scenario is working fine if i am creating measuring point with unit *C (Degree centigrade-Temp).
But it is not working fine for measuring point having unit other then *C
Like : Kg/Cmsq, Bar, Run Hr, Vaccum, voltage, current, consumption etc
The Reason for this i have found out.The logic return in the program only considers the *C unit
Say if i set 50c as my target value in Measuring point*
In Table IMPTT the value is getting stored as 50 + 273.15 = 323.15
But if i enter 5 Ohm as my target value in Measring point
In Table IMPTT the value is getting stored as 5 only.
Target Value field name is DESIR
So i want to know why for some units the same value is getting stored and why for some units value with some formula getting stored.
Regards,
Amar Jadhavdoes your characteristic allow decimals??
also why not use deg K instead of deg C
ignore above
see note 525948
Symptom
When you change the target value of a measuring point, it seems as if the system updates incorrect values for the 'Target value' field in the change documents.
Other terms
IK02, IK03, IMPT
Solution
The internal display of field 'Measuring Point Target Value' has the SI unit belonging to the unit of measurement.
Example:
For temperatures, the target value can be displayed in the user interface (RIMR0-DESIC) in the units of measurement Celsius, Fahrenheit or Kelvin. However, the database display in field IMPTT-DESIR always refers to the respective SI unit Kelvin.
As the change documents always refer to the database display, they also refer to the SI unit.
Edited by: Virendra Pal on Oct 1, 2008 2:34 PM -
Customer exit code for fiscalyear period based on system date
Hi Experts,
Please provide customer exit code for fiscalyear period derive based sy-datum. Fiscal year period derivie current to previous 12 periods and current to fast 12 periods.
Thanks,
SubbarajuHi Subbaraju,
Please use below customer exit code for your solution. Please define declarations as per requirement.
When 'ZFPERIOD'.
IF I_STEP = 2.
ztoday = sy-datum.
zfast = sy-datum + 365.
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
i_date = ztoday
i_periv = 'K4'
IMPORTING
E_BUPER = PERIOD2
E_GJAHR = YEAR2.
CONCATENATE YEAR2 PERIOD2 INTO FISCPERLOW.
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
i_date = zfast
i_periv = 'K4'
IMPORTING
E_BUPER = PERIOD2
E_GJAHR = YEAR2.
CONCATENATE YEAR2 PERIOD2 INTO FISCPERHI.
L_S_RANGE-LOW = FISCPERLOW.
L_S_RANGE-HIGH = FISCPERHI.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
Similar code user for your previous periods also.
Thanks,
Chandra -
Exit/BADi for ml81n to check GRN date should be PO Date.
Exit/BADi for ml81n to check GRN date should be > PO Date.Kindly suggest .
Hi,
You can achieve it using the below enhancement.
Enhancement: SRVEDIT
Function module: EXIT_SAPLMLSR_001
Regards, -
How to populate data dynamically in WSelect web element.
How to populate data dynamically in WSelect web element. what is the syntax of WSelect web element to populate data from the database
Hi Jamie,
There is no Url to download ackage, instead the link is taking here
Crystal Reports webElements
Can you give me correct link? -
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 -
Customer Exit variable in BEX Query
Hello Guys,
I need to write a custmer exit variable in which the requirement is user is provided with input selection of Posting Period, and user wants the output as sum (cumulative) of 0 i.e start to the period provided by user input.
Consider a scenario, if user puts 06 as posting period in selection screen then keyfigure should sum all the values from 00 to 06.
Now, I need to write the customer exit for this.
Can anyone suggest me the same?
your inputs will be heavily appreciated.
Thanks,
SaurabhHi ,
Here V1 refers to the selection variables used for user input as posting period .
You can use the following code in CMOD :
read table i_t_var_range into loc_var_range with key vnam = 'V1'.
if sy-subrc = 0.
WA_PERIOD = LOC_VAR_RANGE-LOW - 6
" If WA_PERIOD <= 6 " Take this condition in to consideration while using the code
" Endif .
l_s_range-low = WA_PERIOD
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
l_s_range-high = LOC_VAR_RANGE-LOW
append l_s_range TO e_t_range.
else.
endif.
Hope it helps .
Thanks
Kamal Mehta -
Customer exit - code for variable
Hi Friends,
I have created a variable "CUST_EXIT_YEST" and defined the processing type as customer exit. Now would like to add code in CMOD.
Requirement: The variable should allow take yesterday's date. Please help me with the code.
Already there are some codes defined for other customer exit variables in CMOD. Can I add my code below that. If so please explain.
Regards,
SurjitIf i'm not wrong you want to show previous day in the variable.
At the bottom of the existing code before EndCase, u can write the below code
Data: loc_var_range LIKE rrrangeexit, (must be there this kind of declaration in ur existing code)
WHEN 'CUST_EXIT_YEST'.
IF I_STEP = '1'.
Read Table I_T_VAR_RANGE into LOC_VAR_RANGE WITH KEY VNAM = 'CUST_EXIT_YEST'.
myrange-SIGN = 'I'.
myrange-OPT = 'EQ'.
myrange-LOW = sy-datum - 1.
APPEND myrange TO e_t_range.
ENDIF. -
Customer exit variable for date range for the last day
Hi,
If user enters date ranges in variable
suppose user enters 9/1/2010 to 9/15/2010 and we have to calculate currency conversion based on last day i..e 9/15/2010 . 08
2)User input is date range 08/01/2010 to 08/30/2010
I need from the customer exit 08/30/2010 (on last day) to calculate currency conversion.
Can anyone help me with ABAP code to achieve this customer exit?And please tell me how to proceed step by step
Sridharcreate a variable to enter date range (ZDATE1)
create a key date variable(ZDATE2) with processing type customer exit, should not be ready for input.
In the exit ZXRSRU01 write below code.
DATA: l_s_range TYPE rsr_s_rangesid,
loc_var_range LIKE rrrangeexit.
WHEN 'ZDATE2'.
IF i_step = 2.
read table i_t_var_range INTO loc_var_range
with key vnam = 'ZDATE1'.
CLEAR l_s_range.
l_s_range-low = loc_var_range-high.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
ENDIF. -
How to create a customer-exit to calculate a week from a date
Hi my Guru's,
I actually try to implement an Exit variable to calculate a week number from a characteristic date (0FINISHDATE) in my BEX report. Does anyone has an example of customer-exit which calculate a week number after giving a date in the popup.
What I really need is how to initialize the OFINISHDATE value in my Exit.
Any help will be appreciate,
Cheers,
MK2Hi,
I donot know this following workaround works properly are not. we have to wait for Our BW gurus' suggestions.
1) Create a formula variable with 'Replacement path' as processing type on Characterstic 0FINISHDATE.
2) Create one more Formula variable with 'customer exit' as processing type .
3) In Cmod
DATA: l_s_range type rsr_s_rangesid.
DATA: datein like sy-datum. "la caractéristique date
DATA: date2 like SCAL-WEEK. " déclaration de Résultat
DATA : NUMB1(2) TYPE N.
CASE i_vnam.
when 'FORMULA_VARIABLE2'.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
WHERE VNAM = 'FORMULA_VARIABLE1'.
CLEAR L_S_RANGE.
L_S_RANGE-LOW(8) = LOC_VAR_RANGE-LOW(8)
datein(8) = L_S_RANGE-LOW(8).
here we are finding the Week no user entered date.
CALL FUNCTION 'DATE_GET_WEEK'
EXPORTING
DATE = datein
IMPORTING
WEEK = date2.
numb1 = date2+4(2)
CLEAR L_S_RANGE.
L_S_RANGE-LOW = numb1.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDCASE.
With rgds,
Anil Kumar Sharma .P
Message was edited by: Anil Kumar Sharma -
Use of SAVE_TEXT in customer exits / BADI for purchase order
Hi All,
I am trying to save some long text by using SAVE_TEXT function module in a badi implementation for purchase order header text. The same is working fine if i try to update the PO header text via a report. But if i try using badi (the code is written in a PAI event for the BADI), then though the text transfer and save is successful during the code excution, but for the first time when i add any text its not visible in ME22N tcode. Since its an online event. But when i double click on that editor and the sap script editor gets opened. then i press back button, the text is appearing on the same small screen edtor . after this any number of time i edit or delete text, the save_text function module works fine.
My issue is why for the first time always i have to double click on the editor to open the sap script editor. I have also included commit_text in this case after save_text FM.
the requirement here goes like this. in one tab for PO header the user will enter some number (This is a customizing screen implemented through badi.) and the corresponsing discription should appear when user clicks on text tab in po header screen (me21n / me22n).
Kindly help.
Thanks
MamataHi mamata rath
I have solve the problem which similar to yours. the code which is as the following
DATA: textline TYPE tdline,
name TYPE c LENGTH 70,
glines TYPE TABLE OF tline,
gline LIKE LINE OF glines,
ls_header TYPE thead.
CONCATENATE ch_eban-banfn ch_eban-bnfpo INTO name.
ls_header-tdobject = 'EBAN'.
ls_header-tdname = name.
ls_header-tdid = 'B01'.
ls_header-tdspras = sy-langu.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
* CLIENT = SY-MANDT
header = ls_header
* INSERT = ' '
* SAVEMODE_DIRECT = ' '
* OWNER_SPECIFIED = ' '
* LOCAL_CAT = ' '
* IMPORTING
* FUNCTION =
* NEWHEADER =
tables
lines = glines
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 4
OTHERS = 5
IF sy-subrc = 0.
CALL FUNCTION 'COMMIT_TEXT'
EXPORTING
OBJECT = 'EBAN'
NAME = name
* ID = '*'
* LANGUAGE = '*'
* SAVEMODE_DIRECT = ' '
* KEEP = ' '
* LOCAL_CAT = ' '
* IMPORTING
* COMMIT_COUNT =
* TABLES
* T_OBJECT =
* T_NAME =
* T_ID =
* T_LANGUAGE =
ENDIF. -
Custom exit variable for fiscal year/period
Hi BI Experts
1) In one of the column i just want Budget data to be displayed for the entire year..i.e even if the user enters 005/2006 for fiscal year /period that column should display 001/2006 to 012/2006 Budget.
I have created a restricted KF for 0AMOUNT restricted by version(for Budget), valuetype (for Budget )
now how do I assign variable for Fiscal year/period...and the problem is posting period is not populated ...I mean there is no transformation for that...
Can you share your experience on that ...full points wil be awarded...
ThanksHi Ajay and Pradhiba
I am really sorry for assigning you guuys points ...wasa bit busy ...
The problem is that the year and posting period is not populated...there fore I cannot use those time characteristics...
Now I have only fiscal year/period populated..now i want
if the user enters 005/2006 ....i want my first column to calculate the data for 001/2006 to 012/2006 ...thats the req...
can u share ur ABAP experience in that...
thanks -
Custom tabular form for multi-row not saving data
Ok, before anyone asks, yes, I did read the how-to:-)
I have a custom tabular form, which I did cause I need to use popups and the popups that you can use in the wizard tabular form does not display the text but rather the value underneath it.
It returns data rather nicely and when I go and update values I can tell it is changing the fields underneath. I put a process in that will display the values in text fields on the form (for one row only) and I see them changing from what is already there and with the proper values.
However, when I do that the data that is displayed then gets reverted back to what it was previous to the update but reports that the process was successful.
I have also tried to insert but that is basically doing the same thing. Can anyone guide me.
SQL to generate the tablular form...
SELECT x.sak_release_db
, x.sak_object
, x.sak_release
, x.sak_participant
, x.sak_csr
FROM
(SELECT htmldb_item.hidden(1,sak_release_db) sak_release_db
, htmldb_item.popupkey_from_query(2, sak_object,
'SELECT b.nam_schema||''.''||a.nam_technical as table_name , b.sak_object
FROM system_object a
, database_table b
WHERE a.sak_object = b.sak_object') as sak_object
, htmldb_item.hidden(4,sak_release) sak_release
, htmldb_item.popupkey_from_query(5, sak_participant,
'SELECT nam_first || '' '' || nam_last as name, sak_participant FROM co_participant') sak_participant
, htmldb_item.popupkey_from_query(7, sak_csr,
'SELECT external_id|| ''-''||id_split as co, sak_csr FROM co') sak_csr
FROM release_db_xref
UNION ALL
SELECT htmldb_item.hidden(1,NULL) sak_release_db
, htmldb_item.popupkey_from_query(2, NULL,
'SELECT b.nam_schema||''.''||a.nam_technical as table_name , b.sak_object
FROM system_object a
, database_table b
WHERE a.sak_object = b.sak_object') as sak_object
, htmldb_item.hidden(4,NULL) sak_release
, htmldb_item.popupkey_from_query(5, NULL,
'SELECT nam_first || '' '' || nam_last as name, sak_participant FROM co_participant') sak_participant
, htmldb_item.popupkey_from_query(7, NULL,
'SELECT external_id|| ''-''||id_split as co, sak_csr FROM co') sak_csr
FROM dual) x
Process to verify that I have the correct global fields: (Type: PL/SQL anonymous block, Process Point: On Submit - After Computations and Validations)
begin
:P3_2 := replace(htmldb_application.g_f02(1),'%'||'null%',NULL);
:P3_5 := replace(htmldb_application.g_f05(1),'%'||'null%',NULL);
:P3_7 := replace(htmldb_application.g_f07(1),'%'||'null%',NULL);
end;
Process to do the insert/update. Note, I hardcoded the value in the where clause but I was originally using the global value for g_f01 (i also tried putting a commit in there for fun) (Type: PL/SQL anonymous block, Process Point: On Submit - After Computations and Validations):
-- Update the RELEASE_DB_XREF table
FOR i IN 1..htmldb_application.g_f01.count
LOOP
IF htmldb_application.g_f01(i) IS NOT NULL THEN
UPDATE release_db_xref
SET sak_object = replace(htmldb_application.g_f02(i),'%'||'null%',NULL)
, sak_participant = replace(htmldb_application.g_f05(i),'%'||'null%',NULL)
, sak_csr = replace(htmldb_application.g_f07(i),'%'||'null%',NULL)
WHERE sak_release_db = 22;
ELSE
IF htmldb_application.g_f02(i) IS NOT NULL THEN
INSERT INTO release_db_xref
(sak_object
,sak_release
,sak_participant
,sak_csr)
VALUES
(replace(htmldb_application.g_f02(i),'%'||'null%',NULL)
,htmldb_application.g_f04(i)
,replace(htmldb_application.g_f05(i),'%'||'null%',NULL)
,replace(htmldb_application.g_f07(i),'%'||'null%',NULL));
END IF;
END IF;
END LOOP;Florian,
Checkboxes are different from other HTML form items. When you have a text box for example, there's always a value send to the server when submitting. Even if that value is NULL. When you have a checkbox however, you only get the value if the checkbox is checked. It's not posted to the server when it is not checked. That's the general behavior of HTML forms and not specific to Oracle HTML DB.
When working with tabular forms in HTML DB, you can access your form values using the htmldb_application.g_f0x arrays. Now if you have for example 10 rows in your form, then you'll get ten elements in your array for text boxes, select lists, etc. For checkboxes however you'll only get as many elements as you have rows checked. If I read your update and insert code correctly, you're trying to use the checkbox arrays the same way you use the arrays based on other item types. My recommendation would be to use Yes/No select lists instead of checkboxes or at least use select lists initially to get it working and then work on properly processing the checkboxes.
Some general information about working with checkboxes in tabuar forms can be found here:
http://www.oracle.com/technology/products/database/htmldb/howtos/checkbox.html#CHECKBOX_IN_REPORT
Hope this helps,
Marc
Maybe you are looking for
-
Question about configuration (ATI 5770) w/ 3 monitors
Ok I already know how to get three monitors running on the ATI 5770. I have one native mini DisplayPort, one mini DisplyPort to VGA and one native DVI or DVI to HDMI. What I need to know (before I buy another native mini DisplayPort monitor) is if
-
When playing a video I have downloaded from iTunes I get the message "This Movie Cannot be played on this machine". The weird thing is that I downloaded the film from iTunes and while it was downloading I was watching it with my kids on my IMac. Onc
-
What are the pitfalls of transferring my iTunes library to an external hard drive
I have acquired more music on an external hard drive than will fit on my computer or my iPod. I am looking to transfer my iTunes library to the external drive. Will I be able to add purchases or rip more cds to the hard drive without incident? Doe
-
how to import my dvd video unto final cut studio and edit as a beginner ? Is there a saviour to help me?
-
Please see the subject line thanks I upgraded to 20gb iCloud but it isn't enough to back up. I get constant error messages saying there is no backup space and I've not been able to use the upgrade. Apple promised to refund then didn't. Please help is