Include weekends in date range
Hello,
I have a query that aggregates a value based on a date range and excludes business hours. I need to INCLUDE Saturday and Sunday based on the date range. I am stuck and I think I am at that time of day where your brain decides to quit. Time for some coffee :)
Here is what I have so far and as always, thank you all very much for your help!
declare @StartDate datetime, @EndDate datetime
set @StartDate = '6/1/2013'
set @EndDate = '6/30/2013'
Select sum(abncalls)
from TABLE
where date between @StartDate) and (@EndDate)
and starttime not in (800,830,900,930,1000,1030,1100,1130,1200,1230,1300,1330,1400,1430,1500,1530,1600,1630)
Dave SQL Developer
Something like this you are looking for
Declare
@beginDate Date,
@EndDate Date
set @beginDate = '1/15/2014'
set @EndDate = '1/30/2014'
Declare @Calendar Table
(CalendarDate Date Primary key, IsWeekend Bit)
While @beginDate <= @endDate
Begin
Insert Into @Calendar
Select
@beginDate As CalendarDate
,(Case When DATEPART(Weekday, @beginDate) In (7, 1) Then 1 Else 0 End) As IsWeekend
Set @beginDate = DateAdd(Day, 1, @beginDate)
End
Select CalendarDate From @Calendar Where IsWeekend = 1
Select sum(abncalls)
from TABLE
where date in(Select CalendarDate From @Calendar Where IsWeekend = 1 )
and starttime not in (800,830,900,930,1000,1030,1100,1130,1200,1230,1300,1330,1400,1430,1500,1530,1600,1630)
-Prashanth
Similar Messages
-
Hi,
There is a requirement that we need to get date range.This date range will be arrived at using the function module BKK_GET_PRIOR_WORKDAY. The factory calender id is GB. It should return the date range. Therefore, for weekends the date range will be Saturday, Sunday and Monday. The date range will change based on holidays that exist in the holiday calendar.
Now my question is how to calculate that there are two days between friday and monday.
Please help.Hi Nishigandha,
If i am correct you need the number of days between two dates
ex:
date1: 04/06/2009
date2: 12/06/2009
you need the number of days??
then probably check this Fm out:
SD_DATETIME_DIFFERENCE this is a function module which gives the difference in Days and Time for entered two dates
P.S Additionally Chk this out:
/people/mustafabaris.gunes/blog/2009/03/16/calculating-number-of-working-days-in-query-level
Hope its useful
Thanks and Regards
Srikanth.P
Edited by: SRIKANTH P on Jun 4, 2009 2:33 PM -
User-filtered report based on date range
I am struggling with trying to implement a basic search that includes an optional date range for the data. The form looks the way I want it, but I can't seem to get the right syntax in the query. I can't get anything other than "no rows" to show up in the query if I implement a clause selecting records based on the time.
Here is a working query (without the time):
select m.AUDIT_ID, m.TIMESTAMP, m.LOC_ID, a.AREA, s.SUBAREA, d.OBSERVATIONS
from transys.SAFETY_AUDIT_MAIN m, transys.SAFETY_AUDIT_DETAIL d,
transys.SAFETY_AUDIT_AREA a, transys.SAFETY_AUDIT_SUBAREA s
where m.AUDIT_ID = d.AUDIT_ID (+)
and d.AREA_ID = a.AREA_ID
and d.SUBAREA_ID = s.SUBAREA_ID
and s.SUBAREA_ID NOT IN (198,199,398,399,498,499,798,799,898,899,999)
and (instr(upper(a.AREA),upper(nvl(:P210_SEARCH,AREA))) > 0
or instr(upper(s.SUBAREA),upper(nvl(:P210_SEARCH,SUBAREA))) > 0
or instr(upper(d.OBSERVATIONS),upper(nvl(:P210_SEARCH,OBSERVATIONS))) > 0)
I want to compare the m.TIMESTAMP column with page items P210_FROM_DATE and P210_TO_DATE.
I would also like to add in an optional filter comparing m.LOC_ID to P210_LOCATION, and I can't seem to figure out the "optional" part.
Any ideas would be helpful.The query as I posted it returns 3 values, but it is not syntactically identical to the one APEX is using. I would be happy to get 3 rows in APEX because at least that way I would know I have the date formatting correct, and just needed to tweak the logic. When I execute the query in APEX, however, I get either "there is no data to display" or I get a formatting error - "X is not a valid month" - depending on how I use TO_CHAR and TO_DATE to try and synchronize the various date inputs with the field.
If it is a query issue (which it may be), I am still suspecting that it is something to do with the formatting of the dates involved. Just as in APEX, it could be something simple, but I suspect it is a mismatch in the formatting somewhere.
Maybe I'll try making a view of the underlying table and experimenting with the date in the view. That should enable me to see if it is the formatting in the query or the formatting in APEX that is causing the problem. Or it could even eliminate formatting as the problem as well.
PS. I had a similar struggle trying to implement some triggers against this database that used date values. NLS_TIMESTAMP_FORMAT is set to 'YYYY-MM-DD HH24.MI.SS.FF'. I ended up converting every date that I pulled from the database into a known format with TO_CHAR and then converting it back into a date with TO_DATE. It was the only way to be able to compare the date values without getting these same kinds of errors. -
Skip Weekends when Inserting Date Ranges
I am working on an application where I am populating a
database with a date range based on a start date and an end date.
The user enters the start and end dates, submits the form, and then
I want to populate the database with all of the dates in the range,
including the start date and the end date. This piece is working
fine. The problem I'm having is, I cannot figure out a way to skip
weekends and populate ONLY weekdays. Can anybody help???The functions DayofWeek or DayOfWeekAsString will identify
the weekends for you. -
How to get the weekends days for a specific date range
I want to select list of only weekend dates from a given date range. Is it possible in SQL?
For example if the range is '08/01/2011' and '08/30/2011'
I want a list
08/06/2011
08/07/2011
08/13/2011
08/14/2011
08/20/2011
08/21/2011
08/27/2011
08/28/2011Thank You, Naveen email:[email protected]First and easy to do is having a Calendar table, which over there you can have those information.
http://arbibaghdanian.blogspot.com/2011/05/calendar-table.html
Declare @beginDate Date, @EndDate Date
Select @beginDate = '08/01/2011', @EndDate = '08/31/2011'
Declare @Calendar Table
(CalendarDate Date Primary key, IsWeekend Bit, YearNo SmallInt, QuarterNo TinyInt, MonthNo TinyInt, DayOfYearNo SmallInt, DayNo TinyInt, WeekNo TinyInt, WeekDayNo TinyInt)
While @beginDate <= @endDate
Begin
Insert Into @Calendar
Select
@beginDate As CalendarDate
,(Case When DATEPART(Weekday, @beginDate) In (7, 1) Then 1 Else 0 End) As IsWeekend
,DATEPART(Year, @beginDate) As YearNo
,DATEPART(QUARTER, @beginDate) As QuarterNo
,DATEPART(MONTH, @beginDate) As MonthNo
,DATEPART(DayOfYear, @beginDate) As DayOfYearNo
,DATEPART(Day, @beginDate) As DayNo
,DATEPART(Week, @beginDate) As WeekNo
,DATEPART(WEEKDAY, @beginDate) As WeekDayNo
Set @beginDate = DateAdd(Day, 1, @beginDate)
End
Select * From @Calendar Where IsWeekend = 1
Best Wishes, Arbi --- MCC 2011; Please vote if you find this posting was helpful or Mark it as answered. -
iPad Air iOS 8.1 Stock Photo App. 14000 Photos. Overlapping date ranges in Moments. What is the criteria used for deciding after import where photos are included in Moments. I was expecting each day to have its own exclusive slot for example, not 26 - 27 January 2007 with 8 photos then 27 January 2007 1 photo. Why is there not two seperate slots, one for the 26th and one for 27th?? This makes locating photos by day more arkward than it need be and seems to follow no logic. This occurs over 150 times and is very confusing. Is this an issue or expected behaviour?
iPad Air iOS 8.1 Stock Photo App. 14000 Photos. Overlapping date ranges in Moments. What is the criteria used for deciding after import where photos are included in Moments. I was expecting each day to have its own exclusive slot for example, not 26 - 27 January 2007 with 8 photos then 27 January 2007 1 photo. Why is there not two seperate slots, one for the 26th and one for 27th?? This makes locating photos by day more arkward than it need be and seems to follow no logic. This occurs over 150 times and is very confusing. Is this an issue or expected behaviour?
-
Capture dates (other than weekends) given a date range
I have the following code where I'm trying to capture the dates, which fall within the entered range. The code in the default condition is not working. I'm trying to get the date in yyyy-MM-dd format and store it in an array. What am I going wrong ? Thanks.
int days = 1;
java.sql.Date date_array[];
while ( beginCalendar.before(endCalendar) ) {
switch(beginCalendar.get(Calendar.DAY_OF_WEEK))
case Calendar.SATURDAY:
break;
case Calendar.SUNDAY:
break;
default:
java.util.Date dt = sdf.parse(beginCalendar.get(Calendar.DATE));
java.text.SimpleDateFormat sql_sdf =
new java.text.SimpleDateFormat("yyyy-MM-dd");
java.sql.Date sql_dt = java.sql.Date.valueOf(sql_sdf.format(dt));
date_array[days] = dt;
days++;
beginCalendar.add(Calendar.DATE, 1);
}Oooops, I sent the wrong version.....sorry about that. This is what it looks like currently. What I'm doing is creating and comparing two calendars, created from a beginning and ending date range. I'm computing the number of elapsed days, not including Saturday and Sunday. I'm trying to add code, in BOLD, to capture the dates found in the range entered. I don't want to have to code three integers to pick up the year, month and day and use parseInt to concat them together...blah, blah, blah. I would like to just use SimpleDateFormat to capture the entire date in yyyy-MM-dd sql date format and load them into an array. Any suggestions ?
while ( beginCalendar.before(endCalendar) ) {
switch(beginCalendar.get(Calendar.DAY_OF_WEEK))
case Calendar.SATURDAY:
break;
case Calendar.SUNDAY:
break;
default:
int day = (beginCalendar.get(Calendar.DATE));
int month = (beginCalendar.get(Calendar.MONTH)+1);
int year = (beginCalendar.get(Calendar.YEAR));
java.text.SimpleDateFormat sql_sdf =
new java.text.SimpleDateFormat("yyyy-MM-dd");
// java.sql.Date sql_dt = java.sql.Date.valueOf(sql_sdf.format(dt));
// date_array[days] = sql_dt;
days++;
beginCalendar.add(Calendar.DATE, 1);
} -
POSTING DATE RANGE INCLUDED IN CUSTOMER RECEIVABLE AGEING REPORT PLD
Dear All,
Please can you tell me how to print the posting date range selected in the parameter selection for Customer Receivable Ageing Report PLD.
Thanks
GaryDear Rahul,
I know that but it is really painful to develop the whole report in crystal where it is available in SAP itself. Imagine just for one requirement i will have to build the whole report in crystal. I think SAP should give flexibility to change the hard coded reports.
Regards,
Gary -
Hi,
I have a table that records the leave for employees. Like employee id , leave start date, leave end date and total hours. I need to find out , if the start date or end date was on weekend , or if the date range includes weekends . And there is one more table that stores public holidays. I also need to check if the leave start date or end date was on the public holiday or the range includes any public holidays.
ThanksHi,
Assuming the time of day for all the dates involved is the same (e.g., if they are all TRUNCated DATEs, where the time is 00:00:00), that leave_start_date <= leave_end_date, and that the weekend consiists of Saturday and Sunday, you can do something like this:
SELECT leave_start_date
, leave_end_date
, CASE
WHEN TRUNC (leave_start_date, 'IW') < TRUNC (leave_end_date + 2, 'IW')
THEN 'Includes Saturday or Sunday'
ELSE 'No weekend'
END AS weekend
, CASE
WHEN EXISTS (
SELECT 1
FROM holiday_table
WHERE holiday_date BETWEEN m.leave_start_date
AND m.leave_end_date
THEN 'Leave includes at least 1 holiday'
ELSE 'No holidays'
END AS holiday
FROM leave_table m
;This does not depend on your NLS settings.
I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for both tables, and also post the results you want from that data, as Andy requested.
Explain, using specific examples, how you get those results from that data.
Always say which version of Oracle you're using. -
Multi-month, year, and date-range views
My apologies for wasting everyone's time if I've missed something really obvious here, but am I correct in concluding that there is no way to generate anything beyond a static one-month view in iCal? No multi-month view? No year view? No "view date range"? At this stage of the game, how is it possible that something so elemental could be omitted from this program?
At this point I'm reduced to exporting each month to a pdf file and then arranging them as tiles on the screen. But there has to be a better way.
Short of a new version from Apple, are there any plug-ins that would do this? Does anyone have any other work-arounds? Thanks in advance.A quick search of the forums shows that this is a HIGHLY sought after feature (including by me). We all need to use the feed back link (below) to let Apple know this. In my experience with the tech support folks, they seem to have NO idea about what these forums say. In the past I have actually had them log in to these forums and search the issue I was calling them about and they have been blown away when they see the hundreds / thousands of posts with the very same thing they're discussing with me. So, as the wise man says .. "you don't ask, you don't get!" Use the form and let them know...
http://www.apple.com/feedback/ical.html -
Modification in MB5B prg...material stock between a date range
Hi experts
I have to modify mb5b tranx prg . presently we are using date as selection criteria..but now onwards user wants G/L account along with date as selection criteria. I created one selec-option for field HKONT type hkont-bseg. Now in select queries i need ur help ..Kindly tell me where i need to use this field in my select queries to fetch RELEVANT data.
Regards
Anu
CODE:
REPORT ZRM07MLBD NO STANDARD PAGE HEADING MESSAGE-ID M7 LINE-SIZE 280.
********my change*******
tables : BSEG.
TYPE-POOLS: IMREP, " Typen Bestandsführungsreporting
SLIS. " Typen Listviewer
INCLUDE ZRM07MLDD.
DATA FLAG(1) TYPE C VALUE ' '.
DATA BAL_QTY TYPE P DECIMALS 2.
DATA BAL_AMT TYPE P DECIMALS 2.
*include: rm07mldd. " reportspezifische Datendefinitionen
"n571473
define the selection screen here "n571473
"n571473
SELECTION-SCREEN BEGIN OF BLOCK DATABASE-SELECTION
WITH FRAME TITLE TEXT-001.
Text-001: Datenbankabgrenzungen
SELECT-OPTIONS: MATNR FOR MARD-MATNR MEMORY ID MAT
MATCHCODE OBJECT MAT1,
BUKRS FOR T001-BUKRS MEMORY ID BUK,
WERKS FOR T001W-WERKS MEMORY ID WRK,
LGORT FOR T001L-LGORT,
CHARG FOR MCHB-CHARG,
BWTAR FOR MBEW-BWTAR,
BWART FOR MSEG-BWART.
PARAMETERS SOBKZ LIKE MSEG-SOBKZ.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS: DATUM FOR MKPF-BUDAT NO-EXTENSION,
**********my change**************
HKONT FOR BSEG-HKONT.
********END CHANGE************
SELECTION-SCREEN END OF BLOCK DATABASE-SELECTION.
SELECTION-SCREEN BEGIN OF BLOCK BESTANDSART
WITH FRAME TITLE TEXT-002.
Text-002: Bestandsart
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS LGBST LIKE AM07M-LGBST RADIOBUTTON GROUP BART DEFAULT 'X'.
SELECTION-SCREEN COMMENT 4(50) TEXT-010 FOR FIELD LGBST.
Text-010: Lagerort-/Chargenbestand
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS BWBST LIKE AM07M-BWBST RADIOBUTTON GROUP BART.
SELECTION-SCREEN COMMENT 4(50) TEXT-011 FOR FIELD BWBST.
Text-011: bewerteter Bestand
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS SBBST LIKE AM07M-SBBST RADIOBUTTON GROUP BART.
SELECTION-SCREEN COMMENT 4(50) TEXT-012 FOR FIELD SBBST.
Text-012: Sonderbestand
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BESTANDSART.
Commented By Rachit Material group Not Required
improved definition of parameters for scope of list "n599218
*SELECTION-SCREEN BEGIN OF BLOCK MARA WITH FRAME TITLE TEXT-040.
**selection-screen begin of line.
*PARAMETERS P_MATKL LIKE MARA-MATKL.
**selection-screen end of line.
**SELECTION-SCREEN COMMENT 4(50) TEXT-030 for fieLD s_matkl.
*SELECTION-SCREEN END OF BLOCK MARA.
SELECTION-SCREEN BEGIN OF BLOCK LISTUMFANG
WITH FRAME TITLE TEXT-003. "Listumfang
the following 3 parameters became obsolete do not use "n599218
anymor. They are still here to inform the user about "n599218
that he is using old variants or SUBMIT commands "n599218
PARAMETERS : "n599218
XONUL LIKE AM07M-XONUL NO-DISPLAY, "n599218
XVBST LIKE AM07M-XVBST NO-DISPLAY, "n599218
XNVBST LIKE AM07M-XNVBS NO-DISPLAY. "n599218
7 new categories for the scope of list "n599218
"n599218
cat. I docs I stock on I I stock on I Parameter "n599218
I I start date I I end date I "n599218
---+--+--------++------+-------- "n599218
1 I yes I = zero I = I = zero I pa_wdzer "n599218
2 I yes I = zero I <> I <> zero I pa_wdzew "n599218
3 I yes I <> zero I <> I = zero I pa_wdwiz "n599218
4 I yes I <> zero I <> I <> zero I pa_wdwuw "n599218
5 I yes I <> zero I = I <> zero I pa_wdwew "n599218
I I I I I "n599218
6 I no I = zero I = I = zero I pa_ndzer "n599218
7 I no I <> zero I = I <> zero I pa_ndsto "n599218
"n599218
definition of the pushbutton : show or hide the following "n599218
parameters for the scope of list "n599218
SELECTION-SCREEN PUSHBUTTON /1(20) PB_LIU "n599218
USER-COMMAND LIU. "n599218
"n599218
text line : materials with movements "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN COMMENT 1(55) TEXT-072 "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
with movements / start = zero = end = zero "n599218
1 I yes I = zero I = I = zero I pa_wdzer "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_WDZER LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
text-083 : no opening stock ; no closing stock "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-083 "n599218
FOR FIELD PA_WDZER "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
with movements / start = zero = end <> zero "n599218
2 I yes I = zero I <> I <> zero I pa_wdzew "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_WDZEW LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
text-084 : no opening stock ; with closing stock "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-084 "n599218
FOR FIELD PA_WDZEW "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
with movements / start stock <> 0 / end stock = 0 "n599218
3 I yes I <> zero I <> I = zero I pa_wdwiz "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_WDWIZ LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
text-085 : with opening stock ; no closing stock "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-085 "n599218
FOR FIELD PA_WDWIZ "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
with movements / with start and end stocks / different "n599218
4 I yes I <> zero I <> I <> zero I pa_wdwuw "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_WDWUW LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
with opening stock ; with closing stock ; changed "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-086 "n599218
FOR FIELD PA_WDWUW "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
with movements / with start and end stock / equal "n599218
5 I yes I <> zero I = I <> zero I pa_wdwew "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_WDWEW LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
with opening stock ; with closing stock ; non-changed "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-087 "n599218
FOR FIELD PA_WDWEW "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
text line : materials without movements "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN COMMENT 1(55) TEXT-073 "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
materials without movements / stocks = zero "n599218
6 I no I = zero I = I = zero I pa_ndzer "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_NDZER LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
text-083 : no opening stock ; no closing stock "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-083 "n599218
FOR FIELD PA_NDZER "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
materials without movements / with start or end stock "n599218
7 I no I <> zero I = I <> zero I pa_ndsto "n599218
SELECTION-SCREEN BEGIN OF LINE. "n599218
SELECTION-SCREEN POSITION 2. "n599218
PARAMETERS : PA_NDSTO LIKE AM07M-MB5B_XONUL "n599218
MODIF ID LIU. "n599218
with opening stock ; with closing stock ; non-changed "n599218
SELECTION-SCREEN COMMENT 5(70) TEXT-087 "n599218
FOR FIELD PA_NDSTO "n599218
MODIF ID LIU. "n599218
SELECTION-SCREEN END OF LINE. "n599218
"n599218
SELECTION-SCREEN END OF BLOCK LISTUMFANG.
SELECTION-SCREEN BEGIN OF BLOCK EINSTELLUNGEN
WITH FRAME TITLE TEXT-068. "Settings
parameter for totals only - hierseq. list
corresponding display variant
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
PARAMETERS XSUM LIKE AM07M-XSUM.
SELECTION-SCREEN COMMENT 4(60) TEXT-090 FOR FIELD XSUM.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(30) TEXT-091 FOR FIELD PA_SUVAR.
*Commented by Rachit
SELECTION-SCREEN POSITION 40.
PARAMETERS: PA_SUVAR LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF LINE.
parameter for totals only - flat list + corresponding display variant
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
PARAMETERS PA_SUMFL LIKE AM07M-XSUM.
SELECTION-SCREEN COMMENT 4(60) TEXT-092 FOR FIELD PA_SUMFL.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(30) TEXT-091 FOR FIELD PA_SFLVA.
SELECTION-SCREEN POSITION 40.
PARAMETERS: PA_SFLVA LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
PARAMETERS XCHAR LIKE AM07M-XCHRG.
SELECTION-SCREEN COMMENT 4(50) TEXT-015 FOR FIELD XCHAR.
Text-015: nur chargenpflichtige Materialien
Das Kennzeichen 'xchar' bestimmt die Art der Listausgabe entweder
auf Material- oder Chargenebene.
SELECTION-SCREEN END OF LINE.
the function "No reversal movements" is only "n571473
available from relaese 4.5B and higher "n571473
( TEXT-026 : No reversal movements ) "n571473
SELECTION-SCREEN BEGIN OF LINE. "n571473
SELECTION-SCREEN POSITION 1. "n571473
PARAMETERS NOSTO LIKE AM07M-NOSTO. "n571473
SELECTION-SCREEN COMMENT 4(50) TEXT-026 "n571473
FOR FIELD NOSTO. "n571473
SELECTION-SCREEN END OF LINE. "n571473
SELECTION-SCREEN END OF BLOCK EINSTELLUNGEN.
*Rachit
SELECTION-SCREEN BEGIN OF BLOCK LISTE WITH FRAME TITLE TEXT-040.
PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK LISTE.
HAUPTPROGRAMM *********************************
F4-Hilfe für Reportvariante -
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
PERFORM F4_FOR_VARIANT.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_SFLVA.
PERFORM VARIANT_VALUE_REQUEST_F4
USING PA_SFLVA G_S_VARI_SUMFL.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_SUVAR.
PERFORM VARIANT_VALUE_REQUEST_F4
USING PA_SUVAR G_S_VARI_SUMHQ.
"n599218
INITIALIZATION "n599218
"n599218
"n599218
INITIALIZATION.
CLEAR : G_S_VARI_SUMHQ, G_S_VARI_SUMFL.
REPID = SY-REPID.
VARIANT_SAVE = 'A'.
preprae the working areas for the variants
MOVE : REPID TO G_S_VARI_SUMHQ-REPORT,
'SUHQ' TO G_S_VARI_SUMHQ-HANDLE,
REPID TO G_S_VARI_SUMFL-REPORT,
'SUFL' TO G_S_VARI_SUMFL-HANDLE.
MOVE-CORRESPONDING : G_S_VARI_SUMHQ TO G_S_VARI_SUMHQ_DEF,
G_S_VARI_SUMFL TO G_S_VARI_SUMFL_DEF.
PERFORM GET_THE_DEFAULT_VARIANT
USING PA_SFLVA
G_S_VARI_SUMFL
G_S_VARI_SUMFL_DEF.
PERFORM GET_THE_DEFAULT_VARIANT
USING PA_SUVAR
G_S_VARI_SUMHQ
G_S_VARI_SUMHQ_DEF.
PERFORM INITIALISIERUNG.
get the parameters from the last run "n547170
PERFORM ESDUS_GET_PARAMETERS. "n547170
set flag when INITILIZATION is processed
MOVE 'X' TO G_FLAG_INITIALIZATION.
"n599218
AT SELECTION-SCREEN "n599218
"n599218
Prüfung der eingegebenen Selektionsparameter, -
Berechtigungsprüfung -
AT SELECTION-SCREEN.
the following 3 parameters XONUL, XVBST, and XNVBST "n599218
became obsolete; send error when they should be filled. "n599218
This could be possible if the user works with old "n599218
selection variants or this report is launched by a "n599218
SUBMIT command "n599218
IF XONUL IS INITIAL AND "n599218
XVBST IS INITIAL AND "n599218
XNVBST IS INITIAL. "n599218
ok, the old parameters are empty "n599218
ELSE. "n599218
text-088 : note 599218 : obsolete parameter used "n599218
MESSAGE E895 WITH TEXT-088. "n599218
ENDIF.
did the user hit the pushbutton "Category" ? "n599218
CASE SSCRFIELDS-UCOMM. "n599218
WHEN 'LIU '. "n599218
yes, the pushbutton "Category" was hit "n599218
IF G_FLAG_STATUS_LIU = C_HIDE. "n599218
show the 7 parameters on the selection srceen "n599218
MOVE C_SHOW TO G_FLAG_STATUS_LIU. "n599218
ELSE. "n599218
hide the 7 paramaters "n599218
MOVE C_HIDE TO G_FLAG_STATUS_LIU. "n599218
ENDIF. "n599218
ENDCASE. "n599218
"n599218
go on only if the user wants to launch this report "n599218
CHECK : SY-UCOMM = 'ONLI' OR "n599218
SY-UCOMM = 'PRIN' OR "n599218
SY-UCOMM = 'SJOB'. "n599218
only one sum function can be processed
IF XSUM = 'X' AND
PA_SUMFL = 'X'.
SET CURSOR FIELD 'XSUM'.
select one sum list only
MESSAGE E895 WITH TEXT-093.
ENDIF.
PERFORM EINGABEN_PRUEFEN.
SET CURSOR FIELD 'PA_SFLVA'.
PERFORM VARIANT_CHECK_EXISTENCE
USING PA_SFLVA
G_S_VARI_SUMFL
G_S_VARI_SUMFL_DEF.
SET CURSOR FIELD 'PA_SUVAR'.
PERFORM VARIANT_CHECK_EXISTENCE
USING PA_SUVAR
G_S_VARI_SUMHQ
G_S_VARI_SUMHQ_DEF.
check whether FI summarization is active and other "n547170
restrictions could deliver wrong results "n547170
PERFORM F0800_CHECK_RESTRICTIONS. "n547170
- the user wants to surpress the reversal movements : "n497992
process warning M7 392 "n497992
IF NOT NOSTO IS INITIAL. "n497992
emerge warning ? "n497992
CALL FUNCTION 'ME_CHECK_T160M' "n497992
EXPORTING "n497992
I_ARBGB = 'M7' "n497992
I_MSGNR = '392' "n497992
EXCEPTIONS "n497992
NOTHING = 0 "n497992
OTHERS = 1. "n497992
"n497992
IF SY-SUBRC <> 0. "n497992
SET CURSOR FIELD 'NOSTO'. "n497992
to surpress the reversal movements could cause ... "n497992
MESSAGE W392. "n497992
ENDIF. "n497992
ENDIF. "n497992
carry out special authotity check for the tax auditor "n547170
PERFORM TPC_CHECK_TAX_AUDITOR. "n547170
does the user wants a selection via company code or a plant ?
fill range table g_ra_werks
REFRESH : G_RA_BWKEY, G_RA_WERKS, G_T_ORGAN.
CLEAR : G_RA_BWKEY, G_RA_WERKS, G_T_ORGAN, G_S_ORGAN.
REFRESH : G_0000_RA_BWKEY, G_0000_RA_WERKS, G_0000_RA_BUKRS.
CLEAR : G_0000_RA_BWKEY, G_0000_RA_WERKS, G_0000_RA_BUKRS.
DESCRIBE TABLE BUKRS LINES G_F_CNT_LINES_BUKRS.
DESCRIBE TABLE WERKS LINES G_F_CNT_LINES_WERKS.
IF G_F_CNT_LINES_BUKRS > 0 OR
G_F_CNT_LINES_WERKS > 0.
fill range tables for the CREATION OF TABLE G_T_ORGAN
MOVE : WERKS[] TO G_0000_RA_WERKS[],
BUKRS[] TO G_0000_RA_BUKRS[].
PERFORM F0000_CREATE_TABLE_G_T_ORGAN
USING C_ERROR.
ENDIF.
save the parameters of this run "n547170
PERFORM ESDUS_SAVE_PARAMETERS. "n547170
"n599218
AT SELECTION-SCREEN OUTPUT "n599218
"n599218
"n599218
AT SELECTION-SCREEN OUTPUT. "n599218
"n599218
IF G_FLAG_INITIALIZATION IS INITIAL. "n599218
the process time INITIALIZATION was not done, so "n599218
carry out the functions here "n599218
MOVE 'X' TO G_FLAG_INITIALIZATION. "n599218
"n599218
PERFORM INITIALISIERUNG. "n599218
"n599218
get the parameters from the last run "n599218
PERFORM ESDUS_GET_PARAMETERS. "n599218
ENDIF. "n599218
"n599218
how to handle the 7 paramaters for the scope of list ? "n599218
LOOP AT SCREEN. "n599218
modify the selection screen "n599218
CASE SCREEN-GROUP1. "n599218
WHEN 'LIU'. "n599218
IF G_FLAG_STATUS_LIU = C_SHOW. "n599218
SCREEN-ACTIVE = '1'. "show parameters "n599218
ELSE. "n599218
SCREEN-ACTIVE = '0'. "Hide parameters "n599218
ENDIF. "n599218
"n599218
MODIFY SCREEN. "n599218
ENDCASE. "n599218
ENDLOOP. "n599218
"n599218
adapt the icon on the pushbutton depending on the status "n599218
CASE G_FLAG_STATUS_LIU. "n599218
WHEN C_HIDE. "n599218
MOVE TEXT-081 TO PB_LIU. "@0EQ@ Scope ... "n599218
WHEN C_SHOW. "n599218
MOVE TEXT-082 TO PB_LIU. "@0HQ@ Scope ... "n599218
WHEN OTHERS. "n599218
ENDCASE. "n599218
"n599218
"n599218
START-OF-SELECTION
START-OF-SELECTION.
*SET PF-STATUS 'TEST'.
create the title line
If no date is given at all, the range is set to the maximum
extend (1.1.0000 - 31.12.9999).
If only datum-low is set, it is interpreted as the day for
which the analysis is wanted --> datum-high is filled up.
IF DATUM-LOW IS INITIAL.
DATUM-LOW = '00000101'.
IF DATUM-HIGH IS INITIAL.
DATUM-HIGH = '99991231'.
ENDIF.
ELSE.
IF DATUM-HIGH IS INITIAL.
DATUM-HIGH = DATUM-LOW.
ENDIF.
ENDIF.
MOVE: DATUM-LOW(4) TO JAHRLOW,
DATUM-LOW+4(2) TO MONATLOW,
DATUM-LOW+6(2) TO TAGLOW,
DATUM-HIGH(4) TO JAHRHIGH,
DATUM-HIGH+4(2) TO MONATHIGH,
DATUM-HIGH+6(2) TO TAGHIGH.
SET TITLEBAR 'MAN'
WITH TAGLOW MONATLOW JAHRLOW TAGHIGH MONATHIGH JAHRHIGH.
create the headlines using the titelbar "n599218
PERFORM CREATE_HEADLINE. "n599218
calculate the offsets for the list header
PERFORM CALCULATE_OFFSETS.
for the representation of tied empties "n547170
PERFORM F0700_PREPARE_TIED_EMPTIES. "n547170
create table g_t_mseg_fields with the names of all
wanted fields from MSEG and MKPF
PERFORM F0300_GET_FIELDS.
set a break-point : is IS-OIL active ? "n599218 A
"n599218 A
check whether this is a IS-OIL system "n599218 A
PERFORM CHECK_IS_OIL_SYSTEM. "n599218 A
"n599218 A
IF G_FLAG_IS_OIL_ACTIVE = 'X'. "IS-OIL ? "n599218 A
the 2 IS-OIL specific data fields will be inserted into "n599218 A
working table G_T_MSEG_FIELDS. Then these fields will "n599218 A
transported from database table MSEG, too "n599218 A
APPEND 'MSEG~OIGLCALC' TO G_T_MSEG_FIELDS. "n599218 A
APPEND 'MSEG~OIGLSKU' TO G_T_MSEG_FIELDS. "n599218 A
ENDIF. "n599218 A
create the ALV fieldcatalog for the main list always
MOVE 'G_T_BELEGE' TO G_F_TABNAME.
PERFORM F0400_CREATE_FIELDCAT.
do not print the ALV-statistics and selection criteria
CLEAR G_S_PRINT.
G_S_PRINT-NO_PRINT_SELINFOS = 'X'.
G_S_PRINT-NO_PRINT_LISTINFOS = 'X'."
create the range table for the storage location
PERFORM F0600_CREATE_RANGE_LGORT.
- show the current activity and the progress "n599218
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "n599218
EXPORTING "n599218
TEXT = TEXT-063. "Reading current stocks "n599218
get the stock tables
PERFORM AKTUELLE_BESTAENDE.
PERFORM TABELLEN_LESEN.
- show the current activity and the progress "n599218
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "n599218
EXPORTING "n599218
TEXT = TEXT-064. "Reading MM documents "n599218
PERFORM F1000_SELECT_MSEG_MKPF.
PERFORM BELEGSELEKTION.
END-OF-SELECTION
END-OF-SELECTION.
results of all the autority checks
PERFORM F9100_AUTH_PLANT_RESULT.
- show the current activity and the progress "n599218
IF BWBST = 'X'. "n599218
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "n599218
EXPORTING "n599218
TEXT = TEXT-066. "Calculating Stocks and Values "n599218
ELSE. "n599218
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "n599218
EXPORTING "n599218
TEXT = TEXT-067. "Calculating Stocks "n599218
ENDIF. "n599218
PERFORM SUMMEN_BILDEN.
PERFORM BESTAENDE_BERECHNEN.
PERFORM LISTUMFANG.
- show the current activity and the progress "n599218
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "n599218
EXPORTING "n599218
TEXT = TEXT-065. "Preparing list output "n599218
stop if table bestand is empty
LOOP AT BESTAND.
SELECT SINGLE MATKL FROM MARA INTO CORRESPONDING FIELDS OF BESTAND
WHERE
MATNR = BESTAND-MATNR.
MODIFY BESTAND INDEX SY-TABIX.
ENDLOOP.
DESCRIBE TABLE BESTAND LINES G_F_CNT_LINES.
IF G_F_CNT_LINES IS INITIAL.
Keinen Eintrag zu den Suchbegriffen gefunden/selektiert
MESSAGE S083.
perform anforderungsbild.
ELSE.
process log function if the use is a tax auditor "n555246
and the database selection was successful "n555246
IF G_FLAG_TPCUSER = '1'. "n555246
PERFORM TPC_WRITE_LOG. "n555246
ENDIF. "n555246
PERFORM FELDGRUPPEN_AUFBAUEN.
sort table with header data per material
IF BWBST IS INITIAL.
SORT BESTAND BY MATNR WERKS CHARG.
ELSE.
SORT BESTAND BY MATNR BWKEY.
ENDIF.
which function does the user want ?
IF XSUM = 'X'.
hierseq. alv with sums
PERFORM CREATE_TABLE_TOTALS_HQ.
PERFORM CREATE_FIELDCAT_TOTALS_HQ.
PERFORM ALV_HIERSEQ_LIST_TOTALS.
ENDIF.
IF FLAG NE 'X'.
IF PA_SUMFL = 'X'.
elseif pa_sumfl = 'X'.
show the sums only in a flat ALV
PERFORM CREATE_TABLE_TOTALS_FLAT.
PERFORM CREATE_FIELDCAT_TOTALS_FLAT.
PERFORM ALV_FLAT_LIST_SUMS_ONLY.
ELSE.
display the full list using the APPEND ALV
PERFORM BESTAENDE_AUSGEBEN.
ENDIF.
ENDIF.
FLAG = ' '.
ENDIF.
CLEAR: G_T_MSEG_LEAN, G_T_BSIM_LEAN, BESTAND. "n443935
*& PF_STATUS_SET_TOTALS
FORM PF_STATUS_SET_TOTALS "#EC CALLED
USING EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STANDARD' EXCLUDING EXTAB.
ENDFORM. "PF_STATUS_SET_TOTALS
user_parameters_save
FORM USER_PARAMETERS_SAVE.
GET PARAMETER ID 'BUK' FIELD G_SAVE_PARAMS-BUKRS.
GET PARAMETER ID 'WRK' FIELD G_SAVE_PARAMS-WERKS.
GET PARAMETER ID 'MAT' FIELD G_SAVE_PARAMS-MATNR.
GET PARAMETER ID 'CHA' FIELD G_SAVE_PARAMS-CHARG.
GET PARAMETER ID 'BLN' FIELD G_SAVE_PARAMS-BELNR.
GET PARAMETER ID 'BUK' FIELD G_SAVE_PARAMS-BUKRS.
GET PARAMETER ID 'GJR' FIELD G_SAVE_PARAMS-GJAHR.
ENDFORM. "user_parameters_save
user_parameters_restore
FORM USER_PARAMETERS_RESTORE.
SET PARAMETER ID 'BUK' FIELD G_SAVE_PARAMS-BUKRS.
SET PARAMETER ID 'WRK' FIELD G_SAVE_PARAMS-WERKS.
SET PARAMETER ID 'MAT' FIELD G_SAVE_PARAMS-MATNR.
SET PARAMETER ID 'CHA' FIELD G_SAVE_PARAMS-CHARG.
GET PARAMETER ID 'BLN' FIELD G_SAVE_PARAMS-BELNR.
GET PARAMETER ID 'BUK' FIELD G_SAVE_PARAMS-BUKRS.
GET PARAMETER ID 'GJR' FIELD G_SAVE_PARAMS-GJAHR.
ENDFORM. "user_parameters_restore
*& USER_COMMAND_TOTALS
FORM USER_COMMAND_TOTALS "#EC CALLED
USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CLEAR G_S_BESTAND_KEY.
CASE R_UCOMM.
WHEN '&GRPT'.
SORT BESTAND BY BWKEY MATKL.
FLAG = 'X'.
PERFORM GRP_TOTAL(ZGRP_TOTAL) TABLES BESTAND.
IF FLAG = 'X'.
EXIT.
ENDIF.
WHEN '&STR'.
IF BWBST = 'X'.
IF FLAG = 'X'.
clear: LGBST,BWBST ,SBBST.
PERFORM GRP_TOTAL(ZGRP_TOTAL1) TABLES BESTAND.
SUBMIT ZRM07MLBD2 WITH LGBST = 'X'
WITH WERKS = '1000'
WITH BUKRS = '1001'
WITH XSUM = 'X'
WITH PA_WDZER = PA_WDZER
WITH PA_WDZEW = PA_WDZEW
WITH PA_WDWIZ = PA_WDWIZ
WITH PA_WDWUW = PA_WDWUW
WITH PA_WDWEW = PA_WDWEW
WITH PA_NDZER = PA_NDZER
WITH PA_NDSTO = PA_NDSTO
WITH LGORT IN LGORT
WITH DATUM IN DATUM
WITH MATNR IN MATNR VIA SELECTION-SCREEN
AND RETURN.
CLEAR: LGBST.
ELSE.
MESSAGE E345(0) WITH 'First see the grp total'.
ENDIF.
ELSE.
MESSAGE E345(0) WITH 'Stock type chosen was not valuated'.
ENDIF.
Quarter Ending----
WHEN '&QTRE'.
TYPES: BEGIN OF TY_MTART,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
END OF TY_MTART.
DATA: L_REC_QTY TYPE P DECIMALS 3,
L_ISS_QTY TYPE P DECIMALS 3,
L_REC_AMT TYPE P DECIMALS 3,
L_ISS_AMT TYPE P DECIMALS 3,
L_OTHERS_QTY TYPE P DECIMALS 3,
L_SALE_QTY TYPE P DECIMALS 3,
L_SALE_AMT TYPE P DECIMALS 3,
L_OTHERS_AMT TYPE P DECIMALS 3.
DATA: IT_MAKT TYPE STANDARD TABLE OF MAKT WITH HEADER LINE,
IT_T023T TYPE STANDARD TABLE OF T023T WITH HEADER LINE,
IT_T134 TYPE STANDARD TABLE OF T134T WITH HEADER LINE.
DATA: IT_MTART TYPE STANDARD TABLE OF TY_MTART WITH HEADER LINE.Dear Experts,
Thanks all for the reply.
I have followed the OSS notes 194788
Only enter the selection criteria which are required for the selection of the stock management unit for which the opening stock balance and closing stock should be determined.
In MB5B I key in selection criteria which are :
material number : xxxxxx
company code : 1000
plant : 1500
batch : xxxxxx
special stock indicator : orders on hand
selection date : 01.08.2009 to current date
stock type :special stock
and the result comes out :
there is initial balance of 3000 kg on 01.08.2009 - INCORRECT ( our team never enter this initial balance but still came out )
therefore the stock of current date also WRONG
if the total stock is adjusted using stock take , the accounting journal will be created, and reduce the financial asset with the same amount of 3000 kg (WRONG EFFECT)
how to solve this issue without affecting the accounting journal ?
Thanks
Pauline -
No Data in Reports Details in Custom date range
Hello, iTunes U Public Site Manager Admins.
As the iTunes U Public Site Manager admin, I've been trying to access our institution's iTunes U Reports Details for a couple of days. (I send a monthly report of usage to our course/collection contributors.) When I custom the date range, under Details, there is zero entry; "No data available in table" message is shown.
This feature had been working well since Apple iTunes U added this enhancement on August 13, 2013. The report Details showed the exact stats for Browse, Subscribe, Download, Stream, and Enclosure for each course/collection in the custom date range.
Now under "Details", the data is shown only when the date range is Last 30 Days. It shows no data in custom date range when the Calendar is used to select a Start Date and End Date.
Has anyone else noticed this problem?
Thanks.
Q. WangErik.
I used your suggestion and it worked very well. This is how I did it.
Export the range of data that includes Feb. 1-Feb. 28, 2014 as .tsv file.
Open that file in Excel.
Add a blank column next to the Date column. Use function =Month() to just extract the month into the new column. Fill down the whole column. Then copy and paste special (value) into the same column (I have over 26,000 rows of data in the file.) Converting to Value will allow for the next step of PivotTable.
Create a PivotTable for the 26,000 rows of data. Use Month as the Report filter, iTunes_ID as the Row Labels, Select Browse, Subscribe, etc. as the Sum Values. (The result is a summary table with about 200 rows.)
I then do a Vlookup to my premade Master file to add Category (course, collection, resources) and Instructor Name to each of the 200 rows.
That will do it for my monthly report.
Thanks for your tip again. I did not know the .tsv file would have DATE for each item.
Sincerely,
Q. Wang -
Date range query problem in report
Hi all,
I have created a report based on query and i want to put date range selection but query giving problem.
If i am creating select list selection then it is working fine means it will display all records on the particular date.
But what i need is that user will enter date range as creation_date1,creation_date2 and query should return all the records between these date range. i want to pass it by creating items, i created two items and passing creation_date range to display all records but not displaying and if not passing date then should take null as default and display all records
Here is the query:
/* Formatted on 2006/12/10 20:01 (Formatter Plus v4.8.0) */
SELECT tsh."SR_HEADER_ID", tsh."SALES_DEPT_NUMBER", tsh."COUNTRY",
tsh."LOCAL_REPORT_NUMBER", tsh."ISSUE_DATE", tsh."SUBJECT",
tsh."MACHINE_SERIAL_NUMBER", tsh."MACHINE_TYPE", tsh."MACHINE_HOURS",
tsh."STATUS"
FROM "TRX_SR_HEADERS" tsh, "TRX_SR_PARTS" tsp
WHERE (tsh.status LIKE :p23_status_sp OR tsh.status IS NULL)
AND (tsh.machine_type LIKE :p23_machine_type_sp)
AND ( tsh.machine_serial_number LIKE
TO_CHAR (:p23_machine_serial_number_sp)
OR tsh.machine_serial_number IS NULL
AND ( TO_CHAR (tsh.failure_date, 'DD-MON-YY') LIKE
TO_CHAR (:p23_failure_date_sp)
OR TO_CHAR (tsh.failure_date, 'DD-MON-YY') IS NULL
AND ( TO_CHAR (tsh.creation_date, 'DD-MON-YY')
BETWEEN TO_CHAR (:p23_creation_date_sp)
AND TO_CHAR (:p23_creation_date_sp1)
OR TO_CHAR (tsh.creation_date, 'DD-MON-YY') IS NULL
AND (tsh.issue_date LIKE :p23_date_of_issue_sp OR tsh.issue_date IS NULL)
AND (tsh.country LIKE :p23_country_sp OR tsh.country IS NULL)
AND ( tsh.local_report_number LIKE TO_CHAR (:p23_local_rep_num_sp)
OR tsh.local_report_number IS NULL
AND ( tsp.part_number LIKE TO_CHAR (:p23_part_number_sp)
OR tsp.part_number IS NULL
AND tsh.machine_type IN (
SELECT DISTINCT machine_type
FROM trx_sales_dept_machine_list
WHERE sales_department_id IN (
SELECT DISTINCT sales_department_id
FROM trx_user_sales_department
WHERE UPPER (user_name) =
UPPER ('&APP_USER.'))
AND SYSDATE >= valid_from)
AND tsh.sr_header_id = tsp.sr_header_id
can any one tell me wat is wroung in this query.
Any other way to write this?
Thank You,
AmitHi User....
Here is some date range SQL that my teams uses with some success:
For date columns that do not contain NULL values, try this (note the TRUNC, it might help with your "today" problem).
The hard coded dates allow users to leave the FROM and TO dates blank and still get sensible results (ie a blank TO date field asks for all dates in the future.
AND TRUNC(DATE_IN_DATABASE)
BETWEEN
decode( :P1_DATE_FROM,
TO_DATE('01-JAN-1900'),
:P1_DATE_FROM)
AND
decode( :P1_DATE_TO,
TO_DATE('31-DEC-3000'),:
:P1_DATE_TO)
For date columns that contain NULL values, try this (a little bit trickier):
AND nvl(TRUNC(DATE_IN_DATABASE),
decode( :P1_DATE_FROM,
decode( :P1_DATE_TO,
TO_DATE('30-DEC-3000'),
NULL),
NULL)
BETWEEN
decode( :P1_DATE_FROM,
TO_DATE('01-JAN-1900'),
:P1_DATE_FROM)
AND
decode( :P1_DATE_TO,
TO_DATE('31-DEC-3000'),
:P1_DATE_TO)
Note the 30-DEC-3000 versus 31-DEC-3000. This trick returns the NULL dates when the FROM and TO date range items are both blank.
I hope this helps.
By the way, does anyone have a better way of doing this? The requirement is given a date column in a database and a FROM and a TO date item on a page,
find all of the dates in the database between the FROM and TO dates. If the FROM date is blank, assume the user want all dates in the past (excluding NULL dates). If the TO date is blank, assume that the user wants all of the dates in the future (excluding NULL dates). If both FROM and TO dates are blank, return all of the dates in the databse (including NULL dates).
Cheers,
Patrick -
Devloped an ALV report for daily cash receipts for selected date range
hi,
how to devlop an ALV report for daily cash receipts for selected date range.for this report what are the tables and fields we have to use.what is the selectionscreen&what is logic.give me sample report.Hi,
You can develop simple reports using Report Painter.
You may be also interested in:
Check report SAPMF05A for credit memo
See the following Std reports on Payment Advices execute the Tcodes:
S_ALR_87009888
S_ALR_87009889
S_ALR_87009890
S_ALR_87009891
S_ALR_87009892
S_ALR_87009893
S_ALR_87009978
S_ALR_87009979
S_ALR_87009980
S_ALR_87009981
S_ALR_87009982
S_ALR_87009983
S_ALR_87010056
S_ALR_87010057
S_ALR_87010058
S_ALR_87010059
S_ALR_87010060
S_ALR_87010061
S_ALR_87010066
S_ALR_87010067
S_ALR_87012106
S_ALR_87012107
S_ALR_87012108
S_ALR_87012109
S_ALR_87012110
S_ALR_87012111
S_ALR_87012116
S_ALR_87012117
S_ALR_87012200
S_ALR_87012201
S_ALR_87012202
S_ALR_870122
S_ALR_87012204
S_ALR_87012205
S_ALR_87012350
S_ALR_87012351
S_ALR_87012352
S_ALR_87012353
S_ALR_87012354
S_ALR_87012355
sample ALV report:
tables:
marav. "Table MARA and table MAKT
Data to be displayed in ALV
Using the following syntax, REUSE_ALV_FIELDCATALOG_MERGE can auto-
matically determine the fieldstructure from this source program
Data:
begin of imat occurs 100,
matnr like marav-matnr, "Material number
maktx like marav-maktx, "Material short text
matkl like marav-matkl, "Material group (so you can test to make
" intermediate sums)
ntgew like marav-ntgew, "Net weight, numeric field (so you can test to
"make sums)
gewei like marav-gewei, "weight unit (just to be complete)
end of imat.
Other data needed
field to store report name
data i_repid like sy-repid.
field to check table length
data i_lines like sy-tabix.
Data for ALV display
TYPE-POOLS: SLIS.
data int_fcat type SLIS_T_FIELDCAT_ALV.
select-options:
s_matnr for marav-matnr matchcode object MAT1.
start-of-selection.
read data into table imat
select * from marav
into corresponding fields of table imat
where
matnr in s_matnr.
end-of-selection.
Now, we start with ALV
To use ALV, we need a DDIC-structure or a thing called Fieldcatalogue.
The fieldcatalouge can be generated by FUNCTION
'REUSE_ALV_FIELDCATALOG_MERGE' from an internal table from any
report source, including this report.
The only problem one might have is that the report and table names
need to be in capital letters. (I had it )
Store report name
i_repid = sy-repid.
Create Fieldcatalogue from internal table
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = sy-repid
I_INTERNAL_TABNAME = 'IMAT' "capital letters!
I_INCLNAME = sy-repid
CHANGING
CT_FIELDCAT = int_fcat
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = i_repid
I_STRUCTURE_NAME = 'marav'
I_DEFAULT = 'X'
I_SAVE = 'A'
TABLES
T_OUTTAB = imat.
IF SY-SUBRC <> 0.
WRITE: 'SY-SUBRC: ', SY-SUBRC .
ENDIF.
Hope this will help.
Regards,
Naveen. -
Duplicate report title for every date where records are found in date range
Hi,
I have a developed a report that lists multiple entries by date range with a page break separating each date. What I would like to include now is a report title which only appears once for each date, and separated by page break.
Example:
(Business Unit)
(Address)
(Report Title)
(Date)
Entry 1
Entry 2
Entry 3
Entry 4
Entry 5
Entry 6
Entry 7
(Business Unit)
(Address)
(Report Title)
(Date)Entry 1Hi Camelbak2113,
According to your description, it seems that you want to eliminate the duplicate report title for every date. If in this scenario, I suggest that we can try to add a group grouped on date range, and then add a child group grouped on report title. Then add
page breaks between each instance of date range group.
If I have something misunderstood, please provide us more information about the report. Such as provide us some screenshots about the report with sample data. So that we can make further analysis and help you out.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support
Maybe you are looking for
-
My mouse keeps jumping all over the place and i dont know why!
My trackpad doesnt allow me to fully control the mouse on the screen! it keeps jumping all over the place and i dont knw why! i updated my computer yesterday and it was working fine but by the end of the night it started to not function properly agai
-
Connect 2 monitors to Macbook Unibody?
How can I connect 2 monitors to my macbook, so the macbook sees it as 2 SEPARATE monitors so I can triscreen (use 3 screens at once)?
-
Cannot export original RAW images in one step
Sigh.... Here we go again. Apple tries dumbing it down for everyone and gets rid of some important stuff in the process. I used iPhoto as a ground level library for all my photography. And would easily import RAW images to my Lightroom collection. No
-
사용자의 데이터를 좀 옮겨볼려고 했는데 아래와 같은 에러가 납니다. 테이블, 인덱스 다 가지고 있는 사용자인데 ORA-00942 에러가 나는것도 이상하고, EXP-00024에서 언급하는 Export views가 인스톨 안되어있다고 하는데 사실 Export views가 인스톨된 상태인지도 모르는 초보입니다. 고수님들 해결방법좀 알려주세요. [babo_DB:/oracle/app/oracle/product/920]exp userid=babo/babo
-
Load data for infotype 5108 (e-Rec)
Hello experts, Does anyone know a method or function module to load data in the infotype 5108? Thx