JCL - Thiết lập Môi trường

Cài đặt JCL trên Windows / Linux

Có rất nhiều Trình mô phỏng máy tính lớn miễn phí có sẵn cho Windows có thể được sử dụng để viết và học các JCL mẫu.

Một trong những trình giả lập như vậy là Hercules, có thể dễ dàng cài đặt trong Windows bằng cách làm theo một số bước đơn giản dưới đây:

  • Tải xuống và cài đặt trình giả lập Hercules, có sẵn từ trang chủ của Hercules -: www.hercules-390.eu

  • Có thể tìm thấy hướng dẫn đầy đủ về các lệnh khác nhau để viết và thực thi một JCL trên URL www.jaymoseley.com/hercules/installmvs/instmvs2.htm

Hercules là một phần mềm mã nguồn mở triển khai các kiến ​​trúc Hệ thống / 370 và ESA / 390 của máy tính lớn, bên cạnh Kiến trúc z / 64-bit mới nhất. Hercules chạy trên Linux, Windows, Solaris, FreeBSD và Mac OS X.

Chạy JCL trên máy tính lớn

Người dùng có thể kết nối với máy chủ mainframe theo một số cách như máy khách mỏng, thiết bị đầu cuối giả, Hệ thống máy khách ảo (VCS) hoặc Hệ thống máy tính để bàn ảo (VDS).

Mỗi người dùng hợp lệ được cấp một id đăng nhập để truy cập vào giao diện Z / OS (TSO / E hoặc ISPF). Trong giao diện Z / OS, JCL có thể được mã hóa và lưu trữ như một thành viên trong Tập dữ liệu phân vùng (PDS). Khi JCL được gửi, nó sẽ được thực thi và kết quả nhận được như đã giải thích trong phần xử lý công việc của chương trước.

Cấu trúc của một JCL

Cấu trúc cơ bản của JCL với các câu lệnh phổ biến được đưa ra dưới đây:

//SAMPJCL JOB 1,CLASS=6,MSGCLASS=0,NOTIFY=&SYSUID          (1)
//*                                                        (2)
//STEP010  EXEC PGM=SORT                                   (3) 
//SORTIN   DD DSN=JCL.SAMPLE.INPUT,DISP=SHR                (4)
//SORTOUT  DD DSN=JCL.SAMPLE.OUTPUT,                       (5)
//         DISP=(NEW,CATLG,CATLG),DATACLAS=DSIZE50                
//SYSOUT   DD SYSOUT=*                                     (6) 
//SYSUDUMP DD SYSOUT=C                                     (6) 
//SYSPRINT DD SYSOUT=*                                     (6) 
//SYSIN    DD *                                            (6) 
  SORT FIELDS=COPY                                    
  INCLUDE COND=(28,3,CH,EQ,C'XXX')                                    
/*                                                         (7)

Mô tả chương trình

Các câu lệnh JCL được đánh số đã được giải thích bên dưới:

(1) JOB statement - Chỉ định các thông tin cần thiết để SPOOLing của công việc như id công việc, mức độ ưu tiên thực hiện, id người dùng sẽ được thông báo khi hoàn thành công việc.

(2) //* statement - Đây là một câu bình luận.

(3) EXEC statement- Chỉ định PROC / Chương trình được thực thi. Trong ví dụ trên, một chương trình SORT đang được thực thi (tức là sắp xếp dữ liệu đầu vào theo một thứ tự cụ thể)

(4) Input DD statement- Chỉ định kiểu đầu vào sẽ được chuyển đến chương trình được đề cập trong (3). Trong ví dụ trên, tệp tuần tự vật lý (PS) được chuyển làm đầu vào ở chế độ chia sẻ (DISP = SHR).

(5) Output DD statement- Chỉ định kiểu đầu ra mà chương trình tạo ra khi thực thi. Trong ví dụ trên, một tệp PS được tạo. Nếu một câu lệnh vượt quá vị trí thứ 70 trong một dòng, thì câu lệnh đó được tiếp tục ở dòng tiếp theo, bắt đầu bằng "//" theo sau bởi một hoặc nhiều khoảng trắng.

(6)Có thể có các loại câu lệnh DD khác để chỉ định thông tin bổ sung cho chương trình (Trong ví dụ trên: Điều kiện SORT được chỉ định trong câu lệnh SYSIN DD) và để chỉ định đích cho nhật ký lỗi / thực thi (Ví dụ: SYSUDUMP / SYSPRINT). Các câu lệnh DD có thể được chứa trong một tập dữ liệu (tệp máy tính lớn) hoặc trong dữ liệu luồng (thông tin được mã hóa cứng trong JCL) như được đưa ra trong ví dụ trên.

(7) /* đánh dấu sự kết thúc của dữ liệu luồng.

Tất cả các câu lệnh JCL ngoại trừ trong dữ liệu luồng bắt đầu bằng //. Phải có ít nhất một khoảng trắng trước và sau các từ khóa JOB, EXEC và DD và không được có bất kỳ khoảng trắng nào trong phần còn lại của câu lệnh.

Các loại tham số công việc

Mỗi câu lệnh JCL được kèm theo một tập hợp các tham số để giúp Hệ điều hành hoàn thành việc thực thi chương trình. Các tham số có thể có hai loại:

Tham số vị trí

  • Xuất hiện ở vị trí và thứ tự được xác định trước trong câu lệnh. Ví dụ: Thông tin kế toán Thông số chỉ có thể xuất hiện sauJOBtừ khóa và trước tham số tên người lập trình và Tham số từ khóa. Nếu một tham số vị trí bị bỏ qua, nó phải được thay thế bằng dấu phẩy.

  • Các tham số vị trí có trong các câu lệnh JOB và EXEC. Trong ví dụ trên, PGM là một tham số vị trí được mã hóa sauEXEC từ khóa.

Tham số Từ khoá

  • Chúng được mã hóa sau các tham số vị trí, nhưng có thể xuất hiện theo bất kỳ thứ tự nào. Các tham số từ khóa có thể được bỏ qua nếu không bắt buộc. Cú pháp chung là KEYWORD = value . Ví dụ: MSGCLASS = X, tức là nhật ký công việc được chuyển hướng đến SPOOL đầu ra sau khi hoàn thành công việc.

  • Trong ví dụ trên, CLASS, MSGCLASS và NOTIFY là các tham số từ khóa của câu lệnh JOB. Cũng có thể có các tham số từ khóa trong câu lệnh EXEC.

Các thông số này đã được trình bày chi tiết trong các chương tiếp theo cùng với các ví dụ thích hợp.