Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Bilddatei date.cbl   Sprache: Cobol

 
       IDENTIFICATION       IDENTIFICATIONDIVISION
      *
       ..
      *
       DATE-WRITTEN.  04/10/89java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
      *
      *    MODIFIED   12/26/95.
      *               07/31/97.
      *               10/18/97.
      *
      *        *******************************
      *        *                             *
      *        *     Judson D. McClendon     *
      *        *     Sun Valley Systems      *
      *        *     329 37th Court N.E.     *
      *        *     Birmingham, AL 35215    *
      *        *        205-853-8440         *
      *        *                             *
      *        *******************************
      *
       ENVIRONMENT DIVISION       7  WS-ANSWER  X(1            SPACE
      *
CONFIGURATIONSECTION
      *
       java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 7
      *
       FILE-CONTROL.
      *
       I-O-CONTROL.
      *
       DATA DIVISION.     *                                                                *
      *
FILE.
      *
       WORKING-STORAGE SECTION.
      *
      ******************************************************************
      *                                                                *
      *                             7 7 ' S                            *
      *                                                                *
      ******************************************************************
      *
       77  WS-ANSWER                   PIC0SH-WORK-DAY  92.
       77  WS-ESCAPE-FLAG              PIC  9(01)           VALUE 0.
      *
      ******************************************************************
      *                                                                *
           03  SH-WORK-YYYYMMDD-ALPHA  REDEFINES SH-WORK-YYYYMMDD.
      *                                                                *
      ******************************************************************
      *
       01  SCREEN-HOLD-AREA05 SH-WORK-MM  9(2.
           03  SH-EDIT-DATE            PIC  X(08)  VALUE SPACES.
      *
           03      03  SH-JUL-DATE             PIC  9(07)  VALUE 0.
           3  REDEFINESjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
               05  SH-WORK-MONTH               05  SH-WORK-MONTH           0           PIC90)VALUE .
               05  SH-WORK-DAY  9(2.
               05                 05  SH-BEG-MM02)
      *
           03  SH-WORK-YYYYMMDD   REDEFINES.
           0    REDEFINES.
0  SH-WORK-YYYYPIC4)
               05  SH-WORK-MM05SH-END-DD  90)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
               05  SH-WORK-DD              PIC  9(02).
      *
           03  SH-JUL-DATE             PIC  9(07)  VALUE 0.
           03  SH-JUL-DATE-ALPHA       REDEFINES           3SH-AGE-DAYS  90)VALUE 0.
05SH-JUL-YYYY  90)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
               05  SH-JUL-DDD              PIC  9(03)      *
      *
           03  SH-BEG-YYYYMMDD         PIC  9(0            SH-MONTHS (07)  VALUE0java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
           0      *                 D A T E   W O R K   A R E A                    *
               05  SH-BEG-YYYY1DATE-WORK-AREA
               05  SH-BEG-MM  (2.
               05  SH-BEG-DD               PIC  9(02).      *
      *
           03  SH-END-YYYYMMDD         PIC  9(08)  DW-TODAYS-DATE
           03  SH-END-YYYYMMDD-ALPHA   REDEFINES SH-END-YYYYMMDD0DW-TODAYS-DAY2.
               05                 0                PIC(4.
               05  SH-END-MMPIC0)
               05  SH-END-DD                 DW-TODAYS-YYYY-R            REDEFINESDW-TODAYS-YYYY.
      *
           03  SH-OFFSET               PIC S9(08)  VALUE 0.
           03  SH-AGE-YEARS            PIC  9(04)  VALUE 0.
03SH-AGE-MONTHS           PIC  9(0)  VALUE
           03  SH-AGE-DAYS             PIC  9(02)  VALUE 0.
           03  SH-AGE-TOTDAYS          PIC  9(08)  VALUE 0.
      *
           03  SH-YEARS                PIC S90                PIC  9(2)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
           03  SH-MONTHS               PIC S9(07)  VALUE 0.
           0  SH-DAYS S97) VALUE 0.
      *
           03  SH-RESULT               PIC  X(20)                 5DW-WORK-MONTH  9(02).
      *
      ******************************************************************
      *                                                                *
      *                 D A T E   W O R K   A R E A                    *
      *                                                                *
      ******************************************************************
      *
       01                                    PIC)
           03  DW-DATE-ERROR-FLAG          PIC  9(01).
      *
      *
      *  ** TODAYS DATE **
      *
           03                  DW-WORK-DD90)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
           03  DW-TODAYS-DATE-ALPHA        REDEFINES DW-TODAYS-DATE.
               05 DW-TODAYS-MONTH  9(02).
               05  DW-TODAYS-DAY               PIC  9(02).
               5DW-TODAYS-YEAR  904.
      *
           03  DW-TODAYS-YYYYMMDD          PIC  9(08).
           03  DW-TODAYS-YYYYMMDD-ALPHA    REDEFINES DW-TODAYS-YYYYMMDD.
05  DW-TODAYS-YYYY  9(0)
               05  DW-TODAYS-YYYY-R            REDEFINES                5                PIC0)
                   07  DW-TODAYS-CCDW-OFFSET-UNSIGNED-ALPHAREDEFINES.
                   7                PIC2.
               05  DW-TODAYS-MM                PIC  9(02).
               05  DW-TODAYS-DD                PIC9(02).
      *
      *
      *  ** DATE WORK AREA **
      *
           03  DW-WORK-DATE                PIC  9(08).
           03  DW-WORK-DATE-ALPHA          REDEFINES      *
05                 PIC  9(2.
               05  DW-WORK-DAY                 PIC  9(02).
               05  DW-WORK-YEAR  9(0).
      *
           03  DW-WORK-YYYYMMDD            PIC  9(08) 0                   PIC  904).
           03  DW-WORK-YYYYMMDD-ALPHA      REDEFINES DW-WORK-YYYYMMDD.
               05  DW-WORK-YYYY                PIC  9(04).
               05  DW-WORK-YYYY-R              REDEFINES                5DW-JUL-YYYY-R                DW-JUL-YYYY
                   07                     07  DW-WORK-CC()
                   0                    PIC  (2.
                                03  DW-BEG-YYYYMMDD             PIC  9(08).
0                  PIC
      *
      *
      *  ** SHORT MMDDYY DATE **
      *
           03  DW-SHORT-DATE               PIC                      DW-BEG-CCPIC.
0           REDEFINES.
               05  DW-SHORT-MONTH                     PIC0.
               05  DW-SHORT-DAY                PIC  9(02).
      *  ** END DATE **
      *
      *
      *  ** OFFSET DATE AREAS **
      *
           03  DW-OFFSET                   PIC S9(08).
      *
           03  DW-OFFSET-UNSIGNED          PIC  9(08).
           03  DW-OFFSET-UNSIGNED-ALPHA    REDEFINES DW-OFFSET-UNSIGNED.
               05  DW-OFFSET-YYYY              PIC0)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
               05  DW-OFFSET-MM                PIC  9(02).
               05  DW-OFFSET-DD5DW-END-YYYY-R DW-END-YYYY
      *
      *
      *  ** JULIAN DATE **
      *
           03  DW-JUL-DATE                 PIC                   7DW-END-YY  9(2.
           03DW-JUL-DATE-ALPHA DW-JUL-DATE
               05  DW-JUL-YYYY                 PIC  9(04).
               5DW-JUL-YYYY-R DW-JUL-YYYY
                   07  DW-JUL-CC                   PIC  9(02).
                   07  DW-JUL-YY                         *
               05  DW-JUL-DDD                  PIC  9(03).
      *
      *
      *  ** BEGIN DATE **
      *
           03  DW-BEG-YYYYMMDD             PIC  9(08).
           03  DW-BEG-YYYYMMDD-ALPHA       REDEFINES       *
               05        *  ** INPUT/OUTPUT VARIABLES **
               05  DW-BEG-YYYY-R DW-BEG-YYYY
                   07  DW-BEG-CCDW-MONTHS                    S9
                   07DW-BEG-YY  90)
               05  DW-BEG-MM                   PIC3DW-WEEKDAY                    9(0java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
               05  DW-BEG-DD                    PICS9
      *
      *
      *  ** END DATE **
      *
           03               PIC  90)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
                 *
                     *  ** NUMBER OF DAYS IN EACH MONTH                     **
               05  DW-END-YYYY-R               REDEFINES DW-END-YYYY.
                   07  DW-END-CC  9(02)
                   07  DW-END-YY                   PIC  9               0          OCCURSjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
               05  DW-END-MM                   PIC  9(02     *  ** INCLUDE ALL THE DATES OVER WHICH BUSINESS DAYS MIGHT    **
               05  DW-END-DD      *  ** MUST BE ADDED TO THE DATE TO GET THE NEXT BUSINESS DAY. **
      *
      *
      *  ** RESULTS OF AGE COMPUTATION **
      *
           03  DW-AGE-YEARS                PIC  9(04).
           03  DW-AGE-MONTHS               PIC  9(02).
           03  DW-AGE-DAYS                 PIC  9(02).
           03  DW-AGE-TOTDAYS              PIC  9(08).
      *
      *
      *  ** INPUT/OUTPUT VARIABLES **
      *
           3  DW-YEARS S97.
           03  DW-MONTHS                   PIC      *                                                     YYYYMMDDCC
           03  DW-DAYS  1  19981220.
           03  DW-WEEKDAY                  PIC  9(01).
      *
      *
      *  ** SCRATCH WORK AREAS FOR DATE ROUTINES   **
      *  ** (ASSUME MODIFIED BY ALL DATE ROUTINES) **
      *
           03  DW-WORK1                    PIC S9(09).
               PIC S9.
           03  DW-WORK3                    0          REDEFINES.
9)
           03  DW-TEMP-MM                  PIC1            PICjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
      *
      *
      *  ** NUMBER OF DAYS IN EACH MONTH                     **
      *  ** (DAYS IN FEBRUARY ARE ADJUSTED BY DATE ROUTINES) **
      *
           03  DW-DAYS-IN-MONTHS               OCCURS 7 TIMES
               05  DW-DAYS-IN-MONTH        OCCURS 12 TIMES
                                               PIC                                               PICX0).
      *
      *
      *  ** HOLIDAY TABLE **
      *
      *  ** THIS TABLE CONTAINS EVERY HOLIDAY ON WHICH THE BUSINESS **
      *  ** OFFICE IS CLOSED.  IT SHOULD BE UPDATED EVERY YEAR TO   **
      *  ** INCLUDE ALL THE DATES OVER WHICH BUSINESS DAYS MIGHT    **
      *  ** NEED TO BE CALCULATED.  NO NEED TO ADD WEEKEND DATES.   **
      *
      *  ** THE ENTRIES IN THIS TABLE CONSIST OF AN 8-DIGIT DATE    **
      *  ** (YYYYMMDD), FOLLOWED BY A 2-DIGIT COUNT OF DAYS WHICH   **
      *  ** MUST BE ADDED TO THE DATE TO GET THE NEXT BUSINESS DAY. **
      *
      *  ** EXAMPLE: THANKSGIVING, 1997, OFF THURSDAY 11/27 AND     **
      *  ** FRIDAY 11/28 UNTIL THE NEXT MONDAY 11/31.  THE ENTRIES  **
      *  ** IN THE TABLE WOULD BE: 1997 11 27 04 AND 1997 11 28 03  **
      *
      *  ** EXAMPLE: CHRISTMAS, 1998, OFF FRIDAY 12/25 THROUGH      **
      *  ** MONDAY 12/28 UNTIL TUESDAY 12/29.  THE ENTRIES IN THE   **
      *  ** TABLE WOULD BE: 1998 12 25 04 AND 1998 12 28 01         **
      *
0  .
               05  DW-HT-VALUES.
      *                                                     YYYYMMDDCC
                   07  FILLER              PIC  9(1           3 09   1   "G Months".
07                PIC(0  19971120.
                   07  FILLER              PIC  9(10) VALUE 1   1   "I =SubYears.
                   07  FILLER              PIC  9(10) VALUE            3  03  COLUMN3  VALUE J=Calc
      *
               0 0LINE 7VALUE Jul
                                           0   06COLUMN3  ALUEto
                                            BYDW-HT-HX
                     .
                       09  DW-HT-YYYY          PIC  9(04).
                       0          REDEFINES.
                                 *
                           11  DW-HT-YY            PIC  9(02).
09              PIC  9(02).
                       00   14   0VALUE" MMDDYYYY:"
              9(2.
      *
      *
      *  ** WEEKDAY NAMES **
      *
           3DW-DAY-NAMES        VALUE "SUNMONTUEWEDTHUFRISAT".
               05  DW-DAY-NAME             OCCURS 7 TIMES
                                               PIC  X(03).
      *
       SCREEN SECTION.
      *
      *
      *                      M E N U   S C R E E N
      *
       01  MENU-SCREEN.
           03  BLANK SCREEN.
           03  LINE              14   1   "Date (/MM/DD): ".
               "D A T E R O U T I N E 03 PIC 9999/99/99 USING .
      *
           03  LINE 03        *                G E T   J U L   Y Y Y Y D D D
           03       1GET-JUL-YYYYDDD-SCREEN.
           03  LINE 05  COLUMN0   14   10VALUE  YYYY
03   06  COLUMN1  VALUE  Days
           03  LINE 07  COLUMN 17        *
           03  LINE 08  COLUMN 17  VALUE "F = Add Months".
           03  LINE 09  COLUMN 17  VALUE0  LINE 4COLUMN0VALUE DateYYYY:"
           03  LINE 10  COLUMN 17  VALUE "H = Add Years".
           03  LINE 11  COLUMN 17  VALUE "I = Sub Years".
           03  LINE3   37 VALUE=Calc.
           03  LINE 04  COLUMN 37  VALUE "K = Compute Age".
           03  LINE 05  COLUMN 37  VALUE "L = * G E T D A T E M O N T H S
      *
03   07  COLUMN 3  VALUE" = Add Days, Business".
0   1   2   " = Exit: .
           03  PIC  X                         3PIC//9USING.
      *
      *
      *                  I N P U T   S C R E E N S
      *
      *
      *                  G E T   E D I T   D A T E
      *
       
      *                 G E T   D A T E   Y E A R S
           03  PIC  X(08)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 7
      *
      *
      *              G E T   W O R K   M M D D Y Y Y Y
      *
       01  GET-WORK-MMDDYYYY-SCREEN.
 MM .
           03  PIC  99/99/9999     USING java.lang.StringIndexOutOfBoundsException: Range [0, 57) out of bounds for length 50
      *
      *
      *              G E T   W O R K   Y Y Y Y M M D D
      *
       01  GET-WORK-YYYYMMDD-SCREEN.
0  LINE 0VALUE (/MM/): ".
           03  PIC  9999/9           3PIC999/9USING.
      *
      *
      *                G E T   J U L   Y Y Y Y D D D
      *
             *
           03  LINE 14  COLUMN 10  VALUE      *              G E T   B E G / E N D   D A T E S
           03         GET-BEG-END-YYYYMMDD-SCREENjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
      *
      *
      *                  G E T   D A T E   D A Y S
      *
       01  GET-DATE-DAYS-SCREEN.
0   1   1  VALUEYYYY .
           03  PIC  9999/           3PIC99/9USING.
           03      *
           03  PIC  ZZZZZZ         USING SH-DAYS.
      *
      *
      *                G E T   D A T E   M O N T H S
      *
       01GET-DATE-MONTHS-SCREEN
                            X2)FROM.
           03  PIC  9999/99/      *
           03  LINE 16  COLUMN 10  VALUE "Months: ".
           03  PIC  ZZZZZZ         USING SH-MONTHS.
      *
      *
      *                 G E T   D A T E   Y E A R S
      *
       0  .
           03  LINE 14           03  LINE 18   0  VALUE Date:.
           03  PIC99/9/9    USINGSH-WORK-YYYYMMDD
           03  LINE 16  COLUMN 10  VALUE "Years: ".
           03  PIC           USING .
      *
      *
      *                G E T   D A T E   O F F S E T
      *
       01  GET-DATE-OFFSET-SCREEN.
           03  LINE 14  COLUMN 10  VALUE                ESCAPE
           03  PIC  9999/99/99     USING SH-WORK-YYYYMMDD.
           03  LINE 16  COLUMN 10  VALUE           INSPECTjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
           03  PIC -9 02000-XIT
      *
      *
      *              G E T   B E G / E N D   D A T E S
      *
       01  java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
           03  LINE 1               ERFORM 030-java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
           03  PICjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
           03  LINE 16  COLUMN PERFORM400ADD-DAYS
           03  PIC  9999/99/99     USING
      *
      *
      *                 O U T P U T   S C R E E N S
      *
      *
      *                    S H O W   R E S U L T
      *
       01  SHOW-RESULT-SCREEN.
0   18COLUMN 0ADD-MONTHS
               PIC 0600-
      *
      *
      *                 S H O W   D A T E   D A Y S
      *

           03  LINETHRU
0    Z,,ZZ9  SH-DAYS
      *
      *
      *                  S H O W   N E W   D A T E
      *
       01  SHOW-NEW-DATE-SCREEN00
           03  LINE 18  COLUMN 20  VALUE "New Date: ".
           3  PIC9/9/9FROM.
      *
      *
      *                       S H O W   A G E
      *
       01  SHOW-AGE-SCREEN.
           0 LINE  COLUMN0VALUE Years
           03  PICTHRUEXIT
           03  LINE 19  COLUMN 20  VALUE "Months: ".
           03  PIC
           03   = ")
           3   Z,,ZZZ  SH-AGE-DAYS
           03                     12000-java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
           03  PIC  ZZPERFORM3000JUL-GREG
      *
      *
      *               S H O W   J U L   Y Y Y Y D D D
      *
       01  SHOW-JUL-YYYYDDD-SCREEN.
           0
           03  PIC999/999       FROM.
      *
      *
      *                  S H O W   Y Y Y Y M M D D
      *
        140000-EXIT
           03  LINE 18  COLUMN.
           03  PIC       0010-.
      *
      *
      *                  S H O W   M M D D Y Y Y Y
      *
       01  SHOW-MMDDYYYY-SCREEN.
           03  LINE 18  COLUMN 10  VALUE "Date (MM/DD/YYYY): ".      *                                                                *
           03  PIC  99/99/9999     FROM  SH-WORK-MMDDYYYY.
      *
       PROCEDURE DIVISION      *                      Birmingham, AL 35215                      *
      *
      *
      *                        C O N T R O L
      *
       000000-CONTROL.
      *
           PERFORM 000100-PROCESS      *               THRU 001000-EXIT.                                *
              THRU      *    RESULT: DW-DATE-ERROR-FLAG = 0 IF DATE IS VALID             *
               UNTIL (WS-ESCAPE-FLAG = 1)      *                                                                *
      *
       000000-EXIT.
           STOP RUN.
      *
      *
      *                        P R O C E S S
      *
             *
      *
           MOVEMOVE TO.
           DISPLAY MENU-SCREEN (DW-WORK-DATE-ALPHA NUMERIC
           ACCEPT java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
               ON ESCAPE      *  ** SET DAYS IN FEBRUARY **
                    1TOWS-ESCAPE-FLAG
                   GO TO 40  DW-WORK-YYYY java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
           INSPECT WS-ANSWER
                abcdefghijklmnopqrstuvwxyz
                       TO                29 TO(2)
      *
INITIALIZE.
      *
           IF = ""
               PERFORM               IF NOT
THRUjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
             2  DW-DAYS-IN-MONTH
           IF      *
PERFORMDATE-DAYS
                  THRUOR
           ELSE
           IF (WS-ANSWER = "C")
               PERFORM 030000-WEEKDAY
                  THRU 030              DW-WORK-DDDW-WORK-MM
           ELSE
           IF (WS-ANSWER            *    MODIFIED   12/26/95.
               PERFORM00-DD-DAYS      *        *******************************
                  THRU 040000-EXIT      *        *     Judson D. McClendon     *      *
           ELSE      *        *     Birmingham, AL 35215    *.
           IF (WS-ANSWER = " * *******************************
               PERFORM 050000-SUBTRACT-DAYS
                  THRU******************************************************************
           ELSE
           IF (WS-ANSWER = "F")
               PERFORM06000-DD-MONTHS
                  THRU 060000-EXIT
           ELSE
           IF (WS-ANSWER       *
               PERFORM00-UBTRACT-MONTHS
                  THRU      *    RETURNS A NUMBER WHICH IS ONE GREATER FOR EACH SUCCESSIVE   *
           ELSE      *                                                                *
            (WS-ANSWERH)
                080000-java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
                  THRU 080000-EXIT      *                 S C R E E N   H O L D   A R E A                *
           ELSE
           IF (WS-ANSWER")
               PERFORM00-SUBTRACT-YEARS
                  THRU 090000-EXIT
           3    REDEFINES      *                                                                *0             PIC90)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
           IF      *
               PERFORM00-
                  THRU 100000-EXIT
           ELSE
           IF (WS-ANSWER = "K")
               PERFORM 110000-COMPUTE-AGE      *                          +     DAY) )                          *
                  THRU 110000-EXIT
           ELSE
           IF (WS-ANSWER      *                                                                *  SH-WORK-MM              PIC902).
               PERFORM      *                                                                *
                  THRU 120000-EXIT
           ELSE
           IF (WS-ANSWER = "M")
               PERFORM10000-JUL-GREG
                  THRU 130000-EXIT
           ELSE
           IF (WS-ANSWER = "N")
               PERFORM 140      *                                                                *
                   140000-EXIT.
      *
           MOVE 0 TO            *        *******************************
      *
       000100-EXIT      *        *     Birmingham, AL 35215    *      *                                                                *
           EXIT.
      *
      ******************************************************************
      *                                                                *
      *                       D A T E   E D I T                        *
      *                                                                *
      *                      Judson D. McClendon                       *
      *                      Sun Valley Systems                        *
      *                      329 37th Court NE                         *
      *                      Birmingham, AL 35215                      *
      *                         205/853-8440                           *
      *                                                                *
      *    USAGE:  MOVE <MMDDYYYY DATE> TO DW-WORK-DATE-ALPHA.         *
      *            PERFORM 001000-DATE-EDIT                            *
      *               THRU 001000-EXIT.                                *
      *                                                                *
      *    RESULT: DW-DATE-ERROR-FLAG = 0 IF DATE IS VALID             *
      *            DW-DATE-ERROR-FLAG = 1 IF DATE IS NOT VALID         *
      *                                                                *
               SUBTRACT 1 FROM DW-TEMP-YYYY
      *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
      *                                                                *
      ******************************************************************
      *
       001000-DATE-EDIT                 PIC)
      *
      *  ** ERROR FLAG WILL BE RESET TO 0 ON GOOD EXIT **
      *
MOVE
      *
           IF (*java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
GO000EXIT
      *
           MOVE   TO
MOVE  TO.
MOVE .
      *
IF < 0      
ADW-TODAYS-YYYYMMDD-ALPHA
      *
      *  ** SET DAYS IN FEBRUARY **
      *
 28 DW-DAYS-IN-MONTH*****************************************************************
DIVIDEINTO GIVING
                                                    05  DW-TODAYS-DD       90)
      *  ** TODAYS DATE **
MOVE  DW-DAYS-IN-MONTH
           ELSE
DIVIDEINTO5DW-TODAYS-MONTH0.
                      REMAINDER5DW-WORK-YEAR)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
               IF      *
                   DIVIDE 4 INTO DW-WORK-YYYY GIVING                    07  DW-TODAYS-CC                PIC  9(02)
                                                  *                                                                *
                   IF (               05  DW-WORK-DD  90).
                       MOVE      *
      *
 ( < 01
                                      
 >DPIC
                TO 0100-EXIT
      *
      *  ** GOOD DATE **
      *
                      3     REDEFINES DW-OFFSET-UNSIGNED
      *
       001000-EXIT.
           EXIT
      *
      *
      *
      ******************************************************************
      *                                                                *
      *        C A L C U L A T E   D A T E   D A Y   N U M B E R       *
      *                                                                *
      *                                                                *
      *    RETURNS A NUMBER WHICH IS ONE GREATER FOR EACH SUCCESSIVE   *
      *    DATE.                                                       *
      *                                                                *
      *    USAGE:  MOVE <FIRST DATE>  TO DW-WORK-YYYYMMDD.             *
      *            PERFORM 001100-DATE-DAYS                            *
      *               THRU 001100-EXIT.                                *
      *                                                                *
      *    RESULT: DW-DAYS = DATE DAY NUMBER                           *
      *                                                                *
      *                                                                *
      *    THIS ROUTINE USES A VARIATION OF ZELLER'S CONGRUENCE.       *
      *    THE FORMULA IS:                                             *
      *                                                                *
      *        <DATE DAY NBR> = (     (YEAR * 365)                     *
      *                          + INT(YEAR / 4)                       *
      *                          - INT(YEAR / 100)                     *
      *                          + INT(YEAR / 400)                     *
      *                          + INT(MONTH * 30.6001)                *
      *                          +     DAY) )                          *
      *                                                                *
      *    WHERE: DAY     = DAY OF THE MONTH                           *
      *                                                                *
      *           MONTH   = MONTH + 13  (JAN & FEB)                    *
      *                     MONTH + 1   (MAR - DEC)                    *
      *                                                                *
      *           YEAR    = YEAR - 1    (JAN & FEB)                    *
      *                     YEAR        (MAR - DEC)                    *
      *                                                                *
      *           INT(...) MEANS TAKE THE INTEGER PART (NO ROUNDING)   *
      *                                                                *
      *                                                                *
      *    THE DATE-DAY-NUMBER CAN BE USED TO DETERMINE THE NUMBER OF  *
      *    DAYS BETWEEN TWO DATES BY COMPUTING THE DAY NUMBER OF EACH  *
      *    DATE AND SUBTRACTING, LIKE THIS:                            *
      *                                                                *
      *        MOVE <FIRST DATE>  TO DW-WORK-YYYYMMDD.                 *
      *        PERFORM 001100-DATE-DAYS                                *
      *           THRU 001100-EXIT.                                    *
      *        MOVE DW-DAYS TO <HOLD DAY>.                             *
      *        MOVE <SECOND DATE> TO DW-WORK-YYYYMMDD.                 *
      *        PERFORM 001100-DATE-DAYS                                *
      *           THRU 001100-EXIT.                                    *
      *        SUBTRACT DW-DAYS FROM <HOLD DAY>                        *
      *            GIVING <DAYS BETWEEN DATES>.                        *
      *                                                                *
      ******************************************************************
      *
       00-.
      *
      *  ** ADJUST YEAR AND MONTH **
      *
           MOVE DW-WORK-YYYY      *
           MOVE   TODW-TEMP-MM
           IF (DW-WORK-MM      *  ** EXAMPLE: THANKSGIVING, 1997, OFF THURSDAY 11/27 AND     **
               ADD 13 TO DW-TEMP-MM      *  ** EXAMPLE: THANKSGIVING, 1997, OFF THURSDAY 11/27 AND     **
               SUBTRACT       01200-        * EXAMPLE: CHRISTMAS19,OFF 12/25 THROUGH            *  ** MONDAY 12/28 UNTIL TUESDAY 12/29.  THE ENTRIES IN THE   **
     ELSE
               DD1 TO DW-TEMP-MM.
      *
            DW-TEMP-YYYY365GIVING.
      *
 BYGIVING
             TO.
      *
           DIVIDE DW-TEMP-YYYY BY 100 GIVING DW-WORK1.
           SUBTRACT DW-WORK1 FROM DW-DAYS.
      *
           DIVIDE DW-TEMP-YYYY                         REDEFINESDW-HT-HX
                                          *    USAGE:  MOVE <DATE> TO DW-WORK-YYYYMMDD.                    *0        REDEFINESjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
      *
MULTIPLY
           ADD DW-WORK1                                       PIC  90)
      *
           ADD DW-WORK-DD TO DW-DAYS.
      *
       001100-EXIT.
           EXIT.
      *
      *
      *
      ******************************************************************
      *                                                                *
      *            C A L C U L A T E   D A Y   O F   W E E K           *
      *                                                                *
      *                                                                *
      *    WHEN GIVEN ANY DATE THIS ROUTINE RETURNS A NUMBER FROM      *
      *    1 TO 7 INDICATING THE DAY OF WEEK ON WHICH THE DATE FALLS.  *
      *                                                                *
      *                                                                *
      *    USAGE:  MOVE <DATE> TO DW-WORK-YYYYMMDD.                    *
      *            PERFORM 001200-WEEKDAY                              *
      *               THRU 001200-EXIT.                                *
      *                                                                *
      *    RESULT: DW-WEEKDAY = DAY OF WEEK                            *
      *                                                                *
      *                                                                *
      *    THIS ROUTINE USES ZELLER'S CONGRUENCE, EXPRESSED BY THE     *
      *    FOLLOWING FORMULA:                                          *
      *                                                                *
      *        <WEEKDAY> = (INT((13 * MONTH + 3) / 5)                  *
      *                   + DAY                                        *
      *                   + YEAR                                       *
           03  LINE 12  COLUMN 25  VALUE "Esc =  Exit: ".
      *                   - INT(YEAR / 100)                            *
      *                   + INT(YEAR / 400)                            *
      *                   + 1) MOD 7) + 1                              *
      *                                                                *
      *    WHERE: WEEKDAY = 1 TO 7 WITH  1 = SUNDAY     5 = THURSDAY   *
      *                                  2 = MONDAY     6 = FRIDAY     *
      *                                  3 = TUESDAY    7 = SATURDAY   *
      *                                  4 = WEDNESDAY                 *
      *                                                                *
      *           DAY     = DAY OF THE MONTH                           *
      *                                                                *
      *           MONTH   = MONTH OF THE YEAR (JAN AND FEB COUNT AS    *
      *                      MONTHS 13 AND 14 OF THE PREVIOUS YEAR)    *
      *                                                                *
      *           YEAR    = FOUR DIGIT YEAR (YEAR - 1 IF MONTH IS      *
      *                      JAN OR FEB)                               *
      *                                                                *
      *           INT(...) MEANS TAKE THE INTEGER PART (NO ROUNDING)   *
      *                                                                *
      *           X MOD Y  MEANS THE REMAINDER AFTER DIVIDING Y        *
      *                      INTO X                                    *
      *                                                                *
      ******************************************************************
      *
       1WEEKDAY
      *
      *  ** ADJUST YEAR AND MONTH IF MONTH = JAN OR FEB **
      *                 G E T   D A T E   Y E A R S
MOVE      *
           MOVE DW-WORK-MM   0                       G E T   D A T E   Y E A R S
           IF (DW-WORK-MM        0  GET-DATE-YEARS-SCREEN
MM
               SUBTRACT 1 FROM3PIC//9USING0PICUSING      *
      *
      *  ** CALCULATE INTO DW-WORK1 **
      *
           
      *
           ADD DW-WORK-DD           3                                            *
               DW-TEMP-YYYY TO DW-WORK1  9999/999     SH-WORK-YYYYMMDD
      *
           DW-TEMP-YYYY 4GIVING*java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
           ADD      *
      *
           DIVIDE 0 4 1VALUE/BTRACT-DAYS
           SUBTRACT DW-WORK2 FROMK1.
      *
            DW-TEMP-YYYY00*                 UTPUT       S
           ADD DW-WORK2 TO DW-WORK1      *
      *
           ADD 1 TO DW-WORK1.
      *
       0  SHOW-RESULT-SCREEN
           ADD 1 TO            3   18  COLUMN0
      *
       001200-EXIT.
           EXIT.
      *
      *
      *
      ******************************************************************
      *                                                                *
      *               A D D   D A Y S   T O   A   D A T E              *
      *                                                                *
      *                                                                *
      *    WHEN GIVEN ANY DATE AND A NUMBER OF DAYS THIS ROUTINE WILL  *
      *    ADD THE NUMBER OF DAYS TO THE DATE.                         *
      *                                                                *
      *                                                                *
      *    USAGE:  MOVE <DATE> TO DW-WORK-YYYYMMDD.                    *
      *            MOVE <DAYS> TO DW-DAYS.                             *
      *            PERFORM 001300-ADD-DAYS                             *
      *               THRU 001300-EXIT.                                *
      *                                                                *
      *    RESULT: DW-WORK-YYYYMMDD = DATE AFTER DAYS ADDED            *
      *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
      *                                                                *
      ******************************************************************
      *
       001300-ADD-DAYS      *      *
      *
      *  ** SET DAYS IN FEBRUARY **
      *
MOVE 39999FROM.
           DIVIDE      *
                     IF (DW-WORK2 NOT = 0)
(=0java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
DIVISION*
           ELSE
               DIVIDE 100 INTO0IF=0CONTROL
                                         REMAINDER                      *
               IF RUN      *
RUN*
                                           REMAINDER DW-WORK2
                   IF (      *
                       MOVE 29             SPACE WS-ANSWER
      *
           ADD DW-WORK-DD DW-DAYS
      *
           PERFORM0130LOOP-MONTH  00010EXIT      *             A D D   M O N T H S   T O   A   D A T E            *
              THRU "".
              (DW-DAYS  DW-DAYS-IN-MONTH SCREEN-HOLD-AREA
      *
MOVETO
      *
       001300-EXIT.
           EXIT.
      *
      *
      *
0130LOOP-MONTH
      *
SUBTRACT() FROM.
      *
              DW-WORK-MM
           IF > 1)
               ADD 1 TO DW-WORK-YYYY           
SUBTRACT.
      *
           MOVE(2.
                  0                   0
                                     REMAINDER-
*
               MOVE           PERFORM 001520-LOOP-YEARIF F)
           ELSE
               DIVIDE                   080000-EXIT
                                         REMAINDER DW-WORK2
               IF (               PERFORM 090000-SUBTRA
                   DIVIDE 4 INTO DW-WORK-YYYY           ELSE
                                           REMAINDER
                   IF (                  ELSE
            ( = ""
      *
           DIVIDE0 DW-WORK-YYYY
           EXIT.
      *
      *
      *
      ******************************************************************
      *                                                                *
      *        S U B T R A C T   D A Y S   F R O M   A   D A T E       *
      *                                                                *
      *                                                                *
      *    WHEN GIVEN ANY DATE AND A NUMBER OF DAYS THIS ROUTINE WILL  *
      *    SUBTRACT THE NUMBER OF DAYS FROM THE DATE.                  *
      *                                                                *
      *                                                                *
      *    USAGE:  MOVE <DATE> TO DW-WORK-YYYYMMDD.                    *
      *            MOVE <DAYS> TO DW-DAYS.                             *
      *            PERFORM 001400-SUBTRACT-DAYS                        *
      *               THRU 001400-EXIT.                                *
      *                                                                *
      *    RESULT: DW-WORK-YYYYMMDD = DATE AFTER DAYS SUBTRACTED       *
      *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
      *                                                                *
      ******************************************************************
      *
       0            *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
      *
           SUBTRACT DW-DAYS FROM DW-WORK-DD GIVING DW-DAYS            *
      *
java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 36
              THRUEXIT
               UNTIL      *                         205/853-8440                           *      *
      *
           MOVE TO DW-WORK-DD
      *
       001400-EXIT.
           EXIT.
      *
      *
      *
       001420-LOOP-MONTH.
      *
           SUBTRACT      *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
           IF (DW-WORK-MM      ******************************************************************
SUBTRACT 
               ADD 12 TO       *            MOVE <MONTHS> TO DW-MONTHS.                         *
      *
           MOVE 28 TO DW-DAYS-IN-MONTH      *               THRU 001600-EXIT.                                * 29TO(java.lang.StringIndexOutOfBoundsException: Range [43, 44) out of bounds for length 7
             ( NOT)
REMAINDER.
           IF (DW-WORK2MOVE       ******************************************************************REMAINDER
               MOVE 29 TO DW-DAYS-IN-MONTH(2)
           ELSE
               DIVIDE 100             DW-MONTHSFROM GIVING DW-MONTHS      *
                                          
               IF NOT=0
                   DIVIDE 4 INTO DW-WORK-YYYY      *  ** GOOD DATE **
                                           DW-WORK2
IFDW-WORK2)
                       MOVE 2                              .
      *
           ADD DW-DAYS-IN-MONTH(DW-WORK-MMMOVE                          29  DW-DAYS-IN-MONTH2)
      *
       040EXIT
           EXIT
      *
      *
      *
      ******************************************************************
      *                                                                *
      *             A D D   M O N T H S   T O   A   D A T E            *
      *                                                                *
      *                                                                *
      *    WHEN GIVEN ANY DATE AND A NUMBER OF MONTHS THIS ROUTINE     *
      *    WILL ADD THE NUMBER OF MONTHS TO THE DATE.                  *
      *                                                                *
      *                                                                *
      *    USAGE:  MOVE <DATE>   TO DW-WORK-YYYYMMDD.                  *
      *            MOVE <MONTHS> TO DW-MONTHS.                         *
           IF (DW-WORK-DD > DW-DAYS-IN-MONTH(DW-WORK-MM))
      *               THRU 001500-EXIT.                                *
      *                                                                *
      *    RESULT: DW-WORK-YYYYMMDD = DATE AFTER MONTHS ADDED          *
      *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
      *                                                                *
      ******************************************************************
      *
       001500-ADD-MONTHS2TO.
      *
           ADD DW-WORK-MM TO DW-MONTHS.
      *
           PERFORM0160EXIT
              THRU 001520-EXIT
              UNTIL (DW-MONTHS NOT > 12).
      *
           MOVE DW-MONTHS TO      *           MONTH   = MONTH + 13  (JAN & FEB)                    *
      *
           MOVE 28 TO DW-DAYS-IN-MONTH(2).
           DIVIDE 400 INTO DW-WORK-YYYY GIVING DW-WORK1
                                     REMAINDER DW-WORK2.
           IF (DW-WORK2 =      *                                                                *
               MOVE 29 TO DW-DAYS-IN-MONTH(2)
           ELSE      *    DAYS BETWEEN TWO DATES BY COMPUTING THE DAY NUMBER OF EACH  *
               DIVIDE 100 INTO      *                                                                *
                                         REMAINDER DW-WORK2
               IF      *           THRU 001100-EXIT.                                    *
                   DIVIDE       *               THRU 001700-EXIT.                                *0110-DATE-DAYS.
                                           REMAINDER DW-WORK2
                   ( = 0)
                        29  DW-DAYS-IN-MONTH
      *
           IF (DW-WORK-DD > DW-DAYS-IN-MONTH(DW-WORK-MM))
               MOVE DW-DAYS-IN-MONTH(DW-WORK-MM) TO DW-WORK-DD.
      *
                   DW-TEMP-YYYYTO
           EXIT               ADDDIVIDEBYGIVING.
      *
      *
      *
       00MULTIPLY  35GIVING.
      *
            2FROM
           ADD 1 TO DW-WORK-YYYY.
      *
       001520EXIT
           EXIT.
      *
      *
      *
      ******************************************************************
      *                                                                *
      *      S U B T R A C T   M O N T H S   F R O M   A   D A T E     *
      *                                                                *
      *                                                                *
      *    WHEN GIVEN ANY DATE AND A NUMBER OF MONTHS THIS ROUTINE     *
      *    WILL SUBTRACT THE NUMBER OF MONTHS FROM THE DATE.           *
      *                                                                *
      *                                                                *
      *    USAGE:  MOVE <DATE>   TO DW-WORK-YYYYMMDD.                  *
      *            MOVE <MONTHS> TO DW-MONTHS.                         *
      *            PERFORM 001600-SUBTRACT-MONTHS                      *
      *               THRU 001600-EXIT.                                *
      *                                                                *
      *    RESULT: DW-WORK-YYYYMMDD = DATE AFTER MONTHS SUBTRACTED     *
      *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
      *                                                                *
      ******************************************************************
      *
       001600-SUBTRACT-MONTHS.
      *
           SUBTRACT      *                   + INT(YEAR / 4)                              *
      *
           PERFORM 001620-LOOP-YEAR
              THRU 001620-EXIT
               UNTIL (DW-MONTHS > 0).
      *
           MOVE      *                                  3 = TUESDAY    7 = SATURDAY   *
      *
           MOVE 28 TO DW-DAYS-IN-MONTH(2).
DIVIDEINTO  DW-WORK1
                                     REMAINDER DW-WORK2.
           IF (DW-WORK2      *                      MONTHS 13 AND 14 OF THE PREVIOUS YEAR)    *
               MOVE 29      *           YEAR    = FOUR DIGIT YEAR (YEAR - 1 IF MONTH IS      *
           ELSE
               DIVIDE 100 INTO DW-WORK-YYYY GIVING DW-WORK1REMAINDERDW-WORK2
                                          DW-WORK2
               IF (DW-WORK2 NOT = 0)
                   DIVIDE 4 INTO DW-WORK-YYYY GIVING DW-WORK1
                                           REMAINDER DW-WORK2
                   IF (DW-WORK2      *
                       MOVE 29 TO      *
      *
            ( > DW-DAYS-IN-MONTH))
               MOVE DW-DAYS-IN-MONTH(DW-WORK-MM) TO DW-WORK-DD.
      *
       001600-EXIT.
           .
      *
      *
      *
       001620-LOOP-YEAR.
      *
           ADD 12 TO DW-MONTHS.
           SUBTRACT 1 FROM DW-WORK-YYYY.
      *
010EXIT
           EXIT.
      *
      *
      *
      ******************************************************************
      *                                                                *
           DIVIDE DW-TEMP-YYYY BY 100 GIVING DW-WORK2.
      *                                                                *
      *                                                                *
      *    WHEN GIVEN ANY DATE AND A NUMBER OF YEARS THIS ROUTINE      *
      *    WILL ADD THE NUMBER OF YEARS TO THE DATE.                   *
      *                                                                *
      *                                                                *
      *    USAGE:  MOVE <DATE>  TO DW-WORK-YYYYMMDD.                   *
      *            MOVE <YEARS> TO DW-YEARS.                           *
      *            PERFORM 001700-ADD-YEARS                            *
      *               THRU 001700-EXIT.                                *
      *                                                                *
      *    RESULT: DW-WORK-YYYYMMDD = DATE AFTER YEARS ADDED           *
      *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
      *                                                                *
      ******************************************************************
      *
       001700-ADD-YEARS.
      *
           ADD DW-YEARS TO DW-WORK-YYYY.
      *
           MOVE      *    ADD THE NUMBER OF DAYS TO THE DATE.                         *
           DIVIDE      *  ** SET DAYS IN FEBRUARY **
                                     REMAINDER DW-WORK2.
           IF (DW-WORK2      *            MOVE <DAYS> TO DW-DAYS.                             *DIVIDE0  DW-WORK-YYYY DW-WORK1
                29  DW-DAYS-IN-MONTH
           ELSE
               DIVIDE 00INTO GIVING DW-WORK1
                                         REMAINDER 
                (DW-WORK2 =0)
                   DIVIDE 4 INTO DW-WORK-YYYY GIVING               IF(DW-WORK2 = 0)
                                            DW-WORK2
                   IF (DW-WORK2            IFDW-WORK2
                       MOVE 29java.lang.StringIndexOutOfBoundsException: Range [0, 31) out of bounds for length 7
      *
           IF (DW-WORK-DD 001320-EXIT
               MOVE DW-DAYS-IN-MONTH               (DW-DAYS > (DW-WORK-MM.
      *
070EXIT
           EXIT.
      *
      *
      *
      ******************************************************************
      *                                                                *
      *       S U B T R A C T   Y E A R S   F R O M   A   D A T E      *
      *                                                                *
      *                                                                *
      *    WHEN GIVEN ANY DATE AND A NUMBER OF YEARS THIS ROUTINE      *
      *    WILL SUBTRACT THE NUMBER OF YEARS FROM THE DATE.            *
      *                                                                *
      *                                                                *
      *    USAGE:  MOVE <DATE>  TO DW-WORK-YYYYMMDD.                   *
      *            MOVE <YEARS> TO DW-YEARS.                           *
      *            PERFORM 001800-SUBTRACT-YEARS                       *
      *               THRU 001800-EXIT.                                *
      *                                                                *
      *    RESULT: DW-WORK-YYYYMMDD = DATE AFTER YEARS SUBTRACTED      *
      *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
      *                                                                *
      ******************************************************************
      *
       001800-      *
      *
           SUBTRACT DW-YEARS FROM DW-WORK-YYYY.
      *
MOVE  DW-DAYS-IN-MONTHjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
           DIVIDE      *    SUBTRACT THE NUMBER OF DAYS FROM THE DATE.                  *
                                     REMAINDER DW-WORK2.
           IF ( = 0)
MOVE9TO(2)
           ELSE
               DIVIDE 100 INTO DW-WORK-YYYY GIVING DW-WORK1
                                         REMAINDER DW-WORK2
               IF (DW-WORK2 NOT = 0)
                   DIVIDE 4 INTO DW-WORK-YYYY GIVING       *            DW-AGE-DAYS    = DAYS OVER WHOLE MONTH              *      ******************************************************************
                                           REMAINDER
                   IF(DW-WORK2=0)
                       MOVE 29 TO DW-DAYS-IN-MONTH(2).
      *
                 *                                                                *
               MOVE DW-DAYS-IN-MONTH      *            DW-BEG-YYYYMMDD = HAS BEEN MODIFIED                 *
      *
       001800-EXIT.
           EXIT.
      *
      *
      *
      ******************************************************************
      *                                                                *
      *            C A L C U L A T E   D A T E   O F F S E T           *
      *                                                                *
      *                                                                *
      *    ADDS A SIGNED OFFSET IN THE FORM +-YYYYMMDD TO A DATE       *
      *    IN YYYYMMDD FORM.                                           *
      *                                                                *
      *                                                                *
      *    USAGE:  MOVE <DATE>   TO DW-WORK-YYYYMMDD.                  *
      *            MOVE <OFFSET> TO DW-OFFSET.                         *
      *            PERFORM 001900-CALC-OFFSET                          *
      *               THRU 001900-EXIT.                                *
      *                                                                *
      *    RESULT: DW-WORK-YYYYMMDD DATE AFTER OFFSET APPLIED          *
      *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
      *                                                                *
      ******************************************************************
      *
       0       01400-.
      *
           MOVE      *                                                                *
      *
           IF (DW-OFFSETTHRU*java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
 TO
               MOVE DW-OFFSET-MM       *            PERFORM 001500-ADD-MONTHS                           *
               PERFORM**
                  THRU 001500-EXIT
               MOVE DW-OFFSET-DD TO DW-DAYS0140-XIT
               PERFORM 001300-ADD-DAYS
                         0    
           ELSE

               SUBTRACT DW-OFFSET-YYYY FROM DW-WORK-YYYY
               PERFORM 001920-SUBTRACT-MONTH
                  THRU 001920-EXIT
                   DW-OFFSET-MM TIMES
               DW-OFFSET-DDDW-DAYS
               PERFORM 001400-SUBTRACT-DAYS
                  THRU 001400-EXIT.
      *
       090EXIT
           EXIT.
      *
      *
      *

      *
           SUBTRACT 1 FROM DW-WORK-MM.
           IF (DW-WORK-MM < 01)
               SUBTRACT 1 FROM DW-WORK-YYYY
               ADD 12 TO      *
      *
090EXIT
           EXIT.
      *
      *
      *
      ******************************************************************
      *                                                                *
      *                   C O M P U T E   A G E                        *
      *                                                                *
      *                                                                *
      *    WHEN GIVEN THE BEGIN DATE AND END DATE THIS ROUTINE         *
      *    CALCULATES THE AGE IN YEARS, MONTHS, DAYS AND TOTAL DAYS.   *
      *                                                                *
      *                                                                *
      *    USAGE:  MOVE <BEGIN DATE> TO DW-BEG-YYYYMMDD.               *
      *            MOVE <END DATE>   TO DW-END-YYYYMMDD.               *
      *            PERFORM 002000-COMPUTE-AGE                          *                                                                      
      *               THRU 002000-EXIT.                                *
      **
      *    RESULT: DW-AGE-YEARS   = WHOLE YEARS                        *
      *            DW-AGE-MONTHS  = MONTHS OVER WHOLE YEAR             *
      *                =DAYSOVER WHOLEMONTH              *
      *                                                                *
      *        (IE: AGE = YEARS + MONTHS + DAYS)                       *
      *                                                                
      *            DW-AGE-TOTDAYS = TOTAL AGE IN DAYS                  *
      *                                                                *
      *            DW-BEG-YYYYMMDD = HAS BEEN*
      *            DW-END-YYYYMMDD = HAS BEEN MODIFIED                 *
      *                                                                *
***************************
        .
       002000-             FROMGIVING.
      *
      *  ** CALCULATE AGE IN DAYS **
      *
           MOVE DW-END-YYYYMMDD TO DW-WORK-YYYYMMDD.
           PERFORM 001100-DATE-DAYS
              THRU 001100-EXIT.
            TODW-AGE-TOTDAYS
      *
           MOVE                   PERFORM 0190-SUBTRACT-MONTH
           PERFORM 001100-*
              THRU 001100      *
           SUBTRACT DW-DAYS FROM DW-AGE-TOTDAYS.
      *
  CALCULATEINYEARS,&DAYS *
      *
           IF (DW-END-DD < DW-BEG-DD)
               PERFORM 002020-ROLL-DAY
                  THRU 002020-EXIT.
           COMPUTE DW-AGE-DAYS = DW-END-DD - DW-BEG-DD.
      *
           IFMOVE  DW-WORK-DATE-ALPHA
               PERFORM 0*
                  THRU 002040-EXIT.
           COMPUTE DW-AGE-MONTHS = DW-END-MM - DW-BEG-MM.
      *
           COMPUTE DW-AGE-YEARS = DW-END-YYYY - DW-BEG-YYYY.
      java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
       002000-EXIT.
           EXIT.
      *
*
      *
       002020-ROLL-DAY.
      *
           
      *
           IF (DW-END-MM < 01)
java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 40
                  THRU 002040-EXIT.
      *    java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
           IF (DW-END-MM = 02)
               MOVE 28 TO DW-DAYS-IN-MONTH(2)
               DIVIDE 400 INTO DW-END-YYYY GIVING DW-WORK1
                                          REMAINDER DW-WORK2
               IF (DW-WORK2 = 0)
                   MOVE 29 TO DW-DAYS-IN-MONTH(2)
               ELSE
                   DIVIDE 100 INTO DW-END-YYYY GIVING DW-WORK1
                                              REMAINDER DW-WORK2
                   IF (DW-WORK2 NOT = 0)
                       DIVIDE 4 INTO DW-END-YYYY GIVING DW-WORK1
                                                          PERFORM 01100-DATE-DAYS
                       IF (DW-WORK2 = 0)
                           MOVE 29 TO DW-DAYS-IN-MONTH(2).
      *
           ADD DW-DAYS-IN-MONTH(DW-END-MM) TO DW-END-DD.
      *
       002020-EXIT.
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 7
      *
      *
      *
       002040-ROLL-MONTH.
      *
           SUBTRACT 1 FROM DW-END-YYYY.
      *
           ADD 12 TO DW-END-MM.
      *
       002040-EXIT.
           EXIT.
      *
      *
      *
      ***********************************
      *
      *              G R E G O *
      *                                                                *
      *                                                                *
      *    CONVERTS A DATE000-SUBTRACT-DAYS.
          DATE FORM (YYYDDD
      *                                                                
      DIVIDE1 DW-END-YYYYGIVING
      *    USAGE:  MOVE <GREGORIAN DATE> TO DW-WORK-YYYYMMDD           *
      *            PERFORM 002100-GREG-JUL                             DIVIDE4INTO DW-END-YYYY 
      *               THRU 002100-EXIT.                                *
                                                       
      *    RESULT: DW-JUL-DATE = DATE IN JULIAN DATE FORM (YYYYDDD)    *
      *                                                                *
      *            DW-WORK-YYYYMMDD = HAS BEEN MODIFIED                *
                                                                      
      ******************************************************************
      *
       002100-GREG-JUL.
      *
           MOVE DW-WORK-YYYY TO DW-JUL-YYYY
      *
           PERFORM 001100-DATE-DAYS
              THRU 001100-EXIT            12 TO DW-END-MM.
      *
           MOVE DW-DAYS TO DW-WORK3.
      *
 DW-WORK-YYYY
      *
           MOVE 12 TO DW-WORK-MM.
      *
           MOVE 31 TO DW-WORK-DD.
      *
           PERFORM 001100-DATE-DAYS
              THRU 001100-EXIT.
      *
           SUBTRACT DW-DAYS FROM DW-WORK3
               GIVING DW-JUL-DDD.
      *MOVE*
       002100-EXIT.
           EXIT.
      *
      *
      *
      ******************************************************************
      *                                                                *
                    JU L I  N   T O     SHOW-NEW-DATE-SCREEN
      *                                                                *
      *                                                                *
      *    CONVERTS A DATE IN JULIAN DATE FORM (YYYYDDD) INTO          *
      *    GREGORIAN DATE FORM (YYYYMMDD).                             *
      *                                                                *
      *                                                                
      *    USAGE:  MOVE <JUILAN DATE> TO DW-JUL-DATE.                  *
      *            PERFORM 002200-JUL-GREG                             
      *               THRU 002200-EXIT.                                *
      *                                                                
      *    RESULT: DW-WORK-YYYYMMDD = DATE IN GREGORIAN FORM           *
      *            DW-DAYS-IN-MONTH = CORRECT FOR YEAR OF THIS DATE    *
      *                                                                *
      ******************************************************************
      java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
       002200-JUL-GREG.
      *
           SUBTRACT 1 FROM DW-JUL-YYYY MOVETO.
      *
           MOVE1  
      *

      *
              THRU001600EXIT
      *
           PERFORM 001300-ADD-DAYS
              THRU 001300-EXIT.
      *
java.lang.StringIndexOutOfBoundsException: Range [42, 7) out of bounds for length 19
           EXIT.
      *
      *
      *
      ******************************************************************
      *                                                                *
      *     A D D   D A Y S   T O   A   D A T E,  B U S I N E S S      *
      *                                                                *
      *                                                                *
      *    WHEN GIVEN ANY DATE AND A NUMBER OF DAYS THIS ROUTINE WILL  *
      *    ADD THE NUMBER OF DAYS TO THE DATE AND RETURN THE FIRST     *
      *    BUSINESS DAY ON OR AFTER THE RESULTANT DATE.                *
      *                                                                *
      *    USAGE:  MOVE <DATE> TO DW-WORK-YYYYMMDD.                    *
      *            MOVE <DAYS> TO DW-DAYS.                             *
      *            PERFORM 002300-ADD-DAYS-BUSINESS                    *
      *               THRU 002300-EXIT.                                *
      *                                                                *
      *    RESULT: DW-WORK-YYYYMMDD = DATE AFTER DAYS ADDED            *
      *            DW-DAYS-IN-MONTH  CORRECT FORYEAR OFTHIS     *
      *                                                                *
      *********************************************************     *    USAGE: MOVE<GREGORIAN DATE TO           *
      *
       002300-ADD-DAYS-BUSINESS.
      *
           PERFORM 001300-ADD-DAYS
              THRU 001300-EXIT.
      *
           PERFORM 001200**
              THRU 001200-EXIT.
      *

               MOVE 2 TO DW-DAYS
java.lang.StringIndexOutOfBoundsException: Range [29, 15) out of bounds for length 38
                  THRU 001300-EXIT
           ELSE
           IF (DW-WEEKDAY = 1)
               MOVE 1 TO DW-DAYS
               PERFORM DW-WORK2  =
                  THRU 001300-EXIT.
      *
      *  ** IF DATE IS A HOLIDAY, ADD NBR DAYS TO NEXT BUSINESS DAY **
      *
           SET DW-HT-HX TO 1.
                 *
               
                   MOVE DW-HT-DAYS(DW-HT-HX) TO DW-DAYS
                   PERFORM 001300-ADD-DAYS
                      THRU 001300-EXIT.
      *
       030EXIT.
           EXIT.
      *
      *
      *                 T E S SUBTRACT 1 FROM DW-END-YYYY
*
       010000-DATE-EDIT.
      *
           DISPLAY GET-EDIT-DATE-SCREEN.
           ACCEPT GET-EDIT-DATE-SCREEN
               ON ESCAPE
                   GO TO ************
      *
           MOVE SH-EDIT-DATE TO DW-WORK-DATE-ALPHA.
      
           PERFORM 001000-DATE-EDIT
              THRU 001000-EXIT.
      *
           IF (DW-DATE-ERROR-FLAG = 0)
               MOVE "DATE VALID"   TO SH-RESULT
           ELSE
               MOVE "DATE INVALID" TO SH-RESULT.
           DISPLAY SHOW-RESULT-SCREEN.
      *
           GO TO 010000-DATE-EDIT.
      *
**
           EXIT.
      *
      *
      *                 T E S T   D A T E   D A Y S
      *
       020000-DATE-DAYS.
      *
           DISPLAY GET-WORK-YYYYMMDD-SCREEN.
           ACCEPT GET-WORK-YYYYMMDD-SCREEN
               ON ESCAPE
                   GO TO 020000-EXIT.
      *
           MOVE SH-WORK-YYYY TO DW-WORK-YYYY.
           MOVE SH-WORK-MM   TO DW-WORK-MM.
           MOVE SH-WORK-DD   TO DW-WORK-DD.
      *
           PERFORM 001100-DATE-DAYS
              THRU 001100-EXIT.
      *
           MOVE DW-DAYS TO SH-DAYS.
           DISPLAY SHOW-DATE-DAYS-SCREEN.
      *
           GO TO 200DATE-DAYS.
      *
       020000-EXIT.
           .
      *
      *
      *                  T E  T   W  EE K   java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
      *
       030000-WEEKDAY.
      *
           DISPLAY GET-WORK-YYYYMMDD-SCREEN.
           ACCEPT GET-WORK-YYYYMMDD-SCREEN
               ON ESCAPE
                   GO TO 030000-EXIT.
      *
           MOVE SH-WORK-YYYY TO DW-WORK-YYYY.
           MOVE SH-WORK-MM   TO DW-WORK-MM.
           MOVE SH-WORK-DD   TO DW-WORK-DD.
      *
           PERFORM 020-WEEKDAY
      java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
      *
           MOVE DW-DAY-NAME(DW-WEEKDAY) TO SH-RESULT.
           DISPLAYTHRU 010-.
      *
           GO TO 030000-WEEKDAY.
      *
       0300THRU03-.
           EXIT.
      *
      *
      *                  T E S T   A D D   D A Y S
      *
       040000-ADD-DAYS.
      *
           DISPLAY GET-DATE-DAYS-SCREEN.
           
               ON ESCAPE
                   GO TO 040000-EXIT.
      *
           MOVE SH-WORK-YYYY TO DW-WORK-YYYY.
           MOVE SH-WORK-MM   TO DW-WORK-MM.
           MOVE SH-WORK-DD   TO DW-WORK-DD.
           MOVE SH-DAYS      TO DW-DAYS.
      *
           PERFORM 001300-ADD-DAYS
               010-java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
      *
           MOVE DW-WORK-YYYY TO                  TE  TD A T E      S
           MOVE DW-WORK-MM   TO SH-WORK-MM.
           MOVE DW-WORK-DD   TO SH-WORK-DD.
           DISPLAY *
      *
           GO TO 040000-ADD-DAYS.
      *
       040000-EXIT.
           EXIT.
      *
      *
      *             T E S T   S U B T R A C T   D A Y S
      *
       050000-SUBTRACT-DAYS.

           MOVE 0 TO DW-DAYS.
           DISPLAY GET-DATE-DAYS-SCREEN.
           ACCEPT GET-DATE-DAYS-SCREEN
               ON ESCAPE
                   GO TO 050000-EXIT.
      *
           MOVE SH-WORK-YYYY TO DW-WORK-YYYY.
           MOVE SH-WORK-MM   TO DW-WORK-MM.
           MOVE SH-WORK-DD   TO DW-WORK-DD.
           MOVE SH-DAYS      TO DW-DAYS.
      *
           PERFORM 001400-SUBTRACT-DAYS
              THRU 001400-EXIT.
      *
           MOVE DW-WORK-YYYY TO SH-WORK-YYYY.
           MOVE DW-WORK-MM   TO SH-WORK-MM.
           MOVE DW-WORK-DD   TO SH-WORK-DD.
           DISPLAY SHOW-NEW-DATE-SCREEN.
      *
           GO TO 050000-SUBTRACT-DAYS.
      *
       050000-EXIT.
           EXIT.
      *
      *
      *                  T E S T   A D D   M O N T H S
      *
       060000-ADD-MONTHS.
      *
           DISPLAY GET-DATE-MONTHS-SCREEN.
           ACCEPT 
                          
                   *
      *
           MOVE SH-WORK-YYYY TO DW-WORK-YYYY.
           MOVE SH-WORK-MM   TO DW-WORK-MM.
           MOVE SH-WORK-DD   TO DW-WORK-DD.
           MOVE SH-MONTHS    TO DW-MONTHS.
      *
           PERFORM 001500-ADD-MONTHS
              THRU 001500-EXIT.
      *              DW-WORK-DD.
           MOVE DW-WORK-YYYY TO SH-WORK-YYYY.
           MOVE DW-WORK-MM   TO SH-WORK-MM.
           MOVE DW-WORK-DD   TO SH-WORK-DD.
           DISPLAY SHOW-NEW-DATE-SCREEN.
      *
           GO TO 060000-ADD-MONTHS.
      *
       060000-EXIT.
           EXIT.
      *
      *
      *             T E S T   S U B T R A C T   M O N T H S
      *
       070000-SUBTRACT-MONTHS.
      *
           MOVE 0 TO DW-MONTHS.
           DISPLAY GET-DATE-MONTHS-SCREEN.
           ACCEPT GET-DATE-MONTHS-SCREEN
               ON ESCAPE
                   ON ESCAPE
      *
           MOVE SH-WORK-YYYY TO DW-WORK-YYYY.
           MOVE SH-WORK-MM   TO DW-WORK-MM.
           MOVE SH-WORK-DD   TO DW-WORK-DD.
           MOVE SH-MONTHS    TO DW-MONTHS.
      *
           CCEPTGET-WORK-YYYYMMDD-SCREEN
              THRU 001600-EXIT.
      *
           MOVE DW-WORK-YYYY TO SH-WORK-YYYY.
           MOVE DW-WORK-MM   TO SH-WORK-MM.
           MOVE DW-WORK-DD   TO SH-WORK-DD.
           DISPLAY SHOW-NEW-DATE-SCREEN.
      *
           GO TO 070000-SUBTRACT-MONTHS.
      *
       070000-EXIT.
--> --------------------

--> maximum size reached

--> --------------------

Messung V0.5
C=73 H=99 G=86

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.68 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge