JCL (Job Control Language) এর দ্বিতীয় অংশ হল Exec Statement যা একটি নির্দিষ্ট প্রোগ্রাম বা স্ক্রিপ্ট চালানোর নির্দেশ প্রদান করে। এই স্টেটমেন্টটি JCL স্ক্রিপ্টের মধ্যে দেওয়া প্রোগ্রাম বা স্ক্রিপ্টকে কার্যকর করতে ব্যবহৃত হয় এবং এটি কাজের স্টেপগুলি পরিচালনা করে।
EXEC Statement এর কাঠামো
JCL-এ Exec Statement এর সাধারণ কাঠামো নিচের মতো:
//stepname EXEC PGM=program_name, PARM=parametersএখানে:
stepname: এটি স্টেপের নাম যা প্রোগ্রাম বা কাজের একটি অংশ। একটি Job-এ একাধিক স্টেপ থাকতে পারে, এবং প্রতিটি স্টেপের জন্য একটি আলাদা নাম থাকে।PGM=program_name: এটি প্রোগ্রামের নাম যেটি এক্সিকিউট করা হবে। প্রোগ্রামটি সাধারণত সিস্টেমে স্থাপিত বা ডেটাসেটের অংশ হতে পারে।PARM=parameters: প্রোগ্রামের জন্য অতিরিক্ত প্যারামিটার সরবরাহ করতে ব্যবহৃত হয়। যদি প্রোগ্রামটি কোন ইনপুট বা কনফিগারেশন প্যারামিটার নেয়, তবে সেগুলি এখানে দেওয়া হয়।
EXEC Statement এর উদাহরণ
//STEP1 EXEC PGM=MYPROG, PARM='INPUT_FILE'এখানে:
STEP1: স্টেপের নাম, যা কাজের একটি অংশ।PGM=MYPROG: এই স্টেপে চলবে প্রোগ্রামMYPROG।PARM='INPUT_FILE': প্রোগ্রামটিINPUT_FILEনামে একটি ইনপুট ফাইলকে প্যারামিটার হিসেবে নেবে।
EXEC Statement এর বিভিন্ন অপশন
PGM=program_name
এটি প্রোগ্রামের নাম নির্দেশ করে যা চালানো হবে। এটি একটি সম্পূর্ণ প্রোগ্রাম বা স্ক্রিপ্ট হতে পারে যা JCL এর মধ্যে কাজ করবে।PARM=parameters
এটি প্রোগ্রামের জন্য অতিরিক্ত প্যারামিটার প্রদান করে। কিছু প্রোগ্রাম ইনপুট ফাইল, ডেটাবেস নাম, বা অন্যান্য কনফিগারেশন প্যারামিটার গ্রহণ করতে পারে।PARMপ্যারামিটারটি ঐ প্রোগ্রামের জন্য ডেটা পাঠানোর জন্য ব্যবহৃত হয়।COND
এই অপশনটি নির্দিষ্ট করে দেয় যে, কোনো স্টেপটি নির্দিষ্ট শর্ত পূরণ হলে চলবে না। উদাহরণস্বরূপ, যদি কোনো স্টেপ সফলভাবে সম্পন্ন না হয়, তবে পরবর্তী স্টেপটি চালানোর প্রয়োজন নেই। এর মান হতে পারেCOND=(0,LT)যা ০ ত্রুটি কোডে পরবর্তী স্টেপ চালাবে না।উদাহরণ:
//STEP2 EXEC PGM=MYPROG, COND=(0,LT)TIME
এটি প্রোগ্রামের জন্য অনুমোদিত সর্বাধিক রান টাইম নির্ধারণ করে। যদি নির্ধারিত সময়সীমার মধ্যে প্রোগ্রামটি শেষ না হয়, তবে এটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে।উদাহরণ:
//STEP3 EXEC PGM=MYPROG, TIME=10
EXEC Statement এর একটি উদাহরণ
ধরা যাক, আপনার কাছে একটি ডেটা প্রসেসিং প্রোগ্রাম রয়েছে যা ইনপুট হিসেবে একটি ফাইল গ্রহণ করে এবং আউটপুট ফাইলে ফলাফল লিখে। এটি বাস্তবায়ন করার জন্য একটি EXEC Statement হবে:
//PROCESS_DATA EXEC PGM=PROCESS, PARM='INPUT.DAT, OUTPUT.DAT'এখানে:
PROCESS_DATA: স্টেপের নাম।PGM=PROCESS: প্রোগ্রামPROCESSচালানোর জন্য নির্দেশ।PARM='INPUT.DAT, OUTPUT.DAT': প্রোগ্রামটি দুটি প্যারামিটার নেবে—একটি ইনপুট ফাইলINPUT.DATএবং একটি আউটপুট ফাইলOUTPUT.DAT।
EXEC Statement এর ব্যবহার
Exec Statement ব্যবহার করে আপনি বিভিন্ন কাজ করতে পারেন যেমন:
- প্রোগ্রাম চালানো।
- স্ক্রিপ্ট বা সাবরুটিন এক্সিকিউট করা।
- ডেটা প্রসেসিং স্টেপ নির্ধারণ করা।
এটি JCL স্ক্রিপ্টের মধ্যে সবচেয়ে গুরুত্বপূর্ণ অংশগুলির একটি, কারণ এটি প্রোগ্রাম বা স্ক্রিপ্ট কার্যকর করার জন্য একটি নির্দিষ্ট নির্দেশ প্রদান করে।
সারসংক্ষেপ
Exec Statement হল JCL এর একটি অপরিহার্য অংশ যা মেইনফ্রেম সিস্টেমে প্রোগ্রাম বা স্ক্রিপ্ট চালানোর নির্দেশ দেয়। এটি প্রোগ্রামের নাম এবং প্যারামিটার সহ নির্দেশনা প্রদান করে, যার মাধ্যমে কাজের স্টেপগুলি কার্যকর হয়। বিভিন্ন অপশন যেমন COND, TIME, এবং PARM এর মাধ্যমে প্রোগ্রামের আচরণ নিয়ন্ত্রণ করা যায়, যা ব্যাচ প্রোগ্রামিং এবং ডেটা প্রসেসিংয়ের জন্য গুরুত্বপূর্ণ ভূমিকা পালন করে।
EXEC স্টেটমেন্ট হল JCL (Job Control Language) এর একটি অপরিহার্য অংশ, যা একটি নির্দিষ্ট স্টেপ বা প্রোগ্রাম চালানোর জন্য ব্যবহৃত হয়। যখন একটি JOB স্টেটমেন্ট একটি কাজের সূচনা করে, তখন EXEC স্টেটমেন্ট সেই কাজের বিভিন্ন স্টেপ বা ধাপ নির্দেশ করে, যেখানে প্রতিটি স্টেপে একটি নির্দিষ্ট প্রোগ্রাম বা স্ক্রিপ্ট চালানো হয়। EXEC স্টেটমেন্টের মাধ্যমে মেইনফ্রেম সিস্টেমকে জানানো হয় যে একটি নির্দিষ্ট প্রোগ্রাম বা স্ক্রিপ্ট চালানোর জন্য কোন ইনপুট, আউটপুট বা প্যারামিটার ব্যবহার করা হবে।
EXEC স্টেটমেন্টের গঠন
একটি EXEC স্টেটমেন্টের সাধারণ গঠন হলো:
//stepname EXEC PGM=program_name, PARM=parametersএখানে:
- stepname: এটি স্টেপের নাম যা JCL স্ক্রিপ্টে ব্যবহৃত হয়। এটি একটি পরিচিতি নাম যা নির্দেশ করে যে এই স্টেপে কী কার্যক্রম সম্পন্ন হবে।
- PGM=program_name: এখানে
program_nameহল সেই প্রোগ্রাম বা স্ক্রিপ্টের নাম যা চালানোর জন্য নির্ধারিত হয়েছে। এটি হতে পারে একটি মেইনফ্রেম প্রোগ্রাম, যেমন COBOL, FORTRAN, বা অন্যান্য যেকোনো প্রোগ্রাম। - PARM=parameters: এটি প্রোগ্রামের জন্য প্রেরিত প্যারামিটার। যদি প্রোগ্রামটি কোনও ইনপুট বা নির্দিষ্ট নির্দেশনা প্রয়োজন করে, তবে সেগুলি এখানে উল্লেখ করা হয়। এই প্যারামিটারগুলি প্রোগ্রামের মধ্যে বিভিন্ন ফাংশন বা ডেটা প্রবাহ পরিচালনা করে।
EXEC স্টেটমেন্টের উদাহরণ
এখানে একটি EXEC স্টেটমেন্টের উদাহরণ দেওয়া হলো:
//STEP1 EXEC PGM=MYPROG, PARM='INPUTFILE,OUTPUTFILE'এখানে:
- STEP1: এটি স্টেপের নাম, যা নির্দেশ করে এই স্টেপের নাম কী হবে।
- PGM=MYPROG: এটি সেই প্রোগ্রামের নাম যা এই স্টেপে চালানো হবে (এই উদাহরণে,
MYPROGনামের প্রোগ্রামটি চালানো হবে)। - PARM='INPUTFILE,OUTPUTFILE': এখানে দুটি প্যারামিটার উল্লেখ করা হয়েছে,
INPUTFILEএবংOUTPUTFILE। এটি প্রোগ্রামটিকে নির্দেশ দিচ্ছে যে প্রথম প্যারামিটার হিসেবে ইনপুট ফাইল এবং দ্বিতীয় প্যারামিটার হিসেবে আউটপুট ফাইল ব্যবহৃত হবে।
EXEC স্টেটমেন্টে অন্যান্য অপশন
EXEC স্টেটমেন্টে কিছু অপশনাল প্যারামিটার ব্যবহার করা যেতে পারে, যেমন:
- COND=condition_code: এই প্যারামিটারটি স্টেপটি চালানোর শর্ত নির্ধারণ করে। যদি পূর্ববর্তী স্টেপ সফল না হয়, তাহলে এটি পরবর্তী স্টেপটি চালানোর শর্ত নির্ধারণ করে। উদাহরণস্বরূপ,
COND=ONLYমানে কেবলমাত্র পূর্ববর্তী স্টেপ সফল হলে পরবর্তী স্টেপ চালানো হবে। - TIME=hhmm: এটি স্টেপের জন্য সর্বাধিক চালানোর সময়সীমা নির্ধারণ করে। উদাহরণস্বরূপ,
TIME=0600মানে স্টেপটি ৬ ঘণ্টার মধ্যে শেষ হতে হবে। - MSGLEVEL=level: এটি ম্যাসেজ লেভেল নির্ধারণ করে, যেখানে
levelহল ম্যাসেজের বিস্তারিততার স্তর। উদাহরণস্বরূপ,MSGLEVEL=1শুধুমাত্র গুরুত্বপূর্ণ ম্যাসেজ প্রদর্শন করবে। - NOTIFY=userid: EXEC স্টেটমেন্টের শেষে এই প্যারামিটারটি ব্যবহার করে কাজটি শেষ হওয়ার পর নির্দিষ্ট ব্যবহারকারীকে জানানো যায়।
EXEC স্টেটমেন্টের উদাহরণ (বিভিন্ন অপশন সহ)
//STEP1 EXEC PGM=MYPROG, PARM='INPUT,OUTPUT', COND=(4,LT), TIME=1200, MSGLEVEL=1এখানে:
- STEP1: স্টেপের নাম।
- PGM=MYPROG: প্রোগ্রামের নাম।
- PARM='INPUT,OUTPUT': ইনপুট এবং আউটপুট ফাইলের নাম প্যারামিটার হিসেবে।
- COND=(4,LT): পূর্ববর্তী স্টেপের ফলাফল যদি ৪-এর চেয়ে কম হয় তবে পরবর্তী স্টেপ চালানো হবে।
- TIME=1200: এই স্টেপটির জন্য সর্বাধিক ১২ ঘণ্টার সময় বরাদ্দ করা হয়েছে।
- MSGLEVEL=1: ম্যাসেজ লেভেল ১, শুধুমাত্র প্রাথমিক ম্যাসেজগুলো দেখানো হবে।
সারসংক্ষেপ
EXEC স্টেটমেন্ট JCL এর মধ্যে একটি অত্যন্ত গুরুত্বপূর্ণ অংশ, যা কাজের বিভিন্ন স্টেপ বা ধাপ পরিচালনা করার জন্য ব্যবহৃত হয়। এটি প্রোগ্রাম বা স্ক্রিপ্ট চালানোর জন্য একটি নির্দেশনা প্রদান করে এবং প্রোগ্রামের জন্য প্রয়োজনীয় প্যারামিটার নির্ধারণ করে। EXEC স্টেটমেন্টের মধ্যে বিভিন্ন অপশন যেমন COND, TIME, MSGLEVEL, এবং NOTIFY ব্যবহৃত হতে পারে, যা প্রোগ্রাম চলানোর শর্ত, সময়সীমা, এবং ম্যাসেজ স্তর নির্ধারণ করে। JCL এর সঠিক ব্যবহার কর্মক্ষমতা এবং সিস্টেমের কার্যকারিতা বাড়াতে সহায়তা করে।
JCL (Job Control Language) ব্যবহারে Program এবং PROC দুটি গুরুত্বপূর্ণ উপাদান, তবে তাদের উদ্দেশ্য এবং ব্যবহার সম্পূর্ণ ভিন্ন। আসুন, Program এবং PROC এর মধ্যে পার্থক্যগুলো বিস্তারিতভাবে দেখি।
1. Program (প্রোগ্রাম)
Program হলো একটি নির্দিষ্ট কোড বা স্ক্রিপ্ট, যা নির্দিষ্ট কাজ সম্পাদন করতে ডিজাইন করা হয়েছে। JCL-এ, Program সাধারণত EXEC স্টেটমেন্টের মাধ্যমে চালানো হয় এবং এটি নির্দিষ্ট কার্যক্রম সম্পাদন করে। প্রোগ্রামটি নির্দিষ্ট একটি কার্যক্রম, যেমন ডেটা প্রসেসিং, হিসাব করা, ফাইল তৈরি করা ইত্যাদি।
Program এর উদাহরণ:
ধরা যাক, একটি প্রোগ্রাম রয়েছে যার নাম MYPROG এবং এটি কিছু ইনপুট ডেটা প্রক্রিয়া করবে।
JCL সিনট্যাক্স:
//STEP1 EXEC PGM=MYPROG, PARM='INPUT=DATA1'এখানে, PGM=MYPROG নির্দেশ করছে যে MYPROG প্রোগ্রামটি চালানো হবে এবং PARM='INPUT=DATA1' প্যারামিটারটি প্রোগ্রামের ইনপুট তথ্য সরবরাহ করবে।
Program এর বৈশিষ্ট্য:
- প্রোগ্রাম সাধারণত একক কাজ সম্পাদন করে।
- প্রতিটি প্রোগ্রাম আলাদা এবং নির্দিষ্ট কার্যক্রমের জন্য ডিজাইন করা হয়।
- প্রোগ্রামটি নির্দিষ্টভাবে কাস্টমাইজড হয়ে থাকে এবং প্রোগ্রামিং ল্যাঙ্গুয়েজে লেখা থাকে (যেমন C, COBOL, Assembler, Python ইত্যাদি)।
- EXEC স্টেটমেন্টের মাধ্যমে প্রোগ্রাম চালানো হয়।
2. PROC (Procedure)
PROC (Procedure) হলো একটি প্রি-ডিফাইনড কাজের সমষ্টি বা রিপিটেবল কার্যক্রম। এটি সাধারণত একটি নির্দিষ্ট কাজ বা কার্যকলাপের গ্রুপ, যা একাধিক বার ব্যবহার করা যেতে পারে। PROC সাধারণত JCL Procedure হিসেবে পরিচিত এবং এটি একাধিক জব বা স্টেপে পুনরায় ব্যবহৃত হতে পারে।
যদি কোনো নির্দিষ্ট কাজ একাধিক বার করা প্রয়োজন হয়, তবে PROC ব্যবহার করা হয় যাতে কোডটি একবার লিখে, বিভিন্ন জায়গায় পুনরায় ব্যবহার করা যায়। PROC একটি ধরনের ফাংশন বা সাবরুটিন হিসেবে কাজ করে যা নির্দিষ্ট কাজগুলো একাধিক জায়গায় ব্যবহার করতে সহায়তা করে।
PROC এর উদাহরণ:
ধরা যাক, একটি PROC তৈরি করা হয়েছে যা কিছু সাধারণ কাজ সম্পাদন করবে (যেমন, ইনপুট ডেটা প্রসেস করা) এবং এটি বিভিন্ন স্টেপে ব্যবহৃত হবে।
JCL সিনট্যাক্স:
//MYPROC EXEC PGM=PROCESSOR, PARM='INPUT=DATA1'
//STEP1 EXEC MYPROC, PARM='INPUT=DATA1'
//STEP2 EXEC MYPROC, PARM='INPUT=DATA2'এখানে, MYPROC হলো একটি প্রক্রিয়া (procedure) এবং একাধিক স্টেপে এটি ব্যবহার করা হয়েছে। প্রতিটি স্টেপে PARM প্যারামিটার ভিন্ন হতে পারে, তবে PROC-এর মূল কার্যক্রম একই থাকে।
PROC এর বৈশিষ্ট্য:
- PROC হলো পূর্বনির্ধারিত বা ফাংশনাল কোড যা একাধিকবার ব্যবহার করা যেতে পারে।
- এটি একটি কম্প্লেক্স কার্যক্রমের সংকলন হতে পারে, যা বিভিন্ন জব বা স্টেপে পুনরায় ব্যবহৃত হতে পারে।
- PROC-কে
EXECস্টেটমেন্টের মাধ্যমে কল করা হয়। - PROCEDURE-এর মাধ্যমে কোড পুনঃব্যবহারযোগ্য হয়, যা কোড পুনরায় লিখতে হয় না।
- PROC-এ বিভিন্ন স্টেপ বা কাজের গ্রুপ থাকতে পারে।
Program এবং PROC এর পার্থক্য:
| বিষয় | Program (প্রোগ্রাম) | PROC (প্রসিডিউর) |
|---|---|---|
| প্রাথমিক ধারণা | একটি নির্দিষ্ট কাজ সম্পাদন করতে ব্যবহৃত কোড বা স্ক্রিপ্ট। | একাধিক স্টেপ বা কাজের একটি সংকলন, যা পুনরায় ব্যবহার করা যায়। |
| ব্যবহার | একক কাজ বা প্রোগ্রামের জন্য ব্যবহৃত হয়। | পুনরায় ব্যবহারের জন্য নির্দিষ্ট কাজের সমষ্টি। |
| অংশের সংখ্যা | সাধারণত একক কাজ বা স্টেপ। | একাধিক স্টেপ বা কাজের সমষ্টি। |
| ব্রেকডাউন | প্রোগ্রামটি একাধিক কার্যক্রম বা অপারেশন সম্পাদন করতে পারে। | PROC-এর মধ্যে একাধিক ছোট কাজ বা কার্যক্রম থাকতে পারে। |
| কোড পুনঃব্যবহার | প্রোগ্রাম সাধারণত একবার ব্যবহার করা হয়। | PROC পুনঃব্যবহারযোগ্য এবং একাধিকবার ব্যবহৃত হয়। |
| সিনট্যাক্স | EXEC PGM=program_name | EXEC PROC=procedure_name |
| পরিকল্পনা | একক কার্যক্রম বা কাজের জন্য। | একটি নির্দিষ্ট কাজের গ্রুপ বা স্কেলেবল পদ্ধতি। |
সারসংক্ষেপ
- Program হলো একটি নির্দিষ্ট কাজ বা কার্যক্রম সম্পাদনকারী কোড বা স্ক্রিপ্ট। এটি সাধারণত একক কাজের জন্য ব্যবহৃত হয় এবং একাধিকবার ব্যবহার করা হয় না।
- PROC হলো একাধিক কাজের একটি সংকলন, যা বারবার পুনরায় ব্যবহার করা যায় এবং বিভিন্ন স্টেপে কার্যক্রমের পুনঃব্যবহারযোগ্যতা নিশ্চিত করে।
এখানে, Program সিস্টেমের একটি নির্দিষ্ট কাজ বা কাজের সিরিজের জন্য ব্যবহৃত হয়, যেখানে PROC একটি প্রক্রিয়া বা ফাংশন হিসেবে কাজ করে, যা একাধিক জব বা স্টেপে ব্যবহার করা যেতে পারে।
JCL (Job Control Language)-এ PGM (Program) প্যারামিটার ব্যবহার করা হয় প্রোগ্রাম বা এক্সিকিউটেবল (Executable) প্রক্রিয়া চালানোর জন্য। এই প্যারামিটারটি নির্ধারণ করে যে কোন প্রোগ্রাম বা স্ক্রিপ্টটি JCL স্ক্রিপ্টের মধ্যে চলবে। PGM প্যারামিটারটি EXEC স্টেটমেন্টের অংশ হিসেবে ব্যবহৃত হয় এবং এটি মূল কাজের প্রক্রিয়াটি চালানোর জন্য প্রয়োজনীয় তথ্য প্রদান করে।
PGM Parameter সিনট্যাক্স
//stepname EXEC PGM=program_name, parameter=value- stepname: এটি জবের স্টেপের নাম, যা কাজের অংশকে চিহ্নিত করে।
- PGM=program_name: এখানে
program_nameহল প্রোগ্রাম বা এক্সিকিউটেবল প্রক্রিয়া যা চালাতে হবে। - parameter=value: প্রোগ্রামের জন্য নির্দিষ্ট প্যারামিটার বা আর্গুমেন্টস।
উদাহরণ:
//STEP1 EXEC PGM=MYPROG, PARM='INPUT,OUTPUT'এখানে PGM=MYPROG দ্বারা MYPROG নামক প্রোগ্রামটি চালানোর নির্দেশ দেওয়া হয়েছে। PARM প্যারামিটার ব্যবহার করে অতিরিক্ত ইনপুট দেওয়া হয়েছে।
PGM Parameter এর ব্যবহার
PGM প্যারামিটারটি মূলত একটি প্রোগ্রাম বা স্ক্রিপ্টের নাম এবং যে কোনো অতিরিক্ত প্যারামিটার বা আর্গুমেন্টস প্রদান করতে ব্যবহৃত হয়। এটি প্রোগ্রামের ইনপুট আর্গুমেন্টস গ্রহণ করতে সক্ষম, যা প্রোগ্রামটির কার্যকারিতা নির্ধারণ করে।
PGM Parameter এবং অন্যান্য Parameters
JCL তে PGM প্যারামিটার ছাড়াও আরো কিছু প্যারামিটার থাকে যা প্রোগ্রামটির কাজ সঠিকভাবে সম্পাদন করতে সাহায্য করে, যেমন:
- PARM: প্রোগ্রামের জন্য ইনপুট প্যারামিটার বা আর্গুমেন্ট নির্ধারণ করে।
- REGION: প্রোগ্রামের জন্য মেমরি বরাদ্দ নির্ধারণ করে।
- TIME: প্রোগ্রামটি চালানোর জন্য বরাদ্দকৃত সময় নির্ধারণ করে।
উদাহরণ:
//STEP1 EXEC PGM=MYPROG, PARM='DATA', REGION=4096K, TIME=1440এখানে REGION=4096K দ্বারা প্রোগ্রামটি চালানোর জন্য ৪০৯৬ কিলোবাইট মেমরি বরাদ্দ করা হয়েছে এবং TIME=1440 দ্বারা ২৪ ঘণ্টার জন্য সময় সীমা নির্ধারণ করা হয়েছে।
PGM Parameter এর ব্যবহার ক্ষেত্র
PGM প্যারামিটারটি মেইনফ্রেম সিস্টেমে প্রোগ্রাম চালানোর জন্য অত্যন্ত গুরুত্বপূর্ণ। এটি এক্সিকিউটেবল প্রোগ্রামের নাম এবং প্রয়োজনীয় ইনপুট প্যারামিটার সরবরাহ করার মাধ্যমে সিস্টেমকে নির্দেশ দেয়, কীভাবে এবং কোন প্রক্রিয়াটি চালাতে হবে। এটি ব্যবহৃত হয় বিভিন্ন কাজের জন্য যেমন:
- ডাটা প্রক্রিয়াকরণ: ডেটা প্রক্রিয়া করার জন্য নির্দিষ্ট প্রোগ্রাম চালানো।
- রিপোর্ট জেনারেশন: রিপোর্ট তৈরির জন্য নির্দিষ্ট প্রোগ্রাম চালানো।
- ব্যাকআপ: ডেটার ব্যাকআপ নেয়ার জন্য প্রোগ্রাম চালানো।
- ডেটা ট্রান্সফার: ডেটা স্থানান্তরের জন্য প্রোগ্রাম চালানো।
উদাহরণ:
//STEP1 EXEC PGM=MYPROG, PARM='DATA', REGION=2048K
//STEP2 EXEC PGM=MYREPORT, PARM='INPUT=FILE1,OUTPUT=FILE2'এখানে প্রথম স্টেপে MYPROG নামক প্রোগ্রামটি চালানো হচ্ছে এবং দ্বিতীয় স্টেপে MYREPORT নামক প্রোগ্রামটি চালানোর জন্য ইনপুট এবং আউটপুট প্যারামিটার সহ নির্দেশ দেয়া হয়েছে।
সারসংক্ষেপ
JCL তে PGM প্যারামিটারটি প্রোগ্রাম চালানোর জন্য ব্যবহৃত হয়। এটি EXEC স্টেটমেন্টের অংশ হিসেবে ব্যবহার করা হয় এবং প্রোগ্রামটির নাম ও প্রয়োজনীয় প্যারামিটার নির্ধারণ করে। সঠিকভাবে PGM প্যারামিটার ব্যবহার করার মাধ্যমে, সিস্টেম নির্দিষ্ট প্রোগ্রাম বা স্ক্রিপ্টটি এক্সিকিউট করতে পারে। এটি প্রোগ্রামের কার্যকারিতা এবং ইনপুট আর্গুমেন্ট প্রদান করে, যা কাজের সফল বাস্তবায়নে সহায়ক।
JCL (Job Control Language)-এ Cond এবং PARM প্যারামিটার দুটি গুরুত্বপূর্ণ উপাদান যা কাজের প্রক্রিয়া এবং এর বাস্তবায়নকে আরও নিয়ন্ত্রণ এবং কাস্টমাইজ করার জন্য ব্যবহৃত হয়। Cond প্যারামিটারটি একটি কাজের (Job বা Step) সফলতা বা ব্যর্থতা অনুসারে পরবর্তী কাজের সম্পাদন নিয়ন্ত্রণ করে, আর PARM প্যারামিটারটি প্রোগ্রাম বা স্ক্রিপ্টে প্রেরিত আর্গুমেন্টগুলি নির্ধারণ করে।
1. Cond Parameter (Cond প্যারামিটার)
Cond প্যারামিটার একটি স্টেটমেন্টের মধ্যে ব্যবহৃত হয় এবং এটি একটি নির্দিষ্ট শর্ত বা কন্ডিশন নির্ধারণ করে, যার মাধ্যমে JCL-এ কাজ বা স্টেপ (Step) এর সফলতা বা ব্যর্থতার উপর ভিত্তি করে পরবর্তী স্টেপের কার্যক্রম নির্ধারিত হয়।
Cond প্যারামিটার ব্যবহারের উদ্দেশ্য:
- পরবর্তী Step-এর কার্যক্রম নিয়ন্ত্রণ: যদি কোনও Step ব্যর্থ হয়, তাহলে পরবর্তী Step কোন শর্তে চলবে তা নির্ধারণ করা।
- প্রোগ্রামের মধ্যে শর্ত অনুযায়ী কার্যক্রম: কন্ডিশন অনুযায়ী সিস্টেম বা প্রোগ্রামগুলো কাজ চালিয়ে যাবে।
Cond প্যারামিটার এর সিনট্যাক্স:
//STEP2 EXEC PGM=MYPROG, COND=(0,NE)বিভিন্ন অংশ:
COND=(condition): কন্ডিশন দ্বারা পরবর্তী স্টেপের জন্য শর্ত নির্ধারণ করা হয়।0,NE: এটি একটি উদাহরণ, যেখানে "0" হল রিটার্ন কোড এবং "NE" (Not Equal) হল শর্ত। অর্থাৎ, যদি পূর্ববর্তী স্টেপের রিটার্ন কোড 0 না হয়, তবে এই স্টেপটি সম্পাদিত হবে না।
Cond প্যারামিটার এর শর্ত:
- EQ (Equal): পূর্ববর্তী স্টেপের রিটার্ন কোড যদি 0 হয়।
- NE (Not Equal): পূর্ববর্তী স্টেপের রিটার্ন কোড যদি 0 না হয়।
- LT (Less Than): পূর্ববর্তী স্টেপের রিটার্ন কোড যদি 0 এর থেকে কম হয়।
- LE (Less Than or Equal): পূর্ববর্তী স্টেপের রিটার্ন কোড যদি 0 এর সমান বা তার থেকে কম হয়।
- GT (Greater Than): পূর্ববর্তী স্টেপের রিটার্ন কোড যদি 0 এর থেকে বেশি হয়।
- GE (Greater Than or Equal): পূর্ববর্তী স্টেপের রিটার্ন কোড যদি 0 এর সমান বা তার থেকে বেশি হয়।
Cond প্যারামিটার উদাহরণ:
//STEP1 EXEC PGM=MYPROG
//STEP2 EXEC PGM=MYPROG2, COND=(0,NE)এখানে, STEP2 শুধুমাত্র তখনই এক্সিকিউট হবে যদি STEP1 সফলভাবে সম্পন্ন হয় (রিটার্ন কোড 0 নয়)। যদি STEP1 ব্যর্থ হয়, তাহলে STEP2 চালানো হবে না।
2. PARM Parameter (PARM প্যারামিটার)
PARM প্যারামিটার JCL-এ ব্যবহৃত হয় প্রোগ্রাম বা স্ক্রিপ্টে আর্গুমেন্ট পাঠানোর জন্য। এই প্যারামিটারটি প্রোগ্রামের চলমান সময়ের জন্য বিশেষ ইনপুট প্যারামিটার প্রদান করতে ব্যবহৃত হয়, যা প্রোগ্রামের কার্যক্রম নিয়ন্ত্রণ করতে সাহায্য করে।
PARM প্যারামিটার ব্যবহারের উদ্দেশ্য:
- ইনপুট ডেটা প্রদান: প্রোগ্রামকে অতিরিক্ত ইনপুট মান পাঠানো।
- প্রোগ্রামের লজিক নিয়ন্ত্রণ: প্রোগ্রামের আচরণ বা কার্যক্রম নির্ধারণ করা।
PARM প্যারামিটার এর সিনট্যাক্স:
//STEP1 EXEC PGM=MYPROG, PARM='arg1 arg2'বিভিন্ন অংশ:
PARM='arg1 arg2': এখানে,arg1এবংarg2হল সেই আর্গুমেন্টগুলো যা প্রোগ্রামে পাঠানো হবে।
PARM প্যারামিটার উদাহরণ:
//STEP1 EXEC PGM=MYPROG, PARM='INFILE=DATA1, OUTFILE=DATA2'এখানে, MYPROG প্রোগ্রামটি দুটি আর্গুমেন্ট পাবে, একটি ইনপুট ফাইল DATA1 এবং একটি আউটপুট ফাইল DATA2।
PARM প্যারামিটার এর মূল্য:
- স্ট্রিং আর্গুমেন্ট: আর্গুমেন্টগুলি সাধারণত স্ট্রিং আকারে নির্ধারণ করা হয়, যেমন:
'INFILE=DATA1'। - কমা দ্বারা পৃথক করা: একাধিক আর্গুমেন্ট কোলন বা কমা দিয়ে পৃথক করা যায়।
Cond এবং PARM Parameters এর ব্যবহারের সুবিধা
- Cond প্যারামিটার:
- শর্তাধীন কাজের নিয়ন্ত্রণ: Cond প্যারামিটার কাজের সফলতা বা ব্যর্থতার উপর ভিত্তি করে পরবর্তী কাজের কার্যক্রম নিয়ন্ত্রণ করতে সাহায্য করে, যেমন পূর্ববর্তী কাজটি সফল হলে পরবর্তী কাজ চালানো বা ব্যর্থ হলে বন্ধ রাখা।
- কাজের চালনা সহজতর করা: Conditional execution এর মাধ্যমে অপ্রয়োজনীয় বা ব্যর্থ কাজগুলো বন্ধ রাখা যায়, যা সিস্টেমের রিসোর্স অপচয় রোধ করে।
- PARM প্যারামিটার:
- ইনপুট আর্গুমেন্ট প্রদান: PARM প্যারামিটারটি প্রোগ্রাম বা স্ক্রিপ্টে আর্গুমেন্ট পাঠানোর জন্য ব্যবহৃত হয়, যা প্রোগ্রামটির চলমান কার্যক্রমে প্রভাব ফেলে।
- প্রোগ্রামের কাস্টমাইজেশন: এটি প্রোগ্রাম বা স্ক্রিপ্টকে কাস্টম আর্গুমেন্ট প্রেরণ করে প্রোগ্রামের আচরণ নিয়ন্ত্রণ করতে সাহায্য করে।
সারসংক্ষেপ
- Cond প্যারামিটার একটি শর্তের ভিত্তিতে পরবর্তী কাজের কার্যক্রম নিয়ন্ত্রণ করে। এটি পূর্ববর্তী কাজের সফলতা বা ব্যর্থতার উপর নির্ভর করে পরবর্তী কাজের সম্পাদন নির্দেশ করে।
- PARM প্যারামিটার প্রোগ্রামে ইনপুট আর্গুমেন্ট পাঠানোর জন্য ব্যবহৃত হয়, যা প্রোগ্রামের আউটপুট এবং কার্যক্রম নিয়ন্ত্রণ করতে সহায়তা করে।
- এই প্যারামিটার দুটি সিস্টেমের কার্যক্রমকে আরও কাস্টমাইজ এবং নিয়ন্ত্রিত করার জন্য গুরুত্বপূর্ণ উপাদান।
Read more