cobol test3

  1. redefine
    10  F01-STOCK-PRICE    PIC 9(3)V9(3).
    • 10  F01-STOCK-PRICE    PIC 9(3)V9(3).
    • 10  F01-STOCK-PRICE-X  REDEFINES
    •      F01-STOCK-PRICE    PIC X(6).
  2. validate stock-exchange code 1-4
    • 10 F01-STOCK-EX-CODE PIC 9.
    •     88  F01-VALID-EX-CODE VALUE 1 THRU 4.
  3. validate industry-code AIR, AUT,...
    • 10 F01-IND-CODE PIC X(3).
    •      88 F01-VALID-IND-CODE VALUE "AIR" "AUT".
  4. check if price is numeric
    • IF F01-STOCK-PRICE IS NUMERIC
    •      CONTINUE
    • ELSE
    •     STRING
    •          W03-PRICE-NOT-NUM-MSG " "
    •          F01-STOCK-NAME " "
    •          W03-PRICE-MSG " "
    •          F01-STOCK-PRICE-X
    •       DELIMITED BY SIZE
    •       INTO W04-ERROR-DETAILS
    •     END-STRING
    •     PERFORM 402-WRITE-ERROR
    • END-IF
  5. 88 F01-VALID-EXCHANGE-CODE
    validate above
    • IF F01-VALID-EXCHANGE-CODE
    •   CONTINUE
    • ELSE
    •   STRING W03-EX-CODE-INVALID-MSG " "
    •       F01-STOCK-NAME " "
    •       W03-EXCHANGE-MSG " "
    •       F01-STOCK-EXCHANGE-CODE
    •     DELIMITED BY SIZE
    •     INTO W04-ERROR-DETAILS
    •   END-STRING
    •   PERFORM 402-WRITE-ERROR
    • END-IF
  6. validate
    10  F01-STOCK-PRICE      PIC 9(3)V9(3).
    10  F01-STOCK-PRICE-X   REDEFINES
        F01-STOCK-PRICE     PIC X(6).
    • IF F01-STOCK-PE IS NUMERIC
    •     CONTINUE
    • ELSE
    •    STRING W03-PE-NOT-NUM-MSG " "
    •         F01-STOCK-NAME " "
    •         W03-PE-MSG " "
    •         F01-STOCK-PE-X
    •       DELIMITED BY SIZE
    •       INTO W04-ERROR-DETAILS
    •    END-STRING
    •    PERFORM 402-WRITE-ERROR
    • END-IF
  7. PERFORM variations
    • PERFORM UNTIL A>Y
    •      ADD A TO B
    •    MOVE Z TO Y
    •    do more stuff
    • END-PERFORM

    • PERFORM 100-DOTHIS 5 TIMES
    • or
    • PERFORM 100-DOTHIS W01-NUM TIMES

    • PERFORM 100-DOTHIS
    •     UNTIL COND-TRUE
  8. PERFORM loop at least once
    • PERFORM A100-PARA
    •     WITH TEST AFTER
    •     UNTIL COND-TRUE
  9. how to initialize or clear a statement
    • INITIALIZE W01-VARIOS-STUFF
    • Numerics set to 0.
    • Alpha and Alphanumeric set to SPACES
  10. perform with prime read
    • PERFORM
    •   UNTIL DATA-REMAINS-SWITCH='NO'
    •   READ INPUT-FILE
    •         AT END
    •            MOVE 'NO' TO DATA-RE...
    •         NOT AT END
    •      PERFORM 200-PROCESS-DATA
    •   END-READ
    • END-PERFORM
  11. 05 DAY PIC XX.
    05 MONTH PIC XX.
    05 YEAR PIC XX
    05 FULL-DATE PIC X(8)
        VALUE "19/05/15".

    UNSTRING FULL-DATE
    • UNSTRING FULL-DATE
    •    DELIMITED BY "/"
    •       INTO DAY
    •               MONTH
    •               YEAR
    • END-UNSTRING
  12. inspect variations
    • TALLYING
    • LEADING, FIRST, BEFORE, AFTER, ALL
    • LEADING means first set
  13. REPLACE vs CONVERTING
    • REPLACE replaces the whole quote
    • CONVERTING changes each letter
  14. system date
    • 01 W01-SYS-DATE.
    •   05 W01-YEAR PIC 9999.
    •   ...
    • MOVE FUNCTION CURRENT-DATE (1:8) TO
    •       W01-SYS-DATE
  15. End of file reached?
    • 01 W01-CONTROLS.
    •    05  W01-EOF-SWITCH   PIC X VALUE "N".
    •      88 W01-EOF-REACHED VALUE "Y".
  16. read statement
    • READ F01-SALE-FILE
    •    AT END SET W01-EOF-REACHED TO TRUE
    • END-READ
  17. display examples
    • DISPLAY "BEFORE AND AFTER RECORDS"
    • DISPLAY F01-SALE-RECORD
  18. cleanup
    • 210-CLEAN-UP.
    •   INSPECT SELL CONVERTING " " TO "0"
    •  INSPECT COM-RATE CONVERTING " "TO"0"
    •   INSPECT YEAR CONVERTING " " TO "0"
    •   INSPECT DATE CONVERTING " " TO "0"
  19. valid record switch
    • 05 W01-VALID-RECORD-SWITCH   PIC X(3).
    •   88 VALID-RECORD  VALUE 'YES'.
    • 402-WRITE-ERROR.
    •   MOVE 'NO' TO W01-VALID-RECORD-SWITCH
    •   WRITE F03-ERROR-RECORD FROM W04-ERROR-DETAILS
    •   INITIALIZE W04-ERROR-DETAILS
    •   .
Author
slc53
ID
330750
Card Set
cobol test3
Description
cobol test3
Updated