ESDS được gọi là Tập dữ liệu tuần tự đầu vào. Tập dữ liệu theo trình tự mục nhập hoạt động giống như tổ chức tệp tuần tự với một số tính năng khác được bao gồm. Chúng tôi có thể truy cập trực tiếp vào hồ sơ và vì mục đích an toàn, chúng tôi cũng có thể sử dụng mật khẩu. Chúng ta phải viết mã NONINDEXED bên trong lệnh DEFINE CLUSTER cho bộ dữ liệu ESDS. Sau đây là các tính năng chính của ESDS −
- Các bản ghi trong cụm ESDS được lưu trữ theo thứ tự mà chúng được chèn vào tập dữ liệu.
- Các bản ghi được tham chiếu theo địa chỉ vật lý được gọi là Địa chỉ Byte tương đối (RBA) . Giả sử nếu trong bộ dữ liệu ESDS, chúng ta có các bản ghi 80 byte, RBA của bản ghi đầu tiên sẽ là 0, RBA của bản ghi thứ hai sẽ là 80, của bản ghi thứ ba là 160, v.v.
- Các bản ghi có thể được truy cập tuần tự bởi RBA, được gọi là truy cập theo địa chỉ.
- Các bản ghi được giữ theo thứ tự mà chúng được chèn vào. Bản ghi mới được chèn vào cuối.
- Không thể xóa bản ghi trong tập dữ liệu ESDS. Nhưng chúng có thể được đánh dấu là không hoạt động.
- Các bản ghi trong bộ dữ liệu ESDS có thể có độ dài cố định hoặc độ dài thay đổi.
- ESDS không được lập chỉ mục. Các khóa không có trong bộ dữ liệu ESDS, vì vậy nó có thể chứa các bản ghi trùng lặp.
- ESDS có thể được sử dụng trong các chương trình COBOL giống như bất kỳ tệp nào khác. Chúng tôi sẽ chỉ định tên tệp trong JCL và chúng tôi có thể sử dụng tệp ESDS để xử lý bên trong chương trình. Trong chương trình COBOL, chỉ định tổ chức tệp là Tuần tự và chế độ truy cập là Tuần tự với bộ dữ liệu ESDS.
Xác định cụm ESDS
Cú pháp sau đây cho biết những tham số nào chúng ta có thể sử dụng khi tạo cụm ESDS. Mô tả tham số vẫn giữ nguyên như đã đề cập trong mô-đun VSAM – Cluster.
DEFINE CLUSTER (NAME(esds-file-name) -
BLOCKS(number) -
VOLUMES(volume-serial) -
NONINDEXED -
RECSZ(average maximum) -
[FREESPACE(CI-Percentage,CA-Percentage)] -
CISZ(number) -
[READPW(password)] -
[FOR(days)|TO(date)] -
[UPDATEPW(password)] -
[REUSE / NOREUSE]) -
DATA -
(NAME(esds-file-name.data))
Ví dụ
Ví dụ sau cho thấy cách tạo cụm ESDS trong JCL bằng tiện ích IDCAMS
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
DEFINE CLUSTER (NAME(MY.VSAM.ESDSFILE) -
NONINDEXED -
RECSZ(80 80) -
TRACKS(1,1) -
CISZ(4096) -
FREESPACE(3 3) ) -
DATA (NAME(MY.VSAM.ESDSFILE.DATA))
/*
Nếu bạn sẽ thực thi JCL trên trên máy chủ Mainframes. Nó sẽ thực thi với MAXCC = 0 và nó sẽ tạo tệp MY.VSAM.ESDSFILE VSAM.
Xóa cụm ESDS
Cụm ESDS bị xóa bằng tiện ích IDCAMS. Lệnh DELETE xóa mục nhập của cụm VSAM khỏi danh mục và tùy chọn xóa tệp, do đó giải phóng không gian bị chiếm bởi đối tượng.
DELETE data-set-name CLUSTER
[ERASE / NOERASE]
[FORCE / NOFORCE]
[PURGE / NOPURGE]
[SCRATCH / NOSCRATCH]
Cú pháp trên cho thấy những tham số nào chúng ta có thể sử dụng trong khi xóa cụm ESDS. Mô tả tham số vẫn giữ nguyên như đã đề cập trong mô-đun VSAM – Cluster.
Ví dụ
Ví dụ sau cho thấy cách xóa cụm ESDS trong JCL bằng tiện ích IDCAMS
Cú pháp trên cho thấy những tham số nào chúng ta có thể sử dụng trong khi xóa cụm ESDS. Mô tả tham số vẫn giữ nguyên như đã đề cập trong mô-đun VSAM - Cluster.
Ví dụ
Ví dụ sau cho thấy cách xóa cụm ESDS trong JCL bằng tiện ích IDCAMS –
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
DELETE MY.VSAM.ESDSFILE CLUSTER
/*
Nếu bạn sẽ thực thi JCL trên trên máy chủ Mainframes. Nó sẽ thực thi với MAXCC = 0 và nó sẽ xóa Cụm VSAM MY.VSAM.ESDSFILE.