Job Control Language (JCL) এর সিনট্যাক্স এবং স্ট্রাকচার খুবই নির্দিষ্ট এবং সুনির্দিষ্টভাবে গঠন করা হয় যাতে এটি মেইনফ্রেম সিস্টেমে কার্যকরভাবে কাজ করতে পারে। JCL এর মৌলিক সিনট্যাক্স ও স্ট্রাকচারকে বুঝতে গেলে, এটি সাধারণত কিছু নির্দিষ্ট উপাদান নিয়ে গঠিত, যা একটি Job-এর অংশ হিসেবে কাজ করে।
JCL এর মূল উপাদান
Job Statement (Job স্টেটমেন্ট)
Job স্টেটমেন্ট হলো JCL এর প্রথম এবং সবচেয়ে গুরুত্বপূর্ণ উপাদান। এটি নির্দেশ দেয় যে মেইনফ্রেম সিস্টেমে যে কাজটি চলছে তা কী এবং তা কীভাবে পরিচালিত হবে। এটি Job Card হিসাবেও পরিচিত।
সিনট্যাক্স://jobname JOB (account information), 'job description', CLASS=x, MSGCLASS=y, MSGLEVEL=zjobname: এটি কাজটির নাম।account information: কাজের জন্য অ্যাকাউন্ট কোড।job description: কাজের বর্ণনা।CLASS=x: কাজের শ্রেণী।MSGCLASS=y: আউটপুট ক্লাস।MSGLEVEL=z: ম্যাসেজ লেভেল।
উদাহরণ:
//MYJOB JOB (ACCT001), 'Test Job', CLASS=A, MSGCLASS=XExec Statement (Exec স্টেটমেন্ট)
Exec স্টেটমেন্টে প্রোগ্রামটি চালানোর জন্য প্রয়োজনীয় তথ্য থাকে। এটি মূলত এক্সিকিউটেবল প্রোগ্রাম বা স্ক্রিপ্টের নাম এবং সেটি কিভাবে চালানো হবে তার নির্দেশ দেয়।
সিনট্যাক্স://stepname EXEC PGM=program_name, PARM=parametersstepname: এটি স্টেপের নাম, যা প্রোগ্রাম বা কাজের একটি অংশ।PGM=program_name: চালানো প্রোগ্রামের নাম।PARM=parameters: প্রোগ্রামের জন্য প্যারামিটার (যদি থাকে)।
উদাহরণ:
//STEP1 EXEC PGM=MYPROG, PARM='DATA'DD Statement (DD স্টেটমেন্ট)
DD স্টেটমেন্টটি ডেটা ডেফিনিশন নির্দেশ করে, যা ইনপুট বা আউটপুট ফাইলের সাথে সম্পর্কিত। এটি ডেটাসেটের স্থান, আকার, এবং ধরন নির্ধারণ করে।
সিনট্যাক্স://ddname DD DSN=data_set_name, DISP=(status, delete, keep), UNIT=unit_name, SPACE=(primary, secondary)ddname: ফাইল বা ডেটাসেটের নাম।DSN=data_set_name: ডেটাসেটের নাম।DISP=(status, delete, keep): ফাইলের স্ট্যাটাস (এটি নির্দেশ করে যে ফাইলটি তৈরি হবে, ব্যবহৃত হবে অথবা মুছে ফেলা হবে)।UNIT=unit_name: ডিস্ক বা টেপ ড্রাইভের নাম।SPACE=(primary, secondary): ডিস্ক স্পেস বরাদ্দের আকার।
উদাহরণ:
//INFILE DD DSN=MYDATA.INPUT, DISP=SHR, UNIT=SYSDA, SPACE=(CYL, (5, 10))
JCL এর স্ট্রাকচার
JCL এর স্ট্রাকচার সাধারণত তিনটি মূল অংশে বিভক্ত:
- Job Statement (Job স্টেটমেন্ট):
এটি একটি জব (কাজ) শুরু করতে ব্যবহৃত হয় এবং সিস্টেমে কাজটি চালানোর জন্য প্রাথমিক নির্দেশনা প্রদান করে। - Exec Statement (Exec স্টেটমেন্ট):
এটি জবের বিভিন্ন স্টেপগুলোকে নির্দেশ করে। প্রতিটি স্টেপ একটি নির্দিষ্ট কাজ বা প্রোগ্রাম চালায়। - DD Statement (DD স্টেটমেন্ট):
এটি ডেটাসেট সম্পর্কিত সমস্ত তথ্য পরিচালনা করে, যেমন ইনপুট, আউটপুট, এবং রিড/রাইট অপারেশন সম্পর্কিত নির্দেশনা।
উদাহরণ
এটি একটি সাধারণ JCL স্ক্রিপ্ট যা একটি প্রোগ্রাম চালানোর জন্য ইনপুট এবং আউটপুট ফাইল পরিচালনা করে:
//MYJOB JOB (ACCT001), 'Test Program', CLASS=A, MSGCLASS=X
//STEP1 EXEC PGM=MYPROG, PARM='INPUT'
//INFILE DD DSN=MYDATA.INPUT, DISP=SHR, UNIT=SYSDA, SPACE=(CYL, (5, 10))
//OUTFILE DD DSN=MYDATA.OUTPUT, DISP=(NEW,CATLG,DELETE), UNIT=SYSDA, SPACE=(CYL, (10, 20))এখানে:
MYJOBহল কাজের নাম।STEP1হল প্রথম স্টেপের নাম এবং এটিMYPROGপ্রোগ্রামটি চালাবে।INFILEওOUTFILEহল ইনপুট এবং আউটপুট ডেটাসেটের ডেটা ডেফিনিশন (DD) স্টেটমেন্ট।
সারসংক্ষেপ
JCL এর বেসিক সিনট্যাক্স এবং স্ট্রাকচার খুবই সুনির্দিষ্ট এবং সহজেই বুঝতে পারা যায়। এটি মূলত তিনটি অংশে বিভক্ত: Job Statement, Exec Statement, এবং DD Statement। এই উপাদানগুলো সঠিকভাবে ব্যবহৃত হলে, মেইনফ্রেম সিস্টেমে কাজের কার্যক্রম সঠিকভাবে নিয়ন্ত্রিত এবং পরিচালিত হয়। JCL এর সঠিক সিনট্যাক্স এবং স্ট্রাকচার অনুসরণ করে মেইনফ্রেমে বিভিন্ন ধরনের কাজের প্রসেসিং সম্পাদন করা যায়।
Read more