How to Auto-Fill a Field in Oracle APEX Interactive Grid Based on LOV Selection - By PL/SQL Query - fabulouscode

Friday, July 11, 2025

How to Auto-Fill a Field in Oracle APEX Interactive Grid Based on LOV Selection - By PL/SQL Query




Oracle APEX Interactive Grid এ LOV থেকে অন্য কলাম অটোমেটিক ফিল্ড সেট করার সহজ পদ্ধতি

Oracle APEX এ Interactive Grid খুবই শক্তিশালী টুল যেখানে আপনি ডেটা এন্ট্রি ও ডাটাবেজ অপারেশন করতে পারেন। অনেক সময়ই প্রয়োজন হয়, কোনো একটি LOV (List of Values) থেকে সিলেকশন করার পর অন্য কলামটি অটোমেটিক সেই সিলেক্টেড আইটেমের ডিটেইলস দিয়ে পূরণ করতে।

এই ব্লগে আমি আপনাদের দেখাবো কিভাবে PL/SQL এবং Dynamic Action ব্যবহার করে TEST_CODE1 নামে একটি LOV থেকে সিলেক্ট করলে TEST_DESCRIPTION কলামে সেই আইটেমের ডিসক্রিপশন অটোমেটিক ভরা যাবে।


প্রয়োজনীয় পদক্ষেপ গুলো


Step 1: TEST_CODE1 কলামে LOV কনফিগারেশন করা

  1. Oracle APEX এর Page Designer এ যান।

  2. আপনার Interactive Grid রিজিয়ন খুলুন।

  3. TEST_CODE1 কলাম সিলেক্ট করুন।

  4. কলামের জন্য Type হিসেবে Select List সেট করুন।

  5. List of Values অংশে নিচের SQL কোড দিন:

sql
SELECT msib.segment1 || ' - ' || msib.description AS display_value, msib.inventory_item_id AS return_value FROM mtl_system_items_b msib JOIN mtl_item_catalog_groups micg ON micg.item_catalog_group_id = msib.item_catalog_group_id WHERE micg.description = 'Textile Testing Service (TTSL)' AND msib.organization_id = xxpwc.pwc_organization_name('Item Master Organization') ORDER BY msib.segment1
  1. Required অংশে Save Session State চালু রাখুন।


Step 2: TEST_DESCRIPTION কলাম কনফিগার করা

  1. TEST_DESCRIPTION কলামটি সিলেক্ট করুন।

  2. এর Type হিসেবে Text Field অথবা Display Only দিন।

  3. প্রয়োজন হলে Read Only সেট করুন যাতে ব্যবহারকারী এটি পরিবর্তন করতে না পারে।


Step 3: Dynamic Action তৈরি করা

  1. Page Designer এর বাম পাশে Dynamic Actions সেকশনে যান।

  2. আপনার Interactive Grid এর উপর রাইট ক্লিক করে Create Dynamic Action সিলেক্ট করুন।

  3. নিচের মতো Dynamic Action সেট করুন:

PropertyValue
NameAuto Fill Description
EventChange
Selection TypeColumn
ColumnTEST_CODE1

Step 4: True Action হিসেবে Set Value কনফিগার করা

  1. Dynamic Action এর নিচে True অংশে ক্লিক করুন।

  2. Action হিসেবে Set Value নির্বাচন করুন।

  3. নিচের সেটিংস দিন:

PropertyValue
Set TypePL/SQL Function Body
Items to SubmitTEST_CODE1
Affected ElementsColumn → TEST_DESCRIPTION
  1. PL/SQL Function Body হিসেবে নিচের কোড দিন:

plsql
DECLARE l_desc VARCHAR2(1000); BEGIN SELECT msib.description INTO l_desc FROM mtl_system_items_b msib JOIN mtl_item_catalog_groups micg ON micg.item_catalog_group_id = msib.item_catalog_group_id WHERE micg.description = 'Textile Testing Service (TTSL)' AND msib.organization_id = xxpwc.pwc_organization_name('Item Master Organization') AND msib.inventory_item_id = :TEST_CODE1; RETURN l_desc; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; END;

Step 5: সেভ করে অ্যাপ রান করুন

  1. সব পরিবর্তন সেভ করুন।

  2. অ্যাপ্লিকেশন রান করুন।

  3. Interactive Grid এর TEST_CODE1 থেকে আইটেম সিলেক্ট করুন।

  4. দেখবেন TEST_DESCRIPTION কলামে সেই আইটেমের ডিসক্রিপশন স্বয়ংক্রিয়ভাবে সেট হয়ে গেছে।

No comments:

Post a Comment

I am Safiqul Islam Tuhin