-
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).
-
validate stock-exchange code 1-4
- 10 F01-STOCK-EX-CODE PIC 9.
- 88 F01-VALID-EX-CODE VALUE 1 THRU 4.
-
validate industry-code AIR, AUT,...
- 10 F01-IND-CODE PIC X(3).
- 88 F01-VALID-IND-CODE VALUE "AIR" "AUT".
-
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
-
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
-
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
-
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
-
PERFORM loop at least once
- PERFORM A100-PARA
- WITH TEST AFTER
- UNTIL COND-TRUE
-
how to initialize or clear a statement
- INITIALIZE W01-VARIOS-STUFF
- Numerics set to 0.
- Alpha and Alphanumeric set to SPACES
-
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
-
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
-
inspect variations
- TALLYING
- LEADING, FIRST, BEFORE, AFTER, ALL
- LEADING means first set
-
REPLACE vs CONVERTING
- REPLACE replaces the whole quote
- CONVERTING changes each letter
-
system date
- 01 W01-SYS-DATE.
- 05 W01-YEAR PIC 9999.
- ...
- MOVE FUNCTION CURRENT-DATE (1:8) TO
- W01-SYS-DATE
-
End of file reached?
- 01 W01-CONTROLS.
- 05 W01-EOF-SWITCH PIC X VALUE "N".
- 88 W01-EOF-REACHED VALUE "Y".
-
read statement
- READ F01-SALE-FILE
- AT END SET W01-EOF-REACHED TO TRUE
- END-READ
-
display examples
- DISPLAY "BEFORE AND AFTER RECORDS"
- DISPLAY F01-SALE-RECORD
-
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"
-
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
- .
|
|