JCL - ไลบรารีฐาน
Base Libraryคือ Partitioned Dataset (PDS) ซึ่งเก็บโมดูลโหลดของโปรแกรมที่จะดำเนินการใน JCL หรือโพรซีเดอร์แค็ตตาล็อกซึ่งเรียกว่าในโปรแกรม สามารถระบุไลบรารีฐานสำหรับ JCL ทั้งหมดในไฟล์JOBLIB ไลบรารีหรือสำหรับขั้นตอนงานเฉพาะในไฟล์ STEPLIB คำให้การ.
ประกาศ JOBLIB
ก JOBLIBคำสั่งใช้เพื่อระบุตำแหน่งของโปรแกรมที่จะดำเนินการใน JCL คำสั่ง JOBLIB ถูกระบุไว้หลังคำสั่ง JOB และก่อนคำสั่ง EXEC สามารถใช้สำหรับขั้นตอนและโปรแกรมในสตรีมเท่านั้น
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์พื้นฐานของคำสั่ง JCL JOBLIB:
//JOBLIB DD DSN=dsnname,DISP=SHR
คำสั่ง JOBLIB ใช้ได้กับคำสั่ง EXEC ทั้งหมดภายใน JCL โปรแกรมที่ระบุในคำสั่ง EXEC จะถูกค้นหาในไลบรารี JOBLIB ตามด้วยไลบรารีระบบ
ตัวอย่างเช่นถ้าคำสั่ง EXEC กำลังเรียกใช้โปรแกรม COBOL โมดูลโหลดของโปรแกรม COBOL ควรอยู่ในไลบรารี JOBLIB
คำชี้แจง STEPLIB
ก STEPLIBคำสั่งถูกใช้เพื่อระบุตำแหน่งของโปรแกรมที่จะดำเนินการภายใน Job Step คำสั่ง STEPLIB ถูกระบุไว้หลังคำสั่ง EXEC และก่อนคำสั่ง DD ของขั้นตอนงาน
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์พื้นฐานของคำสั่ง JCL STEPLIB:
//STEPLIB DD DSN=dsnname,DISP=SHR
โปรแกรมที่ระบุในคำสั่ง EXEC จะถูกค้นหาในไลบรารี STEPLIB ตามด้วยไลบรารีระบบ STEPLIB ที่เข้ารหัสในขั้นตอนงานจะแทนที่คำสั่ง JOBLIB
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงการใช้คำสั่ง JOBLIB และ STEPLIB:
//MYJCL JOB ,,CLASS=6,NOTIFY=&SYSUID
//*
//JOBLIB DD DSN=MYPROC.BASE.LIB1,DISP=SHR
//*
//STEP1 EXEC PGM=MYPROG1
//INPUT1 DD DSN=MYFILE.SAMPLE.INPUT1,DISP=SHR
//OUTPUT1 DD DSN=MYFILES.SAMPLE.OUTPUT1,DISP=(,CATLG,DELETE),
// RECFM=FB,LRECL=80
//*
//STEP2 EXEC PGM=MYPROG2
//STEPLIB DD DSN=MYPROC.BASE.LIB2,DISP=SHR
//INPUT2 DD DSN=MYFILE.SAMPLE.INPUT2,DISP=SHR
//OUTPUT2 DD DSN=MYFILES.SAMPLE.OUTPUT2,DISP=(,CATLG,DELETE),
// RECFM=FB,LRECL=80
ที่นี่โมดูลโหลดของโปรแกรม MYPROG1 (ในขั้นตอนที่ 1) ถูกค้นหาใน MYPROC.SAMPLE.LIB1 หากไม่พบจะถูกค้นหาในไลบรารีระบบ ในขั้นตอนที่ 2 STEPLIB จะแทนที่ JOBLIB และโหลดโมดูลของโปรแกรม MYPROG2 จะถูกค้นหาใน MYPROC.SAMPLE.LIB2 จากนั้นในไลบรารีระบบ
รวมคำชี้แจง
ชุดคำสั่ง JCL ที่เข้ารหัสภายในสมาชิกของ PDS สามารถรวมเข้ากับ JCL โดยใช้ไฟล์ INCLUDEคำให้การ. เมื่อ JES ตีความ JCL ชุดของคำสั่ง JCL ภายในสมาชิก INCLUDE จะแทนที่คำสั่ง INCLUDE
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์พื้นฐานของคำสั่ง JCL INCLUDE:
//name INCLUDE MEMBER=member-name
วัตถุประสงค์หลักของคำสั่ง INCLUDE คือการนำกลับมาใช้ใหม่ ตัวอย่างเช่นไฟล์ทั่วไปที่จะใช้ใน JCL จำนวนมากสามารถเข้ารหัสเป็นคำสั่ง DD ภายในสมาชิก INCLUDE และใช้ใน JCL
คำสั่ง Dummy DD, ข้อมูลจำเพาะของการ์ดข้อมูล, PROCs, JOB, คำสั่ง PROC ไม่สามารถเข้ารหัสได้ภายในสมาชิก INCLUDE คำสั่ง INLCUDE สามารถเข้ารหัสได้ภายในสมาชิก INCLUDE และการซ้อนเพิ่มเติมสามารถทำได้ถึง 15 ระดับ
คำชี้แจง JCLLIB
ก JCLLIBคำสั่งใช้เพื่อระบุไลบรารีส่วนตัวที่ใช้ในงาน สามารถใช้ได้ทั้งกับขั้นตอนในสตรีมและแคตตาล็อก
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์พื้นฐานของคำสั่ง JCL JCLLIB:
//name JCLLIB ORDER=(library1, library2....)
ไลบรารีที่ระบุในคำสั่ง JCLLIB จะถูกค้นหาตามลำดับที่กำหนดเพื่อค้นหาโปรแกรมโพรซีเดอร์และ INCLUDE สมาชิกที่ใช้ในงาน JCLLIB สามารถมีได้เพียงคำสั่งเดียวใน JCL ระบุไว้หลังคำสั่ง JOB และก่อนคำสั่ง EXEC และ INCLUDE แต่ไม่สามารถเข้ารหัสได้ภายในสมาชิก INCLUDE
ตัวอย่าง
ในตัวอย่างต่อไปนี้โปรแกรม MYPROG3 และ INCLUDE สมาชิก MYINCL จะถูกค้นหาตามลำดับ MYPROC.BASE.LIB1, MYPROC.BASE.LIB2, ไลบรารีระบบ
//MYJCL JOB ,,CLASS=6,NOTIFY=&SYSUID
//*
//MYLIB JCLLIB ORDER=(MYPROC.BASE.LIB1,MYPROC.BASE.LIB2)
//*
//STEP1 EXEC PGM=MYPROG3
//INC INCLUDE MEMBER=MYINCL
//OUTPUT1 DD DSN=MYFILES.SAMPLE.OUTPUT1,DISP=(,CATLG,DELETE),
// RECFM=FB,LRECL=80
//*