Any Questions?
Agenda Moving Data Selection Statements System Date Indicators in Display files
Moving Data
Move Statement MOVE Identifier/Variable or Literal/Constant TO (Indentifier/Variable)s
Numeric Moves Sending Field Receiving Field Okay? Numeric Numeric Field sizes Numeric Alphanumeric Decimal places Packed fields Numeric Group Item
Alphanumeric Moves Sending Field Receiving Field Okay? Alphanumeric Numeric Decimal Places Packed fields Alphanumeric Alphanumeric Field sizes Alphanumeric Group Item
Zero Moves Sending Field Receiving Field Okay? Zeros Numeric Zeros Alphanumerics Zeros Group Item
Spaces Moves Sending Field Receiving Field Okay? Spaces Numeric Spaces Alphanumerics Spaces Group Items
MOVE numeric TO numeric. Field A PIC 9(3) Field B PIC 9(3) 100 Field A PIC 9(3) Field B PIC 9(4) Field A PIC 9(3) Field B PIC 9(2)
MOVE numeric TO numeric. Field A PIC 9(3)V99 Field B PIC 99V9 100.03 Field A PIC 9(3)V99 Field B PIC 9(4)V999 Field A PIC 9(3)V99 Field B PIC 9(3)
MOVE numeric TO alphanumeric. Field A PIC 9(3) Field B PIC X(3) 100 Field A PIC 9(3) Field B PIC X(4) Field A PIC 9(3) Field B PIC X(2)
MOVE numeric TO alphanumeric. Field A PIC 9(3)V99 Field B PIC X(3) 100.03
MOVE numeric TO group item Field A PIC 9(3) Field B. Field C PIC 99. Field D PIC 9. Field A Field B Field C Field D 124
MOVE numeric TO group item Field A PIC 9(3) Field B. Field C PIC 99. Field D PIC 99. Field A Field B Field C Field D 124
MOVE numeric TO group item Field A PIC 9(3) Field B. Field C PIC 9. Field D PIC 9. Field A Field B Field C Field D 124
MOVE numeric TO group item Field A PIC 9(3) Field B. Field C PIC XX. Field D PIC X. Field A Field B Field C Field D 124
MOVE numeric TO group item Field A PIC 9(3) Field B. Field C PIC XX. Field D PIC XX. Field A Field B Field C Field D 124
MOVE numeric TO group item Field A PIC 9(3) Field B. Field C PIC X. Field D PIC X. Field A Field B Field C Field D 124
MOVE alphanum TO alphanum. Field A PIC X(3) Field B PIC X(3) CJM Field A PIC X(3) Field B PIC X(4) Field A PIC X(3) Field B PIC X(2)
MOVE alphanum TO group item Field A PIC X(3) Field B. Field C PIC XX. Field D PIC X. Field A Field B Field C Field D CJM
MOVE alphanum TO group item Field A PIC X(3) Field B. Field C PIC XX. Field D PIC XX. Field A Field B Field C Field D CJM
MOVE alphanum TO group item Field A PIC X(3) Field B. Field C PIC X. Field D PIC X. Field A Field B Field C Field D CJM
MOVE alphanum TO numeric. Field A PIC X(3) Field B PIC 9(3) ABC
MOVE zeros TO numeric. Field B PIC 9(3) Field B PIC 9(4)V99
MOVE zeros TO alphanumeric. Field B PIC X(3) Field B PIC X(1)
MOVE zero TO group item Field B. Field D PIC 9. Field C PIC 99. Field D PIC 9. Field B Field C Field D
MOVE zeros TO group item Field B. Field C PIC XX. Field D PIC XX. Field B Field C Field D
MOVE spaces TO numeric. Field B PIC 9(3) Field B PIC 9(4)V99 Note: This is not supposed to work!
MOVE spaces TO alphanumeric. Field B PIC X(3) Field B PIC X(1)
MOVE spaces TO group item Field B. Field C PIC 99. Field D PIC 9. Field B Field C Field D Note: this is not supposed to work!
MOVE spaces TO group item Field B. Field C PIC XX. Field D PIC XX. Field B Field C Field D
On your own, figure out how Group Item to Group Item and Group Item to Alphanumeric work!
Selection Statements
Sorting on the iSeries EBCDIC Sort 1. Blanks 2. Special Characters 3. Lower Case Letters 4. Upper Case Letters 5. Numbers
Selection Condition? Statement2 Statement1
Selection IF Condition THEN Statement(s) ELSE END-IF
If-Then-Else A = 10 B = 20 If (A > B) THEN MOVE B TO A.
If-Then-Else A = 10 B = 20 If A > B THEN MOVE B TO A ELSE MOVE A TO B.
If-Then-Else A = 10 B = 20 C = 30 D = 40 If A < B THEN IF A > C THEN MOVE A TO C ELSE MOVE C TO A END-IF MOVE A TO B END-IF.
Sign Test A = 10 B = -10 If A IS NEGATIVE IF A IS POSITIVE MOVE B TO A MOVE B TO A ELSE ELSE MOVE A TO B. MOVE A TO B.
Numeric Test A = 10 B = -10 If A IS NUMERIC ADD A TO B.
Alphabetic Test C = ‘CJ’ D = ‘Christy’ If C is ALPHABETIC THEN MOVE C TO OLDER-SISTER ELSE MOVE D TO OLDER-SISTER END-IF
Alphabetic-Upper Test C = ‘CJ’ D = ‘Christy’ If C is ALPHABETIC-UPPER THEN MOVE C TO OLDER-SISTER ELSE MOVE D TO OLDER-SISTER END-IF
Alphabetic-Lower Test C = ‘CJ’ D = ‘Christy’ If D is ALPHABETIC-LOWER THEN MOVE D TO OLDER-SISTER ELSE MOVE C TO OLDER-SISTER END-IF
AND
OR
AND/OR Order of Operations Brackets First ANDs (From Left to Right) ORs (From Left to Right)
ANDs/ORs A = 10 B = -10 C = 20 If (A<B) OR (B<C) AND (A<C) THEN MOVE A TO C ELSE MOVE A TO B END-IF
ANDs/ORs A = 10 B = -10 C = 20 If ((A<B) OR (B<C)) AND (A<C) THEN MOVE A TO C ELSE MOVE A TO B END-IF
Case Statements
IF-THEN-ELSE Statements IF MARKS >= 80 THEN MOVE ‘A’ TO GRADE ELSE IF MARKS >= 70 THEN MOVE ‘B’ TO GRADE IF MARKS >= 60 THEN MOVE ‘C’ TO GRADE IF MARKS >= 55 THEN MOVE ‘D’ TO GRADE MOVE ‘F’ TO GRADE END-IF ENDIF.
CASE Statements EVALUATE TRUE WHEN MARKS >= 80 MOVE ‘A’ TO GRADE WHEN MARKS >= 70 AND MARKS < 80 MOVE ‘B’ TO GRADE WHEN MARKS >= 60 AND MARKS < 70 MOVE ‘C’ TO GRADE WHEN MARKS >= 55 AND MARKS < 60 MOVE ‘D’ TO GRADE WHEN OTHER MOVE ‘F’ TO GRADE END-EVALUATE.
CASE Statements EVALUATE GRADE WHEN ‘A’ DISPLAY ‘WONDERFUL!!!!’ WHEN ‘B’ DISPLAY ‘GREAT!!!’ WHEN ‘C’ DISPLAY ‘NEED ANY HELP?’ WHEN ‘D’ DISPLAY ‘COME AND SEE ME!’ WHEN ‘F’ DISPLAY ‘SEE YOU NEXT SEMESTER’ WHEN OTHER DISPLAY ‘WE HAVE A PROBLEM!’ END-EVALUATE.
Problem ANNAME is a 20 character field in the file, ANMPF that stores an animal name. ANMPF is a Physical file that contains a record for each of animals clients at the Seneca Vet Clinic. You are required to write a COBOL program that selects all of the animals listed in ANMPF that start with a C. What COBOL statement would select all of the animals names that start with the letter ‘C’.
System Date Function current-date Function convert-date-time
Indicators in Display Files
Option Indicators in COBOL Binary Values Working Storage Definition example 01 ws-indicator-list. 05 IN88 INDICATOR 88 PIC 1 value B’0’. Passed to display files in the write statement Write Display-record format is ‘RECORD1’ indicators are ws-indicator-list.
Example – Indicator 90 displays the message, Employee Name is invalid Working Storage. 01 ws-indicators. 05 IN90 INDICATOR 90 pic 1. Procedure Division. If scr-employee-name is equal to spaces move b’1’ to IN90 else move b’0’ to IN90 end-if.
Response Indicators in COBOL Stored as binary values in the display file and passed as PIC X(2) via the control Area. Select Display-file assign to workstation-dspfile-si organization is transaction control area is ws-control. Working Storage Section. 01 ws-control. 05 ws-function-key pic x(2).
Example – check to see if function key 3 was pressed. Select Display-file assign to workstation-dspfile-si organization is transaction control area is ws-control. Working Storage Section. 01 ws-control. 05 ws-function-key pic x(2). Procedure Division. if ws-function-key = ’03’ ….. end-if.
Display file ‘Both’ Fields Input and Output buffers REDEFINES clause Different data specifications for same memory location Screens with both fields need an input and an output buffer.