الهندسة العكسية لـ Oracle Forms بالذكاء الاصطناعي
استخرج منطق العمل والكتل والمشغّلات والاعتماديات من وحدات FMB القديمة عبر وكيل ذكي — أول خطوة لأي ترحيل آمن.
قبل ترحيل Oracle Forms يجب أن تفهم ما تفعله كل وحدة فعلًا. يسرّع الذكاء الاصطناعي ذلك: حوّل النموذج إلى صيغة مقروءة، ثم اطلب من الوكيل استخراج جرد منظّم للكتل والعناصر وقوائم القيم والمشغّلات وكود PL/SQL.
حوّل FMB إلى XML
يأتي مع Oracle Forms أداة التحويل من Forms إلى XML (frmf2xml.sh على Linux/Unix وfrmf2xml.bat على Windows). تقبل ملفات .fmb و.mmb و.olb وتكتب <name>_fmb.xml (أو _mmb.xml / _olb.xml) بجوار ملف الإدخال. في نطاق Forms 12c فما بعد المُهيّأ تجد السكربت في $DOMAIN_HOME/config/fmwconfig/components/FORMS/instances/forms1/bin.
frmf2xml.sh OVERWRITE=YES ORDERS.fmb # ينتج ORDERS_fmb.xml # كل الخصائص بما فيها الموروثة (للتحليل فقط) frmf2xml.sh OVERWRITE=YES DUMP=ALL ORDERS.fmb
OVERWRITE=YESيستبدل ملف XML الموجود؛ والقيمة الافتراضية (NO) تتوقف إن كان الملف موجودًا.- افتراضيًا تُكتب الخصائص المعدَّلة فقط. يكتب
DUMP=ALLكل الخصائص فيمنح الذكاء الاصطناعي صورة أكمل، لكن لا يمكن تحويل ذلك الـ XML إلى نموذج من جديد. - يُخزَّن كود PL/SQL للمشغّلات والوحدات البرمجية في سمات XML (
TriggerTextوProgramUnitText) مع ترميز فواصل الأسطر كـ&#10;في الملف الخام — أخبر الوكيل بذلك ليفكّها.
💡 "Error initialising the Forms Jdapi"
DISPLAY إلى خادم X (مثل Xvfb) ثم أعد التشغيل.مكتبات PL/SQL المرفقة (.pll)
لا يعالج frmf2xml المكتبات. حوّل كل .pll إلى ملف نصي .pld عبر Forms Builder (File > Convert) أو عبر Forms Compiler بوضع السكربت:
frmcmp_batch.sh module=ORDERS_LIB.pll module_type=library logon=no script=yes output_file=ORDERS_LIB.pld
اطلب جردًا منظّمًا من الوكيل
مرّر XML (وأي ملفات .pld) للوكيل بموجّه دقيق ليكون الناتج جدولًا قابلًا للمراجعة لا نصًا. النماذج الكبيرة تُنتج ملفات XML كبيرة، فاعمل على وحدة واحدة في كل مرة.
› تصرّف كمحلل ترحيل من Forms إلى APEX. من XML هذه الوحدة استخرج جدولًا بالكتل والعناصر وقوائم القيم والمشغّلات (مع PL/SQL) والوحدات البرمجية وقواعد العمل التي ترمّزها.
⚠ تحقّق من كل قاعدة مستخرجة
اختبر فهمك
Check your understanding
0% · 0/2ما الذي يحوّل FMB الثنائي إلى صيغة يقرأها الذكاء الاصطناعي؟
كيف تتعامل مع الجرد المستخرج؟
تحتاج إلى تنفيذها؟
اطلب عرضًا