Oracle إدارة الفواتير والإيرادات للاتصالات (Oracle \ المعروف رسميًا باسم Portal Infranet) يوفر طريقتين لإنشاء الحقول المخصصة والفئات القابلة للتخزين وتحريرها وحذفها. تتمثل إحدى الطريقتين في استخدام محرر الفئات القابلة للتخزين، وهو جزء من تطبيق مركز المطورين، والأخرى باستخدام رموز عمليات SDK. ولعدد من الأسباب، أفضل الخيار الأخير، وفي هذا المنشور سأتناول معالجة الحقول المخصصة باستخدام رموز عمليات SDK.
قبل البدء، يجب إجراء تغيير واحد أولاً: جعل قاموس البيانات قابلاً للكتابة. إليك كيفية القيام بذلك:
1. افتح ملف تكوين Oracle DM أو Microsoft SQL Server DM (BRM_HOME/sys/dm_HOME/dm_oracle/pin.conf أو BRM_HOME/sys/dm_odbc/pin.conf) في محرر نصوص.
2. قم بتمكين معالجة الحقول في قاموس البيانات، عن طريق تعيين الإدخال التالي إلى 1:- dm dd_write_enable_fields 1
تتمثل أهدافنا فيما يلي:
1. لإنشاء حقل مخصص
2. لتحرير وصف الحقل المخصص
3. لحذف الحقل المخصص من قاعدة البيانات
4. لإتاحة الحقل المخصص ل BRM
إنشاء حقل مخصص جديد
يمكن إنشاء حقل مخصص جديد والتزامه بقاعدة البيانات باستخدام رموز عمليات SDK أو باستخدام أداة نشر الدبوس. كما يعلم المطورون، توفر رموز عمليات SDK طريقة أكثر مرونة لإنشاء الحقول المخصصة وتعديلها وحذفها في مرحلة التطوير. من ناحية أخرى، تستخدم أداة نشر الدبوس المساعدة PODL (لغة تعريف كائنات البوابة) لتصدير واستيراد تعريفات الحقول والفئات المخزنة. يعد هذا أكثر فائدة، خاصة على المستوى الإداري، لأنه يمكن تبسيط العملية من خلال وضع تعريفات الحقول في إدارة التعليمات البرمجية المصدرية وبالتالي تقليل أي احتمال لإتلاف قاموس بيانات قاعدة بيانات الإنتاج Oracle BRM.
يمكن استخدام رموز عمليات SDK التالية لإدارة مواصفات الحقل:
1. PCM_OP_SDK_SDK_SET_FLD_SPECS - إنشاء حقل أو تعديله,
2. PCM_OP_SDK_GET_FLD_SPECS - استرداد مواصفات الحقل,
3. PCM_OP_SDK_DEL_FLD_SPECS - حذف حقل.
لإنشاء حقل، من الضروري كتابة قائمة مدخلات لرمز التشغيل PCM_OP_SDK_SDK_SET_FLD_SPECS:
0 PIN_FLD_FLD_POID POID [0] 0.0.0.0.1 /DD/الحقول 0 0 0
0 مصفوفة [0] pin_fld_Fld_field [0]
1 PIN_FLD_DESCR STR [0] "حقل مخصص لحفظ رقم ضريبة القيمة المضافة"
1 pin_fld_fld_field_name str [0] "c_fld_vat_number"
1 pin_fld_fld_field_num enum [0] 10000
1 pin_fld_fld_field_type int [0] 5
والآن، تحقق من أن الحقل الذي تم إنشاؤه موجود في قاموس بيانات قاعدة البيانات عن طريق إدخال قائمة المدخلات التالية إلى رمز العملية PCM_OP_SDK_GET_FLD_SPECS:
0 PIN_FLD_POID POID [0] 0.0.0.0.1 /DD/ Objects 0 0 0 0
0 مصفوفة [0] pin_fld_Fld_field [0]
1 pin_fld_fld_field_name str [0] "c_fld_vat_number"
تحرير وصف الحقل المخصص
والآن، بعد التأكد من وجود الحقل المخصص الجديد، يمكن تغيير الوصف عن طريق استدعاء رمز التشغيل PCM_OP_SDK_SDK_SET_FLD_SPECS مع قائمة المدخلات التالية:
0 PIN_FLD_FLD_POID POID [0] 0.0.0.0.1 /DD/الحقول 0 0 0
0 مصفوفة [0] pin_fld_Fld_field [0]
1 PIN_FLD_DESCR STR [0] "حقل مخصص - رقم ضريبة القيمة المضافة"
1 pin_fld_fld_field_name str [0] "c_fld_vat_number"
1 pin_fld_fld_field_num enum [0] 10000
1 pin_fld_fld_field_type int [0] 5
مرة أخرى، يمكن استرجاع مواصفات الحقل للتحقق من أن التغيير قد تم إنجازه.
بعد ذلك، احذف الحقل المخصص من قاعدة البيانات.
أخيرًا، افترض أنه تم ارتكاب خطأ، ومن الضروري حذف أحد الحقول. أدخل قائمة المدخلات التالية إلى رمز العملية PCM_OP_SDK_DEL_DELD_FLD_SPECS، لحذف الحقل:
0 PIN_FLD_FLD_POID POID [0] 0.0.0.0.1 /DD/الحقول 0 0 0
0 مصفوفة [0] pin_fld_Fld_field [0]
1 pin_fld_fld_field_name str [0] "c_fld_vat_number"
إذا كان رمز التشغيل الخاص باسترجاع مواصفات الحقل يُرجع قائمة فارغة (POID obj فقط)، فهذا يعني أن الحقل لم يتم العثور عليه في قاموس بيانات قاعدة البيانات.
إتاحة الحقول المخصصة ل BRM
تنص الممارسة القياسية على أن كل شيء مخصص تم تطويره يذهب إلى دليل BRM_HOME/مخصص، وبما أنه في هذه الحالة، BRM_HOME/include/pin_flds.h. يتم توسيعه، يجب إنشاء ملف رأس مخصص جديد BRM_HOME/مخصص/include/custom_flds.h.
الآن، يمكن تقديم الحقل المخصص الجديد عن طريق إلحاق السطر التالي إلى custom_flds.h:
#define C_FLD_VAT_VAT_NUMBER PIN_MAKE_FLD(PIN_FLDT_STR, 10000)
يُعرّف السطر أعلاه حقلاً مخصصًا باسم "C_FLD_VAT_VAT_NUMBER" (ضع في اعتبارك ممارسة التسمية,
PIN_* لحقول BRM و C_* للحقول المخصصة) مع نوع البيانات "PIN_FLDT_STR" (STR تعني سلسلة)
والمعرّف الفريد "10000" (فيما يتعلق بـ BRM_HOME/include/pin_flds.h). أنواع البيانات ثابتة,
ويتم تعريفها حسب إصدار BRM الذي تقوم بتشغيله؛ يُرجى الاطلاع على BRM_HOME/include/pcm.h للاطلاع على التعريفات.
بعد ذلك، قم بتشغيل البرنامج النصي parse_custom_custom_ops_fields.pl perl على custom_flds.h باستخدام هذا الأمر:
$BRM_HOME/bin/parse_custom_custom_ops_fields.pl -L pcmc -I custom_flds.h -O $BRM_HOME/custom/include/custom_mapping.m
وأخيرًا، قم بتضمين السطر التالي في كل pin.conf حيثما كان من المرغوب فيه أن تظهر هذه الحقول: - - - ops_fields_fields_extension_file ${BRM_HOME}/custom/include/custom_mapping.m
ملاحظة: عند إدخال وظائف جديدة باستخدام حقول مخصصة، من الضروري تضمين ملف الرأس custom_flds.h في ملفات FM التي تستخدم هذه الحقول



