Trên Mainframe của IBM đang chạy z / OS, bạn chạy một tiện ích sao chép tập dữ liệu (tệp) sang tập dữ liệu khác (tệp). Đầu vào là nguồn của JCL (Ngôn ngữ kiểm soát công việc) mà bạn đã gửi để khiến nó chạy. Đầu ra là Bộ đọc nội bộ (INTRDR). Bạn cũng sẽ cần đảm bảo rằng hệ thống của bạn không cho phép chạy nhiều tên công việc giống hệt nhau. Tốt để sử dụng một lớp công việc chỉ có một người khởi tạo (nơi mà JOB có thể chạy theo đợt).
Không có bộ vi xử lý nào liên quan (trong z / OS), do đó không đặt được thử thách.
Bạn tạm dừng quá trình bằng cách xả nước và / hoặc xả nước. Nếu có gì đó không ổn, bằng cách xả nước và / hoặc xả nước, chửi thề, đá, cố gắng khởi động ấm áp và cuối cùng bằng khởi động lạnh hoặc nhấn Nút Big Red (và bắn lập trình viên).
Tôi có thể đã phóng đại trên đường đi, nhưng đừng thử điều này tại nơi làm việc ...
Ví dụ sử dụng SORT. Thông tin chi tiết trên thẻ JOB rất phụ thuộc vào trang web. Chính sách trang web có thể cấm hoặc ngăn chặn việc sử dụng INTRDR. Một lớp cụ thể có thể được yêu cầu để sử dụng INTRDR. Nếu chính sách trang web của bạn cấm sử dụng, đừng sử dụng nó trừ khi bạn muốn mang đồ đạc đi dạo trong hộp các tông.
Mặc dù có những cách sử dụng tốt cho INTRDR, nhưng không sử dụng nó cho mục đích này . Bạn thậm chí sẽ không có cơ hội để có được hộp của bạn.
//jobname JOB rest is to your site standards
//*
//STEP0100 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTOUT DD SYSOUT=(,INTRDR) minimum required, site may require more
//SYSIN DD *
OPTION COPY
//SORTIN DD DISP=SHR,DSN=YOUR.LIBRARY.WITHJOB(JOBMEMBR)
Các tiện ích khác có sẵn. Một chương trình nhanh cũng sẽ dễ dàng thực hiện, chỉ cần đọc một tệp, viết một tệp.
Nếu bạn muốn một ví dụ về điều này sai, hãy thử: http://ibmmainframes.com/viewtopic.php?p=282414#282414
Cách truyền thống để sao chép tập dữ liệu là sử dụng tiện ích IEBGENER của IBM, như những ám chỉ xấu xí trong nhận xét của họ.
Tuy nhiên, những ngày này, nhiều trang web sẽ có IEBGENER "bí danh" cho ICEGENER. ICEGENER sẽ, nếu có thể, sử dụng DFSORT của IBM (hoặc đối thủ SyncSort của nó) để tạo một bản sao, vì các sản phẩm SORT được tối ưu hóa nhiều hơn cho IO so với IEBGENER.
Tôi chỉ cần loại bỏ người trung gian bằng cách sử dụng SORT.
Nếu bạn làm việc tại một trang web Mainframe của IBM, bạn sẽ biết định dạng của thẻ JOB mà bạn nên sử dụng. Thẻ JOB tối thiểu như tôi đã trình bày, không có nhận xét. Nhận xét sẽ rất quan trọng, chẳng hạn, vì bạn có thể được cho là đang cung cấp thông tin kế toán. Tên công việc có thể sẽ có một định dạng trang web cụ thể.
Một số trang web cấm hoặc ngăn chặn việc sử dụng INTRDR. Hãy nhận biết.
Một số trang web cho phép nhiều công việc có cùng tên chạy cùng một lúc. Hãy nhận biết.
Mặc dù trừ khi bạn là Lập trình viên của Hệ thống, bạn không thể thiết lập một lớp như vậy, bạn nên tìm một lớp chỉ cho phép một người khởi tạo. Cùng với đó, quy trình này khá an toàn - nhưng hãy chắc chắn về việc lớp đang hoạt động như mô tả. Kiểm tra. Không phải với công việc này.
Nếu bạn là Lập trình viên của Hệ thống, bạn biết không được làm bất cứ điều gì ngoài tiền gửi của mình. 'nuff nói.
Với một công việc có cùng tên được cho phép cùng một lúc và một công cụ khởi tạo, đây sẽ là một dòng liên tục bắt đầu / kết thúc công việc bắt đầu / kết thúc công việc tiếp theo - cho đến khi bạn điền vào ống chỉ (một điều xấu khác phải làm) với đầu ra từ hàng ngàn công việc (hoặc hết số công việc). Xem Bảng điều khiển JES để biết thông báo cảnh báo.
Về cơ bản, đừng làm điều này. Nếu bạn làm điều đó, đừng làm điều đó trên máy Sản xuất.
Với một chút quan tâm, tôi sẽ xem xét một Câu trả lời khác về cách thực hiện trên hệ điều hành Mainframe khác của IBM, z / VSE ... z / VSE sử dụng JCL. z / HĐH sử dụng JCL. Họ khác nhau :-)
exec
làm trong linux?