# Formula to calculate the last day of the subsequent month

Hi - I am trying to create a formula in CR9 that will take a date field and translate it to the last day of the subsequent month.  For example, I have a date of today, 2/3/2009.  I need it to print on the report 3/31/2009.  I have made some progress to get me the 1st day of the subsequent month, but I need it to be the last day of the subsequent month.
The formula I am have currently is:
DateSerial(Year({Name.JOIN_DATE}), Month({Name.JOIN_DATE}) + 1, 0)+1
this will give me 3/1/2009, but I need 3/31/2009.
Any help appreciated.
Thanks!

Hi Joe,
You can use the following logic which also takes into account the extra day in a leap year.  You will need 5 formulas for this:
First create a formula that calculates current month, call it @Current Month MM
Month(Name.JOIN_DATE)+1
Next create another formula called @Current Month Start Date which will give you the beginning of the month.
totext(Date (year(currentdate),tonumber({@Current Month MM}) ,1 ))
Next create another formula called @Current Year yyyy
Year(Name.JOIN_DATE)
Next, create a formula called @DaysofMonth with the following logic:
if tonumber({@Current Year yyyy}) mod 4 = 0 then
choose(month(date({@Current Month Start Date})),31,29,31,30,31,30,31,31,30,31,30,31) else
choose(month(date({@Current Month Start Date})),31,28,31,30,31,30,31,31,30,31,30,31)
Lastly create a formula called @Ending Date of Month
totext(Date (year(currentdate),tonumber({@Current Month MM}) ,{@DaysOfMonth} ))
I hope this information proves useful.
Regards,
Zack H.
Edited by: Zack H on Feb 3, 2009 5:34 PM
Edited by: Zack H on Feb 3, 2009 5:38 PM

### Similar Messages

• How to get the last day of the next month?

Hi all.
I need to get the last day of the next month. E.g. if the date is 20.03.2008 I need to get 30.04.2008.
Is there any FM for it?
TIA, Nikolai.

hi Nikolai,
pls. have a look athe following piece of code:
PARAMETERS : p_date TYPE sy-datum.
DATA : gv_res TYPE sy-datum.
CALL FUNCTION 'CALCULATE_DATE'
EXPORTING
*   DAYS              = '0'
months            = '2'
start_date        = p_date
IMPORTING
result_date       = gv_res.
==> Now you have (gv_res) 2 months later as today
gv_res+6(2) = '01'. ==> gv_res is first day of next-next month
gv_res = gv_res - 1. ==> gv_res is last day of next month
hope this helps
ec

• How to get the last day of the payroll period

Hi all,
I need to get the last day of the payroll period e.g. last day of Jan 2007 is 31 Jan 2007. Can anyone suggest as to how to get it?
Thanks,

T549S contains the payroll periods with pay date.  T549Q contains the begin and end dates of the payroll period.
You can select from the appropriate table (or from both depending on your given data) to get the end date of the period.
Hope that helps.
Mary

• How to get the last day of the previous month

Hello Team,
If  my input date is today , then i need to find out the last day of the previous month for the same.
Can someone help me  to find out .. how can this be done.
Regards,
Ravi

Hi,
Try the below code.
// get a calendar object
GregorianCalendar calendar = new GregorianCalendar();
// convert the year and month to integers
int yearInt = Integer.parseInt(year);
int monthInt = Integer.parseInt(month);
int dayInt = Integer.parseInt(day);
// adjust the month for a zero based index
monthInt = monthInt - 1;
// set the date of the calendar to the date provided
calendar.set(yearInt, monthInt, dayInt);
int day = calendar.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
return Integer.toString(day);
Regards
Venkat

• BIP eBusiness Suite Dates - How to include the last day of the month?

How can I get my report to include the last day of the month 'without' forcing my users to enter the non-intuitive first of the next month as a parm?
I have a report that will generally be run for a month but can be run for any pair of dates representing the first and last date to be included in the report.
When we pass the dates from Oracle Apps to the report it is truncating the date to midnight. This results in the last date entered 'NOT' being included in the report as the second date is marked as "midnight". When I attempt to simply add "=1" to the end date it fails due to formatting issues in apps (only). I have gotten this to work on our Enterprise edition server that we use for testing (only) but it fails in our apps environment.
In APPs we input the date in the format "01-AUG-2007", and this is how it shows in the parm line before the report is submitted as well as in the "View Details" after the report is executed: http://home.swbell.net/grog1//work/req_details_5607586.jpg
However it is odd in that we in the "View Log" entry it shows the date formatted as "2007/08/01 00:00:00": http://home.swbell.net/grog1/work/view_log_5607586.jpg
Even odder is that under diagnostics, "View XML" the date is formatted third way as: "2007/08/01 00:00:00.0" (note it now includes tenths of a second): http://home.swbell.net/grog1/work/view_xml_5607586.jpg
This of course makes it difficult to perform conversions and calculations on the date in the SQL.
Is APPs doing some sort of 'timestamp' conversion?
How can I get my report to include the last day of the month 'without' forcing my users to enter the non-intuitive first of the next month as a parm?
Any feedback is appreciated,
Scott

No. The problem/error occurs long before the data is formatted into xml for presentation to the format template.
The error occurs in the SQL in the 'data' template when I attempt to add a day to the date. It either does not like the implicit conversion with the "+1" and then the use of the "between" with another date or if I attempt to manually convert it has problems with the format mask.
Scott

• Need to find the last day of the previous month

hi folks,
the code goes like this...
data: xt247 type t247,
monthn(30) type c,
monthnumber type i,
bforwardmonth type i.
call function 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
day_in            = s_date
IMPORTING
last_day_of_month = e_date.
write: 'The last day of the month', e_date.
select single * from t247 into xt247
where spras = sy-langu
and mnr = e_date+4(2).
monthnumber = xt247-mnr.
write:' The month number', monthnumber.
determine the previous month.
bforwardmonth = monthnumber - 1.
From here I need to determine the last day of the previous month How can I do?
Santhosh

Hi all,
here's the shortest solution:
REPORT z123.
PARAMETERS p_datum LIKE sy-datum DEFAULT sy-datum.
DATA ultimo  LIKE sy-datum.
<b>ultimo = p_datum - p_datum+6(2).</b>
WRITE: / p_datum, 20 ultimo COLOR 2.
it's not my solution :
it's from <a href="http://www.abapforum.com/forum/viewtopic.php?t=1434&highlight=ultimo">Andrew_</a>
regards Andreas

• The last day of the month when the report is run

Hi,
I am working on custom outbound idocs for FICO module through INTERFACE Program  the third party sytem needs <b> "The last day of the month when the report is run"</b> so is there any sytem field or standard SAP Sytem Table field which can give me that value.plz let me know ASAP.
Other wise should i develop  custom logic.

Hi,
Try this way.
Selection-screen
PARAMETERS: p_bldat LIKE bsis-bldat .
INITIALIZATION.
DATA: v_end_date LIKE sy-datum.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
day_in            = sy-datum
IMPORTING
last_day_of_month = v_end_date
EXCEPTIONS
day_in_no_date    = 1
OTHERS            = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
p_bldat = v_end_date.
Thanks,
Anitha

• Object date - how to get the last day of the month?

hi all,
I have a date object in which I would like to get the last day of the month. any idea?
eg AUG=31
Feb = 28 (depends if a leap year)
thanks

Use java.util.Calendar
Add 1 month to the day.
Set the day of month to be 1.
Subtract 1 day.
Now you are on the last day of the month you wanted.

• How can I find the last day of the current month

Is it possible to get the last day of the month in reports. Suppose I enter JUL in one of the text field. Now in reports I want to show that JUL contains 31 days. How can I retrieve the last day of the month.
Any ideas?

The first (and fast) solution I think is this:
There is a function MONTH(CURRENT_DATE) that returns the number of the month of the current date.
Now, you could use CASE WHEN expressions to determine the number of days returned since you now how many days does every month have.
For instance, you could do:
CASE
WHEN MONTH(CURRENT_DATE)=1 THEN 31
WHEN MONTH(CURRENT_DATE)=2 THEN 28
WHEN MONTH(CURRENT_DATE)=3 THEN 31
WHEN MONTH(CURRENT_DATE)=4 THEN 30
END
PD. This is faster that use OR expressions like 1 or 3 or 5 because you dont have to try every option.
Hope it helps...but maybe there is another way more automatic.
Edited by: linkln on 03/09/2010 08:21 AM

• Generating the last day of the week

HI All,
I have the Year value (for eg 2002, 2006) and the week number value in the year ( for eg : 32, 52) . Based on this information, how can I get the last day of the particular week.
for eg What is the last day of the week - 2002,32
Any pointer would be great.
Thanks and Regards
Venkat

Or try this:
SQL> WITH t AS
(SELECT 2006 YEAR, 1 week
FROM DUAL
UNION ALL
SELECT 2002 YEAR, 32 week
FROM DUAL
UNION ALL
SELECT 2005 YEAR, 52 week
FROM DUAL
UNION ALL
SELECT 2006 YEAR, 52 week
FROM DUAL)
SELECT YEAR,
week,
CASE
WHEN TO_CHAR (TRUNC (TO_DATE (YEAR, 'RR'), 'RR'), 'IW') != 1
THEN TRUNC (TRUNC (TO_DATE (YEAR, 'RR'), 'RR') + 7, 'IW')
ELSE TRUNC (TRUNC (TO_DATE (YEAR, 'RR'), 'RR'), 'IW')
END
+ 6 + (week - 1) * 7 LAST_DAY
FROM t
YEAR                                               WEEK LAST_DAY
2006                                                  1 08-JAN-06
2002                                                 32 11-AUG-02
2005                                                 52 01-JAN-06
2006                                                 52 31-DEZ-06
4 rows selected.

• How to get the last day of the week?

Hii
i can get the calender week number for any given date using
SELECT to_char(to_date('04/04/2011','MM/DD/YYYY'),'WW') FROM dual
can any body tell me, how to get the last day of that week ?
and the answer should be 04/08/2011(8th april )
thanks
San
Edited by: sandeep9 on Apr 4, 2011 3:50 AM

Hi, San,
Here's one way:
WITH     sample_data     AS
SELECT  DATE '2011-04-04'     AS dt
FROM     dual
SELECT  dt
,     TO_CHAR (dt, 'WW')     AS week_num
,     NEXT_DAY ( dt - 1
, TO_CHAR ( TRUNC (dt, 'YEAR') - 1
, 'Day'
)          AS end_o_week
FROM     sample_data;Another way is to use date arrithmetic:
WITH     sample_data     AS
SELECT  DATE '2011-04-09'     AS dt
FROM     dual
SELECT  dt
,     TO_CHAR (dt, 'WW')     AS week_num
,     TRUNC (dt, 'YEAR')
+ (7 * CEIL ( (dt - (TRUNC (dt, 'YEAR') - 1))
/ 7
- 1               AS using_date_arithmetic
FROM     sample_data;

• How do I set a recurring event for the last day of the month on iphone 4s calendar?

I want to set a recurring event for the last day of every month - regardless of the date/number of days in the month. I'd prefer not to have to use an app to do this.

Hi,
You can do this using the custom repeat in iCal. You'll need two events to cover the second and fourth Mondays.
Create the event on the second Monday of the month. In Repeat select Custom... > Frequency: Monthly > On the: second Monday.
Do the same for the Fourth Monday.
Best wishes
John M

• How can I know the last day of the subscription of...

How do I know when will be the last day of my subscription of the month?
I just purchased a subscription, it starts immediately. When will be the last day? 3/25?
Since the setting page shows me that my next payment will due on 3/23, so I got confused.
Thanks!

Hi,
Please specify what you mean by last manager?
If you mean, previous manager:
You can try something like this...
--Test Data
CREATE TABLE emp_manager
empid NUMBER,
manager NUMBER,
start_date DATE,
end_date DATE
INSERT INTO emp_manager values (100,200,'1-JAN-00','31-DEC-05');
INSERT INTO emp_manager values (100,202,'1-JAN-06','31-DEC-10');
INSERT INTO emp_manager values (100,204,'1-JAN-11',null);
COMMIT;
--Generalized SQL for getting the previous managers
SELECT manager FROM
SELECT manager, ((COUNT(*) OVER (PARTITION BY empid))-ROWNUM) morder
FROM emp_manager
WHERE empid = 100 --Pass EMP ID here
ORDER BY start_date DESC)
WHERE morder = 1; --Pass 0 for current manager and 1 for previous manager and 2 for manager before previous manager and so on..Results:
MANAGER
202Hope it helps..
Regards,
Rakesh
Edited by: Rakesh Desai on Mar 28, 2011 3:12 PM

• Function to get the last day of the current month

Hi friends
Now I need to know a function to get the last day of a month. I had between my notes that function but I do not find it and I think you can give the answer faster.
Thanks
DBA Oracle

I know emoticons are a bit naff but in the absence of a UBB markup to indicate humourous intent they do serve to indicate a joke. This is useful in a purely verbal domain like these forums, especially given that many participants don't have English as their first lanaguage and so often miss the wordplay.
Cheers, APC

• How to get the last day of the current open fiscal period?

hi folks,
I  have to display the last date of the current open fiscal period in the selection screen. Its just a display only.
if there is any function module vailable for getting that period, kindly suggest me?
cheers,

hi,
CALL FUNCTION '/BEV3/CHPERIOD_DETERMINE'
EXPORTING
date = sy-datum
version = c_version
IMPORTING
period = l_period
year = l_fiscal_year
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
If not use GM_GET_FISCAL_YEAR
CALL FUNCTION 'GET_CURRENT_YEAR'
EXPORTING
BUKRS = '1000' " Company Code
DATE = SY-DATUM " Date to find fiscal year for
IMPORTING
CURRM = w_currm " Current Fiscal Month
CURRY = w_curry " Current Fiscal Year
PREVM = w_prevm " Previous Fiscal Month
PREVY = w_prevy. " Previous Fiscal Year
Rgds
Anver

### Maybe you are looking for

Hi, i have an issue with the filename of text file that was dowloaded using gui_download fn module. PARAMETERS : p_file TYPE rlgrap-filename. CONCATENATE s_laufd-low6(2) s_laufd-low4(2) INTO gv_dt. CONCATENATE 'HINL' gv_dt '.001' INTO p_file. START-O

• Macbook Pro can't see wireless network or connect to it, but iPhone can!?!?

ok here"s the deal: I got my macbook pro in the states through school and it has been working fine ever since. I now just moved back home to Germany and for some odd reason the wireless network at home at my mom's won't appear in my "join network" li

• Satellite C660-13R - Wireless and Ethernet do not work after format

Hello there, I just formatted my laptop and I only get Internet connection with a usb wireless antenna... Neither ethernet, nor wireless seem to work. Before the format it worked fine. Here is the product http://www.toshiba.co.uk/discontinued-product

• Issue with dashboard images in OBIEE11g

We have build a tool in java which is used for customizing the skin and style sheet components in the OBIEE11g so that the user define their own user interface for the OBIEE11g screens. The tool behaves erratically/unpredictably when images(Tab,Selec

• Equium M40X - slow internet dropped packets

I'm using wi-fi and my pc keeps dropping packets every so often (and also does when connected via LAN) making my internet connection a bit slow. I have had my wifi router changed and it's still doing it. Thought about upgrading BIOS and wireless driv