Chuyển đến nội dung chính
Mô-đun 5 · Bài học 1 trong tổng số 29/10 trong khóa học~15 min
Bài học theo mô-đun (1/2)

Định nghĩa tệp & Kiểm soát tệp

Trong COBOL, quản lý các tệp bên ngoài (chẳng hạn như kho lưu trữ văn bản hoặc bản ghi nhị phân trên đĩa) là một trong những tính năng quan trọng nhất đối với các ứng dụng hàng loạt của công ty. Vì COBOL được thiết kế từ lâu trước cơ sở dữ liệu hiện đại nên các tệp trên đĩa đóng vai trò là bộ lưu trữ chính.

Việc kết nối các file vật lý được lưu trữ trên hệ điều hành với các biến bên trong của chương trình diễn ra theo hai giai đoạn:

  1. Liên kết logic-vật lý trong ENVIRONMENT DIVISION.
  2. Định nghĩa bản ghi dữ liệu trong DATA DIVISION.

1. Liên kết: KIỂM SOÁT FILE và CHỌN CHỌN

Trong chương dành riêng cho cấu trúc chương trình, chúng ta đã khám phá ENVIRONMENT DIVISION. Trong đó, INPUT-OUTPUT SECTION chứa đoạn FILE-CONTROL, đoạn này khai báo các tệp bên ngoài được chương trình sử dụng.

Để liên kết tệp logic trong chương trình (ví dụ: SALES-FILE) với tệp vật lý thực trên đĩa (ví dụ: sales.dat), hãy sử dụng câu lệnh SELECT ... ASSIGN TO ...:

COBOL
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT SALES-FILE ASSIGN TO "sales.dat"
               ORGANIZATION IS LINE SEQUENTIAL.
  • SELECT SALES-FILE: Xác định tên logic mà chương trình sẽ sử dụng để tham chiếu tệp.
  • ASSIGN TO "sales.dat": Chỉ định tên tệp vật lý thực tế (hoặc đường dẫn) trên đĩa.
  • ORGANIZATION IS LINE SEQUENTIAL (tùy chọn): Cho biết tệp là tệp văn bản thuần túy trong đó mỗi dòng đại diện cho một bản ghi (được phân tách bằng ký tự dòng mới).

2. Khai báo: FILE SECTION và FD

Sau khi liên kết tệp trong ENVIRONMENT DIVISION, chúng ta phải xác định cấu trúc các bản ghi của tệp trong DATA DIVISION. Để thực hiện việc này, chúng tôi sử dụng một phần dành riêng có tên FILE SECTION (đứng trước WORKING-STORAGE SECTION).

Mỗi tệp được chọn phải có mục nhập FD (Mô tả tệp) khai báo cấu trúc bản ghi:

COBOL
       DATA DIVISION.
       FILE SECTION.
       FD SALES-FILE.
       01 SALES-RECORD.
           05 EMP-ID       PIC 9(5).
           05 EMP-NAME     PIC X(20).
           05 EMP-SALARY   PIC 9(6)V99.
  • FD SALES-FILE.: Xác định mô tả tệp cho tên logic SALES-FILE. Lưu ý rằng nó kết thúc bằng một dấu chấm.
  • 01 SALES-RECORD.: Chỉ định cấu trúc nhóm (bản ghi) được liên kết với tệp. Mỗi thao tác đọc/ghi sẽ trao đổi dữ liệu bằng cấu trúc bộ nhớ này.

Hãy thử nó

tập thể dục#cobol.m5.l1.e1
Nỗ lực: 0Đang tải…

Hoàn thành PHẦN MÔI TRƯỜNG để khai báo PHẦN INPUT-OUTPUT và đoạn FILE-Control, liên kết tệp logic SALES-FILE với tệp vật lý 'sale.dat' bằng cách sử dụng câu lệnh SELECT ASSIGN.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Viết PHẦN MÔI TRƯỜNG. và PHẦN INPUT-OUTPUT. trong cột 8 (7 dấu cách), rồi FILE-Control. trong cột 8 và cuối cùng CHỌN TỆP BÁN HÀNG CHO 'sale.dat'. ở cột 12 (11 dấu cách).

Giải pháp khả dụng sau 3 lần thử

tập thể dục#cobol.m5.l1.e2
Nỗ lực: 0Đang tải…

Khai báo PHẦN DỮ LIỆU và PHẦN FILE cho chương trình. Xác định Bộ mô tả tệp (FD) cho TỆP BÁN HÀNG, liên kết nó với bản ghi cấp 01 có tên SALES-RECORD chứa hai trường phụ: SALES-ID (số có 4 chữ số) và SALES-AMOUNT (số có 5 chữ số với 2 số thập phân ẩn).

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng PHÂN BIỆT DỮ LIỆU. và PHẦN TẬP TIN. ở cột 8, FD BÁN HÀNG. ở cột 8, tiếp theo là 01 BẢNG TIN BÁN HÀNG. trong cột 8 và các trường 05 SALES-ID PIC 9(4). và 05 SỐ TIỀN BÁN PIC 9(5)V99. trong cột 12 trên dòng mới.

Giải pháp khả dụng sau 3 lần thử