JCL - การตั้งค่าสภาพแวดล้อม
การติดตั้ง JCL บน Windows / Linux
มีตัวเลียนแบบเมนเฟรมฟรีมากมายสำหรับ Windows ซึ่งสามารถใช้ในการเขียนและเรียนรู้ JCL ตัวอย่างได้
หนึ่งในโปรแกรมจำลองดังกล่าวคือ Hercules ซึ่งสามารถติดตั้งได้อย่างง่ายดายใน Windows โดยทำตามขั้นตอนง่ายๆที่ระบุด้านล่าง:
ดาวน์โหลดและติดตั้งโปรแกรมจำลอง Hercules ซึ่งมีให้จากเว็บไซต์หลักของ Hercules -: www.hercules-390.eu
คำแนะนำฉบับสมบูรณ์เกี่ยวกับคำสั่งต่างๆในการเขียนและดำเนินการ JCL มีอยู่ใน URL www.jaymoseley.com/hercules/installmvs/instmvs2.htm
Hercules คือการใช้งานซอฟต์แวร์โอเพ่นซอร์สของสถาปัตยกรรมระบบเมนเฟรม / 370 และ ESA / 390 นอกเหนือจาก 64-bit z / Architecture ล่าสุด Hercules ทำงานภายใต้ Linux, Windows, Solaris, FreeBSD และ Mac OS X
เรียกใช้ JCL บนเมนเฟรม
ผู้ใช้สามารถเชื่อมต่อกับเซิร์ฟเวอร์เมนเฟรมได้หลายวิธีเช่นไคลเอ็นต์แบบบางเทอร์มินัลดัมมี่ระบบไคลเอนต์เสมือน (VCS) หรือระบบเดสก์ท็อปเสมือน (VDS)
ผู้ใช้ที่ถูกต้องทุกคนจะได้รับรหัสล็อกอินเพื่อเข้าสู่อินเทอร์เฟซ Z / OS (TSO / E หรือ ISPF) ในอินเทอร์เฟซ Z / OS JCL สามารถเข้ารหัสและจัดเก็บเป็นสมาชิกใน Partitioned Dataset (PDS) เมื่อส่ง JCL จะถูกดำเนินการและผลลัพธ์ที่ได้รับตามที่อธิบายไว้ในส่วนการประมวลผลงานของบทก่อนหน้า
โครงสร้างของ JCL
โครงสร้างพื้นฐานของ JCL พร้อมข้อความทั่วไปมีดังต่อไปนี้:
//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)
คำอธิบายโปรแกรม
คำสั่ง JCL ที่มีหมายเลขอธิบายไว้ด้านล่าง:
(1) JOB statement - ระบุข้อมูลที่จำเป็นสำหรับ SPOOLing ของงานเช่นรหัสงานลำดับความสำคัญของการดำเนินการรหัสผู้ใช้ที่จะได้รับแจ้งเมื่อเสร็จสิ้นงาน
(2) //* statement - นี่คือข้อความแสดงความคิดเห็น
(3) EXEC statement- ระบุ PROC / โปรแกรมที่จะดำเนินการ ในตัวอย่างข้างต้นโปรแกรม SORT กำลังดำเนินการ (เช่นการเรียงลำดับข้อมูลอินพุตตามลำดับเฉพาะ)
(4) Input DD statement- ระบุประเภทของอินพุตที่จะส่งผ่านไปยังโปรแกรมที่กล่าวถึงใน (3) ในตัวอย่างข้างต้นไฟล์ฟิสิคัลซีเควนเชียล (PS) จะถูกส่งเป็นอินพุตในโหมดแชร์ (DISP = SHR)
(5) Output DD statement- ระบุประเภทของเอาต์พุตที่จะสร้างโดยโปรแกรมเมื่อดำเนินการ ในตัวอย่างข้างต้นไฟล์ PS ถูกสร้างขึ้น หากคำสั่งขยายเกินตำแหน่งที่ 70 ในบรรทัดหนึ่งคำสั่งนั้นจะดำเนินต่อไปในบรรทัดถัดไปซึ่งควรขึ้นต้นด้วย "//" ตามด้วยช่องว่างอย่างน้อยหนึ่งช่อง
(6)สามารถมีคำสั่ง DD ประเภทอื่นเพื่อระบุข้อมูลเพิ่มเติมให้กับโปรแกรม (ในตัวอย่างข้างต้น: เงื่อนไขการจัดเรียงถูกระบุในคำสั่ง SYSIN DD) และเพื่อระบุปลายทางสำหรับบันทึกข้อผิดพลาด / การดำเนินการ (ตัวอย่าง: SYSUDUMP / SYSPRINT) คำสั่ง DD สามารถอยู่ในชุดข้อมูล (ไฟล์เมนเฟรม) หรือในข้อมูลสตรีม (ข้อมูลที่เข้ารหัสภายใน JCL) ตามที่ระบุในตัวอย่างข้างต้น
(7) /* ทำเครื่องหมายจุดสิ้นสุดของข้อมูลในสตรีม
คำสั่ง JCL ทั้งหมดยกเว้นในข้อมูลสตรีมเริ่มต้นด้วย // ควรมีช่องว่างอย่างน้อยหนึ่งช่องก่อนและหลังคำหลัก JOB, EXEC และ DD และไม่ควรมีช่องว่างในส่วนที่เหลือของคำสั่ง
ประเภทพารามิเตอร์ของงาน
แต่ละคำสั่ง JCL จะมาพร้อมกับชุดของพารามิเตอร์เพื่อช่วยระบบปฏิบัติการในการดำเนินการโปรแกรมให้เสร็จสมบูรณ์ พารามิเตอร์สามารถมีได้สองประเภท:
พารามิเตอร์ตำแหน่ง
ปรากฏในตำแหน่งและลำดับที่กำหนดไว้ล่วงหน้าในคำสั่ง ตัวอย่าง: พารามิเตอร์ข้อมูลทางการบัญชีสามารถปรากฏต่อจากไฟล์JOBคำหลักและก่อนพารามิเตอร์ชื่อโปรแกรมเมอร์และพารามิเตอร์คำหลัก หากไม่ระบุพารามิเตอร์ตำแหน่งพารามิเตอร์จะต้องถูกแทนที่ด้วยลูกน้ำ
พารามิเตอร์ตำแหน่งมีอยู่ในคำสั่ง JOB และ EXEC ในตัวอย่างข้างต้น PGM คือพารามิเตอร์ตำแหน่งที่เข้ารหัสหลังEXEC คำสำคัญ.
พารามิเตอร์คำหลัก
ซึ่งจะถูกเข้ารหัสหลังพารามิเตอร์ตำแหน่ง แต่สามารถปรากฏในลำดับใดก็ได้ สามารถละเว้นพารามิเตอร์คำหลักได้หากไม่ต้องการ ไวยากรณ์ทั่วไปเป็นคำสำคัญ = ค่า ตัวอย่าง: MSGCLASS = X กล่าวคือบันทึกงานจะถูกเปลี่ยนเส้นทางไปยังเอาต์พุต SPOOL หลังจากงานเสร็จสิ้น
ในตัวอย่างข้างต้น CLASS, MSGCLASS และ NOTIFY เป็นพารามิเตอร์คำสำคัญของคำสั่ง JOB สามารถมีพารามิเตอร์คำหลักในคำสั่ง EXEC ได้เช่นกัน
พารามิเตอร์เหล่านี้มีรายละเอียดในบทต่อ ๆ ไปพร้อมกับตัวอย่างที่เหมาะสม