PL/SQL function for the addition of "days."

I created a function that, at a date and a number, adds many days to the date. The problem is that there are parameters to include Saturday, Sunday or Monday as these days. Here is an example of the call

DAYSBETWEEN('01-Aug-11',5,0,0,0) will give 5 calendar days since August 1, 2011 (that you would not exclude Saturday, Sunday or Monday)

DAYSBETWEEN (August 1, 11 ', 5, 1,1,0) would give you 5 working days since August 1, 2011

DAYSBETWEEN('01-Aug-11',5,0,1,1) would give you 5 days of August 1, 2011 spring break Sunday and Monday.

My current role is:
create or replace
FUNCTION DAYSBETWEEN(
      DAYIN  IN DATE ,
      ADDNUM IN NUMBER ,
      EXSAT  IN NUMBER ,
      EXSUN  IN NUMBER ,
      EXMON  IN NUMBER )
    RETURN DATE
  IS
    dtestart DATE;
    intcount NUMBER;
    holidays NUMBER;
  BEGIN
    dtestart       := DAYIN;
    intcount       :=1;
    WHILE intcount <= ADDNUM
    LOOP
      dtestart     := dtestart + 1;
      IF NOT((EXSAT = 1 AND TO_CHAR(dtestart, 'd')= 7) OR (EXSUN=1 AND TO_CHAR(dtestart, 'd')= 1) OR (EXMON=1 AND TO_CHAR(dtestart, 'd')= 2)) THEN
        intcount   := intcount + 1;
      END IF;
    END LOOP;
    RETURN dtestart;
  END DAYSBETWEEN;
This works for a small set of values for the date, but when there is a bigger set of dates, it takes hours to complete because of the time loop and multiple or statements.

Y at - it another game of logic, I could use to improve this query, using possibly not the while loop / or statements?

Hi again:

This is the query, reformatted in the form of a function, exectuing the same thing I did in the above query:

SQL> CREATE OR REPLACE FUNCTION daysbetween
  2      (
  3         dayin  IN DATE ,
  4         addnum IN NUMBER ,
  5         exsat  IN NUMBER ,
  6         exsun  IN NUMBER ,
  7         exmon  IN NUMBER )
  8
  9       RETURN DATE
 10
 11  IS
 12
 13       dtestart DATE;
 14       intcount NUMBER;
 15       holidays NUMBER;
 16
 17  BEGIN
 18
 19    WITH all_dates AS
 20     (
 21       SELECT LEVEL AS days_to_add
 22         , dayin
 23         , dayin + LEVEL AS new_dt
 24         , addnum
 25         , exsat
 26         , exsun
 27         , exmon
 28          FROM dual
 29       CONNECT BY LEVEL <= addnum * 2
 30       )
 31     , exclusions AS
 32     (
 33        SELECT ROW_NUMBER() OVER ( ORDER BY new_dt) ordering
 34          , addnum
 35          , new_dt
 36          , TO_CHAR ( new_dt, 'DY' )
 37        FROM all_dates
 38        WHERE 1=1
 39          AND TO_CHAR ( new_dt, 'DY' ) != DECODE (  exsat, 1, 'SAT', 'XXX')
 40          AND TO_CHAR ( new_dt, 'DY' ) != DECODE (  exsun, 1, 'SUN', 'XXX')
 41          AND TO_CHAR ( new_dt, 'DY' ) != DECODE (  exmon, 1, 'MON', 'XXX')
 42        )
 43     SELECT MAX( new_dt )
 44     INTO dtestart
 45     FROM exclusions
 46     WHERE ordering <= addnum;
 47
 48     RETURN dtestart;
 49
 50  END daysbetween;
 51  /

Function created.

SQL> SELECT daysbetween ( DATE '2011-08-01', 150, 1, 0, 1) FROM DUAL;

DAYSBETWE
---------
26-FEB-12

1 row selected.

The only variable not factored is holiday, but I saw that you were for them in your LOOP function either.

Due to the nature and variability holiday, it is better to have a table with the listed holidays, and those who could be elminated of charges together in the same 'exculsions' query where I used the TO_CHAR and DECODE to exclude the Fri, sat and Sun.

Tags: Database

Similar Questions

  • How to set the flag for the first 3 days

    Hi all

    I have a table with a complete list of April and may 2015 date month and his working days (just for example, I have included only in April and may 2015 data but the table has data for 20 years since 2000).

    Below is the table create and insert scripts for complete data.

    CREATE TABLE dates_dim(day DATE, business_day NUMBER, month NUMBER, day_of_week VARCHAR2 (100));
    
    Insert into DATES_DIM Values (TO_DATE('05/01/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1, '201505', 'FRIDAY');
    Insert into DATES_DIM Values (TO_DATE('05/02/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'SATURDAY');
    Insert into DATES_DIM Values (TO_DATE('05/03/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'SUNDAY');
    Insert into DATES_DIM Values (TO_DATE('05/04/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, '201505', 'MONDAY');
    Insert into DATES_DIM Values (TO_DATE('05/05/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 3, '201505', 'TUESDAY');
    Insert into DATES_DIM Values (TO_DATE('05/06/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, '201505', 'WEDNESDAY');
    Insert into DATES_DIM Values (TO_DATE('05/07/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 5, '201505', 'THURSDAY');
    Insert into DATES_DIM Values (TO_DATE('05/08/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 6, '201505', 'FRIDAY');
    Insert into DATES_DIM Values (TO_DATE('05/09/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'SATURDAY');
    Insert into DATES_DIM Values (TO_DATE('05/10/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'SUNDAY');
    Insert into DATES_DIM Values (TO_DATE('05/11/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, '201505', 'MONDAY');
    Insert into DATES_DIM Values (TO_DATE('05/12/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 8, '201505', 'TUESDAY');
    Insert into DATES_DIM Values (TO_DATE('05/13/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 9, '201505', 'WEDNESDAY');
    Insert into DATES_DIM Values (TO_DATE('05/14/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 10, '201505', 'THURSDAY');
    Insert into DATES_DIM Values (TO_DATE('05/15/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 11, '201505', 'FRIDAY');
    Insert into DATES_DIM Values (TO_DATE('05/16/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'SATURDAY');
    Insert into DATES_DIM Values (TO_DATE('05/17/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'SUNDAY');
    Insert into DATES_DIM Values (TO_DATE('05/18/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 12, '201505', 'MONDAY');
    Insert into DATES_DIM Values (TO_DATE('05/19/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 13, '201505', 'TUESDAY');
    Insert into DATES_DIM Values (TO_DATE('05/20/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 14, '201505', 'WEDNESDAY');
    Insert into DATES_DIM Values (TO_DATE('05/21/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 15, '201505', 'THURSDAY');
    Insert into DATES_DIM Values (TO_DATE('05/22/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 16, '201505', 'FRIDAY');
    Insert into DATES_DIM Values (TO_DATE('05/23/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'SATURDAY');
    Insert into DATES_DIM Values (TO_DATE('05/24/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'SUNDAY');
    Insert into DATES_DIM Values (TO_DATE('05/25/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'MONDAY');
    Insert into DATES_DIM Values (TO_DATE('05/26/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 17, '201505', 'TUESDAY');
    Insert into DATES_DIM Values (TO_DATE('05/27/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 18, '201505', 'WEDNESDAY');
    Insert into DATES_DIM Values (TO_DATE('05/28/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, '201505', 'THURSDAY');
    Insert into DATES_DIM Values (TO_DATE('05/29/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, '201505', 'FRIDAY');
    Insert into DATES_DIM Values (TO_DATE('05/30/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'SATURDAY');
    Insert into DATES_DIM Values (TO_DATE('05/31/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201505', 'SUNDAY');
    Insert into DATES_DIM Values (TO_DATE('04/01/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1, '201504', 'WEDNESDAY');
    Insert into DATES_DIM Values (TO_DATE('04/02/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, '201504', 'THURSDAY ');
    Insert into DATES_DIM Values (TO_DATE('04/03/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 3, '201504', 'FRIDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/04/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201504', 'SATURDAY ');
    Insert into DATES_DIM Values (TO_DATE('04/05/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201504', 'SUNDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/06/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, '201504', 'MONDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/07/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 5, '201504', 'TUESDAY  ');
    Insert into DATES_DIM Values (TO_DATE('04/08/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 6, '201504', 'WEDNESDAY');
    Insert into DATES_DIM Values (TO_DATE('04/09/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, '201504', 'THURSDAY ');
    Insert into DATES_DIM Values (TO_DATE('04/10/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 8, '201504', 'FRIDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/11/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201504', 'SATURDAY ');
    Insert into DATES_DIM Values (TO_DATE('04/12/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201504', 'SUNDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/13/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 9, '201504', 'MONDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/14/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 10, '201504', 'TUESDAY  ');
    Insert into DATES_DIM Values (TO_DATE('04/15/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 11, '201504', 'WEDNESDAY');
    Insert into DATES_DIM Values (TO_DATE('04/16/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 12, '201504', 'THURSDAY ');
    Insert into DATES_DIM Values (TO_DATE('04/17/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 13, '201504', 'FRIDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/18/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201504', 'SATURDAY ');
    Insert into DATES_DIM Values (TO_DATE('04/19/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201504', 'SUNDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/20/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 14, '201504', 'MONDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/21/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 15, '201504', 'TUESDAY  ');
    Insert into DATES_DIM Values (TO_DATE('04/22/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 16, '201504', 'WEDNESDAY');
    Insert into DATES_DIM Values (TO_DATE('04/23/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 17, '201504', 'THURSDAY ');
    Insert into DATES_DIM Values (TO_DATE('04/24/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 18, '201504', 'FRIDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/25/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201504', 'SATURDAY ');
    Insert into DATES_DIM Values (TO_DATE('04/26/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0, '201504', 'SUNDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/27/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, '201504', 'MONDAY   ');
    Insert into DATES_DIM Values (TO_DATE('04/28/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, '201504', 'TUESDAY  ');
    Insert into DATES_DIM Values (TO_DATE('04/29/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, '201504', 'WEDNESDAY');
    Insert into DATES_DIM Values (TO_DATE('04/30/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, '201504', 'THURSDAY ');
    COMMIT;
    

    I'm looking for a select statement that defines the indicator 'Y' for April records months and "n" for records in may for the first 3 days of the request. Here's the difficult thing, the results should vary depending when they run the select query.

    For example:

    Scenario-1: If I run the SQL code may 1st, 2nd, 3rd, 4th, or 5th (with in the first 3 days), FLAG must be set on 'Y' for records in April and "n" for records in May.

    Scenario 2: If I run anywhere between May6th 31, FLAG must be set to ' do for April month and 'Y' for records in May.

    Search results for scenario 1 should look something like this the results of the SQL query below (as I can't keep the complete set of results, I wrote a select query which will give you the expected results if you run the DDL and DML scripts above)

    select day,case when day between '01-APR-2015' and '30-APR-2015' then 'Y' else 'N' end flag from dates_dim;
    

    Results for the scenario-2 should look something like this the results of the SQL query below (as I can't keep the complete set of results, I wrote a select query which will give you the expected results if you run the DDL and DML scripts above)

    select day,case when day between '01-APR-2015' and '30-APR-2015' then 'N' else 'Y' end flag from dates_dim;
    

    Please let me know if it is confusing. Thank you.

    Hello

    Thanks for posting the CREATE TABLE and INSERT statements; It's very helpfu.

    Month article it should really be a DATE, not a NUMBER. This issue (and many others) would be simpler and more effective it was a DATE, rather than a NUMBER, since it must be compared with the DATEs.

    As the month is a NUMBER, do not insert VARCHAR2 values, such as '201505', in it.

    Why is-day_of_week 100 characters?  The longest name in English ("WEDNESDAY") is 9 characters.  Day_name fairer apply in trouble.

    Here's a way to do what you asked:

    DEFINE SYSDATE = "DATE" "2015-05-05.

    DEFINE SYSDATE = "DATE" "2015-05-06.

    WITH got_effective_month AS

    (

    SELECT TO_NUMBER (TO_CHAR (ADD_MONTHS (& SYSDATE

    CASE

    WHEN COUNT (*)<=>

    THEN-1

    0 OTHERWISE

    END

    )

    , "YYYYMM.

    )

    ) AS effective_month

    OF dates_dim

    Day WHERE BETWEEN TRUNC (& SYSDATE, 'MONTH')

    AND & SYSDATE

    AND business_day > 0

    )

    SELECT d.

    CASE

    WHEN month = e.effective_month

    THEN 'Y '.

    ANOTHER "N".

    Flag of the END as the

    OF dates_dim d

    CROSS JOIN e got_effective_month

    ORDER BY d.day

    ;

    I used the proxy & SYSDATE to test.  In Production, you will use the SYSDATE function instead.

    A calendar table, like days_dim, is really a good idea.  You may consider adding a column business_day_count cumulative, a NUMBER that increments of 1 every day business.  To find out how many days passed since any day x (for example, the 1st of this month), you would only need extract the 2 rows in the table: line x and the line today.

  • calculate data for the last 30 days according to the date of sys

    SELECT DT, ITEMCODE, ITEMNAME, QTY
    FROM   TABLE1
    In above given the query, how do I calculate the details of the amount of the last 30 days, APR, MAY, and JUNE

    As the month during JULY, August, the amount of detail is required for the last 30 days (from sysdate), MAY, JUNE, July

    Please suggest.

    Yogesh

    Published by: user12957777 on July 28, 2010 03:16

    Hello

    CASE expressions can filter data in specific columns:

    SELECT     SUM ( CASE
                WHEN dt >= ADD_MONTHS ( TRUNC (SYSDATE, 'MONTH')
                             , -3
                             )
                AND  dt <  ADD_MONTHS ( TRUNC (SYSDATE, 'MONTH')
                             , -2
                             )
                THEN qty
               END
             )          AS third_month
    ,     SUM ( CASE
                WHEN dt >= ADD_MONTHS ( TRUNC (SYSDATE, 'MONTH')
                             , -2
                             )
                AND  dt <  ADD_MONTHS ( TRUNC (SYSDATE, 'MONTH')
                             , -1
                             )
                THEN qty
               END
             )          AS second_month
    ,     SUM ( CASE
                WHEN dt >= ADD_MONTHS ( TRUNC (SYSDATE, 'MONTH')
                             , -1
                             )
                AND  dt <               TRUNC (SYSDATE, 'MONTH')
                THEN qty
               END
             )          AS last_month
    ,     SUM ( CASE
                WHEN dt >= TRUNC (SYSDATE) - 30
                AND  dt <  TRUNC (SYSDATE)
                THEN qty
               END
             )          AS last_30_days
    FROM     table1
    ;
    

    You can do this with GROUP BY, in addition, if you want to separate for each itemname (for example) lines.

    I guess some things, like what do you mean by the last 30 days.

    If you wish to post a few 9creation TABLE or INSERT sample data) and the results you want from this data, then I could test this.

  • SQL function for comparing 2 strings

    Hi all
    Is there a SQL function for comparing 2 strings?

    There is no function of pre defined in Sql for the string comparison. You can create according to your requirement.

    Concerning

  • I broke my screen, and now cannot drag to open it.  I have an alarm that don't go.  I also want to synchronize my phone before I take it buy a new one.  Is it possible to synchronize and watch my calendar for the next few days?

    I broke my screen, and now cannot drag to open it.  I have an alarm that don't go. I can let the battery die I know but I really want to be able to access and examine what are the texts I received today. I think that my ICloud is can be disabled. I also want to synchronize my phone before I take it buy a new one.  Is it possible to synchronize and watch my calendar for the next few days?

    Without entering your access code, it is not possible, unless your time is in iCloud. If this is the case, connect to iCloud.com to check your calendar.

    Good luck.

  • How can I do a quick preview (thumbnails?) of all open tabs in a window (Safari has a function for the display of open tabs)?

    How can I do a quick preview (thumbnails?) of all open tabs in a window (Safari has a function for the display of open tabs)?

    Maybe look into this extension instead:

  • For the last 2 days everytime I open to MY MSN, it opens in safe mode. I deleted cookies and the history of FF. all other sites open OK. Vista, 64-bit operating system.

    Vista 64 bit OS

    Thanks for the replies, the problem was on the Microsoft site itself and internal glitch for the last 2 days on the garbled causing MY MSN page without graphics and text.

  • I am running Windows 7 and noticed that Windows updates did not work. The parameters are defined for the update every day. When I went to update manually returned an error WindowsUpdate_80070017. MSFT site was no help. Any recommendations?

    I am running Windows 7 and noticed that Windows updates did not work. The parameters are defined for the update every day. When I went to update manually returned an error WindowsUpdate_80070017.  MSFT site was no help. Any recommendations?

    Since neither updates Jan - 10 have installed, I'm going to hand you Support MS in the hope that they can resolve the problem. See below.

    That being said, is an interpretation of the 80070017 - cyclic redundancy check error "a device attached to the system does not work," which suggests that a hardware problem might be the cause of the error (although I must say that it is a very low possibility in this case).

    Good luck!

    =======================

    Visit the Microsoft Solution Center and antivirus security for resources and tools to keep your PC safe and healthy. If you have problems with the installation of the update itself, visit the Microsoft Update Support for resources and tools to keep your PC updated with the latest updates.

    ~ Robear Dyer (PA Bear) ~ MS MVP (that is to say, mail, security, Windows & Update Services) since 2002 ~ WARNING: MS MVPs represent or work for Microsoft

  • For the last 2 days I have been unable to play UNO. I wonder if something is wrong with the game. Maybe you're the right person to ask; If you would point me in the right direction, I would appreciate it. It is on the site of MSN games, however.

    Gambling problems:
    UNO on the MSN web site has been unavailable for me for the past 2 days. I can't find any information on this subject anywhere.
    Could you please let me know so that I will understand if the problem is with repairs or something with my computer.
    Thank you
    D.Potts

    D.Potts,
    Since this is an MSN online game you should start by checking with their support.  Since it's an online game, you can reset your browser and see if that helps.  If you have Internet Explorer 8 and here are instructions to reset it.

    Mike - Engineer Support Microsoft Answers
    Visit our Microsoft answers feedback Forum and let us know what you think.

  • 16 June updated blown all my documents for the last 10 days. Any solution?

    Documents for the last 10 days, all my email settings, all memory of recent activity disappeared.

    Hello Craig,.

    Let's see if the files are actually missing or if they are hidden:

    http://answers.Microsoft.com/en-us/Windows/Forum/Windows_7-files/Unhide-files-and-folders/ca46d3ba-1b51-E011-8dfc-68b599b31bf5

    Best regards

    Matthew_Ha

  • FONT SIZE: for the last 8 days the font size will increase from 100% to 75%.

    For the last 8 days the font size will increase from 100% to 75%. This happens automatically. I am not able to change the font size to 100% the normal way. On the desktop, I right click and try to enlarge the icons without result. In Explorer I go down to the bottom right to change the zoom level and try to change the font, nothing helps. The only way I can do it is through the system restore. Can anyone help? Dogscout

    t-4-2

    Changed the dpi that did not work. Police accounted for 70% this morning. I had to use the system again restore.

    Suggestions...
    1 make a check of the file system.
    Start button > Search box type cmd > look up, do a RIGHT click oncmd.exe > click onRun As Administrator > in this window cmd black and white, type at the prompt flashing sfc/scannow > press the ENTER key.
    Note : there is a space between 'sfc' and ' / '.
    To sit and wait. It will take time.
    When finished, exit the cmd window.
    Reboot (restart your computer)

    2. If the above does not solve the problem. Do a check disk.
    Start button > Search box, type cmd > look up, right-click on cmd.exe > Run As Administrator > in the black and white window, at the command prompt flashes, type chkdsk/f/r > press the Enter key.
    Note : there is a space between 'chkdsk' and ' / '.
    The screen will say something like cannot do it now, but you want to run it on reboot. Click on 'y' as in Yes > press > window cmd of output.
    Restart your computer. Check disk starts after reboot. It will take a while. DO NOT stop the machine. Just wait.

    t-4-2
     
     
  • To cancel light continues to Flash for the last 2 days on my HP 6500 all on the printer.

    Light to cancel on my HP Office jet 6500 all-in-One Printer E709 help a series continues to Flash for the past 2 days, I changed the thinking of the ink that was the problem, but he did not. I unplugged all caps for about two minutes, then the replugged and nothing helped.  I was doing a copy 2 days ago and the paper stuck, I was able to recover all of the sheet, but since then I'm unable to use the printer.  I can't make copies; I can not print nor can I fax this printer.  What can I do?

    Bob_Headrick thanks for the info but I got intouch with the HP company directly, it seems to be a hardware problem.  They no longer support this printer, but gave a good discounted price for a newer version, I'm happy with.

  • Windows Update was not able to verify the new updates for the last 30 days, go to windows update to resolve this problem

    Hi people

    I'm on Windows 8, and in these last days, I get this message

    " " Windows Update was not able to verify the new updates for the last 30 days, go to windows update to resolve this problem"

    It is on a blue banner that goes directly to the screen and it is very annoying

    I get updates through so I do not understand this

    Any help would be great

    PS I have tryied the restoration of the system, and it's always the same

    Lee was soon

    Original title: looking for some help please

    Hi Lee,.

    I had this same problem and it drove me crazy, but I solved it.

    I clicked on the link above that 'Shubham Chin"gave, and in this link all the topic, if you click on the topic" my PC is not responding all by searching for the or to install updates.

    below that it will then say "try to run windows update convenience store", click on that and it should get rid of this very annoying pop to the top and other problems with your laptop... hope I helped :)

  • Single SQL query for the analysis of the date of customs declaration under the table of Stock codes

    Dear all,


    Please tell us a single SQL query for the below,

    We have a Table of Stock as shown below,

    STOCK_TABLE

     

    ITEM_CODE

    (item code)

    BAT_NO

    (lot no.)

    TXN_CODE

    (transaction code)

    DOC_NO

    (number)

    BOE_DT

    (date of the customs declaration)

    I1

    B1

    I1

    I2

    I3

    B70

    I4

    B80

    I5

    B90

    T102

    1234

    JULY 2, 2015

    I6

    B100

    We have to find the date of customs declaration (i.e. the date when the items have come under this particular table) for items that are not attached to any document (that is, who have TXN_CODE, DOC_NO and BOE_DT fields with a NULL value).

    For each item in the table of actions, which is not attached to any document, the customs declaration date is calculated as follows.

    1. If (code section, lot number) combination is present under HISTORY_TABLE, the date of customs declaration will receive the UPDT_DT, the transaction code (TXN_CODE) is an IN or transactions (which can be analyzed from the TRANSACTIONS table).

    2. If (code section, lot number) combination is NOT currently at the HISTORY_TABLE (or) the transaction code respective to item - batch number combination code is an operation then customs declaration date will be the date of the document (DOC_DT) that we receive from one of the 3 tables IN_TABLE_HEAD that contains the element of that particular lot.

  • If the case 1 and case 2 fails, our customs declaration date will be the last date of document (DOC_DT) that we receive from one of the 3 tables IN_TABLE_HEAD containing that particular item and the BAT_NO in expected results will be that corresponding to this document, as appropriate, to another NULL.

  • If the case 1 or case 2 is successful, the value of the last field (in the output expected, shown further below) BATCH_YN will be 'Y', because it fits the lot. Otherwise it will be 'n'.
  • HISTORY_TABLE

     

    ITEM_CODE

    BAT_NO

    TXN_CODE

    DOC_NO

    UPDT_DT

    I1

    B1

    T1

    1234

    JANUARY 3, 2015

    I1

    B20

    T20

    4567

    MARCH 3, 2015

    I1

    B30

    T30

    7890

    FEBRUARY 5, 2015

    I2

    B40

    T20

    1234

    JANUARY 1, 2015

    TRANSACTION

     

    TXN_CODE

    TXN_TYPE

    T1

    IN

    T20

    OFF

    T30

    ALL THE

    T50

    IN

    T80

    IN

    T90

    IN

    T60

    ALL THE

    T70

    ALL THE

    T40

    ALL THE

    IN_TABLE_HEAD_1

     

    H1_SYS_ID

    (primary key)

    TXN_CODE

    DOC_NO

    DOC_DATE

    H1ID1

    T1

    1234

    JANUARY 1, 2015

    H1ID2

    T70

    1234

    FEBRUARY 1, 2015

    IN_TABLE_ITEM_1

     

    I1_SYS_ID

    H1_SYS_ID

    (foreign key referencing H1_SYS_ID in IN_TABLE_HEAD_1)

    ITEM_CODE

    I1ID1

    H1ID1

    I1

    I1ID2

    H1ID1

    I100

    I1ID3

    H1ID2

    I3

    IN_TABLE_BATCH_1

     

    B1_SYS_ID

    TXN_CODE                DOC_NO

    (now in IN_TABLE_HEAD_1)

    BAT_NO

    B1ID1

    T1

    1234

    B1 / can be empty

    B1ID2

    T70

    1234

    B70

    IN_TABLE_HEAD_2

     

    H2_SYS_ID

    (primary key)

    TXN_CODE

    DOC_NO

    DOC_DATE

    H2ID1

    T30

    4567

    FEBRUARY 3, 2015

    H2ID2

    T60

    1234

    JANUARY 3, 2015

    IN_TABLE_ITEM_2

     

    I2_SYS_ID

    H2_SYS_ID

    (foreign key referencing H2_SYS_ID in IN_TABLE_HEAD_2)

    ITEM_CODE

    I2ID1

    H2ID1

    I1

    I2ID2

    H2ID1

    I200

    I2ID3

    H2ID2

    I2

    IN_TABLE_BATCH_2

     

    B2_SYS_ID

    I2_SYS_ID

    (foreign key referencing I2_SYS_ID in IN_TABLE_ITEM_2)

    BAT_NO

    B2ID1

    I2ID1

    B30 / null

    B2ID2

    I2ID2

    B90

    B2ID2

    I2ID3

    B60

    IN_TABLE_HEAD_3

     

    H3_SYS_ID

    (primary key)

    TXN_CODE

    DOC_NO

    DOC_DATE

    H3ID1

    T50

    1234

    JANUARY 2, 2015

    H3ID2

    T80

    1234

    JANUARY 3, 2015

    H3ID3

    T90

    1234

    JANUARY 4, 2015

    H3ID4

    T40

    1234

    AUGUST 5, 2015

    IN_TABLE_ITEM_3

     

    I3_SYS_ID

    H3_SYS_ID

    (foreign key referencing H3_SYS_ID in IN_TABLE_HEAD_3)

    ITEM_CODE

    BAT_NO

    I3ID1

    H31D1

    I2

    B50

    I3ID2

    H3ID2

    I4

    B40

    I3ID3

    H3ID3

    I4

    I3ID4

    H3ID4

    I6

    There is no IN_TABLE_BATCH_3

    Please find below the expected results.

    OUTPUT

     

    ITEM_CODE

    BAT_NO

    TXN_CODE

    DOC_NO

    BOE_DT

    BATCH_YN

    I1

    B1

    T1

    1234

    JANUARY 3, 2015

    THERE

    I1

    B30

    T30

    7890

    FEBRUARY 5, 2015

    N

    I2

    B60

    T60

    1234

    JANUARY 3, 2015

    N

    I3

    B70

    T70

    1234

    FEBRUARY 1, 2015

    THERE

    I4

    T90

    1234

    JANUARY 4, 2015

    N

    I6

    T40

    1234

    AUGUST 5, 2015

    N

    Controls database to create the tables above and insert the records.

    CREATE TABLE stock_table()item_code VARCHAR2()80),bat_no VARCHAR2()80),txn_code VARCHAR2()80),

    doc_no VARCHAR2 (80), boe_dt DATE );

    INSERT EN stock_table

       VALUES ('I1', 'B1', '', '', '');

    INSERT EN stock_table

       VALUES ('I1', '', '', '', '');

    INSERT IN stock_table

       VALUES ('I2', '', '', '', '');

    INSERT EN stock_table

       VALUES ('I3', 'B70', '', '', '');

    INSERT EN stock_table

       VALUES ('I4', 'B80', '', '', '');

    INSERT EN stock_table

       VALUES ('I5', 'B90', 'T102', '1234', '02-JUL-2015');

    INSERT EN stock_table

       VALUES ('I6', 'B100', '', '', '');

    SELECT *

    FROM stock_table




     

    CREATE TABLE history_table()item_code VARCHAR2()80),bat_no VARCHAR2()80),txn_code VARCHAR2()80),

    doc_no VARCHAR2 (80), updt_dt DATE );

    INSERT IN history_table

       VALUES ('I1', 'B1', 'T1', '1234', '03-JAN-2015');

    INSERT IN history_table

       VALUES ('I1', 'B20', 'T20', '4567', '03-MAR-2015');

    INSERT IN history_table

       VALUES ('I1', 'B30', 'T30', '7890', '05-FEB-2015');

    INSERT IN history_table

       VALUES ('I2', 'B40', 'T20', '1234', '01-JAN-2015');

    SELECT *

    FROM history_table




     

    CREATE TABLE transaction1()txn_code VARCHAR()80),txn_type VARCHAR()80));


    INSERT INTO transaction1

       VALUES ('T1', 'IN');


    INSERT INTO transaction1

       VALUES ('T20', 'OUT');

    INSERT INTO transaction1

       VALUES ('T30', 'ALL');

    INSERT INTO transaction1

       VALUES ('T40', 'ALL');

    INSERT INTO transaction1

       VALUES ('T50', 'IN');

    INSERT INTO transaction1

       VALUES ('T60', 'ALL');

    INSERT INTO transaction1

       VALUES ('T70', 'ALL');

    INSERT INTO transaction1

       VALUES ('T80', 'IN');

    INSERT INTO transaction1

       VALUES ('T90', 'IN');

    SELECT *

    FROM transaction1




     

    CREATE TABLE in_table_head_1()h1_sys_id VARCHAR2()80) PRIMARY KEY,txn_code VARCHAR2()80),

    doc_no VARCHAR2 (80), doc_dt DATE );

    CREATE TABLE in_table_head_2()h2_sys_id VARCHAR2()80) PRIMARY KEY,txn_code VARCHAR2()80),

    doc_no VARCHAR2 (80), doc_dt DATE );

    CREATE TABLE in_table_head_3()h3_sys_id VARCHAR2()80) PRIMARY KEY,txn_code VARCHAR2()80),

    doc_no VARCHAR2 (80), doc_dt DATE );

     

    INSERT IN in_table_head_1

       VALUES ('H1ID1', 'T1', '1234', '01-JAN-2015');

    INSERT IN in_table_head_1

       VALUES ('H1ID2', 'T70', '1234', '01-FEB-2015');

    INSERT IN in_table_head_2

       VALUES ('H2ID1', 'T30', '4567', '03-FEB-2015');

    INSERT IN in_table_head_2

       VALUES ('H2ID2', 'T60', '1234', '03-JAN-2015');

    INSERT IN in_table_head_3

       VALUES ('H3ID1', 'T50', '1234', '02-JAN-2015');

    INSERT IN in_table_head_3

       VALUES ('H3ID2', 'T80', '1234', '03-JAN-2015');

    INSERT IN in_table_head_3

       VALUES ('H3ID3', 'T90', '1234', '05-JAN-2015');

    INSERT IN in_table_head_3

       VALUES ('H3ID4', 'T40', '1234', '05-AUG-2015');




     

    CREATE TABLE in_table_item_1()i1_sys_id VARCHAR2()80) PRIMARY KEY,

    h1_sys_id VARCHAR2 (80) REFERENCES in_table_head_1()h1_sys_id),item_code VARCHAR2()80));

    CREATE TABLE in_table_item_2()i2_sys_id VARCHAR2()80) PRIMARY KEY,

    h2_sys_id VARCHAR2 (80) REFERENCES in_table_head_2()h2_sys_id),item_code VARCHAR2()80));

    CREATE TABLE in_table_item_3(i3_sys_id VARCHAR2(80) PRIMARY KEY,

    h3_sys_id VARCHAR2 (80) REFERENCES in_table_head_3()h3_sys_id),item_code VARCHAR2()80),

    bat_no VARCHAR2 (80));

     

    INSERT IN in_table_item_1

       VALUES ('I1ID1', 'H1ID1', 'I1');

    INSERT IN in_table_item_1

       VALUES ('I1ID2', 'H1ID1', 'I100');

    INSERT IN in_table_item_1

       VALUES ('I1ID3', 'H1ID2', 'I3');

    INSERT IN in_table_item_2

       VALUES ('I2ID1', 'H2ID1', 'I1');

    INSERT IN in_table_item_2

       VALUES ('I2ID2', 'H2ID1', 'I200');

    INSERT IN in_table_item_2

       VALUES ('I2ID3', 'H2ID2', 'I2');

    INSERT IN in_table_item_3

       VALUES ('I3ID1', 'H3ID1', 'I2','B50');

    INSERT IN in_table_item_3

       VALUES ('I3ID2', 'H3ID2', 'I4','B40');

    INSERT IN in_table_item_3

       VALUES ('I3ID3', 'H3ID3', 'I4','');

    INSERT IN in_table_item_3

       VALUES ('I3ID4', 'H3ID4', 'I6','');

    SELECT *

    FROM in_table_item_1

    SELECT *

    FROM in_table_item_2

    SELECT *

    FROM in_table_item_3




     

    CREATE TABLE in_table_batch_1()b1_sys_id VARCHAR2()80) PRIMARY KEY,

    txn_code VARCHAR2 (80), doc_no VARCHAR2 (80), bat_no VARCHAR2 (80));

    CREATE TABLE in_table_batch_2()b2_sys_id VARCHAR2()80) PRIMARY KEY,

    i2_sys_id VARCHAR2 (80) REFERENCES in_table_item_2()i2_sys_id),bat_no VARCHAR2()80));

     

    INSERT IN in_table_batch_1

       VALUES ('B1ID1', 'T1', '1234', 'B1');

    INSERT IN in_table_batch_1

       VALUES ('B1ID2', 'T70', '1234', 'B70');

    INSERT IN in_table_batch_2

       VALUES ('B2ID1', 'I2ID1', 'B30');

    INSERT IN in_table_batch_2

       VALUES ('B2ID2', 'I2ID2', 'B90');

    INSERT IN in_table_batch_2

       VALUES ('B2ID3', 'I2ID3', 'B60');

    Please advise a solution for the same.

    Thank you and best regards,

    Séverine Suresh

    very forced (question subfactoring used to allow easy testing/verification - could work with these test data only)

    with

    case_1 as

    (select s.item_code,

    s.bat_no,

    h.txn_code,

    h.doc_no,

    h.updt_dt boe_dt,

    cases where s.bat_no = h.bat_no then 'Y' else ' n end batch_yn.

    cases where h.txn_code is not null

    and h.doc_no is not null

    and h.updt_dt is not null

    then 'case 1' '.

    end refers_to

    from (select item_code, bat_no, txn_code, doc_no, boe_dt

    of w_stock_table

    where bat_no is null

    or txn_code is null

    or doc_no is null

    or boe_dt is null

    ) s

    left outer join

    w_history_table h

    On s.item_code = h.item_code

    and s.bat_no = h.bat_no

    and exists (select null

    of w_transaction1

    where txn_code = nvl (s.txn_code, h.txn_code)

    and txn_type in ('IN', 'ALL')

    )

    ),

    case_2 as

    (select s.item_code,

    NVL (s.bat_no, h.bat_no) bat_no.

    NVL (s.txn_code, h.txn_code) txn_code.

    NVL (s.doc_no, h.doc_no) doc_no.

    NVL (s.boe_dt, h.updt_dt) updt_dt.

    cases where s.bat_no = h.bat_no then 'Y' else ' n end batch_yn.

    cases where h.txn_code is not null

    and h.doc_no is not null

    and h.updt_dt is not null

    then 'case 2'.

    end refers_to

    from (select item_code, bat_no, txn_code, doc_no, boe_dt

    of case_1

    where refers_to is null

    ) s

    left outer join

    w_history_table h

    On s.item_code = h.item_code

    and exists (select null

    of w_transaction1

    where txn_code = nvl (s.txn_code, h.txn_code)

    and txn_type in ('IN', 'ALL')

    )

    and not exists (select null

    of case_1

    where item_code = h.item_code

    and bat_no = h.bat_no

    and txn_code = h.txn_code

    and doc_no = h.doc_no

    and updt_dt = h.updt_dt

    )

    ),

    case_31 as

    (select s1.item_code,

    NVL (S1.bat_no, W1.bat_no) bat_no.

    NVL (S1.txn_code, W1.txn_code) txn_code.

    NVL (S1.doc_no, W1.doc_no) doc_no.

    NVL (S1.updt_dt, W1.doc_dt) updt_dt.

    cases where s1.bat_no = w1.bat_no then 'Y' else ' n end batch_yn.

    cases where w1.txn_code is not null

    and w1.doc_no is not null

    and w1.doc_dt is not null

    then "case 31'.

    end refers_to

    from (select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn, refers_to

    of case_2

    where refers_to is null

    ) s1

    left outer join

    (select i1.item_code, h1.txn_code, h1.doc_no, h1.doc_dt, b1.bat_no

    of w_in_table_item_1 i1

    inner join

    w_in_table_head_1 h1

    On i1.h1_sys_id = h1.h1_sys_id

    inner join

    w_in_table_batch_1 b1

    On h1.txn_code = b1.txn_code

    and h1.doc_no = b1.doc_no

    ) w1

    On s1.item_code = w1.item_code

    ),

    case_32 as

    (select s2.item_code,

    NVL (S2.bat_no, W2.bat_no) bat_no.

    NVL (S2.txn_code, W2.txn_code) txn_code.

    NVL (S2.doc_no, W2.doc_no) doc_no.

    NVL (S2.updt_dt, W2.doc_dt) updt_dt.

    cases where s2.bat_no = w2.bat_no then 'Y' else ' n end batch_yn.

    cases where w2.txn_code is not null

    and w2.doc_no is not null

    and w2.doc_dt is not null

    then "case 32'.

    end refers_to

    from (select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn, refers_to

    of case_2

    where refers_to is null

    ) s2

    left outer join

    (select i2.item_code, h2.txn_code, h2.doc_no, h2.doc_dt, b2.bat_no

    of w_in_table_item_2 i2

    inner join

    w_in_table_head_2 h2

    On i2.h2_sys_id = h2.h2_sys_id

    inner join

    w_in_table_batch_2 b2

    On i2.i2_sys_id = b2.i2_sys_id

    ) w2

    On s2.item_code = w2.item_code

    ),

    case_33 as

    (select s3.item_code,

    w3.bat_no,

    NVL (S3.txn_code, w3.txn_code) txn_code.

    NVL (S3.doc_no, w3.doc_no) doc_no.

    NVL (S3.updt_dt, w3.doc_dt) updt_dt.

    cases where s3.bat_no = w3.bat_no then 'Y' else ' n end batch_yn.

    cases where w3.txn_code is not null

    and w3.doc_no is not null

    and w3.doc_dt is not null

    then "case 33'.

    end refers_to

    from (select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn, refers_to

    of case_2

    where refers_to is null

    ) s3

    left outer join

    (select i3.item_code, h3.txn_code, h3.doc_no, h3.doc_dt, i3.bat_no

    of w_in_table_item_3 i3

    inner join

    w_in_table_head_3 h3

    On i3.h3_sys_id = h3.h3_sys_id

    ) w3

    On s3.item_code = w3.item_code

    )

    Select item_code, bat_no, txn_code, doc_no, boe_dt, batch_yn

    of case_1

    where refers_to is not null

    Union of all the

    Select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn

    of case_2

    where refers_to is not null

    Union of all the

    Select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn

    from (select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn,

    ROW_NUMBER() over (partition by item_code of updt_dt desc order) rn

    from (select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn

    of case_31

    where refers_to is not null

    Union of all the

    Select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn

    of case_32

    where refers_to is not null

    Union of all the

    Select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn

    of case_33

    where refers_to is not null

    )

    )

    where rn = 1

    ITEM_CODE BAT_NO TXN_CODE DOC_NO BOE_DT BATCH_YN
    I1 B1 T1 1234 JANUARY 3, 2015 THERE
    I1 B30 T30 7890 FEBRUARY 5, 2015 N
    I2 B60 T60 1234 JANUARY 3, 2015 N
    I3 B70 T70 1234 FEBRUARY 1, 2015 THERE
    I4 - T90 1234 JANUARY 5, 2015 N
    I6 - T40 1234 AUGUST 5, 2015 N

    Concerning

    Etbin

  • Get this error on the dashboard for the last 2 days: Please try again later we are working to improve your experience of the Enterprise Dashboard.

    When you try to run the company, I received this error for the last two days.  I have tried using another browser and ended in the same results.

    Please try again later

    We are working to improve your experience of the Enterprise Dashboard.

    Hello

    Your proof of cloud creative's 'VIP' instead of the company, so you would not normally manage your CC on the Enterprise Dashboard, but you had some Digital Marketing rights so that's why you have a dashboard.

    I am informed that currently some adjustments are made to your dashboard for Digital Marketing and that it should end soon.

    In the meantime your creative team of cloud management should be available through creative.adobe.com

Maybe you are looking for