In-Stream Procedures এবং Cataloged Procedures হল JCL-এ ব্যবহৃত দুটি ধরনের প্রক্রিয়া (procedures), যা প্রোগ্রাম চলানোর সময় কাজের পুনরাবৃত্তি কমাতে এবং কার্যকরীভাবে কাজ পরিচালনা করতে সাহায্য করে। এই প্রক্রিয়াগুলি জব (job) অথবা এক্সিকিউটেবল কোডের অংশ হিসেবে ব্যবহৃত হয়। তবে, তাদের মধ্যে কিছু পার্থক্য রয়েছে, যেমন ডিফাইন করার পদ্ধতি এবং ব্যবহারের ক্ষেত্রে।
1. In-Stream Procedures
In-Stream Procedure হল JCL ফাইলে সরাসরি ডিফাইন করা একটি procedure। এটি একটি জবের মধ্যে লিখিত থাকে এবং অন্য কোনো ফাইল বা লাইব্রেরি থেকে প্রক্রিয়া লোড করার প্রয়োজন হয় না। যখন কোনো প্রোগ্রাম বা স্ক্রিপ্টের জন্য একই প্রক্রিয়া বারবার ব্যবহার করার প্রয়োজন হয়, তখন In-Stream Procedure ব্যবহার করা হয়।
In-Stream Procedure-এর সিনট্যাক্স:
In-Stream Procedure সাধারণত JCL ফাইলের মধ্যে একে অপরের পর একাধিক স্টেটমেন্ট হিসেবে লেখা হয়। এটি একটি PROC স্টেটমেন্ট দিয়ে শুরু হয় এবং শেষ হয় PEND স্টেটমেন্ট দিয়ে।
//MYJOB JOB 'ACCOUNTING INFO'
//STEP1 EXEC PROC=MYPROC
//...
//MYPROC PROC
//STEP1A EXEC PGM=MYPROGRAM
//DD1 DD DSN=MY.INPUT,DISP=SHR
//PENDএখানে:
MYPROCহল একটি ইন-স্ট্রিম প্রক্রিয়া যাSTEP1Aএর এক্সিকিউশনে ব্যবহৃত হয়েছে।PENDস্টেটমেন্টটি প্রক্রিয়ার সমাপ্তি নির্দেশ করে।
In-Stream Procedure-এর সুবিধা:
- JCL ফাইলের মধ্যে সরাসরি প্রক্রিয়া ডিফাইন করা যায়।
- ছোট এবং দ্রুত ব্যবহারের জন্য উপযুক্ত।
- কোনো বাইরের ফাইলের প্রয়োজন নেই, ফলে সম্পাদনা ও লোডিং সহজ।
In-Stream Procedure-এর উদাহরণ:
//MYJOB JOB 'ACCOUNT INFO'
//STEP1 EXEC PROC=MYPROC
//MYPROC PROC
//STEP1A EXEC PGM=MYPROGRAM
//DD1 DD DSN=MY.INPUT,DISP=SHR
//PENDএখানে MYPROC নামে একটি ইন-স্ট্রিম প্রক্রিয়া তৈরি করা হয়েছে, যা STEP1A স্টেপে ব্যবহৃত হয়েছে।
2. Cataloged Procedures
Cataloged Procedures হল পূর্বে সংজ্ঞায়িত প্রক্রিয়া যেগুলি সিস্টেমে বা ক্লাস্টারে সংরক্ষিত থাকে। এগুলিকে সিস্টেমের মধ্যে বিভিন্ন জবের জন্য পুনরায় ব্যবহার করা যায়। এই প্রক্রিয়া ফাইলের মধ্যে সংরক্ষিত থাকে এবং বিভিন্ন প্রোগ্রাম বা JCL জবের মধ্যে যেকোনো সময় এক্সিকিউট করা যেতে পারে।
Cataloged Procedure-এর সিনট্যাক্স:
Cataloged Procedure সাধারণত একটি আলাদা পদ্ধতিতে সংরক্ষিত থাকে এবং JCL ফাইলে শুধু এক্সিকিউশন স্টেটমেন্ট (EXEC) দ্বারা ব্যবহৃত হয়।
//MYJOB JOB 'ACCOUNT INFO'
//STEP1 EXEC PGM=MYPROCEDURE
//...এখানে:
MYPROCEDUREহল একটি ক্যাটালগড প্রক্রিয়া, যা সিস্টেমে সংরক্ষিত আছে এবংSTEP1তে এক্সিকিউট করা হচ্ছে।
Cataloged Procedure-এর সুবিধা:
- JCL ফাইলে শুধুমাত্র প্রক্রিয়ার নাম উল্লেখ করতে হয়, ফলে কোডের পুনরাবৃত্তি কমে যায়।
- একবার তৈরি হলে, এটি সিস্টেমে সংরক্ষিত থাকে এবং একাধিক জব থেকে পুনঃব্যবহার করা যেতে পারে।
- বড় এবং জটিল প্রক্রিয়া পুনঃব্যবহারের জন্য উপযুক্ত।
Cataloged Procedure-এর উদাহরণ:
//MYJOB JOB 'ACCOUNT INFO'
//STEP1 EXEC PGM=MYCATPROCEDURE
//...এখানে, MYCATPROCEDURE একটি ক্যাটালগড প্রক্রিয়া যা সিস্টেমে সংরক্ষিত এবং STEP1 তে এক্সিকিউট করা হচ্ছে।
3. In-Stream এবং Cataloged Procedure-এর পার্থক্য
| বিষয় | In-Stream Procedure | Cataloged Procedure |
|---|---|---|
| সংরক্ষণ পদ্ধতি | JCL ফাইলের মধ্যে সরাসরি সংরক্ষিত হয়। | সিস্টেমের মধ্যে সংরক্ষিত এবং পুনঃব্যবহারযোগ্য। |
| ব্যবহার | শুধুমাত্র সেই নির্দিষ্ট JCL ফাইলের জন্য ব্যবহৃত হয়। | একাধিক JCL ফাইলে ব্যবহৃত হতে পারে। |
| ফাইলের অবস্থান | JCL ফাইলে সংজ্ঞায়িত করা হয়। | আলাদা একটি পদ্ধতিতে সিস্টেমে সংরক্ষিত হয়। |
| কোডের পুনরাবৃত্তি | কোড পুনরাবৃত্তি হয়, তবে ছোট আকারে। | কোড পুনরাবৃত্তি কম থাকে, কারণ এটি সিস্টেমে সংরক্ষিত থাকে। |
| উদাহরণ | //MYPROC PROC ... PEND | //STEP1 EXEC PGM=MYCATPROCEDURE |
সারসংক্ষেপ
- In-Stream Procedure JCL ফাইলের মধ্যে সরাসরি সংজ্ঞায়িত একটি প্রক্রিয়া যা কেবলমাত্র সেই নির্দিষ্ট জবের জন্য ব্যবহৃত হয়। এটি দ্রুত ব্যবহারের জন্য উপযুক্ত এবং কোনও বাইরের ফাইলের প্রয়োজন নেই।
- Cataloged Procedure হল একটি প্রক্রিয়া যা সিস্টেমে সংরক্ষিত থাকে এবং একাধিক জবের জন্য পুনঃব্যবহারযোগ্য। এটি বড় প্রক্রিয়া ও জটিল কাজের জন্য উপযুক্ত এবং কোডের পুনরাবৃত্তি কমায়।
এই দুটি প্রক্রিয়া JCL-এ কাজের পুনরাবৃত্তি কমাতে এবং কার্যকরীভাবে কাজ পরিচালনা করতে সহায়ক।
Read more