Selecting last value for a given date
I've read some of the other threads on the this tope, but can't find a resolution.
My query is supposed to get the last values for the given two days (start date and end date) and I return the difference between the two values. The query as it is only works for days where there is an entry for 12:00 pm. On some days, it will therefore return nothing. But I'm not sure how to get it to choose the last value for the given day and still remain a fast query.
Here is a sample of the query with dates that return a result.
SELECT max_query.sgnl_id as sgnl, max_query.max_val - min_query.min_val result_val
FROM
(SELECT t1.sgnl_id, t2.smpl_dte, t1.pv_id,
MAX(t2.integ_since_val) AS max_val
FROM diag.blm_acct t2, diag.pv_sgnl_id_assc t1
WHERE t2.smpl_dte = TO_DATE ('11/15/2008 12:00:00 PM', 'MM-DD-YYYY HH:MI:SS AM')
AND t1.pv_id = t2.pv_id
AND t2.pv_id IN
(SELECT pv_id
FROM diag.pv_sgnl_id_assc
WHERE sgnl_id IN
(SELECT sgnl_id
FROM diag.series_sgnl_rec_asgn
WHERE series_id = 'Series5'
GROUP BY t1.sgnl_id, t2.smpl_dte, t1.pv_id
) max_query ,
(SELECT pv_id,
MAX(integ_since_val) AS min_val
FROM diag.blm_acct
WHERE smpl_dte = TO_DATE ('11/10/2008 12:00:00 PM', 'MM-DD-YYYY HH:MI:SS AM')
AND pv_id IN
(SELECT pv_id
FROM diag.pv_sgnl_id_assc
WHERE sgnl_id IN
(SELECT sgnl_id
FROM diag.series_sgnl_rec_asgn
WHERE series_id = 'Series5'
GROUP BY pv_id
) min_query WHERE max_query.pv_id = min_query.pv_id
ORDER BY max_query.sgnl_idThe data set in the table is quite large, but the above query returns only 49 results (one for each signal in 'Series5').
I tried the following statement by itself to get the last value, but it takes quite a long time to execute (increased the overall query time from 1 sec to 400+ sec when used in the query above):
SELECT DISTINCT trunc(smpl_dte) as the_day,
first_value(integ_since_val) over (partition by trunc(smpl_dte) order by smpl_dte desc) as last_val_per_day
FROM diag.blm_acct WHERE pv_id = 3 and trunc(smpl_dte) = to_date('05/18/2008', 'MM-DD-YYYY ')Any thoughts?
Well here is an example of the output I'm trying to generate:
SGNL RESULT_VAL
CCL_Diag:BLM00:Slow60PulsesTotalLoss 52.843439255
CCL_Diag:BLM101:Slow60PulsesTotalLoss 55.7883452511etc...
Here is the table structure:
describe diag.blm_acct;
Name Null Type
BLM_ACCT_ID NOT NULL NUMBER(12)
PV_ID NOT NULL NUMBER(38)
SMPL_DTE NOT NULL DATE
INTEG_OVER_VAL BINARY_DOUBLE()
INTEG_SINCE_VAL BINARY_DOUBLE()
INTEG_TYPE_ID NUMBER(3)
describe diag.PV_SGNL_ID_ASSC
Name Null Type
PV_ID NOT NULL NUMBER(38)
SGNL_ID NOT NULL VARCHAR2(75)
describe diag.SERIES_SGNL_REC_ASGN
Name Null Type
SERIES_ID NOT NULL VARCHAR2(50)
SGNL_ID NOT NULL VARCHAR2(75)
DISP_ORD_NBR NUMBER The main problem I'm having is how to replace this line of code:
WHERE t2.smpl_dte = TO_DATE ('11/15/2008 12:00:00 PM', 'MM-DD-YYYY HH:MI:SS AM')with something that will get the last value (integ_since_val) in the diag.blm_acct table for the 11/15 date.
Edited by: Solerous on Feb 18, 2009 11:32 AM - I figured out how to output the table data
Similar Messages
-
Last Record Values for a given Date Range
Hi, I have a unique requirement to process/report only the values of the last record found in a date range for a given set of characteristics. The order would be by FISCPER.
For example: I have some data with 3 characteristics.
STORE001 MATN001 2004001 100 PCS
STORE001 MATN001 2004005 75 PCS
STORE001 MATN001 2004006 80 PCS
STORE002 MATN002 2003008 10 PCS
STORE002 MATN002 2004001 15 PCS
STORE002 MATN002 2004004 40 PCS
A selected date range of 2003008 to 2004001 would result in the following records being processed.
STORE001 MATN001 2004001 100 PCS
STORE002 MATN002 2004001 15 PCS
A selected date range of 2004002 to 2004006 would result in the following records being processed.
STORE001 MATN001 2004006 80 PCS
STORE002 MATN002 2004004 40 PCS
How can I accomplish this at runtime? Any ideas?Nope, it's not an inventory scenario. It could be say the last status of a gas meter within a selected date range.
Any other ideas?
I've considered using VKF, but haven't figured out how this would work yet. If I could modify the selected query data prior to query processing I might be able to number the records and then filter on that..... Anyway I'm open to any suggestions or leads!
I won't forget the points for anyone with a solution!
Thanks! -
Select last value for each day from table
Hi!
I have a table that stores several measures for each day. I need two queries against this table and I am not quite sure how to write them.
The table stores these lines (sample data)
*DateCol1 Value Database*
27.09.2009 12:00:00 100 DB1
27.09.2009 20:00:00 150 DB1
27.09.2009 12:00:00 1000 DB2
27.09.2009 20:00:00 1100 DB2
28.09.2009 12:00:00 200 DB1
28.09.2009 20:00:00 220 DB1
28.09.2009 12:00:00 1500 DB2
28.09.2009 20:00:00 2000 DB2Explanation of data in the sample table:
We measure the size of the data files belonging to each database one or more times each day. The value column shows the size of the database files for each database at a given time (European format for date in DateCol1).
What I need:
Query 1:
The query should return the latest measurement for each day and database. Like this:
*DateCol1 Value Database*
27.09.2009 150 DB1
27.09.2009 1100 DB2
28.09.2009 220 DB1
28.09.2009 2000 DB2Query 2:
The query should return the average measurement for each day and database. Like this:
*DateCol1 Value Database*
27.09.2009 125 DB1
27.09.2009 1050 DB2
28.09.2009 210 DB1
28.09.2009 1750 DB2Could someone please help me to write these two queries?
Please let me know if you need further information.
Edited by: user7066552 on Sep 29, 2009 10:17 AM
Edited by: user7066552 on Sep 29, 2009 10:17 AMFor first query you can use analytic function and solve it.
with t
as
select to_date('27.09.2009 12:00:00', 'dd.mm.yyyy hh24:mi:ss') dt, 100 val, 'DB1' db from dual union all
select to_date('27.09.2009 20:00:00', 'dd.mm.yyyy hh24:mi:ss'), 150, 'DB1' from dual union all
select to_date('27.09.2009 12:00:00', 'dd.mm.yyyy hh24:mi:ss'), 1000, 'DB2' from dual union all
select to_date('27.09.2009 20:00:00', 'dd.mm.yyyy hh24:mi:ss'), 1100, 'DB2' from dual union all
select to_date('28.09.2009 12:00:00', 'dd.mm.yyyy hh24:mi:ss'), 200, 'DB1' from dual union all
select to_date('28.09.2009 20:00:00', 'dd.mm.yyyy hh24:mi:ss'), 220, 'DB1' from dual union all
select to_date('28.09.2009 12:00:00', 'dd.mm.yyyy hh24:mi:ss'), 1500, 'DB2' from dual union all
select to_date('28.09.2009 20:00:00', 'dd.mm.yyyy hh24:mi:ss'), 2000, 'DB2' from dual
select dt, val, db
from (
select row_number() over(partition by trunc(dt), db order by dt) rno,
count(*) over(partition by trunc(dt), db) cnt,
t.*
from t)
where rno = cntFor second you can just group by
with t
as
select to_date('27.09.2009 12:00:00', 'dd.mm.yyyy hh24:mi:ss') dt, 100 val, 'DB1' db from dual union all
select to_date('27.09.2009 20:00:00', 'dd.mm.yyyy hh24:mi:ss'), 150, 'DB1' from dual union all
select to_date('27.09.2009 12:00:00', 'dd.mm.yyyy hh24:mi:ss'), 1000, 'DB2' from dual union all
select to_date('27.09.2009 20:00:00', 'dd.mm.yyyy hh24:mi:ss'), 1100, 'DB2' from dual union all
select to_date('28.09.2009 12:00:00', 'dd.mm.yyyy hh24:mi:ss'), 200, 'DB1' from dual union all
select to_date('28.09.2009 20:00:00', 'dd.mm.yyyy hh24:mi:ss'), 220, 'DB1' from dual union all
select to_date('28.09.2009 12:00:00', 'dd.mm.yyyy hh24:mi:ss'), 1500, 'DB2' from dual union all
select to_date('28.09.2009 20:00:00', 'dd.mm.yyyy hh24:mi:ss'), 2000, 'DB2' from dual
select trunc(dt) dt, avg(val) val, db
from t
group by trunc(dt), db
order by trunc(dt) -
How to store beyond the range value for a given data type!!!
Hi all,
I want to know.Is it possible to create a new data type like int,float in java. which can store any number without any range restrictions.As you know the range of byte data type is -128 - + 127.I don't want any range restrictions.The data type should be able to grow dynamically.
Regards!!
Tameshwar SahuThe only solution I can think of is to use java objects, Im not sure youll be able to create a new primitive for java !!
Youd have to put together Integers, posibly in a vector depending on how HUGE a number youd like to create.
If you reached the max of one, add another to the vector. and then continue with the next.. The problem with this of course is the fact that math operations, will be a bit of a challenge to code. also actuall representation of the value would be a bit tricky as well !! There are however ways to go about this, you just have to think about it a little. -
How to get start date of the period for a given date from cube
I have a situation where i need to find the start day of the period for a given date. is there a way to know that. i want to use that in my report. i enter the date from my report(i have date parameter), depends on the date, i want to display the start day
of the period. how can i write expression for that in my report?
ramHi ramprasad74,
According to your description, you are using Analysis Services as a data source for the report, the cube has hierarchy: Fyear, FQuarter, FPeriod, fweek, Fdate. You want to add a date parameter to the report, after you changed value of the parameter, the
report will return the first day of FPeriod.
To achieve your goal, we need to add a parameter to the report, then use the parameter in mdx query. For detail information, please refer to the following steps:
In the Report Data pane, right-click on a dataset created from a SQL Server Analysis Services data source type, and then click Query. The MDX query designer opens in Design mode.
On the toolbar, click Design to toggle to Query mode.
On the MDX query designer toolbar, click Query Parameters symbol. The Query Parameters dialog box opens.
In the Parameter column, click <Enter Parameter>, and then type the name of a parameter.
In the Dimension column, choose a value from the drop-down list.
In the Hierarchy column, choose a value from the drop-down list.
In the Default column, from the drop-down list, select a single value.
Click OK.
In query designer dialog box, type the mdx query like below:
with member [Measures].[FirstChild]
as
[Date].[Fiscal].currentmember.parent.firstchild.name
select {[Measures].[FirstChild]} on 0,
[Date].[Fiscal].[Date].members on 1
from
( SELECT ( STRTOSET(@ParameterName, CONSTRAINED) ) on 0
from
[Cube]
Here are relevant threads you can reference:
https://social.msdn.microsoft.com/forums/sqlserver/en-US/c7146ac3-40ea-4d53-b321-c707aebbd405/how-to-pass-date-parameter-to-mdx-query
https://social.msdn.microsoft.com/forums/sqlserver/en-US/fd12a865-bc90-4a65-af42-ce38a8cfa29b/pass-date-time-parameter-to-mdx-query-ssrs
If you have any more questions, please feel free to ask.
Thanks,
Wendy Fu
If you have any feedback on our support, please click
here. -
How to query a item stock quantity for a given date
Hi there,
I need to query the stock quantity of an item for a given date. For example, i want to know how many pieces of A i have on stock at the 20th of march 2009.
I know there is a report, but i need the value for a subquery.
Regards SteffenSorry Gordon,
Your query is not wrong, far from me to insult your work. It does indeed make full sense if the business process allows the item description to change.
If not, we can avoid a "inner join" = smaller, cleaner and (theoritically) faster query
Here is your code with the little review:
SELECT T0.ItemCode, T0.Dscription, sum(T0.InQty - T0.OutQty) as 'On Hand'
FROM DBO.OINM T0
WHERE T0.DocDate <= '[%0]' and T0.ItemCode = '[%1]'
GROUP BY T0.ItemCode, T0.Dscription
Cheers
tested on 2007 SP00 PL46 -
Getting the week number for a given date
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for 64-bit Windows: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
Hello all.
I am currently migrating our product from SQL SERVER to ORACLE and have the following issue.
Basically I'm just trying to get the year week number for a given date but I'm having trouble with Oracle as it seems to think that the weeks run from Thursday to Thursday?. I presume this is something to do with the fact that the first day of the year was Thursday?
e.g.
SQL SERVER:
select DATEPART(wk, '2009-10-24') as Sat -- 43 - correct
select DATEPART(wk, '2009-10-25') as Sun -- 44 - correct
select DATEPART(wk, '2009-10-26') as Mon -- 44 - correct
select DATEPART(wk, '2009-10-27') as Tue -- 44 - correct
select DATEPART(wk, '2009-10-28') as Wed -- 44 - correct
select DATEPART(wk, '2009-10-29') as Thu -- 44 - correct
select DATEPART(wk, '2009-10-30') as Fri -- 44 - correct
select DATEPART(wk, '2009-10-31') as Sat -- 44 - correct
select DATEPART(wk, '2009-11-1') as Sun -- 45 - correct
select DATEPART(wk, '2009-11-2') as Mon -- 45 - correct
select DATEPART(wk, '2009-11-3') as Tue -- 45 - correct
select DATEPART(wk, '2009-11-4') as Wed -- 45 - correct
select DATEPART(wk, '2009-11-5') as Thu -- 45 - correct
ORACLE:
SELECT to_char(to_date('24-OCT-2009'), 'ww') as Sat from dual; -- 43 correct
SELECT to_char(to_date('25-OCT-2009'), 'ww') as Sun from dual; -- 43 incorrect - should be 44
SELECT to_char(to_date('26-OCT-2009'), 'ww') as Mon from dual; -- 43 incorrect - should be 44
SELECT to_char(to_date('27-OCT-2009'), 'ww') as Tue from dual; -- 43 incorrect - should be 44
SELECT to_char(to_date('28-OCT-2009'), 'ww') as Wed from dual; -- 43 incorrect - should be 44
SELECT to_char(to_date('29-OCT-2009'), 'ww') as Thu from dual; -- 44 correct
SELECT to_char(to_date('30-OCT-2009'), 'ww') as Fri from dual; -- 44 correct
SELECT to_char(to_date('31-OCT-2009'), 'ww') as Sat from dual; -- 44 correct
SELECT to_char(to_date('1-NOV-2009'), 'ww') as Sun from dual; -- 44 incorrect - should be 45
SELECT to_char(to_date('2-NOV-2009'), 'ww') as Mon from dual; -- 44 incorrect - should be 45
SELECT to_char(to_date('3-NOV-2009'), 'ww') as Tue from dual; -- 44 incorrect - should be 45
SELECT to_char(to_date('4-NOV-2009'), 'ww') as Wed from dual; -- 44 incorrect - should be 45
SELECT to_char(to_date('5-NOV-2009'), 'ww') as Thu from dual; -- 45 correct
Now I don't want to get into a discussion with regard to locales etc.
In my world (and is seems SQL SERVER's) the first day of the week is Sunday and the last Saturday.
Is there some NLS_? setting or something that I'm missing?
thanks for any help on this.
AndyThis is what you need.
SELECT ceil(( 7+(trunc(to_date('25-OCT-2009'),'d')-trunc(to_date('25-OCT-2009'),'Y')) )/7) FROM dual
HTH!!!
--tested all these statements.
Works as you wish!!
SELECT ceil(( 7+(trunc(to_date('24-OCT-2009'),'d')-trunc(to_date('24-OCT-2009'),'Y')) )/7) as Sat from dual;
SELECT ceil(( 7+(trunc(to_date('25-OCT-2009'),'d')-trunc(to_date('25-OCT-2009'),'Y')) )/7) as Sun from dual;
SELECT ceil(( 7+(trunc(to_date('26-OCT-2009'),'d')-trunc(to_date('26-OCT-2009'),'Y')) )/7) as Mon from dual;
SELECT ceil(( 7+(trunc(to_date('27-OCT-2009'),'d')-trunc(to_date('27-OCT-2009'),'Y')) )/7) as Tue from dual;
SELECT ceil(( 7+(trunc(to_date('28-OCT-2009'),'d')-trunc(to_date('28-OCT-2009'),'Y')) )/7) as Wed from dual;
SELECT ceil(( 7+(trunc(to_date('29-OCT-2009'),'d')-trunc(to_date('29-OCT-2009'),'Y')) )/7) as Thu from dual;
SELECT ceil(( 7+(trunc(to_date('30-OCT-2009'),'d')-trunc(to_date('30-OCT-2009'),'Y')) )/7) as Fri from dual;
SELECT ceil(( 7+(trunc(to_date('01-NOV-2009'),'d')-trunc(to_date('01-NOV-2009'),'Y')) )/7) as Sat from dual;
SELECT ceil(( 7+(trunc(to_date('02-NOV-2009'),'d')-trunc(to_date('02-NOV-2009'),'Y')) )/7) as Sun from dual;
SELECT ceil(( 7+(trunc(to_date('03-NOV-2009'),'d')-trunc(to_date('03-NOV-2009'),'Y')) )/7) as Mon from dual;
SELECT ceil(( 7+(trunc(to_date('04-NOV-2009'),'d')-trunc(to_date('04-NOV-2009'),'Y')) )/7) as Tue from dual;
SELECT ceil(( 7+(trunc(to_date('05-NOV-2009'),'d')-trunc(to_date('05-NOV-2009'),'Y')) )/7) as Wed from dual;
SELECT ceil(( 7+(trunc(to_date('06-NOV-2009'),'d')-trunc(to_date('06-NOV-2009'),'Y')) )/7) as Thu from dual;
Cheers!!!
Bhushan
Edited by: Buga on Oct 29, 2009 10:46 AM -
Print MULTIPLE sales order for a given date
Hi Gurus,
My requirement is to print sales order for a given date like the one given below.
VL71 - Output from Outbound Deliveries
VL74 - Output from Handling
VF31 - Output from Billing
VOK4- Output Determination: Inventory mgmt.
Is there any T.code for printng multiple sales order instead one-by-one printing using VA02/VA03?
Please hlep me in this regard.
Regards,
AnbuHi anbu,
This is very much possible to mass printing for sales orders.
Goto SE38 T.Code.
Enter the program name as "RSNAST00".
Press Execute or F8
Select output application as "V1" which is sales.
Enter your object key here.
Enter your output type.
Select the transaction medium as "1".
Tick "send again".
Press on Execute or "f8".
Regards,
Krishna. -
How to select XML value for a namespace when multiple namespaces
Hi,
I'm a beginner with this, but I'm doing well with your help from this forum in a recent post selecting out all the detail from my xml
out into my oracle relational tables. Stumped, though, on how to select a value for xml tag value referenced by a defined namespace.
Version, XML, what I want to select, and attempted sql is below. Thanks in advance!
select * from V$VERSION
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for Solaris: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
drop table TRANSCRIPT;
create table TRANSCRIPT (
CONTENT xmltype
<?xml version="1.0" encoding="UTF-8"?>
<arb:AcademicRecordBatch xmlns:arb="urn:org:pesc:message:AcademicRecordBatch:v1.0.0">
<hst:HighSchoolTranscript xmlns:hst="urn:org:pesc:message:HighSchoolTranscript:v1.0.0" xmlns:ct="http://ct.transcriptcenter.com">
<TransmissionData>
<DocumentID>2013-01-02T09:06:15|D123456789</DocumentID>
</TransmissionData>
<Student>
<Person>
<Name>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
</Name>
</Person>
<AcademicRecord>
<AcademicSession>
<Course>
<CourseTitle>KEYBOARD 101</CourseTitle>
<UserDefinedExtensions>
<ct:TranscriptExtensions>
<NCESCode>01001E010456</NCESCode>
<CourseRigor>1</CourseRigor>
</ct:TranscriptExtensions>
</UserDefinedExtensions>
</Course>
<Course>
<CourseTitle>SCIENCE 101</CourseTitle>
<UserDefinedExtensions>
<ct:TranscriptExtensions>
<NCESCode>01001E010457</NCESCode>
<CourseRigor>2</CourseRigor>
</ct:TranscriptExtensions>
</UserDefinedExtensions>
</Course>
</AcademicSession>
<AcademicSession>
<Course>
<CourseTitle>MATH 201</CourseTitle>
<UserDefinedExtensions>
<ct:TranscriptExtensions>
<NCESCode>01001E010458</NCESCode>
<CourseRigor>2</CourseRigor>
</ct:TranscriptExtensions>
</UserDefinedExtensions>
</Course>
</AcademicSession>
</AcademicRecord>
</Student>
</hst:HighSchoolTranscript>
</arb:AcademicRecordBatch>I want to be able to select the NESCODE associated to each coursetitle (01001E010456, 01001E010457, 01001E010458), with NESCode defined by namespace, but getting out NULL.
DOCUMENTID LASTNAME COURSETITLE NCESCODE
2013-01-02T09:06:15|D123456789 Doe KEYBOARD 101
2013-01-02T09:06:15|D123456789 Doe SCIENCE 101
2013-01-02T09:06:15|D123456789 Doe MATH 201
My SQL is below. You'll see where I commented out a couple failed alternatives too. Thanks again in advance for any guidance.
select x0.DocumentID
,x1.LastName
, x3.CourseTitle
,x3.NCESCode
from TRANSCRIPT t
, xmltable(
xmlnamespaces(
'urn:org:pesc:message:AcademicRecordBatch:v1.0.0' as "ns0"
, 'urn:org:pesc:message:HighSchoolTranscript:v1.0.0' as "ns1"
--, 'http://ct.transcriptcenter.com' as "ns1b"
, '/ns0:AcademicRecordBatch/ns1:HighSchoolTranscript'
passing t.content
columns DocumentID varchar2(40) path 'TransmissionData/DocumentID'
, Student xmltype path 'Student'
) x0
, xmltable(
'/Student'
passing x0.Student
columns LastName varchar2(20) path 'Person/Name/LastName'
,AcademicRecord xmltype path 'AcademicRecord'
) x1
, xmltable(
'/AcademicRecord/AcademicSession'
passing x1.AcademicRecord
columns GradeLevel varchar2(20) path 'StudentLevel/StudentLevelCode'
, Courses xmltype path 'Course'
) x2
, xmltable(
xmlnamespaces('http://ct.transcriptcenter.com' as "ns2b")
, '/Course'
passing x2.Courses
columns CourseTitle varchar2(40) path 'CourseTitle'
,NCESCode varchar2(20) path 'UserDefinedExtensions/ns2b:ct/NCESCode'
--,NCESCode varchar2(20) path 'UserDefinedExtensions/ns2b:ct/TranscriptExtensions/NCESCode'
) x3
<<I'm assuming there is more to your XML than you showed, since
StudentLevel/StudentLevelCode
is not in the XML, but is in your query. >>
Yes, to simplify, I left out some of the additional XML data, which is typically present, sorry for any confusion. I should have removed those references to that data in my example which was failing to retrieve the NCESCode data which was denoted by that namespace.
Thank you very much! Your correction worked. I was not understanding until your correction how to properly reference in the XPATH for that namespace value. I'm a newbie at this, and this is my second post. But I've been able to populate quite a few relational tables and that was the first of several namespace tags I will have to deal with next, and with that help, I should be good with that syntax now.
Thanks again for your help on this. -
Find the 'DAY' for a given 'DATE'
Hi Folks,
I need a help regarding finding the day for a given date.
My requirement is that..,
If I enter a date using 'parameters', it should write the 'day' for the corresponding date.
To be more specific.....,
if I enter date as ' 07/15/2008 ' it should return me the day as 'Tuesday'.
Regards,
Naveen GHI,
FM LIST WITH RESPECT TO DAY, WEEK, AND MONTH.
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
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.
MONTH_NAMES_GET : Get the names of the month
WEEK_GET_FIRST_DAY : Get the first day of the week
HRGPBS_HESA_DATE_FORMAT : Format the date in dd/mm/yyyy format
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.
Reward points if useful,
siri -
Multiple values for a given property in a Master Record
I have a requirement to maintain multiple values for a given property of a master data as shown in the above example. Appreciate your help on the above.
Regards
SAP BOSSHi,
As you said
How do I use the property values in my input values.
I thought you are talking about input form, that's why I said you can crate input form using dimension over ride.
But if your requirement is about scrip logic then it is better to ask question with reference to following guide by Vadim Kalinin so that we can understand your requirement properly and you will get right solution.
http://scn.sap.com/community/epm/planning-and-consolidation-for-netweaver/blog/2014/01/31/how-to-ask-questions-about-script-logic-issues
Regards,
Shrikant -
Find 3rd friday of the month for a given date
how to find out 3rd friday of the month for a given date? I can always pass the first day of the month as input
eg, input date is 01-JAN-09. need to get the 3rd friday 16-JAN-09 (Jan has 5 fridays 02, 09, 16,23,30)
input date : 01-feb-09, need to get 20-feb-09
Edited by: user520824 on Apr 1, 2009 12:30 PMNLS independent solution:
SELECT DT,
TO_CHAR(DT,'FMDay') day,
CASE
WHEN TRUNC(TRUNC(DT,'MM') + 7,'IW') - 3 < TRUNC(DT,'MM') THEN TRUNC(TRUNC(DT,'MM') + 7,'IW') + 18
ELSE TRUNC(TRUNC(DT,'MM') + 7,'IW') + 11
END THIRD_FRIDAY_OF_THE_MONTH
FROM (
SELECT TO_DATE(LEVEL || '/2009','MM/YYYY') DT
FROM DUAL
CONNECT BY LEVEL < 13
DT DAY THIRD_FRI
01-JAN-09 Thursday 16-JAN-09
01-FEB-09 Sunday 20-FEB-09
01-MAR-09 Sunday 20-MAR-09
01-APR-09 Wednesday 17-APR-09
01-MAY-09 Friday 15-MAY-09
01-JUN-09 Monday 19-JUN-09
01-JUL-09 Wednesday 17-JUL-09
01-AUG-09 Saturday 21-AUG-09
01-SEP-09 Tuesday 18-SEP-09
01-OCT-09 Thursday 16-OCT-09
01-NOV-09 Sunday 20-NOV-09
DT DAY THIRD_FRI
01-DEC-09 Tuesday 18-DEC-09
12 rows selected.
SQL> SY. -
Name of users of a particular Tcode for a given date range
Hi experts,
I am making an alv where inputs will be
1> T_code(as parameter)
2> Date Range(as Select options)
I have to display the following fields:::
1> User name
2> Frequency of use the Tcode for the given Date range.
Please give me the tables where I can get the relation of those fields.
N.B. I know the transaction AL08 and SM04.But it won't solve my purpose.
Thanx in advance,
Sourav>
SOURAV PAUL wrote:
> Hi experts,
> I am making an alv where inputs will be
> 1> T_code(as parameter)
> 2> Date Range(as Select options)
by creating the report As per your this requirement you need not to create any Bulk on your SAP.Just use STAD/STAT transaction they are availabe for this purpose.
and more you may track by security log audit by SM20 get these details.
i'm worried about tables which sre storing these details. -
How to get the week number for a given date?
hi guys,
what is coding to get the week number for a given date?
For example, 1/1/05 is week 1. then 8/1/05 is week 2.The second parameter to pass to the method is supposed to be one of the month constants JANUARY - DECEMBER. It happens to be that their numerical values are 0-11, not 1-12, so your "12" refers to the "13th" month of the year.
givenDate = new GregorianCalendar(2003, Calendar.DECEMBER, 31);
If you want to construct dates and times from strings like you seem to be, look into SimpleDateFormat http://javaalmanac.com/egs/java.text/ParseTime.html
(even still I got WEEK_OF_YEAR as 1 which is true but not really what I expected, excuse my previous reply but I wanted to check the facts before posting this) -
Any FM to get count of each week day for the given date range
Hi guys,
Any FM to get count of each week day for the given date range?
eg: If i give 14/07/2008 to 14/08/2008
I need to find how many Mondays, tuesdays...sundays in this given date range.
If not single FM is available, any logic that gives above result is also appreciated.
Thanks,
Vinod.hi Vinod,
this is not a full solution, I just give you a basic idea:
DATA : lv_start TYPE sy-datum VALUE '20080714',
lv_end TYPE sy-datum VALUE '20080814'.
WHILE lv_start LE lv_end.
CALL FUNCTION 'FTR_DAY_GET_TEXT'
EXPORTING
pi_date = lv_start.
* IMPORTING
* PE_DAY_TEXT1 =
* PE_DAY_TEXT2 =
* PE_DAY =
* you have to summarize the output here somehow...
lv_start = lv_start + 1.
ENDWHILE.
hope this helps
ec
Maybe you are looking for
-
Problem with Calendar showing first day events
In my Java Bean, i have the following: public ResultSet getEvents(GregorianCalendar start, GregorianCalendar end) ResultSet rs = null; java.sql.Timestamp startDate = new java.sql.Timestamp(start.getTimeInMillis()); java.
-
A few questions about Boot Camp: installation, performance, which Win OS?
Hello. I am planning on getting a windows OS. My main motives for this are because I would like to get some PC only games (I've been eyeing that Fallout 3 Game of the Year Edition that is soon to come out) and because there is a good chance that I wi
-
Exec stored procedure from another stored procedure - not working
Hey, we've got a bunch of .sql files that we run, and some of them are stored procedures. Our programs call the stored procedures from within the .sql files and that works, but we've tried calling a stored procedure from another stored procedure and
-
Bursting PDF with editable fields
I have been successful in generating PDF output from a PDF template that contains editable fields. When I open the PDF using Adobe Professional, everthing functions as normal. However, when I burst the PDFs the final output PDFs are no longer editabl
-
Cisco NCS admin password recovery.
Hi All In Cisco NCS shell I have incorrectly entered the following command in order to chang ethe admin password and saved it username admin password hash <password> role admin and hence lost the access to shell (ssh). Is there a way to retrieve or r