Oracle Dates (calendar months or 30-day months)
hi guys,
how would we distinguish if oracle will pick up calendar months or a specific 30-day months?
is add_months(sysdate, n) will use n calendar months (either it will hit a 30-day, 31-day or 28-day month) or a specific 30-day month calculation?
thanks
thanks for all the responses! iam really having some confusions re oracle dates.
last thing, if i add_months for today's daye, 11/21/2007 what would i get here:
add_months(sysdate, 3)
a. Feb 21st -- the date at the beginning of the fourth calendar month from Nov 21
b. Feb 20th -- the date at the end of the third calendar month from Nov 21
c. Feb 18th -- the date that is 90 days after Nov 21
thanks again
Similar Messages
-
Is there a way to repeat an activity in the calendar monthly on the same day, i.e., the 2nd Wednesday of each month? ( I can repeat on the date but not the day of the month.)
Not with the stock calendars app.
-
Customer Exit for Calendar Month based on the day (system Date)
Hello,
I need help in creating a customer exit for Calendar month without the user input. The logic is as follows:
For the BEx variable created with customer exit option and no user input:
If the day on the system date falls in between 1 to 14 take the calendar year/month value as previous month.
If the day on the system date falls in between 15 through 31 then take the calendar year/month as current month.
eg if report is run on March 24th2009 the calendar year/month variable should be calculated as 03/2009 (March 2009)
if the report is run on March 1st2009 the calendar year/month should be calculated as 02/2009 (Feb 2009).
The code should be effective when run in the first 15 days of Jan when the previous month would contain the previous year as well.
Thank You
SrishtiThanks Shanthi. I am trying to incorporate the logic when the query is run in beginning of Jan when the year should be the previous year.Following is the code.please let me know if it would work. Is there a way I can test it as well?
CASE I_VNAM.
WHEN 'ZCURCALMON'.
IF i_step = 2.
data: mm(2),
dd(2),
yy(4),
FM(6).
if sy-datum+4(2) EQ 1.
sy-datum(4) = sy-datum(4) - 1.
else.
sy-datum(4) = sy-datum(4).
endif.
if sy-datum+6(2) LE 15.
mm = sy-datum+4(2) - 1.
concatenate sy-datum(4) mm into FM.
else.
concatenate sy-datum(4) sy-datum+4(2) into FM.
endif.
l_s_range-low = FM.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
append l_s_range to e_t_range.
Endif.
ENDCASE.
Thanks
Srishti -
Calendar month dates in horizontal line
Is there anyway to show calendar month dates in horizontal line?
First line will have dates and then second line will have day i.e Sat, Sun, Mon.......
1 2 3 4 5 6 7 8 9 ........31orion_123 wrote:
Is there anyway to show calendar month dates in horizontal line?
First line will have dates and then second line will have day i.e Sat, Sun, Mon.......
1 2 3 4 5 6 7 8 9 ........31You can do all sorts of things if you put your mind to it... e.g.
SQL> break on month skip 1
SQL> set linesize 200
SQL> set pagesize 2000
SQL> column month format a20
SQL> column week format a4
SQL> with req as (select '&Required_Year_YYYY' as yr from dual)
2 ,offset as (select case when to_char(trunc(to_date(yr,'YYYY'),'YYYY'),'IW') in ('52','53') then 1 else 0 end as offset from req)
3 select lpad( Month, 20-(20-length(month))/2 ) month,
4 '('||week||')' as week, "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"
5 from (
6 select to_char(dt,'fmMonth YYYY') month,
7 case when to_char(dt, 'mm') = '12' and to_char(dt,'iw') = '01' and offset = 0 then '53'
8 when to_char(dt, 'mm') = '12' and to_char(dt,'iw') = '01' and offset = 1 then '54'
9 when to_char(dt, 'mm') = '01' and to_char(dt,'iw') in ('52','53') then '1'
10 else to_char(to_number(to_char(dt,'iw'))+offset) end as week,
11 max(decode(to_char(dt,'d'),'1',lpad(to_char(dt,'fmdd'),2))) "Mo",
12 max(decode(to_char(dt,'d'),'2',lpad(to_char(dt,'fmdd'),2))) "Tu",
13 max(decode(to_char(dt,'d'),'3',lpad(to_char(dt,'fmdd'),2))) "We",
14 max(decode(to_char(dt,'d'),'4',lpad(to_char(dt,'fmdd'),2))) "Th",
15 max(decode(to_char(dt,'d'),'5',lpad(to_char(dt,'fmdd'),2))) "Fr",
16 max(decode(to_char(dt,'d'),'6',lpad(to_char(dt,'fmdd'),2))) "Sa",
17 max(decode(to_char(dt,'d'),'7',lpad(to_char(dt,'fmdd'),2))) "Su"
18 from ( select trunc(to_date(req.yr,'YYYY'),'y')-1+rownum dt
19 from all_objects, req
20 where rownum <= add_months(trunc(to_date(req.yr,'YYYY'),'y'),12) - trunc(to_date(req.yr,'YYYY'),'y') )
21 ,offset
22 group by to_char(dt,'fmMonth YYYY'), case when to_char(dt, 'mm') = '12' and to_char(dt,'iw') = '01' and offset = 0 then '53'
23 when to_char(dt, 'mm') = '12' and to_char(dt,'iw') = '01' and offset = 1 then '54'
24 when to_char(dt, 'mm') = '01' and to_char(dt,'iw') in ('52','53') then '1'
25 else to_char(to_number(to_char(dt,'iw'))+offset) end
26 ) x
27 order by to_date( month, 'Month YYYY' ), to_number(x.week)
28 /
Enter value for required_year_yyyy: 2012
old 1: with req as (select '&Required_Year_YYYY' as yr from dual)
new 1: with req as (select '2012' as yr from dual)
MONTH WEEK Mo Tu We Th Fr Sa Su
January 2012 (1) 1
(2) 2 3 4 5 6 7 8
(3) 9 10 11 12 13 14 15
(4) 16 17 18 19 20 21 22
(5) 23 24 25 26 27 28 29
(6) 30 31
February 2012 (6) 1 2 3 4 5
(7) 6 7 8 9 10 11 12
(8) 13 14 15 16 17 18 19
(9) 20 21 22 23 24 25 26
(10) 27 28 29
March 2012 (10) 1 2 3 4
(11) 5 6 7 8 9 10 11
(12) 12 13 14 15 16 17 18
(13) 19 20 21 22 23 24 25
(14) 26 27 28 29 30 31
April 2012 (14) 1
(15) 2 3 4 5 6 7 8
(16) 9 10 11 12 13 14 15
(17) 16 17 18 19 20 21 22
(18) 23 24 25 26 27 28 29
(19) 30
May 2012 (19) 1 2 3 4 5 6
(20) 7 8 9 10 11 12 13
(21) 14 15 16 17 18 19 20
(22) 21 22 23 24 25 26 27
(23) 28 29 30 31
June 2012 (23) 1 2 3
(24) 4 5 6 7 8 9 10
(25) 11 12 13 14 15 16 17
(26) 18 19 20 21 22 23 24
(27) 25 26 27 28 29 30
July 2012 (27) 1
(28) 2 3 4 5 6 7 8
(29) 9 10 11 12 13 14 15
(30) 16 17 18 19 20 21 22
(31) 23 24 25 26 27 28 29
(32) 30 31
August 2012 (32) 1 2 3 4 5
(33) 6 7 8 9 10 11 12
(34) 13 14 15 16 17 18 19
(35) 20 21 22 23 24 25 26
(36) 27 28 29 30 31
September 2012 (36) 1 2
(37) 3 4 5 6 7 8 9
(38) 10 11 12 13 14 15 16
(39) 17 18 19 20 21 22 23
(40) 24 25 26 27 28 29 30
October 2012 (41) 1 2 3 4 5 6 7
(42) 8 9 10 11 12 13 14
(43) 15 16 17 18 19 20 21
(44) 22 23 24 25 26 27 28
(45) 29 30 31
November 2012 (45) 1 2 3 4
(46) 5 6 7 8 9 10 11
(47) 12 13 14 15 16 17 18
(48) 19 20 21 22 23 24 25
(49) 26 27 28 29 30
December 2012 (49) 1 2
(50) 3 4 5 6 7 8 9
(51) 10 11 12 13 14 15 16
(52) 17 18 19 20 21 22 23
(53) 24 25 26 27 28 29 30
(54) 31
64 rows selected.
SQL>That's just an example, but yes, of course you can do it. Oracle provides excellent DATE functionality. -
FM to get previous fiscal month/year and calendar month/year for a date.
Hi All,
I am having a requirement to extract some data based on either the previous fiscal month/year or the previous calendar month/year. There is no company code input to find the fiscal/calendar month/year.
At selection screen, user can select either fiscal or calendar selection.
Based on the selection, the data will be extracted.
For the system date, we need to calculate previous fiscal month/year or previous calendar month/year and populate the calculated data back to the selection-screen.
Can you one of you please suggest an FM to find previous fiscal month/year and previous calendar month/year.
Thanks in Advance,
Regards
GowthamiHi Gowthami,
You can use following function module to calculate previous / next day or month or year.
call function '/SAPHT/DRM_CALC_DATE'
exporting
date = sy-datum
days =
months =
sign = '-'
years =
importing
calc_date = .
Here, you can give '-' to sign, if you want previous day / month / year.
Here, you can give '+' to sign, if you want next day / month / year.
And depending upon your requirement, you can pass suitable value to days / month / year.
e.g. To calcualte last month,
call function '/SAPHT/DRM_CALC_DATE'
exporting
date = sy-datum
days =
months = 1
sign = '-'
years =
importing
calc_date = wv_prev_month.
so it will give '23-01-2008' . Then convert it in the required format as per your requirement using string function concatenate.
Hope this help you.
Regards,
Anil -
"Current Calendar Month" vs. "Current Calendar Day (SAP Exit)-1" why this?
Hi,
we are looking at a situation regarding Yerterday's data against MTD for the same restricted key figure. The believe is that MTD(Jan 10) less MTD(Jan 9) should be equal to Yesterday(Jan 9) i.e. yesterday's data, assuming today is Djan 10 2007.
Unfortunately it is not happeing like that. Any ideas as to what may be going on?
"Yesterday" is the key figure is restricted by
"Calendar day" restricted on "Current Calendar Day (SAP Exit)-1"
"MTD" is restricted on
"Cal. Year/Month 0CALMONTH" restricted on "Current Calendar Month 0CMONTH"
Shouldn't the Yesterday and the difference between MTD as described above be the same?
If not, how should the time char be handled to get what I am looking for?
ThanksHI,
thanks for the example ... let me correct what you did not get:
Using your exmple,
MTD(Jan 10) = 1500
MTD(Jan 9) = 1400
Therefore, MTD(Jan 10) - MTD(Jan 9) = 1500 -1400 =100
But on Jan 10, when I say Yesterday, I am referring to Jan 9 = 600
Why is Yesterday, calculated based on the cummulative difference of the two MTDs not equal to the raw Yesterday?
This is where the confusion is. Somebody got the report for MTD(Jan 9) and noted the number down. Then on the next day got the report for MTD(Jan 10) and noted the numberber down. When she takes the diffference and get 600, she expects that when she compares it to the Yesterday's data she gets the same numbers. Why is it that also in your example it does not happen that way.
Thanks -
Start date End date of the current Calendar month
Hi All,
How can we get the Start date of the Current Calendar month and the End date of the current Calendar month , when we given certain date in the selection screen.
For Eg : In the Selection screen if I give date as Todays date 04042008, we should be getting the Start date of the month as 01042008 and End date of the month as 31042008.
Any pointers will be much appreciated.
Regards
Rohini.Hi,
Please refer the code below:
CALL FUNCTION 'FIRST_DAY_IN_PERIOD_GET'
EXPORTING
i_gjahr = sp_gjahr
* i_monmit = gp_monat
i_periv = 'K4'
i_poper = sp_monat
IMPORTING
e_date = gv_firstday
EXCEPTIONS
input_false = 1
t009_notfound = 2
t009b_notfound = 3
OTHERS = 4
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
"Last day of the period
CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
EXPORTING
i_gjahr = sp_gjahr
* I_MONMIT = gp_monat
i_periv = 'K4'
i_poper = sp_monat
IMPORTING
e_date = gv_lastday
EXCEPTIONS
input_false = 1
t009_notfound = 2
t009b_notfound = 3
OTHERS = 4
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Thanks,
Sriram Ponna. -
Split Data from Month to Days in the Bex Report
Hi Gurus,
I have a Actual and Plan data. Actual data is on daily basis and Plan data is in monthly basis.....
Requirement is : User will be entered Calendar Day ( any day of the month for example : 06/18/2010) to bring Month to date on both Actual and Plan data. Like for example if user enters the date 18th June 2010. Then I need to pull from the beginning of the month to date up to that selection day( in our case 18 days).
Actual : I don't have issue getting the Month to date and Year to date because I have data on daily basis.
Plan : As I said data is on monthly basis. I want to break this data up to the day selected ( from 1st of the June month to 18th as given in example) by user. Like if you have amount is $5000 then my logic will be
CKF = (5000 * 18) / total number days in the month
Please provide help on this how to bring the data for Plan...
Thanks
Ganesh Reddy.ganesh,
in your data model convert date field to calander period and calander year .
once that is done
create restricted key figures
1) month to date
2) year to date
month to date - key figure is restricted to custom variable ( which populates calander period based on the date user enter)
year to date - key figure is restricted to custom variable (which populates calander year based on the date user enter )
hope you got it .
Thanks,
pk. -
I am using the big date calendar template in iPhoto. I am on Lion 10.7.2, macbook air. The names of the months are on each calendar page but something happens when I send the data to Apple. The names are part of the template. They are not text boxes. I lose two names on the calendar after it is sent to Apple. Apple suggested I make a pdf file of my calendar before sending it in and check to make sure every name shows. I did this with a calendar I just sent in. The calendar was correct. All names of the months were showing. After sending the data two month names disappeard because when it arrived by mail, it was incorrect. Apple looked at my calendar via a pdf file and it was incorrect. This is second time this has happened. I called Apple and they had me delete several folders in the Library folder, some preferences and do a complete reinstall of iPhoto. I have not yet remade the defective calendar. I am wondering if anyone else has had this problem?
kathyControl-click on the background of the view all pages window and select "Preview Calendar" from the contextual menu.
You can also save the pdf as a file to compare to the printed calendar. If the two names are visible in the pdf file then the printed copy should show them. Contact Apple for a refund. Apple Print Products - Apple Store (U.S.) -
Customer Exit for Number of Days from 1 st Apr to last date of Month Enter
Hello BI Experts,
I have a requirement to count the number of days from 1 st April of current year to the last date of month entered.
For example : The use will enter say July 2010 or 003.2010 (as Fiscal Year Variant is V3 ).
Today is 14 July ...So we have to first find out the end date of the July month ie 31 st July
Then go to 1 st April 2010.
Now calculate the Number of days between 1 st April to 31 st July 2010.
I consider I have to create two Customer Exit variable
as below
1 st customer exit Bex variable say ZLY_MTH ( Last day of Month Entered)
and i_step = 1
2 nd Customer Exit BEx Formula variable say ZF_NUMDAYS ( Number of days between two dates)
i_step =1 .
Please provide me the logic for the above two.
Thanks in Advance.
Regards,
Amol KulkarniPSUDEO CODE:
1. Initially LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZMONTH'.
2. Get the Month input using VAR_MONTH2 = LOC_VAR_RANGE-LOW+4(2)
3. Now calculate Month+1: VAR_MONTH2 = VAR_MONTH2 + 1 (Refer **)
4. Now calculate the Current Year: VAR_YEAR = LOC_VAR_RANGE-LOW+0(4).
5. Get the 1st Day of the Month (VAR_MONTH2): CONCATENATE '01' '/' VAR_MONTH2 '/' VAR_YEAR INTO L_S_RANGE-LOW.
6. SUBRACT 1 (0DATE) from this DATE (This will give the logic for last day of the current month)
Insert this code also for using the date conversions
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = VAR_MONTH2
IMPORTING
OUTPUT = VAR_MONTH2.
Pls. check out this logic. Guess it would solve your need.
Thanks,
Arun Bala -
To Display "Calendar Month/Year" at report level from Calendar Day
Hello Friends,
I have a scenario in which I have 0CALDAY (e.g. 01.01.2009) along with other fields available in my report. My requirement is to display "Calendar Month/Year" (e.g. 01.2009) in my report.
Is it possible to have "Calendar Month/Year" in my report from 0CALDAY, by making changes to the query, as I cannot remodel the underlying InfoCube?
Many Thanks,
VishwAHI Vishwa,
Hope it will helps.
How to get month from CREATE DATE field??
Regards,
SVS -
Line chart to plot count of 2 date fields against calendar month
Post Author: springle
CA Forum: Charts and Graphs
I would like to create a line chart with 2 lines. I would like the x axis to be a calendar month. I would like the y axis to be the count of a date field for that month. I would like 2 lines, one the the count of applications recieved in a month and the other to be the number of shipments in a month. I can make a chart to plot one or the other but not both on one chart.So in summary I want of a count of date1 and a count of date2 by calendar month in one line chart.Thanks in advance,ScottPost Author: springle
CA Forum: Charts and Graphs
Thanks for the reply but I am afraid this does not solve my problem. Your proposal make the month count of Date1 records in the fields and the count of Date2 in the month of date1 I am try to graph...In the month of Jan: 56 apps and 49 deliveriesIn the month of Feb: 76 apps and 79 deliveriesIn the month of Feb: 86 apps and 69 deliveriesThe change on date cannot be either app date or del date. It needs to be independent from a calendar timeline. Scott -
Aging - 7 Buckets Report needs to display by Calendar month not by days
The requirement is to display the Aging - 7 Buckets Report display by calendar month not by days. So is it suggestible to customize it or write a new custom report?
Please let me know if you have any solution on how to do it? i appreciate your help and time.
EX:If this is OCT and the report is run during this month
OCT-10 SEP-10 AGU-10 JUL-10 JUN-10 MAY-10 APR-10
Customer Amount Current Past Due Past Due Past Due Past Due Past Due Past DueHi
Could you please let me know if you were able to achieve Aging by bucket months?
Can we create aging bucket that is monthly and not on the basis of days?
Regards
Divya -
Number of days in the calendar month
Hi All,
How can i get the number of days in the calendar month in Bex reporting.
Thanks,
GanaHello,
Please go through the following links.
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/20f119d9-922d-2c10-88af-8c016638bd90
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/f002c608-2533-2c10-25a1-d0e7f7b5b662
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/10fc4382-afa6-2c10-1380-fa224fe4324f
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/f0fefc77-40e3-2c10-8da3-d4bfcb013387
Thanks.
With regards,
Anand Kumar -
I need FM calc. days/months/years between 2 dates but computes the work day
I need FM calc. days/months/years between 2 dates but computes the work day.
someone knows ?Hi,
The FM is 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
Check the following example:
DATA: EDAYS LIKE VTBBEWE-ATAGE,
EMONTHS LIKE VTBBEWE-ATAGE,
EYEARS LIKE VTBBEWE-ATAGE.
PARAMETERS: FROMDATE LIKE VTBBEWE-DBERVON,
TODATE LIKE VTBBEWE-DBERBIS DEFAULT SY-DATUM.
call function 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
exporting
i_date_from = FROMDATE
i_date_to = TODATE
I_FLG_SEPARATE = ' '
IMPORTING
E_DAYS = EDAYS
E_MONTHS = EMONTHS
E_YEARS = EYEARS.
WRITE:/ 'Difference in Days ', EDAYS.
WRITE:/ 'Difference in Months ', EMONTHS.
WRITE:/ 'Difference in Years ', EYEARS.
INITIALIZATION.
FROMDATE = SY-DATUM - 60.
Regards,
Bhaskar
Maybe you are looking for
-
Hello, i'm trying to call a Report from a Form but i'm getting the error: <b>Cannot Get Output of Job ID 91 you requested on Mon Feb 03 14:00:03 BRT 2003. REP-56033: Job 91 does not exist<b/> I'm using Reports Server 9i (9.0.2.3) and Forms Server 6i.
-
Service manager console can't connect to Service manager data warehouse SQL reporting services
When I start Service manager console, it gives this kind of error: The Service Manager data warehouse SQL Reporting Services server is currently unavailable. You will be unable to execute reports until this server is available. Please contact your sy
-
Why can't I download my documents in PDF or word versions?
Suddenly the only version I am allow to download is pages. Any suggestions?
-
Hi: I use jbuilder to deploy the appliacation of Kodo JDO 3.0 to Weblogic ,the error message is : Deployment failed on Server myserver java.lang.NoClassDefFoundError: com/solarmetric/kodo/runtime/ObjectNotFoundException I checked the package ,and did
-
I have no more details. That's I have. it just happened on the 4.0 download 3/29/11 8pm.