Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

Rachel Graham HW16RG

IDENTIFICATION DIVISION.
PROGRAM-ID. HW16RG.
AUTHOR. RACHEL GRAHAM.
DATE-WRITTEN. 03-10-2019.
DATA DIVISION.
WORKING-STORAGE SECTION.

01  BUSINESS-TABLE-DATA.
    05  JAN                      PIC X(31) VALUE '1111100011110011111001111100111'.
    05  FEB                      PIC X(31) VALUE '1100111110001111001110000111110'.
    05  MAR                      PIC X(31) VALUE '0011111001111100111110000111000'.
    05  APR                      PIC X(31) VALUE '1111001111100111110001111001111'.
    05  MAY                      PIC X(31) VALUE '1001111100111110001111001111000'.
    05  JUN                      PIC X(31) VALUE '1001111100111110011111001111100'.
    05  JUL                      PIC X(31) VALUE '1111100111110011111001111100110'.
    05  AUG                      PIC X(31) VALUE '1110011111001111100111110001111'.
    05  SEP                      PIC X(31) VALUE '0011111001111100111110011111000'.
    05  OCT                      PIC X(31) VALUE '1110100111110011111001111100111'.
    05  NOV                      PIC X(31) VALUE '1100111110011111001111100111110'.
    05  DEC                      PIC X(31) VALUE '1011110011111001111100111110010'.
    
01  FILLER REDEFINES BUSINESS-TABLE-DATA.
    05  BUSINESS-DAY-TABLE  OCCURS 12 TIMES
            INDEXED BY B.
        10 BUSINESS-DAY-NUM     PIC X(31).
        
01 BUSINESS-DAYS                PIC X(31).

01 FILLER REDEFINES BUSINESS-DAYS.
    05 DAY-TABLE           OCCURS 31 TIMES
            INDEXED BY D.
        10 DAY-NUM              PIC X.

01 CHECK-DAY                    PIC X.

01 WS-MONTH-TABLE-DATA.
   05 FILLER                  PIC X(11) VALUE '01JANUARY  '.
   05 FILLER                  PIC X(11) VALUE '02FEBRUARY '.
   05 FILLER                  PIC X(11) VALUE '03MARCH    '.
   05 FILLER                  PIC X(11) VALUE '04APRIL    '.
   05 FILLER                  PIC X(11) VALUE '05MAY      '.
   05 FILLER                  PIC X(11) VALUE '06JUNE     '.
   05 FILLER                  PIC X(11) VALUE '07JULY     '.
   05 FILLER                  PIC X(11) VALUE '08AUGUST   '.
   05 FILLER                  PIC X(11) VALUE '09SEPTEMBER'.
   05 FILLER                  PIC X(11) VALUE '10OCTOBER  '.
   05 FILLER                  PIC X(11) VALUE '11NOVEMBER '.
   05 FILLER                  PIC X(11) VALUE '12DECEMBER '.
   
01 FILLER REDEFINES WS-MONTH-TABLE-DATA.
   05 MONTH-TABLE  OCCURS 12 TIMES
        INDEXED BY M.
      10 MONTH-NUM      PIC X(02).
      10 MONTH-NAME     PIC X(09).

01 Y2KDATE.
    05  Y2KYEAR         PIC 9(04).
    05  Y2KMONTH        PIC 99.
    05  Y2KDAY          PIC 99.
    
01 FORMAT-Y2K.
    05 FORMAT-MONTH     PIC X(09).
    05 FORMAT-DAY       PIC X(02).
    05 FILLER           PIC X(03)   VALUE ' , '.
    05 FORMAT-YEAR      PIC X(04). 
    
PROCEDURE DIVISION.

 ACCEPT  Y2KDATE FROM DATE YYYYMMDD.
 
 SET B TO 1.
 SEARCH BUSINESS-DAY-TABLE 
        WHEN B = Y2KMONTH
        MOVE BUSINESS-DAY-NUM(B) TO BUSINESS-DAYS
 END-SEARCH.
 
 SET D TO 1. 
 SEARCH DAY-TABLE
        WHEN D = Y2KDAY
        MOVE DAY-NUM(D) TO CHECK-DAY
 END-SEARCH.

 SET M TO 1.
 SEARCH MONTH-TABLE
    WHEN MONTH-NUM(M) = Y2KMONTH
    MOVE MONTH-NAME(M) TO FORMAT-MONTH
 END-SEARCH.
 
 MOVE Y2KDAY TO FORMAT-DAY.
 MOVE Y2KYEAR TO FORMAT-YEAR.
 
 IF CHECK-DAY = 1 THEN
    DISPLAY FORMAT-Y2K ' IS A BUSINESS DAY.'
 END-IF.
 
 IF CHECK-DAY = 0 THEN
    DISPLAY FORMAT-Y2K ' IS NOT A BUSINESS DAY.'
 END-IF.

STOP RUN.
STOP RUN.

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.