Oracle 8i - select between to date ranges, but exculde time ranges

Hi, I'm using Oracle 8i
I'm trying to select a set of records that are between a certain date time (say between October 15 at 6pm and October 17 at 6am) and then want to include only those records that fall between 6am and 6pm within the range.
I've tried extract and trunc function and can't seem to get it to work.
If I do a trunc to try to pull out only hour, it returns all of the date information as well:
SQL> select trunc(to_date('14-10-2007 02:43:46','DD-MM-YYYY HH24:MI:SS'),'HH24') from dual;
TRUNC(TO_DATE('14-10
14-OCT-2007 02:00:00
SQL>Any Ideas? Here is some sample data:
select * from
        select to_date('14-10-2007 02:43:46','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 03:02:50','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 15:13:16','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 15:16:04','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 15:18:26','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 15:20:25','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 15:22:35','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 15:23:59','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 15:26:30','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 15:33:30','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 15:54:36','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 15:56:11','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('14-10-2007 18:56:52','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('15-10-2007 09:12:38','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('15-10-2007 10:23:42','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('15-10-2007 11:17:32','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('15-10-2007 11:46:12','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('15-10-2007 12:36:22','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('15-10-2007 23:23:17','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('16-10-2007 14:43:06','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('16-10-2007 14:44:37','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('16-10-2007 14:48:17','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('16-10-2007 14:49:36','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('16-10-2007 15:07:05','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('16-10-2007 15:08:24','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('17-10-2007 08:55:33','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('17-10-2007 09:58:19','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('17-10-2007 15:07:16','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('17-10-2007 15:19:35','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('17-10-2007 15:58:32','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('17-10-2007 19:56:51','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('17-10-2007 21:22:49','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('17-10-2007 22:16:52','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('17-10-2007 22:45:51','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('18-10-2007 07:52:10','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('18-10-2007 07:54:15','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('18-10-2007 08:03:57','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('18-10-2007 08:31:27','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('18-10-2007 09:16:14','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('18-10-2007 11:10:55','DD-MM-YYYY HH24:MI:SS') from dual union all
        select to_date('18-10-2007 11:21:57','DD-MM-YYYY HH24:MI:SS') from dual
) DataSet

If you can subtract date types from each other in 8i (I think you can but don't know for sure) you can use this:select dte, (dte-trunc(dte))*24 hours
from (SELECT TO_DATE('15-10-2007 05:59:59',    'DD-MM-YYYY HH24:MI:SS') DTE FROM DUAL UNION ALL
   SELECT TO_DATE('15-10-2007 06:00:00',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('15-10-2007 06:00:01',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('15-10-2007 17:59:59',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('15-10-2007 18:00:00',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('15-10-2007 18:00:01',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('16-10-2007 05:59:59',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('16-10-2007 06:00:00',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('16-10-2007 06:00:01',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('16-10-2007 17:59:59',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('16-10-2007 18:00:00',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('16-10-2007 18:00:01',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('17-10-2007 05:59:59',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('17-10-2007 06:00:00',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('17-10-2007 06:00:01',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('17-10-2007 17:59:59',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('17-10-2007 18:00:00',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL UNION ALL
   SELECT TO_DATE('17-10-2007 18:00:01',    'DD-MM-YYYY HH24:MI:SS') FROM DUAL
   ) t
where dte between TO_DATE('15-10-2007 18:00:00',    'DD-MM-YYYY HH24:MI:SS')
              and TO_DATE('17-10-2007 06:00:00',    'DD-MM-YYYY HH24:MI:SS')
      and (dte-trunc(dte))*24 between 6 and 18
DTE                       HOURS                 
15-OCT-2007 18.00.00      18                    
16-OCT-2007 06.00.00      6                     
16-OCT-2007 06.00.01      6.00027777777777777777777777777777777778
16-OCT-2007 17.59.59      17.99972222222222222222222222222222222222
16-OCT-2007 18.00.00      18                    
17-OCT-2007 06.00.00      6                     
6 rows selected

Similar Messages

  • Select Between two date ranges from xml file

    Hi ,
    I have a column date_ with datatype VARCHAR2(150) it stores
    data as
    05/19/2010 11:23 AM
    05/20/2010 12:23 PM
    05/22/2010 11:23 AM
    05/25/2010 11:23 AM
    i have to select all the rows between 05/19/2010 and 05/22/2010 how to do that this column is in xml file

    I have a table wit two fields
    Field1 is integer and field2 is xmltype
    in the xmltype i store an xml file
    <ParentNode>
    <Node>
    <Cat>1</Cat>
    <Date>05/19/2010 11:23 AM </Date>
    </Node>
    <Node>
    <Cat>2</Cat>
    <Date>05/20/2010 12:23 PM </Date>
    </Node>
    <Node>
    <Cat>3</Cat>
    <Date>05/22/2010 11:23 AM </Date>
    </Node>
    </Parentnode>
    I am using teh below query to retrive teh result
    SELECT T.Feild1, XML.* FROM Tablename T,
    XMLTable( 'Parentnod/Node' PASSING T.Feild2 COLUMNS Cat NUMBER PATH 'Cat' ,
    DATE_ VARCHAR2(100) PATH 'Date'
    )XML where cat >1;
    now i have to do teh same to select the rows between two date range 05/19/2010 and 05/21/2010
    hope i am able to make teh question simple

  • How to use SQL to display Datethat falls between the date range

    Hi,
    I'm figuring out how do i use SQL to select data
    that falls between the date range stated
    (for eg. 19/02/1955 to 19/02/2003)
    I've tried :
    sql="Select * From StudentRecords WHERE DOB BETWEEN #" jTextField21.getText() "#" +" And " +"#" +jTextField22.getText;
    Using BETWEEN statment , but Between Statement isn't doing what i want..
    even those out of range are displayed... any ideas how??
    Thank yOU in advance!

    oracle:
    sql = "Select * From StudentRecords WHERE DOB between TO_DATE('07/04/2003','dd/mm/yyyy') and TO_DATE('08/04/2003','dd/mm/yyyy')";

  • Extracting a count of distinct values between two date ranges over months

    Hi All,
    I am having a bit of difficulty in figuring out the query to build a list of active campaigns over a date range.
    i.e. I have a table with campaign IDs and their start and end date details like this
    Campaign_id     Start_date     End_date
            10001     1-Jun-09     31-May-11
            10002     1-Jun-09     23-Jun-11
            30041     21-Aug-09     31-Dec-09
            20005     3-Jun-10     31-May-11
            90021     21-Nov-09     30-Nov-10
            54000     1-Jun-11     1-Dec-12
            35600     1-Mar-10     31-Mar-12 What the above data means is, for eg. the campaign 10001 is active from 1-Jun-09 to 31-May-11 i.e. for 24 months (inclusive of the month Jun-09 and May-11)
    What I need to figure out is the counts of active campaigns between a date range and display that active count at a month level (for e.g. lets say we want to see all the campaigns that were active
    between the date range '01-JUN-2007' and '30-APR-2012' ). So the partial output would be as seen below. The list would continue till december-2012
    Month    Year    Count of active campaigns
    Jan    2009    0
    Feb    2009    0
    Mar    2009    0
    Apr    2009    0
    May    2009    0
    Jun    2009    2
    Jul    2009    2
    Aug    2009    3
    Sep    2009    3
    Oct    2009    3
    Nov    2009    4
    Dec    2009    4
    Jan    2010    3
    Feb    2010    3
    Mar    2010    4
    Apr    2010    4
    Dec    2012    1 Could anybody please help me with the right query for this.
    Thanks a lot for help
    Regards
    Goldi

    set pagesize 40
    with tab as
                    select 1 id, sysdate -100 start_date, sysdate end_date from dual
                    union
                    select 1 id, sysdate -200 start_date, sysdate -150 end_date from dual
                    union
                    select 1 id, sysdate -600 start_date, sysdate - 400 end_date from dual
                    union
                    select 1 id, sysdate -300 start_date, sysdate - 150 end_date from dual
                    union
                    select 2 id, sysdate -100 start_date, sysdate-50 end_date from dual
          year_tab as
                        select
                                 add_months(min_date, level -1) m
                        from
                                select min(trunc(start_date,'YYYY')) min_date, add_months(max(trunc(end_date,'YYYY')), 12) max_date
                                from tab
                        connect by level <= months_between(max_date, min_date)
    select to_char(m,'YYYY') year_,
             to_char(m,'Month') month_,
             nvl(act, 0) act
    from   year_tab,
                select m date_,count(*)  act
                from tab, year_tab
                where m between trunc(start_date,'MM') and trunc(end_date,'MM')
                group by m
                ) month_tab
    where m = date_(+)
    order by m;
    YEAR_ MONTH_           ACT
    2010  January            0
    2010  February           0
    2010  March              0
    2010  April              0
    2010  May                0
    2010  June               0
    2010  July               0
    2010  August             0
    2010  September          1
    2010  October            1
    2010  November           1
    2010  December           1
    2011  January            1
    2011  February           1
    2011  March              1
    2011  April              0
    2011  May                0
    2011  June               0
    2011  July               1
    2011  August             1
    2011  September          1
    2011  October            2
    2011  November           2
    2011  December           2
    2012  January            2
    2012  February           2
    2012  March              2
    2012  April              1
    2012  May                1
    2012  June               0
    2012  July               0
    2012  August             0
    2012  September          0
    2012  October            0
    2012  November           0
    2012  December           0
    36 rows selected.

  • Query to find first and last call made by selected number for date range

    Hi,
    query to find first and last call made by selected number for date range
    according to filter:
    mobile_no : 989.....
    call_date_from : 25-april-2013
    call_date_to : 26-april-2013
    Please help

    Hi,
    It sounds like you want a Top-N Query , something like this:
    WITH    got_nums   AS
         SELECT     table_x.*     -- or list columns wanted
         ,     ROW_NUMBER () OVER (ORDER BY  call_date      ) AS a_num
         ,     ROW_NUMBER () OVER (ORDER BY  call_date  DESC) AS d_num
         FROM     table_x
         WHERE     mobile_no     = 989
         AND     call_date     >= DATE '2013-04-25'
         AND     call_date     <  DATE '2013-04-26' + 1
    SELECT  *     -- or list all columns except a_num and d_num
    FROM     got_nums
    WHERE     1     IN (a_num, d_num)
    ;This forum is devoted to the SQL*Plus and iSQL*Plus front ends. This question doesn't have anything to do with any front end, does it? In the future, you'll get better response if you post questions like this in the PL/SQL.
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only), and also post the results you want from that data.
    Explain, using specific examples, how you get those results from that data.
    Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
    See the SQL forum FAQ {message:id=9360002}

  • Function module to calculate no of days between two date ranges

    hi experts,
    can some one please suggest a function module that can calculate no of days between specified date range.
    for example : if i enter date range between 26.02.2011 to 20.05.2011, then it should calculate no of days between these dates.
    Moderator message : Basic date questions not allowed. Read forum rules before posting. Thread locked.
    Edited by: Vinod Kumar on May 25, 2011 10:57 AM

    Hi,
    Please search SDN.. there are lots of posts for teh same.
    [http://wiki.sdn.sap.com/wiki/display/ABAP/FunctionModulerelatedonDate+calculations]

  • I just upgraded from my 2008 MacBook to a new Macbook Pro. How do I get my time capsule to work on my new MacBook? I did data migration, but the time capsule did not pick it up. Any ideas?

    I just upgraded from my 2008 MacBook to a new Macbook Pro. How do I get my time capsule to work on my new MacBook? I did data migration, but the time capsule did not pick it up. Any ideas?

    If you migrated all the info from time machine to your new MBP. The TM will usually ask to connect to the old backups.. sorry I am not sure is this what you want to do.. Personally I think you start a fresh backup.
    BTW Time Capsule does not do anything.. it is a dumb hard disk in a box.. it is TM that does everything.
    Look at B5 and B6 here about connecting to your backup.
    http://pondini.org/TM/Troubleshooting.html

  • SQL to select data between a date range

    Hello,
    I am a new user to HTMLDB and I have an application where I need to select the rows from a table that are between a specified date range. The table description is
    name varchar2
    class varchar2
    sal number
    hdate date
    I want to select the rows of all names between date value 1 and date value 2. The SQL query I use in SQLPLUS does not work in HTML DB. The query I used is
    select null link, name from tab_data where hdate between TO_DATE('06-JAN-04','DD-MON-YY') and TO_DATE('08-JAN-04','DD-MON-YY')
    I also have 2 date picker fields in my form and I used a similar query which did not work.
    select null link, name from tab_data where hdate between TO_DATE(:P2_DATE1,'DD-MON-YY') and TO_DATE(:P2_DATE2,'DD-MON-YY').
    Can someone help me out?
    Thanks

    To All,
    This is getting frustrating... I have tried every combination and permutation I can think of with zero success. The table column I am querying is of type date. The nls_date_format is 'DD-MON-YY' on a 10g database on Linux ES. I am using datepicker 'DD-MON-YY'. I have converted it using TO_DATE, TO_CHAR(TO_DATE(, trunc etc. Is it just my installation? I have upgraded to the latest patch, so that can't be the problem. I created various test scenarios (virgin tables, one row, etc). I've been writing PL/SQL for fourteen years and I think I'm pretty good, but I've sure run up against a stone wall here. Surely somebody has done a date compare out there...
    select to_char(to_date('06-JAN-04','DD-MON-YY'),'MM/DD/YYYY') from dual;
    06-JAN-2004
    select to_char(YOUR_DATE_COLUMN,'MM/DD/YYYY') from YOUR_TABLE_WITH_DATE_COLUMN;
    15-OCT-2004
    15-OCT-2004
    15-OCT-2004

  • Select Between Two Dates ELSE

    I can't really seem to get this straightened out.
    SELECT distinct DATE, gross_total_return
    FROM WPI_ICL
    CASE Between '01-01-1980' AND '09-30-2008'
    AND description = 'Broad Market Index United States Property (US Dollar)'
    ELSE
    description = 'S&P United States Property Residential (US Dollar)'
    END
    So, if records are between two dates, select a certain description, ELSE select a different description.  I've tried IF...Then, and I've tried Case too.  So far, nothing has worked out.
    Can someone please give me a point in the right direction?
    Knowledge is the only thing that I can give you, and still retain, and we are both better off for it.

    Here's a working example:
    DECLARE @wpi_icl TABLE (date DATE, gross_total_return FLOAT, description1 VARCHAR(100), description2 VARCHAR(100))
    INSERT INTO @wpi_icl (date, gross_total_return, description1, description2)
    VALUES
    ('2008-09-29', 100.0, 'Broad Market Index United States Property (US Dollar)', 'S&P United States Property Residential (US Dollar)'),
    ('2008-10-01', 200.0, 'Broad Market Index United States Property (US Dollar)', 'S&P United States Property Residential (US Dollar)')
    SELECT date, gross_total_return,
    CASE WHEN date BETWEEN '1900-01-01' AND '2008-09-30' THEN description1
    ELSE description2
    END AS description
    FROM @wpi_icl
    From the code you posted, it seems you're unsure of the syntax of CASEs.
    There are two ways to use a case. The first is the example above. You enclose the conditions between CASE and END.
    Each condition has its own WHEN with a clause that evaluates to true or false. This clause can be made up of as many conditions as you like. After the clause comes a THEN. This is essentially what you want to happen if the clause returns true. WHEN/THEN is
    synonymous with IF/THEN in this instance.
    Including an ELSE is optional, but, be aware if you do not, and none of your WHEN clauses evaluate to true, you will have a NULL returned.
    CASE
    WHEN theseDriods = theDriodsWereLookingFor THEN callVader
    WHEN theseDriods <> theDriodsWereLookingFor THEN moveAlong
    ELSE goHomeAndRethinkLife
    END
    The other (less common) option operates like a SWITCH in some other languages. Its still surrounded by CASE and END but this time, the when just contains a value to be compared to the value at the start of the case:
    CASE 16
    WHEN 15 THEN 'too low'
    WHEN 16 THEN 'just right'
    WHEN 17 THEN 'too high'
    END
    Hope this helps.

  • List Months between a date range

    Hi, I'm trying to list the months between a given date range in an ABAP report to generate a MIS report(ALV).. Say I have 2 date ranges, 01.01.2006 to 01.04.2006.. I want to list
    Jan 2006
    Feb 2006
    Mar 2006
    Apr 2006.. Any FM in SAP to get this OP..

    hi vivek,
    use this function module to get months beween two dates
    1. MONTHS_BETWEEN_TWO_DATES   or
    2. MONTHS_BETWEEN_TWO_DATES_NEW
    please reward the point if you are satisfied with answer
    thanks,
    john.

  • Query using Between for date range

    Hi,
    I need to list a date range of registration.. i entered
    4/12/2007 (as value for form.regstart) and 7/12/2007 (as value for
    form.regend)..
    WHERE dateregistered BETWEEN #CreateODBCDate(form.regstart)#
    AND #CreateODBCDate(form.regend)#
    the result that i got was only from 4/12/2007 to 6/7/2007..
    however when i run the same coding at mysql.. it works
    perfectly..
    any idea?

    Turn on debugging and see what dates show up in the sql that
    went to your db. Cold Fusion might be confused by your date format.
    I certainly am.

  • Difference between two date ,according to office time.

    hi,
    How can I get diffrence between two date.
    If I select from-date  20-03-2012 09:30AM and to-date 20-03-2012 06:30PM then output should be 1 day(as it is office time from 09:30 AM TO 06:30 PM).
    ACCORDINGLY If I select from-date  20-03-2012 09:30AM and to-date 21-03-2012 02:00PM then output should be 1.5 day
    select 24*(to_date(:P2_TO_DATE,'DD-MM-YYYY HH:MIPM') - to_date(:P2_FROM_DATE,'DD-MM-YYYY HH:MIPM'))"date" from dual;

    Hello Shirish,
    WITH dates AS(
        SELECT  TO_DATE ('20-03-2012 09:30AM', 'DD-MM-YYYY HH:MIPM') AS start_date
               ,TO_DATE ('20-03-2012 06:30PM', 'DD-MM-YYYY HH:MIPM') AS end_date
        FROM    dual
        UNION ALL
        SELECT  TO_DATE ('20-03-2012 09:30AM', 'DD-MM-YYYY HH:MIPM') AS start_date
               ,TO_DATE ('20-03-2012 04:15PM', 'DD-MM-YYYY HH:MIPM') AS end_date
        FROM    dual
        UNION ALL
        SELECT  TO_DATE ('20-03-2012 09:30AM', 'DD-MM-YYYY HH:MIPM') AS start_date
               ,TO_DATE ('21-03-2012 02:00PM', 'DD-MM-YYYY HH:MIPM') AS end_date
        FROM    dual
        UNION ALL
        SELECT  TO_DATE ('20-03-2012 09:30AM', 'DD-MM-YYYY HH:MIPM') AS start_date
               ,TO_DATE ('21-03-2012 12:00PM', 'DD-MM-YYYY HH:MIPM') AS end_date
        FROM    dual
        UNION ALL
        SELECT  TO_DATE ('20-03-2012 04:30PM', 'DD-MM-YYYY HH:MIPM') AS start_date
               ,TO_DATE ('21-03-2012 02:00PM', 'DD-MM-YYYY HH:MIPM') AS end_date
        FROM    dual
        UNION ALL
        SELECT  TO_DATE ('20-03-2012 04:30PM', 'DD-MM-YYYY HH:MIPM') AS start_date
               ,TO_DATE ('22-03-2012 02:00PM', 'DD-MM-YYYY HH:MIPM') AS end_date
        FROM    dual
        UNION ALL
        SELECT  TO_DATE ('20-03-2012 04:30PM', 'DD-MM-YYYY HH:MIPM') AS start_date
               ,TO_DATE ('22-03-2012 10:00AM', 'DD-MM-YYYY HH:MIPM') AS end_date
        FROM    dual
    ,times as(
    SELECT  start_date
           ,end_date
           ,TRUNC (end_date - start_date) days
           ,MOD (end_date - start_date,1) hours
           ,(start_date - 9.5/24 - TRUNC (start_date))*24 offset_start
           ,(end_date - 9.5/24 - TRUNC (end_date))*24 offset_end
           ,(end_date - 9.5/24 - TRUNC (end_date))*24
            - (start_date - 9.5/24 - TRUNC (start_date))*24 offset_diff
    FROM    dates
    SELECT  TO_CHAR(start_date, 'DD-MM-YYYY HH:MIPM') AS start_date
           ,TO_CHAR(end_date, 'DD-MM-YYYY HH:MIPM') AS end_date
           ,days
           ,ROUND(offset_start,2) offset_start
           ,ROUND(offset_end,2) offset_end
           ,ROUND(offset_diff,2) offset_diff
           ,CASE WHEN offset_diff > 4 THEN
                days + 1
            WHEN offset_diff > 0 THEN
                days + 0.5
            WHEN offset_diff = 0 THEN
                days
            WHEN offset_diff + 9 > 4 THEN
                days + 1
            ELSE
                days + 0.5
            END computed_days
    FROM  timesThe first step (subquery times) computes the full days and the difference between start_date and end_date, compared to the beginning of the office ours (9.5 /24)
    The second step takes the days and according to the possible values of the difference adds a half or a full day.
    Regards
    Marcus
    Edited by: Marwim on 19.03.2012 11:23
    CASE offset_diff = 0

  • Difference Between Basic Date Scheduling and Lead Time Scheduling.

    Dear FRndz,
    Kindly help me out the difference between the Basic Date Scheduling and Lead Time Scheduling.
    Regards,
    SRini

    Dear,
    Basic scheduling :
    1.Basic dates are calculated.
    2.Exact to day.
    3.No cap reqmts are generated.
    4.Uses the inhouse production time from material master.
    5.Carried out automatically during planning run.
    In basic date calculation ( order start date/ order finish date ) the system always
    calculates backward scheduling.
    1. From the reqmts date the system subtracts the GR processing time to
    calculate the order fininsh date.
    2. From the order finish date the system subtracts the inhouse production time to calculate the order start date.
    3. From the order start date the system subtracts the opening period given in scheduling margin key to calculate the order opening date.
    Lead time scheduling :
    1.Exact to second
    2.ie production start date /time and finish date and time are calculated.
    3. cap reqmts are generated.
    4. uses times from routing.
    5. carried out only if the scheduling mode in MD02 screen is kept with indicator 2.
    From the order finish date the system subtracts the float after production to calculate the production finish date.
    From the production finish date the individual operations in the routing are scheduled backwards to calculate production start date.
    From the production start date the system subtracts the float before production
    to calculate order start date.
    Same thread.
    https://forums.sdn.sap.com/click.jspa?searchID=19281092&messageID=3548465
    Please refer this link,
    [Difference|scheduling]
    Hope clear to you.
    Regards,
    R.Brahmankar

  • 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

  • Oracle SQl query to find date range based on another cloumn value

    Hi Folks,
    I want to extract records for the employees who have consecutive vacation/leave from a table. If an emp has vacation of 3 days (MON-WED), the table contains 3 distinct records for him,
    e.g. My table contains records as shown below.
    EmpName Paycode ApplyDate Amt. of Hrs
    emp1 vacation 5/1/2010 8
    emp1 vacation 5/2/2010 8
    emp1 vacation 5/3/2010 8
    I am trying to get the output like this...
    Emp Name Paycode Leave Start Date Leave End Date TotalHrs
    emp1 vacation 5/1/2010 5/3/2010 24
    Note: If the smae emp has sets of vacation in another month, that should come as a separate record with start date and end date(last date of vacation for that set).
    I have a query which does not return any rows. Any help to repair this query or any better one would be of great help.
    ==================================================================
    WITH vpt AS (
    select personnum as empname, paycodename as paycode, applydate, timeinseconds/3600 as numhours from VP_TOTALS
    where applydate between to_date('05/01/2010','MM/DD/YYYY') AND to_date('12/31/2010','MM/DD/YYYY')
    AND paycodename in ('US-Vacation','US-Bereavement','US-Sick','US-Jury Duty')
    select
    empname,
    paycode,
    min(applydate) as startdate,
    max(applydate) as enddate,
    sum(numhours) as totalhours
    from (
    select
    empname,
    paycode,
    applydate,
    numhours,
    -- number the blocks sequentially
    sum(is_block_start) over (partition by empname, paycode order by applydate) as block_num
    from (
    select
    empname,
    paycode,
    applydate,
    numhours,
    -- Mark the start of each block
    case
    when applydate = prev_applydate + 1 then 0 else 1 end as is_block_start
    from (
    select
    empname,
    paycode,
    applydate,
    numhours,
    lag (applydate) over (partition by empname, paycode order by applydate) prev_applydate
    from vpt
    group by empname, paycode, block_num
    ===================================================================
    Thanks,
    Maha

    Hi Dear,
    Can I do reverse I mean I can get output as your question from your output as below:
    I have this table
    FID      STARTD ATE END DATE
    1 01-MAY-10 03-MAY-10
    1 09-MAY-10 11-MAY-10
    1 03-JUN-10 04-JUN-10
    2 03-JUN-10 04-JUN-10
    2 04-AUG-10 04-AUG-10
    2 06-AUG-10 06-AUG-10
    I want like this.
    FID FDATE
    1 01-MAY-10
    1 02-MAY-10
    1 03-MAY-10
    1 09-MAY-10
    1 10-MAY-10
    1 11-MAY-10
    1 03-JUN-10
    1 04-JUN-10
    2 03-JUN-10
    2 04-JUN-10
    2 04-AUG-10
    2 06-AUG-10
    And:
    How can i get date wise entry from Joining date to relieving date like..
    FID      START DATE END DATE
    1 01-MAY-10 03-MAY-12
    1 09-MAY-10 11-MAY-11
    2 04-AUG-10 04-AUG-11
    I want like this.
    FID FDATE
    1 01-MAY-10
    1 03-MAY-10
    1 04-MAY-10
    1 05-MAY-10
    1 16-MAY-10
    1 17-MAY-10
    1 08-May-10
    1 09-May-10
    1 03-May-12
    Can you please help me.
    Thanks,
    Edited by: 978452 on Dec 24, 2012 12:02 AM

Maybe you are looking for

  • Cannot open nib - The application Interface Builder quit unexpectedly

    Just installed the iPhone SDK and installed sample code. The Interface Builder will not start. At startup, the following message is displayed: "The application Interface Builder quit unexpectedly." I've tried the standard Xcode SDK and it has the sam

  • GSS API failing with java 1.6 but working with java 1.5 in jboss 3.2.6

    18:05:08,210 INFO [STDOUT] GSSException: No valid credentials provided (Mechanism level: Attempt to obtain new ACCEPT credentials failed!) 18:05:08,210 INFO [STDOUT]      at sun.security.jgss.krb5.Krb5AcceptCredential.getInstance(Krb5AcceptCredential

  • Superdrive not supported?

    I am trying to burn some DVDs for my soccer team, and the message flashed up - "YOUR MACINTOSH DOES NOT HAVE A SUPPORTED SUPERDRIVE. PLEASE NOT THAT WHILE YOU WILL BE ABLE TO WORK WITH IDVD PROJECTS, YOU WILL NOT BE ABLE TO BURN A DVD DISC." I have m

  • Lost all scheduled recordings

    I've been away a few days and last night whilst back at home I noticed nothing was recording when I knew it should have been. So I checked the recording menu and discovered that there was nothing in my scheduled recording menu, all the linked series,

  • How to open .php files on mac

    when i tried to click to listen to an audio online, i get this message "the flip for mac plug-in needs your permission to run it". Then i clicked "run" and get this: "Track.php QuickTime Player can't open "track.php" because the movie's file format i