Bài học theo mô-đun (1/2)
Mục nhóm và hồ sơ
Trong COBOL, các biến cơ bản có thể được nhóm lại với nhau thành cấu trúc phân cấp được gọi là mục nhóm hoặc bản ghi. Điều này cho phép bạn xử lý một tập hợp dữ liệu liên quan dưới dạng một thực thể duy nhất (ví dụ: để sao chép hoặc hiển thị chúng) hoặc dưới dạng các trường riêng lẻ.
Số cấp độ và quan hệ thứ bậc
Để xác định một bản ghi, bạn sử dụng số cấp độ trong DATA DIVISION:
- Cấp độ
01: Xác định bản ghi chính (tên nhóm). Nó không có mệnh đềPICTUREriêng vì kích thước của nó được xác định bởi tổng các trường bên trong của nó. - Cấp cấp dưới (
05,10,15, v.v.): Xác định các trường cấp dưới thuộc nhóm cấp cao hơn. Chúng có thể là các biến cơ bản (với mệnh đềPIC) hoặc các mục nhóm khác (bản ghi phụ).
01 WS-EMPLOYEE-RECORD.
05 WS-EMP-ID PIC 9(5).
05 WS-EMP-NAME PIC X(20).
05 WS-EMP-SALARY PIC 9(6)V99.Trong ví dụ này, WS-EMPLOYEE-RECORD là cấu trúc nhóm chứa ba trường phụ. Nếu chúng ta tham chiếu WS-EMPLOYEE-RECORD, chúng ta sẽ đọc hoặc viết tất cả 5 + 20 + 8 = 33 ký tự của bản ghi cùng một lúc.
Câu lệnh MOVE và các mục nhóm
Chúng ta có thể gán giá trị cho các trường cơ bản riêng lẻ:
MOVE 10023 TO WS-EMP-ID.
MOVE "JOHN DOE" TO WS-EMP-NAME.Hoặc chúng ta có thể sao chép toàn bộ bản ghi này sang một bản ghi tương thích khác chỉ bằng một thao tác:
MOVE WS-EMPLOYEE-RECORD TO WS-EMPLOYEE-BACKUP.Hãy tự mình thử
Khai báo cấu trúc nhóm 01 tên WS-STUDENT-RECORD gồm 3 trường con cấp 05: WS-STUDENT-ID (số 5 chữ số), WS-STUDENT-NAME (chữ số 15 ký tự) và WS-STUDENT-GPA (số có 1 chữ số nguyên và 2 số thập phân).
Hiển thị gợi ý
Sử dụng cú pháp: 01 WS-STUDENT-RECORD. (có dấu chấm và không có PIC), tiếp theo ở các dòng tiếp theo là cấp 05 WS-STUDENT-ID PIC 9(5)., 05 WS-STUDENT-NAME PIC X(15). và 05 WS-STUDENT-GPA PIC 9(1)V99.
Giải pháp khả dụng sau 3 lần thử
Hoàn thành PHẦN THỦ TỤC bằng cách chuyển giá trị 10023 vào WS-EMP-ID, văn bản “JOHN DOE” vào WS-EMP-NAME và cuối cùng hiển thị cấu trúc nhóm WS-EMPLOYEE-RECORD bằng DISPLAY.
Hiển thị gợi ý
Sử dụng MOVE 10023 ĐẾN WS-EMP-ID. và DI CHUYỂN 'JOHN DOE' SANG WS-EMP-NAME. để gán giá trị thì viết DISPLAY WS-EMPLOYEE-RECORD. và cuối cùng là DỪNG CHẠY.
Giải pháp khả dụng sau 3 lần thử