วิธีอินพุต - เอาท์พุต
โปรแกรมแบตช์ใด ๆ ที่ดำเนินการผ่าน JCL จำเป็นต้องมีการป้อนข้อมูลซึ่งได้รับการประมวลผลและสร้างเอาต์พุต มีวิธีการป้อนข้อมูลเข้าสู่โปรแกรมและการเขียนเอาต์พุตที่ได้รับจาก JCL หลายวิธี ในโหมดแบตช์ไม่จำเป็นต้องมีการโต้ตอบกับผู้ใช้ แต่อุปกรณ์อินพุตและเอาต์พุตและองค์กรที่จำเป็นจะถูกกำหนดไว้ใน JCL และส่ง
การป้อนข้อมูลใน JCL
มีหลายวิธีในการป้อนข้อมูลไปยังโปรแกรมโดยใช้ JCL และวิธีการเหล่านี้ได้อธิบายไว้ด้านล่าง:
ติดตั้งข้อมูล
ข้อมูลในสตรีมไปยังโปรแกรมสามารถระบุได้โดยใช้คำสั่ง SYSIN DD
//CONCATEX JOB CLASS=6,NOTIFY=&SYSUID
//* Example 1:
//STEP10 EXEC PGM=MYPROG
//IN1 DD DSN=SAMPLE.INPUT1,DISP=SHR
//OUT1 DD DSN=SAMPLE.OUTPUT1,DISP=(,CATLG,DELETE),
// LRECL=50,RECFM=FB
//SYSIN DD *
//CUST1 1000
//CUST2 1001
/*
//*
//* Example 2:
//STEP20 EXEC PGM=MYPROG
//OUT1 DD DSN=SAMPLE.OUTPUT2,DISP=(,CATLG,DELETE),
// LRECL=50,RECFM=FB
//SYSIN DD DSN=SAMPLE.SYSIN.DATA,DISP=SHR
//*
ในตัวอย่างที่ 1 อินพุตไปยัง MYPROG จะถูกส่งผ่าน SYSIN ข้อมูลมีให้ภายใน JCL บันทึกข้อมูลสองรายการจะถูกส่งไปยังโปรแกรม โปรดทราบว่า / * เป็นจุดสิ้นสุดของข้อมูล SYSIN ในสตรีม
"CUST1 1000" คือ record1 และ "CUST2 1001" คือ record2 สิ้นสุดเงื่อนไขข้อมูลเมื่อพบสัญลักษณ์ / * ขณะอ่านข้อมูล
ในตัวอย่างที่ 2 ข้อมูล SYSIN จะถูกเก็บไว้ภายในชุดข้อมูลโดยที่ SAMPLE.SYSIN.DATA เป็นไฟล์ PS ซึ่งสามารถเก็บบันทึกข้อมูลได้ตั้งแต่หนึ่งรายการขึ้นไป
การป้อนข้อมูลผ่านไฟล์
ดังที่ได้กล่าวไว้ในตัวอย่างส่วนใหญ่ในบทก่อนหน้าการป้อนข้อมูลไปยังโปรแกรมสามารถจัดเตรียมผ่านไฟล์ PS, VSAM หรือ GDG พร้อมชื่อ DSN ที่เกี่ยวข้องและพารามิเตอร์ DISP พร้อมกับคำสั่ง DD
ในตัวอย่างที่ 1 SAMPLE.INPUT1 คือไฟล์อินพุตที่ข้อมูลถูกส่งผ่านไปยัง MYPROG เรียกว่า IN1 ภายในโปรแกรม
เอาต์พุตข้อมูลใน JCL
เอาต์พุตใน JCL สามารถแค็ตตาล็อกลงในชุดข้อมูลหรือส่งผ่านไปยัง SYSOUT ดังที่กล่าวไว้ในบทคำสั่ง DDSYSOUT=* เปลี่ยนเส้นทางเอาต์พุตไปยังคลาสเดียวกันกับที่กล่าวถึงในพารามิเตอร์ MSGCLASS ของคำสั่ง JOB
การบันทึกบันทึกงาน
การระบุ MSGCLASS=Yบันทึกบันทึกงานใน JMR (Joblog Management and Retrieval) บันทึก JOB ทั้งหมดสามารถเปลี่ยนทิศทางไปยัง SPOOL และสามารถบันทึกไปยังชุดข้อมูลได้โดยให้คำสั่ง XDC เทียบกับชื่องานใน SPOOL เมื่อกำหนดคำสั่ง XDC ใน SPOOL หน้าจอการสร้างชุดข้อมูลจะเปิดขึ้น จากนั้นสามารถบันทึกบันทึกงานได้โดยให้คำจำกัดความ PS หรือ PDS ที่เหมาะสม
นอกจากนี้ยังสามารถบันทึกบันทึกงานลงในชุดข้อมูลได้โดยกล่าวถึงชุดข้อมูลที่สร้างไว้แล้วสำหรับ SYSOUT และ SYSPRINT แต่ไม่สามารถบันทึกบันทึกงานทั้งหมดด้วยวิธีนี้ (กล่าวคือ JESMSG จะไม่ถูกจัดทำรายการ) เหมือนที่ทำใน JMR หรือ XDC
//SAMPINST JOB 1,CLASS=6,MSGCLASS=Y,NOTIFY=&SYSUID
//*
//STEP1 EXEC PGM=MYPROG
//IN1 DD DSN=MYDATA.URMI.INPUT,DISP=SHR
//OUT1 DD SYSOUT=*
//SYSOUT DD DSN=MYDATA.URMI.SYSOUT,DISP=SHR
//SYSPRINT DD DSN=MYDATA.URMI.SYSPRINT,DISP=SHR
//SYSIN DD MYDATA.BASE.LIB1(DATA1),DISP=SHR
//*
//STEP2 EXEC PGM=SORT
ในตัวอย่างข้างต้น SYSOUT ถูกแค็ตตาล็อกใน MYDATA.URMI.SYSOUT และ SYSPRINT ใน MYDATA.URMI.SYSPRINT