Difference of Dates to calculate No. of Days
Hi,
I'm trying to do a date subtraction between a "Date-1" and a Date-2 . I did this a couple of times in the past in bw-3.5 but now when i try to do that in BI 7.0 it doesnot work.
I tried creating a formula variable using replacement path for the Date-1 and Date-2 .Then i created Formulae and Subtracted Date-1 & Date-2! I found this procedure online: http://www.sd-solutions.com/documents/SDS_BW_Replacement%20Path%20Variables.html which i used in past and worked sucessfully in bw-3.5
Now when i track the Report execution, in RSRT it seems that it is processing Dates as YYYYMMDD instead of DDMMYYYY.
So that formulae brings weird result.
What do i need to do?
for e.g. 8/29/2005 - 9/13/2005 = 84 days
which should be only 15 days.
Please advise.
Can i do that without SAP Exit.
i checked previous posts and there somewhere it was mentioned that i need to use function
"Datediff" and i cannot find that anywhere.
Does it work in 7.0?
8/29/2005 - 9/13/2005 = 84 days,
in my case it is doing like this -->
9/13/2005 = 20050913 & 8/29/2005=20050829
Hence 20050913 - 20050829 = 84
it is processing Date as YYYYMMDD and then using it for subtraction.
how to solve that in 7.0
I used replacement path variable to solve that.
replace ment path variable- replace variable with Infoobject.
then created formulae variable, replace value with Key
Created formulae and used "Date" Processing value as Date.
Thanking u
Similar Messages
-
Difference between date to calculate months in BPEL
Hello Team,
I need your help to calculate Date difference between input date with current date and get the months in BPEL 2.0
Please suggest.getting below error, input is xsd:date
<bpelFault>
<faultType>0</faultType>
<subLanguageExecutionFault>
<part name="summary">
<summary>An error occurs while processing the XPath expression; the expression is xp20:month-from-dateTime(xp20:current-date()) - xp20:month-from-dateTime($inputVariable.payload/client:inputDt).</summary>
</part>
<part name="detail">
<detail>XPath expression failed to execute. An error occurs while processing the XPath expression; the expression is xp20:month-from-dateTime(xp20:current-date()) - xp20:month-from-dateTime($inputVariable.payload/client:inputDt). The XPath expression failed to execute; the reason was: internal xpath error. Check the detailed root cause described in the exception message text and verify that the XPath query is correct. </detail>
</part>
<part name="code">
<code>XPath expression failed to execute</code>
</part>
</subLanguageExecutionFault>
</bpelFault> -
Formula to calculate number of days between today's date & given date BEx
Hello,
I have a date available as an attribute of dimension characteristic. How do I get current date (sy-datum) to calculate the # of days (or difference) between query execution date and given date.
Is there a system field to get current or today's date .
I am thinking to have this as calculated KF in BEx.
Any suggestions or tips
ThanksHi,
Create a variable on the attribute(date attribute) of characterstic. Use this variable to create a formula variable , in which you fin out the difference between current date and varaible.
There is a good document on using the attributes in the calculation in service.sap.com/bi
In infoindex--> calculation with attributes.
With rgds,
Anil Kumar Sharma .P -
How to calculate a number of calendar days from a start date (e.g. 60 days from 3/10/2012)
DT,
If the starting date is in Column A, and you want to calculate what the date would be 60 days later, in Column B, write in Column B:
=A+60
Couldn't be much easier.
Jerry -
How to get the difference of two dates in years,months and days
Hi friends,
how to get the difference of two dates in years,months and days
for ex 2 years 3 months 13 days
select (sysdate-date_Start) from per_periods_of_service
thanksSomething like this...
SQL> ed
Wrote file afiedt.buf
1 with t as (select to_date('17-nov-2006','dd-mon-yyyy') as c_start_date, to_date('21-jan-2008','dd-mon-yyyy') as c_end_date from dual union all
2 select to_date('21-nov-2006','dd-mon-yyyy'), to_date('17-feb-2008','dd-mon-yyyy') from dual union all
3 select to_date('21-jun-2006','dd-mon-yyyy'), to_date('17-jul-2008','dd-mon-yyyy') from dual
4 )
5 -- end of test data
6 select c_start_date, c_end_date
7 ,trunc(months_between(c_end_date, c_start_date) / 12) as yrs
8 ,trunc(mod(months_between(c_end_date, c_start_date), 12)) as mnths
9 ,trunc(c_end_date - add_months(c_start_date, trunc(months_between(c_end_date, c_start_date)))) as dys
10* from t
SQL> /
C_START_D C_END_DAT YRS MNTHS DYS
17-NOV-06 21-JAN-08 1 2 4
21-NOV-06 17-FEB-08 1 2 27
21-JUN-06 17-JUL-08 2 0 26
SQL>But, don't forget that different months have different numbers of days, and leap years can effect it too. -
Function module to calculate no of days between two date ranges
hi experts,
can some one please suggest a function module that can calculate no of days between specified date range.
for example : if i enter date range between 26.02.2011 to 20.05.2011, then it should calculate no of days between these dates.
Moderator message : Basic date questions not allowed. Read forum rules before posting. Thread locked.
Edited by: Vinod Kumar on May 25, 2011 10:57 AMHi,
Please search SDN.. there are lots of posts for teh same.
[http://wiki.sdn.sap.com/wiki/display/ABAP/FunctionModulerelatedonDate+calculations] -
How to calculate number of days between two date in Template design?
Hello guys
I have a situation where I have to create a template that returns data, and one of the thing of the existing report is that there is a column that is actually the number of days between start date and end date columns..
So in template, how would I be able to do the same? I have start date and end date columns on the template, now when I created another column using expression like end date - start date and preview the template, I am getting errors saying :
Caused by: oracle.xdo.parser.v2.XPathException: Cannot convert 03/31/2009 to number.
at oracle.xdo.parser.v2.XSLStylesheet.flushErrors(XSLStylesheet.java:1534)
at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:521)
at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:489)
at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:271)
at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:155)
at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:192)
Please advice
ThanksHi
There is an extension function you can use, from the javadoc:
date_diff
public static long date_diff(java.lang.String format,
java.lang.String fromDate,
java.lang.String toDate,
java.lang.String locStr,
java.lang.String tzID)
Method to get the difference between two dates in the given locale. The dates need to be in "yyyy-MM-dd" format. This function supports only Gregorian calendar.
Parameters:
format - the format to which the difference is required; allowed formats are y (for Year), m(for month), w(for week), d(for day), h(for hour), mi(for minute), s(for seconds) and ms(for milliseconds)
fromDate - the first date
toDate - the second date
locStr - locale string -> lang-Territory
tzID - timezone ID ->http://java.sun.com/j2se/1.4.2/docs/api/java/util/TimeZone.html
Returns:
the difference in dates in the desired format
For example
<?xdoxslt:date_diff(‘d’,’2009-09-14’, ‘2009-09-20’,’en-US’,1)?>
give a result of 6
You can substitute in columns for the dates, just remember the date format required.
Regards
Tim -
How to calculate number of days from a date field
Dear BW Experts.
I have a field 'Create Date' in the BEx query. Now we need to create a variable which should give the number of days from the date of running the query (sy-datum) to the Create Date.
This will help the users to get records which are say, 30 days old (Sy-datum - create date = 30) or 10 days old etc.
Could you suggest as to how to create this variable.
Thanks,
SaiHi,
Step 1: Create variable on "Create Date" with User entry processing type
Step 2: Create a restricted KF for Sales & restrict it on "Create Date" to get "Sales on day"
Step 3: Manipulate the values of "Create Date" on which you could restrict "Sales" again and again to get other values
Step 4: Create one variable (ZPUTMNTH) for u201CMonth to Dateu201D with processing by u201CCustomer Exitu201D. This variable was created on u201CDateu201D characteristics.
Step 5 : Goto C-mod t-code and use EXIT_SAPLRRS0_001
to calculate "month to date" user input is "Calday" Key Date
WHEN 'ZPUTMNTH'.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
WHERE VNAM = 'ZPDATE'.
CLEAR L_S_RANGE.
L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(6). "low value, e.g.YYYYMM (200606) part of key date (20060625)
L_S_RANGE-LOW+6(2) = '01'. u201C low value e..g. YYYYMM01 (20060601)
L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW. "high value = input
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
APPEND L_S_RANGE TO E_T_RANGE.
EXIT.
ENDLOOP.
ENDIF.
Assign if helps.....
Regards,
Suman -
Calculate the working days having the start and end dates only
Hi,
Can BIP be able to calculate the working days having the start and end dates only? It is like the NETWORKDAYS function in Excel. (i.e. excluding weekends and holidays).
Thanks.Not out of the box.
But You could extend your BIP functions
Look at here:
http://blogs.oracle.com/xmlpublisher/2009/05/bip_by_extension.html
Based on that what you need is similar to the following Java code:
http://objectlabkit.sourceforge.net/
regards
Jorge A. -
Due date column to calculate 7 working days
Can you help me with formula to calculate the Due date default to 7 business days from created date. and due date should not be in weekend.
Refer to the following post, hope it helps
http://sharepoint.stackexchange.com/questions/88149/formula-to-show-differens-between-dates-without-weekends-and-holidays
Cheers, -
Calculate x working days before date
Dear experts,
I am trying to find a date that is x working days before another.
Is that a function module about this?
Thank you in advance,
RoxaniHi Roxani,
You can use FM END_TIME_DETERMINE.
There:
- Insert in duration the number of days that you want to subtract with the minus sign (ex: -1 for previous working day)
- Also, insert your factory calendar that you want to be the source of your working days.
- And, of course, the desired starting date.
Hope that helps!
Kind regards,
Garcia -
How to calculate number of days excluding weekends
I have the following <u>key figures</u> in my InfoCube:
Date Released to Vendors key figure - ZRELDT
Date Awarded to a Vendor key figure - ZAWRDT
In my BEx query, I need to calculate the difference between these two key figures but the weekends should be excluded. For example, if the value of ZRELDT is 08/10/2007 (which is a Friday) and the value of ZAWRDT is 08/13/2007, the result should just be 1 day and not 3 days since the other days pertain to a Saturday and a Sunday.
How do I address this in the formula when creating the Query?
thanks.Hi,
Use func module HOLIDAY_GET need to pass the Holiday Cal the company use
and also
FM: DATE_CONVERT_TO_FACTORYDATE.
One way to use this:
Assuming:
- You have the start & end dates in variables.
- Keep a few counters
Logic:
- Pass start date to DATE_CONVERT_TO_FACTORY_DATE with the parameter +
- If this date is not a factory date, the next date which is a factory day is returned. (I.e. passed Sunday as param, got a Monday date returned). If the day passed to the function is the same as the date returned, this is a factory day (working day)
- If the date passed to the function is not the same as the returned day then this day was not a factory day, meaning not a work date. Add 1 to a counter
- Pass the first day + 1 (use another counter for + N)
- Stop loop when passed parameter is equal to stop date.
You can replicate the factory calendar from R/3, CRM etc in your source system in RSA1 (transfer globals). In your function call, you specify which factory calendar to use
hope this help -
How to calculate number of days in ABAP?
Hi,
I have a condition as below:
If (field1 - field2) > 12 Months
E.g field1 = 31.05.2011 & field2 = 10.11.2011
Can SAP actually minus dates and check if the difference is greater than 12 months?
How do I perform this calculation?
Pls advice.
Thanks!
Moderator message : Date FAQ, duplicate post. Thread locked.
Edited by: Vinod Kumar on Mar 2, 2012 1:50 PMHi,
If your calculating dates please do not manually calculate it like that.
You need to determine like week numbers, month and days.
The best way to do it is by using FM related to dates. Play around with these FMs in your program:
Function Modules related to Date and Time Calculations
CALCULATE_DATE - Calculates the future date based on the input .
DATE_TO_DAY - Returns the Day for the entered date.
DATE_COMPUTE_DAY - Returns weekday for a date
DATE_GET_WEEK - Returns week for a date
RP_CALC_DATE_IN_INTERVAL - Add days / months to a date
DAY_ATTRIBUTES_GET - Returns attributes for a range of dates specified
MONTHS_BETWEEN_TWO_DATES - To get the number of months between the two dates.
END_OF_MONTH_DETERMINE_2 - Determines the End of a Month.
HR_HK_DIFF_BT_2_DATES -Find the difference between two dates in years, months and days.
FIMA_DAYS_AND_MONTHS_AND_YEARS - Find the difference between two dates in years, months and days.
WEEK_GET_FIRST_DAY - Get the first day of the week
SD_CALC_DURATION_FROM_DATETIME - Find the difference between two date/time and report the difference in hours
L_MC_TIME_DIFFERENCE - Find the time difference between two date/time
HR_99S_INTERVAL_BETWEEN_DATES - Difference between two dates in days, weeks, months
LAST_DAY_OF_MONTHS - Returns the last day of the month
DATE_CHECK_PLAUSIBILITY - Check for the invalid date.
DATE_2D_TO_4D_CONVERSION - Year entry: 2-character to 4-character.
DAY_IN_WEEK - Input date and will give the name of the day 1-monday,2-Tuesday....
SD_DATETIME_DIFFERENCE - Give the difference in Days and Time for 2 dates -
Difference between Dates: BW Query???
Hello all,
A.I have to get the difference between dates i.e Date1 and Date2.
I have used a 2 formula variables for each one of them with Replacement path - Key - number as the settings.
When i execute the difference between the 2 formula variables, i get inconsistent results if the dates are from 2 different months.
Example(Correct Result)
Date1 = 14.02.2005
Date2 = 10.02.2005
Result = 4
Example(Incorrect Result)???????
Date1 = 14.02.2005
Date2 = 10.01.2005
Result = 104
Iam know that system is converting the date as a number like 20040214 and 22040110 and just substracts.....This is not correct....any solution to circmvent this problem???
B.If iam using a user-exit for variables, how to pass the values Date1 and Date2 to user-exit so that i can calculate the difference of days using a function module.
I know how to use a user-exit but not sure about working on 2 fields at a time for a formula variable????1) For the first problem, I think you should play with the replacement path settings (type, offset,...). I did this before and I'm sure it worked.
2) If the variables are entered in the variable screen there is no problem to use a function module (it works with steps --> look at the how-to), but I think you want to calculate not on variables but on the keyfigure values itself, in this case you will have to use virtual characteristics. There is also a how-to about this, I can't help you with the details my self.
kr,
Tom -
How to calculate number of days in hijri
Dear all,
I need to develop a custom report in which i required to calculate number of days in hijri month and also the first and last day of the hijri month. we normally use Last_date(sysdate) function to get the last date of the english calender. but how can we find same for month.
Looking after for your support.
Regards,
SaquibConvert to hirjih date using:
select
to_char(sysdate,'YYYY/MM/DD','NLS_CALENDAR=''English Hijrah''') hijrih_date
from dual;
You can replace sysdate with the date of your choice.
Also I wrote this for my last project:
/* get hirjih date */
FUNCTION get_hijrah_date(
p_date in date,
p_date_format in varchar2
) return varchar2
is
v_hijrah_date varchar2(500);
begin
select
to_char(p_date,p_date_format,'NLS_CALENDAR=''English Hijrah''')
into v_hijrah_date
from dual;
return v_hijrah_date;
end get_hijrah_date;
So you can have get_hijrah_date(sysdate,'DD-MON-YYYY') from dual;
(or any other date formate of your choice)
Edited by: igwe on Jan 30, 2013 8:07 AM
Maybe you are looking for
-
Link a pdf or word file to Keynote
I wish to create a link in Keynote to a multi page pdf document. It is simply too long to place on a page. I have not been able to find a way to do so. Does anyone know how to do this? My object is to burn the presentaiton to disk along with the file
-
How do I install Acrobat without a working dvd drive?
How do I install Adobe Acrobat X without using my CD/DVD drive on my computer? I need the software but have a dead drive.
-
HT201317 how can i sequence photos in photo stream for a slideshow
How can i sequence photos which have been taken over a period of months and exported to photo stream in no order for a slide show which must have the photos ordered manually? thanks
-
Choosing resolution for a sequence
I just finished shooting a video of my computer screen (which resulted in a movie sized 1920x1040) I wanted to use premiere to add blur and other effects (I know how). I just wanted to know what size should my sequence be so after I export it, my mov
-
the new Illustrator CC 2014 wont let me change the area of a text box, the text scales with the box. is there a setting im missing somewhere that allows me to change the area /shape of a text box like we could in CC and before?