Mainframe JCL (Job Control Language)-এ IF-THEN-ELSE Logic ব্যবহারের মাধ্যমে আপনি JCL জব-গুলির execution নিয়ন্ত্রণ করতে পারেন, যাতে নির্দিষ্ট শর্ত পূর্ণ হলে নির্দিষ্ট কাজ সম্পন্ন হয় এবং অন্যথায় অন্য কাজ সম্পন্ন হয়। IF-THEN-ELSE স্টেটমেন্টগুলি আপনাকে শর্ত ভিত্তিক কাজ চালানোর সুযোগ দেয়, যা JCL-এর কার্যকারিতা আরও বর্ধিত করে।
IF-THEN-ELSE Logic এর প্রাথমিক ধারণা
JCL-এ IF-THEN-ELSE স্টেটমেন্ট ব্যবহার করে আপনি শর্ত অনুযায়ী বিভিন্ন স্টেপ চালাতে পারেন। এটি মূলত একটি শর্তীয় নিয়ন্ত্রণ প্রক্রিয়া, যেখানে একটি শর্ত পূর্ণ হলে এক ধরণের স্টেপ চালানো হয় এবং শর্ত পূর্ণ না হলে অন্য স্টেপটি চালানো হয়।
IF শর্তটি নির্দিষ্ট একটি সিস্টেম বা জবের স্টেপের সফলতা বা ব্যর্থতার উপর ভিত্তি করে কাজ করে।
IF-THEN-ELSE Logic এর Sintax
JCL-এ IF-THEN-ELSE এর সিনট্যাক্স সাধারণত নিম্নরূপ:
//IFSTEP IF (condition)
//THEN THEN EXEC PGM=program_name
//ELSE ELSE EXEC PGM=program_name2 এখানে,
- IF: শর্তটি পরীক্ষা করা হয়।
- THEN: শর্তটি পূর্ণ হলে যেই স্টেপ চালানো হবে, সেটি।
- ELSE: শর্তটি পূর্ণ না হলে যেই স্টেপ চালানো হবে, সেটি।
IF-THEN-ELSE Logic এর উদাহরণ
ধরা যাক, আপনি একটি JCL job লিখতে চান যেখানে একটি শর্ত পূর্ণ হলে প্রথম স্টেপটি কার্যকর হবে, আর যদি শর্তটি পূর্ণ না হয় তবে দ্বিতীয় স্টেপটি কার্যকর হবে।
উদাহরণ ১: স্টেপ ১ সফল হলে স্টেপ ২ চালানো
//JOBNAME JOB (ACCT),MSGLEVEL=1
//STEP1 EXEC PGM=MYPGM
//IFSTEP IF (STEP1.RC = 0)
//THEN THEN EXEC PGM=PROCESS_FILE
//ELSE ELSE EXEC PGM=BACKUP_FILE এখানে, STEP1 সম্পন্ন হলে, তার RC (Return Code) 0 হলে PROCESS_FILE স্টেপ চালানো হবে। যদি RC 0 না হয়, তাহলে BACKUP_FILE স্টেপটি চালানো হবে।
- STEP1.RC = 0: এখানে STEP1 এর return code পরীক্ষা করা হচ্ছে। যদি return code 0 হয়, তবে সেটা সফল সম্পন্ন হওয়া নির্দেশ করে।
- THEN: যদি শর্তটি পূর্ণ হয়, তবে PROCESS_FILE স্টেপটি চালানো হবে।
- ELSE: যদি শর্তটি পূর্ণ না হয়, তবে BACKUP_FILE স্টেপটি চালানো হবে।
উদাহরণ ২: নির্দিষ্ট ফাইল না পাওয়া গেলে ব্যাকআপ নেওয়া
//JOBNAME JOB (ACCT),MSGLEVEL=1
//STEP1 EXEC PGM=CHECK_FILE
//IFSTEP IF (STEP1.RC = 4)
//THEN THEN EXEC PGM=BACKUP_FILE এখানে, STEP1-এ একটি ফাইল চেক করা হচ্ছে। যদি ফাইলটি না থাকে (return code 4), তবে BACKUP_FILE স্টেপটি চালানো হবে।
IF-THEN-ELSE Logic এর ব্যবহারিক উদাহরণ
উদাহরণ ৩: বিভিন্ন আউটপুট প্যারামিটার নির্ধারণ করা
//JOBNAME JOB (ACCT),MSGLEVEL=1
//STEP1 EXEC PGM=PROCESS
//IFSTEP IF (STEP1.RC = 0)
//THEN THEN EXEC PGM=OUTPUT_OK
//ELSE ELSE EXEC PGM=ERROR_HANDLING এখানে, STEP1 এর RC চেক করা হচ্ছে। যদি RC = 0 হয়, তাহলে OUTPUT_OK স্টেপটি চালানো হবে, অন্যথায় ERROR_HANDLING স্টেপটি চালানো হবে। এই প্রক্রিয়ায়, সফল হলে একটি আউটপুট তৈরি হবে এবং ব্যর্থ হলে ত্রুটি হ্যান্ডেল করা হবে।
সারসংক্ষেপ
IF-THEN-ELSE Logic ব্যবহার করে JCL-এ শর্ত ভিত্তিক নিয়ন্ত্রণ করতে পারেন। এটি Return Code বা অন্য কোনো শর্তের উপর ভিত্তি করে নির্ধারিত কাজগুলো চালাতে সাহায্য করে। JCL-এ IF-THEN-ELSE স্টেটমেন্ট ব্যবহার করলে আপনার জব এর execution আরও নমনীয় এবং কার্যকরী হয়, যেখানে প্রতিটি স্টেপের ফলাফলের উপর ভিত্তি করে পরবর্তী স্টেপ নির্বাচন করা হয়।
Read more