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

  • Get the date range

    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.

  • Can anyone explain the split and overlapping date ranges in PHOTO moments.  I would have expected each date to have its own slot.  What logic is used for deciding which photos to include and where to split them?

    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
    Gary

    Dear 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

  • To check the date range

    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.
    Thanks

    Hi,
    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. Wang

    Erik.
    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,
    Amit

    Hi 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 1

    Hi 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

  • Exp시 에러

    사용자의 데이터를 좀 옮겨볼려고 했는데 아래와 같은 에러가 납니다. 테이블, 인덱스 다 가지고 있는 사용자인데 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