Các lệnh VSAM được sử dụng để thực hiện các thao tác nhất định trên bộ dữ liệu VSAM. Sau đây là các lệnh VSAM hữu ích nhất
Lệnh ALTER được sử dụng để sửa đổi thuộc tính tệp VSAM. Chúng tôi có thể thay đổi các thuộc tính của tệp VSAM mà chúng tôi đã đề cập trong định nghĩa Cụm VSAM. Sau đây là cú pháp để thay đổi các thuộc tính
ALTER file-cluster-name [password]
[ADDVOLUMES(volume-serial)]
[BUFFERSPACE(size)]
[EMPTY / NOEMPTY]
[ERASE / NOERASE]
[FREESPACE(CI-percentage CA-percentage)]
[KEYS(length offset)]
[NEWNAME(new-name)]
[RECORDSIZE(average maximum)]
[REMOVEVOLUMES(volume-serial)]
[SCRATCH / NOSCRATCH]
[TO(date) / FOR(days)]
[UPGRADE / NOUPGRADE]
[CATALOG(catalog-name [password]]
Cú pháp trên cho thấy những tham số nào chúng ta có thể thay đổi trong cụm VSAM hiện có. 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 sử dụng lệnh ALTER để tăng Freespace, để thêm nhiều ổ đĩa hơn và để Thay đổi phím
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
ALTER MY.VSAM.KSDSFILE
[ADDVOLUMES(2)]
[FREESPACE(6 6)]
[KEYS(10 2)]
/*
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ẽ thay đổi Freespace, Volumes và Keys.
Lệnh REPRO được sử dụng để tải dữ liệu vào bộ dữ liệu VSAM. Nó cũng được sử dụng để sao chép dữ liệu từ bộ dữ liệu VSAM này sang bộ dữ liệu VSAM khác. Chúng ta có thể sử dụng lệnh này để sao chép dữ liệu từ tệp tuần tự sang tệp VSAM. Tiện ích IDCAMS sử dụng lệnh REPRO để tải bộ dữ liệu.
REPRO INFILE(in-ddname)
OUTFILE(out-ddname)
Theo cú pháp trên, in-ddname là tên DD cho Tập dữ liệu đầu vào có bản ghi. Out-ddname là tên DD của Tập dữ liệu đầu ra, nơi các bản ghi của tập dữ liệu đầu vào sẽ được sao chép.
Ví dụ
Ví dụ sau cho thấy cách sao chép các bản ghi từ một tập dữ liệu này sang tập dữ liệu VSAM khác
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//IN DD DSN = MY.VSAM.KSDSFILE,DISP = SHR
//OUT DD DSN = MY.VSAM1.KSDSFILE,DISP = SHR
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
REPRO INFILE(IN)
OUTFILE(OUT)
/*
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ẽ sao chép tất cả các bản ghi từ MY.VSAM.KSDSFILE sang MY.VSAM1.KSDSFILE tệp VSAM.
Lệnh LITCAT được sử dụng để lấy chi tiết danh mục của bộ dữ liệu VSAM. Lệnh Listcat cung cấp thông tin sau về bộ dữ liệu VSAM –
- Thông tin tin nhắn SMS
- Thông tin RLS
- Thông tin khối lượng
- Thông tin hình cầu
- Thông tin phân bổ
- Thuộc tính tập dữ liệu
LISTCAT ENTRY(vsam-file-name) ALL
Theo cú pháp trên, vsam-file-name là tên tập dữ liệu VSAM mà chúng tôi cần tất cả thông tin. TẤT CẢ từ khóa được chỉ định để có được tất cả các chi tiết danh mục.
Ví dụ
Ví dụ sau cho thấy cách tìm nạp tất cả các chi tiết bằng cách sử dụng lệnh Listcat cho bộ dữ liệu VSAM
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
LISTCAT ENTRY(MY.VSAM.KSDSFILE)
ALL
/*
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ẽ hiển thị tất cả chi tiết danh mục về tập dữ liệu MY.VSAM.KSDSFILE.
Nghiên cứu
Lệnh Examine được sử dụng để kiểm tra tính toàn vẹn cấu trúc của cụm tập dữ liệu theo trình tự khóa. Nó kiểm tra các thành phần chỉ mục và dữ liệu và nếu phát hiện thấy bất kỳ vấn đề nào, các thông báo lỗi sẽ được gửi theo bộ đệm. Bạn có thể kiểm tra bất kỳ tin nhắn IDCxxxxx nào.
EXAMINE NAME(vsam-ksds-name) -
INDEXTEST DATATEST -
ERRORLIMIT(50)
Theo cú pháp trên, vsam-ksds-name là tên tập dữ liệu VSAM mà chúng ta cần kiểm tra chỉ mục và phần dữ liệu của cụm VSAM.
Ví dụ
Ví dụ sau cho thấy cách kiểm tra xem phần Chỉ mục và Dữ liệu của bộ dữ liệu KSDS có được đồng bộ hóa hay không
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
EXAMINE NAME(MY.VSAM.KSDSFILE) -
INDEXTEST DATATEST -
ERRORLIMIT(50)
/*
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ẽ hiển thị tất cả các sự cố với bộ dữ liệu VSAM trong một trong các thông báo IDCxxxxx trong bộ đệm.
Xác minh
Lệnh verify dùng để kiểm tra và sửa các file VSAM chưa được đóng đúng cách sau khi xảy ra lỗi. Lệnh thêm các bản ghi End-Of-Data chính xác vào tệp.
VERIFY DS(vsam-file-name) Theo cú pháp trên, vsam-file-name là tên bộ dữ liệu VSAM mà chúng ta cần kiểm tra lỗi.
Ví dụ sau cho thấy cách kiểm tra và sửa lỗi trong tập dữ liệu VSAM
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
VERIFY DS(MY.VSAM.KSDSFILE)
/*
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ẽ sửa lỗi trong tập dữ liệu VSAM.