JCL - แถลงการณ์ของ EXEC

JCL แต่ละงานสามารถทำได้หลายขั้นตอน แต่ละขั้นตอนของงานสามารถเรียกใช้โปรแกรมได้โดยตรงหรือสามารถเรียกขั้นตอนซึ่งจะดำเนินการโปรแกรมอย่างน้อยหนึ่งโปรแกรม (ขั้นตอนงาน) คำสั่งที่เก็บข้อมูลโปรแกรมขั้นตอนงาน / ขั้นตอนคือEXEC statement.

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

ไวยากรณ์

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

//Step-name EXEC Positional-param, Keyword-param

คำอธิบาย

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

STEP-NAME

สิ่งนี้ระบุขั้นตอนงานภายใน JCL สามารถมีความยาวได้ตั้งแต่ 1 ถึง 8 โดยมีอักขระที่เป็นตัวเลขและตัวอักษร

EXEC

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

POSITIONAL-PARAM

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

พารามิเตอร์ตำแหน่ง คำอธิบาย
PGM นี่หมายถึงชื่อโปรแกรมที่จะดำเนินการในขั้นตอนงาน
PROC นี่หมายถึงชื่อโพรซีเดอร์ที่จะดำเนินการในขั้นตอนงาน เราจะพูดถึงบทที่แยกต่างหาก

คีย์เวิร์ด - PARAM

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

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

ใช้เพื่อจัดเตรียมข้อมูลพาราเมทริกให้กับโปรแกรมที่กำลังดำเนินการในขั้นตอนงาน นี่เป็นฟิลด์ที่ขึ้นกับโปรแกรมและไม่มีกฎที่แน่นอนยกเว้นว่าต้องรวมค่า PARM ไว้ในใบเสนอราคาในกรณีที่มีอักขระพิเศษ

ตัวอย่างเช่นด้านล่างค่า "CUST1000" จะถูกส่งเป็นค่าตัวเลขและตัวอักษรไปยังโปรแกรม หากโปรแกรมอยู่ใน COBOL ค่าที่ส่งผ่านพารามิเตอร์ PARM ใน JCL จะได้รับใน LINKAGE SECTION ของโปรแกรม

ADDRSPC

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

ADDRSPC=VIRT | REAL

เมื่อไม่มีการเข้ารหัส ADDRSPC VIRT จะเป็นค่าเริ่มต้น

ACCT

ข้อมูลนี้ระบุข้อมูลการบัญชีของขั้นตอนงาน ต่อไปนี้เป็นไวยากรณ์:

ACCT=(userid)

ซึ่งคล้ายกับพารามิเตอร์ตำแหน่ง accounting informationในคำสั่ง JOB หากมีการเข้ารหัสทั้งในคำสั่ง JOB และ EXEC ข้อมูลการบัญชีในคำสั่ง JOB จะใช้กับขั้นตอนงานทั้งหมดที่ไม่มีการเข้ารหัสพารามิเตอร์ ACCT พารามิเตอร์ ACCT ในคำสั่ง EXEC จะแทนที่พารามิเตอร์ที่มีอยู่ในคำสั่ง JOB สำหรับขั้นตอนงานนั้นเท่านั้น

พารามิเตอร์คีย์เวิร์ดทั่วไปของ EXEC และ JOB Statement

พารามิเตอร์คำหลัก คำอธิบาย
ADDRSPC ADDRSPC ที่เข้ารหัสในคำสั่ง JOB จะแทนที่ ADDRSPC ที่เข้ารหัสในคำสั่ง EXEC ของขั้นตอนงานใด ๆ
TIME หาก TIME ถูกเข้ารหัสในคำสั่ง EXEC จะใช้กับขั้นตอนงานนั้นเท่านั้น หากมีการระบุไว้ในคำสั่ง JOB และ EXEC ทั้งสองอย่างจะมีผลและอาจทำให้เกิดข้อผิดพลาดการหมดเวลาเนื่องจากข้อผิดพลาดอย่างใดอย่างหนึ่ง ไม่แนะนำให้ใช้พารามิเตอร์ TIME ทั้งในคำสั่ง JOB และ EXEC ร่วมกัน
REGION

หากมีการเข้ารหัส REGION ในคำสั่ง EXEC จะใช้กับขั้นตอนงานนั้นเท่านั้น

REGION ที่เข้ารหัสในคำสั่ง JOB จะแทนที่ REGION ที่เข้ารหัสในคำสั่ง EXEC ของขั้นตอนงานใด ๆ

COND

ใช้เพื่อควบคุมการดำเนินการขั้นตอนงานตามรหัสส่งคืนของขั้นตอนก่อนหน้า

ถ้าพารามิเตอร์ COND ถูกเข้ารหัสในคำสั่ง EXEC ของขั้นตอนงานพารามิเตอร์ COND ของคำสั่ง JOB (ถ้ามี) จะถูกละเว้น การทดสอบต่างๆที่สามารถทำได้โดยใช้พารามิเตอร์ COND อธิบายไว้ในการประมวลผลตามเงื่อนไข

ตัวอย่าง

ต่อไปนี้เป็นตัวอย่างง่ายๆของสคริปต์ JCL พร้อมกับคำสั่ง JOB และ EXEC:

//TTYYSAMP JOB 'TUTO',CLASS=6,MSGCLASS=X,REGION=8K,
//      NOTIFY=&SYSUID
//*
//STEP010 EXEC PGM=MYCOBOL,PARAM=CUST1000,
//      ACCT=(XXXX),REGION=8K,ADDRSPC=REAL,TIME=1440