JCL - แถลงการณ์งาน

JOB Statement เป็นคำสั่งควบคุมแรกใน JCL สิ่งนี้ให้ข้อมูลประจำตัวของงานแก่ระบบปฏิบัติการ (OS) ในสปูลและในตัวกำหนดตารางเวลา พารามิเตอร์ในคำสั่ง JOB ช่วยระบบปฏิบัติการในการจัดสรรตัวกำหนดตารางเวลาที่เหมาะสมเวลา CPU ที่ต้องการและการแจ้งเตือนให้กับผู้ใช้

ไวยากรณ์

ต่อไปนี้เป็นไวยากรณ์พื้นฐานของคำสั่ง JCL JOB:

//Job-name JOB Positional-param, Keyword-param

คำอธิบาย

ให้เราดูคำอธิบายของคำที่ใช้ในไวยากรณ์คำสั่ง JOB ข้างต้น

ชื่องาน

สิ่งนี้จะให้ id ของงานในขณะที่ส่งไปยัง OS มีความยาวได้ตั้งแต่ 1 ถึง 8 โดยมีอักขระที่เป็นตัวเลขและตัวอักษรและเริ่มหลังจาก //

งาน

นี่คือคีย์เวิร์ดเพื่อระบุว่าเป็นคำสั่ง JOB

ตำแหน่ง - พารามิเตอร์

มีพารามิเตอร์ตำแหน่งซึ่งสามารถมีได้สองประเภท:

พารามิเตอร์ตำแหน่ง คำอธิบาย
Account information หมายถึงบุคคลหรือกลุ่มที่ค้างเวลา CPU มันถูกกำหนดตามกฎของ บริษัท ที่เป็นเจ้าของเมนเฟรม หากระบุเป็น (*) จะใช้รหัสของผู้ใช้ที่ล็อกอินเข้าสู่ Mainframe Terminal
Programmer name ข้อมูลนี้ระบุบุคคลหรือกลุ่มที่รับผิดชอบ JCL นี่ไม่ใช่พารามิเตอร์บังคับและสามารถแทนที่ได้ด้วยลูกน้ำ

คีย์เวิร์ด - พารามิเตอร์

ต่อไปนี้เป็นพารามิเตอร์คีย์เวิร์ดต่างๆซึ่งสามารถใช้ในคำสั่ง JOB คุณสามารถใช้พารามิเตอร์อย่างน้อยหนึ่งพารามิเตอร์ตามข้อกำหนดและคั่นด้วยเครื่องหมายจุลภาค:

พารามิเตอร์คำหลัก คำอธิบาย
CLASS

ตามระยะเวลาและจำนวนทรัพยากรที่งานต้องการ บริษัท ต่างๆจะกำหนดชั้นงานที่แตกต่างกัน สิ่งเหล่านี้สามารถมองเห็นเป็นตัวกำหนดตารางเวลาแต่ละตัวที่ OS ใช้เพื่อรับงาน การวางงานในตัวกำหนดตารางเวลาที่เหมาะสมจะช่วยในการดำเนินงานได้ง่าย บาง บริษัท มีชั้นเรียนที่แตกต่างกันสำหรับงานในสภาพแวดล้อมการทดสอบและการผลิต

ค่าที่ถูกต้องสำหรับพารามิเตอร์ CLASS คืออักขระ A ถึง Z และตัวเลข 0 ถึง 9 (ของความยาว 1) ต่อไปนี้เป็นไวยากรณ์:

CLASS=0 to 9 | A to Z

PRTY

เพื่อระบุลำดับความสำคัญของงานภายในระดับงาน หากไม่ได้ระบุพารามิเตอร์นี้งานจะถูกเพิ่มที่ส่วนท้ายของคิวใน CLASS ที่ระบุ ต่อไปนี้เป็นไวยากรณ์:

PRTY=N

โดยที่ N คือตัวเลขที่อยู่ระหว่าง 0 ถึง 15 และตัวเลขที่สูงกว่าจะมีลำดับความสำคัญสูงกว่า

NOTIFY

ระบบส่งข้อความความสำเร็จหรือความล้มเหลว (รหัสเงื่อนไขสูงสุด) ไปยังผู้ใช้ที่ระบุในพารามิเตอร์นี้ ต่อไปนี้เป็นไวยากรณ์:

NOTIFY="userid | &SYSUID"

ที่นี่ระบบจะส่งข้อความไปยังผู้ใช้ "userid" แต่ถ้าเราใช้ NOTIFY = & SYSUID ข้อความจะถูกส่งไปยังผู้ใช้ที่ส่ง JCL

MSGCLASS

เพื่อระบุปลายทางเอาต์พุตสำหรับระบบและข้อความงานเมื่องานเสร็จสมบูรณ์ ต่อไปนี้เป็นไวยากรณ์:

MSGCLASS=CLASS

ค่าที่ถูกต้องของ CLASS สามารถอยู่ในช่วง "A" ถึง "Z" และ "0" ถึง "9" MSGCLASS = Y สามารถตั้งค่าเป็นคลาสเพื่อส่งบันทึกงานไปยัง JMR (JOBLOG Management and Retrieval: ที่เก็บภายในเมนเฟรมเพื่อเก็บสถิติงาน)

MSGLEVEL

ระบุชนิดของข้อความที่จะเขียนไปยังปลายทางเอาต์พุตที่ระบุใน MSGCLASS ต่อไปนี้เป็นไวยากรณ์:

MSGLEVEL=(ST, MSG)

ST = ประเภทของคำสั่งที่เขียนลงในบันทึกเอาต์พุต

  • เมื่อST = 0 คำสั่งงานเท่านั้น

  • เมื่อST = 1, JCL พร้อมกับพารามิเตอร์สัญลักษณ์ขยาย

  • เมื่อST = 2 ป้อน JCL เท่านั้น

MSG = ประเภทของข้อความที่เขียนลงในบันทึกผลลัพธ์

  • เมื่อMSG = 0 ข้อความการจัดสรรและการเลิกจ้างเขียนเมื่องานเสร็จผิดปกติ

  • เมื่อMSG = 1 ข้อความการจัดสรรและการเลิกจ้างเขียนขึ้นโดยไม่คำนึงถึงลักษณะของการเสร็จงาน

TYPRUN

ระบุการประมวลผลพิเศษสำหรับงาน ต่อไปนี้เป็นไวยากรณ์:

TYPRUN = SCAN | HOLD

โดยที่ SCAN และ HOLD มีคำอธิบายดังต่อไปนี้

  • TYPRUN = SCAN ตรวจสอบข้อผิดพลาดทางไวยากรณ์ของ JCL โดยไม่ต้องดำเนินการ

  • TYPRUN = HOLD ทำให้งานอยู่ใน HOLD ในคิวงานในการปล่อยงานคุณสามารถพิมพ์ "A" เทียบกับงานใน SPOOL ซึ่งจะนำงานไปสู่การดำเนินการ

TIME

ระบุช่วงเวลาที่โปรเซสเซอร์จะใช้เพื่อดำเนินการงาน ต่อไปนี้เป็นไวยากรณ์:

TIME=(mm, ss) or TIME=ss

โดยที่ mm = minutes และ ss = seconds

พารามิเตอร์นี้มีประโยชน์ในขณะทดสอบโปรแกรมที่เข้ารหัสใหม่ เพื่อให้แน่ใจว่าโปรแกรมจะไม่ทำงานเป็นเวลานานเนื่องจากข้อผิดพลาดในการวนซ้ำสามารถเข้ารหัสพารามิเตอร์เวลาเพื่อให้โปรแกรมหยุดทำงานเมื่อถึงเวลา CPU ที่ระบุ

REGION

ระบุพื้นที่แอดเดรสที่จำเป็นในการรันขั้นตอนงานภายในงาน ต่อไปนี้เป็นไวยากรณ์:

REGION=nK | nM

ในที่นี้สามารถระบุภูมิภาคเป็น nK หรือ nM โดยที่ n คือตัวเลข K คือกิโลไบต์และ M คือเมกะไบต์

เมื่อ REGION = 0K หรือ 0M พื้นที่แอดเดรสที่ใหญ่ที่สุดจะถูกจัดเตรียมไว้สำหรับการดำเนินการในแอปพลิเคชันที่สำคัญห้ามใช้การเข้ารหัส 0K หรือ 0M เพื่อหลีกเลี่ยงการเสียพื้นที่แอดเดรส

ตัวอย่าง

//URMISAMP JOB (*),"tutpoint",CLASS=6,PRTY=10,NOTIFY=&SYSUID, 
//   MSGCLASS=X,MSGLEVEL=(1,1),TYPRUN=SCAN, 
//   TIME=(3,0),REGION=10K

ที่นี่คำสั่ง JOB จะขยายออกไปเกินตำแหน่งที่ 70 ในบรรทัดดังนั้นเราจึงดำเนินการต่อในบรรทัดถัดไปซึ่งควรเริ่มต้นด้วย "//" ตามด้วยช่องว่างอย่างน้อยหนึ่งช่อง

พารามิเตอร์เบ็ดเตล็ด

มีพารามิเตอร์อื่น ๆ อีกเล็กน้อยที่สามารถใช้กับ JOB Statement ได้ แต่มักไม่ได้ใช้:

ADDRSPC ประเภทของที่เก็บข้อมูลที่ใช้: เสมือนหรือจริง
BYTES ขนาดของข้อมูลที่จะเขียนลงในบันทึกเอาต์พุตและการดำเนินการที่ต้องดำเนินการเมื่อเกินขนาด
LINES จำนวนบรรทัดสูงสุดที่จะพิมพ์ในบันทึกเอาต์พุต
PAGES จำนวนหน้าสูงสุดที่จะพิมพ์ในบันทึกเอาต์พุต
USER รหัสผู้ใช้ที่ใช้ในการส่งงาน
PASSWORD รหัสผ่านของรหัสผู้ใช้ที่ระบุในพารามิเตอร์ USER
COND and RESTART สิ่งเหล่านี้ใช้ในการประมวลผลขั้นตอนงานแบบมีเงื่อนไขและอธิบายโดยละเอียดในขณะที่พูดถึงการประมวลผลตามเงื่อนไข