نسخ البيانات من SAP Business Warehouse عبر Open Hub باستخدام Azure Data Factory أو Synapse Analytics

ينطبق على:Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

توضح هذه المقالة كيفية استخدام نشاط النسخ في مسارات Azure Data Factory وSynapse Analytics لنسخ البيانات من SAP Business Warehouse (BW) عبر Open Hub. تعتمد هذه المقالة على مقالة نظرة عامة على نشاط النسخ التي تقدم نظرة عامة على نشاط النسخ.

تلميح

للتعرف على الدعم الكلي لسيناريو تكامل بيانات SAP، راجع المستند الفني لتكامل بيانات SAP مع مقدمة مفصلة حول كل موصل SAP والمقارنة والتوجيه.

القدرات المدعومة

يتم دعم موصل SAP Business Warehouse Open Hub للإمكانيات التالية:

القدرات المدعومة IR
نشاط النسخ (مصدر/-)
نشاط البحث

① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا

للحصول على قائمة بمخازن البيانات المدعومة كمصادر/متلقيات بواسطة نشاط النسخ، راجع جدول مخازن البيانات المدعومة.

وبشكل خاص، يدعم موصل Open Hub فيSAP Business Warehouse هذا:

  • SAP Business Warehouse الإصدار 7.01 أو أعلى (في مكدس حزمة دعم SAP أخير صدر بعد عام 2015). ولا يدعم هذا الموصل SAP BW/4HANA.
  • نسخ البيانات عبر الجدول المحلي لوجهة Open Hub، والتي تحت يمكن أن يكون تحتها DSO، وInfoCube، وMultiProvider، وDataSource، وغيرها.
  • نسخ البيانات باستخدام المصادقة الأساسية.
  • الاتصال بخادم تطبيقات SAP أو خادم رسائل SAP.
  • استرجاع البيانات عبر RFC.

تكامل Open Hub في SAP BW

تعد خدمة SAP BW Open Hub طريقة فعالة لاستخراج البيانات من SAP BW. يوضح الرسم التخطيطي التالي أحد التدفقات النموذجية للعملاء في نظام SAP، وفي هذه الحالة تتدفق البيانات من SAP ECC -> PSA -> DSO -> Cube.

تحدد وجهة Open Hub (OHD) في SAP BW الهدف الذي يتم ترحيل بيانات SAP إليه. يمكن استخدام أي عناصر مدعومة من قِبَل عملية نقل بيانات SAP (DTP) كمصادر بيانات مفتوحة المركز، على سبيل المثال، DSO، وInfoCube، وDataSource وغيرها.يمكن أن يكون نوع وجهة Open Hub - التي يتم تخزين البيانات المرحلة فيها - جداول قاعدة بيانات (محلية أو بعيدة) وملفات ثابتة. يدعم موصل SAP BW Open Hub هذا نسخ البيانات من جدول OHD المحلي في BW. في حالة استخدام أنواع أخرى، يمكنك الاتصال مباشرة بقاعدة البيانات أو نظام الملفات باستخدام موصلات أخرى.

SAP BW Open Hub

تدفق استخراج دلتا

يوفر موصل SAP BW Open Hub خاصيتين اختياريتين: excludeLastRequest وbaseRequestId التي يمكن استخدامهما لمعالجة تحميل دلتا من Open Hub.

  • excludeLastRequestId: ما إذا كان يجب استبعاد سجلات الطلب الأخير. القيمة الافتراضية هي صواب.
  • baseRequestId: معرف طلب تحميل دلتا. بمجرد تعيينه، سيتم استرداد البيانات ذات requestId أكبر من قيمة هذه الخاصية فقط.

بشكل عام، يتكون الاستخراج من SAP InfoProviders من خطوتين:

  1. عملية نقل بيانات SAP BW (DTP) تقوم هذه الخطوة بنسخ البيانات من SAP BW InfoProvider إلى جدول SAP BW Open Hub

  2. نسخ البيانات في هذه الخطوة، يقرأ الموصل جدول Open Hub

Delta extraction flow

في الخطوة الأولى، يتم تنفيذ عملية DTP. ينشئ كل تنفيذ معرف طلب SAP جديد. يتم تخزين معرف الطلب في جدول Open Hub ثم يتم استخدامه بواسطة الموصل لتحديد دلتا. يتم تشغيل الخطوتين بشكل غير متزامن: يتم تشغيل عملية DTP بواسطة SAP، ثم يتم تشغيل نسخ البيانات خلال الخدمة.

بشكل افتراضي، لا تقرأ الخدمة دلتا الأخير من جدول Open Hub (الخيار "استبعاد الطلب الأخير" صحيح). وبموجبه، لا تكون البيانات في الخدمة محدثة بنسبة 100٪ مع البيانات في جدول Open Hub (دلتا الأخير مفقود). في المقابل، يضمن هذا الإجراء أن لا تضيع سجلات بسبب الاستخراج غير المتزامن. وهو يعمل بشكل جيد حتى عندما تكون الخدمة في حالة قراءة لجدول Open Hub عندما تكون عملية DTP لا تزال تكتب في نفس الجدول.

عادة ما تقوم بتخزين معرف الطلب الذي تم نسخه كحد أقصى في آخر تشغيل من قِبَل الخدمة في مخزن بيانات مرحلي (مثل Azure Blob في الرسم البياني أعلاه). لذلك، لا تتم قراءة نفس الطلب مرة ثانية بواسطة الخدمة في التشغيل اللاحق. وفي الوقت نفسه، لاحظ أن البيانات لا يتم حذفها تلقائياً من جدول Open Hub.

لمعالجة دلتا بشكل مناسب، لا يسمح بالحصول على معرفات طلب من عمليات DTP مختلفة في نفس جدول Open Hub. لذلك، يجب عدم إنشاء أكثر من عملية DTP واحدة لكل وجهة Open Hub (OHD). عند الحاجة إلى استخراج كامل ودلتا من نفس InfoProvider، ينبغي إنشاء وجهتين OHD لنفس InfoProvider.

المتطلبات الأساسية

لاستخدام موصل Open Hub في SAP Business Warehouse هذا، تحتاج إلى:

  • إعداد وقت تشغيل تكامل مستضاف ذاتياً باستخدام الإصدار 3.13 أو أعلى. راجع مقالة وقت تشغيل التكامل المستضاف ذاتياً للحصول على التفاصيل.

  • قم بتنزيل موصل SAP .NET 3.0 بترميز 64 بت من موقع ويب SAP، وتثبيته على جهاز وقت تشغيل التكامل المستضاف ذاتياً. عند التثبيت، وفي نافذة خطوات الإعداد الاختيارية، تأكد من تحديد الخيار Install Assemblies to GAC كما هو موضح في الصورة التالية.

    Install SAP .NET Connector

  • يحتاج مستخدم SAP المستخدم في موصل BW إلى الحصول على الأذونات التالية:

    • تخويل لـRFC وSAP BW.
    • أذونات إلى "تنفيذ" نشاط عنصر التخويل "S_SDSAUTH".
  • إنشاء نوع وجهة SAP Open Hub باعتاره جدول قاعدة بيانات مع تحديد خيار "المفتاح التقني". من المستحسن أيضاً ترك حذف البيانات من الجدول غير محدد على الرغم من أنه غير مطلوب. استخدم عملية DTP (تنفيذها أو دمجها مباشرةً في سلسلة العمليات الموجودة) إلى البيانات الأرض من العنصر المصدر (مثل المكعب) الذي اخترته إلى جدول الوجهة مفتوحة المركز.

الشروع في العمل

تلميح

للحصول على معاينة لاستخدام موصل SAP BW Open Hub، راجع تحميل البيانات من SAP Business Warehouse (BW).

لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:

توفر الأقسام التالية تفاصيل حول الخصائص المستخدمة لتعريف الكيانات الخاصة بموصل SAP Business Warehouse Open Hub.

خصائص الخدمة المرتبطة

يتم دعم الخصائص التالية لخدمة SAP Business Warehouse Open Hub المرتبطة:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى: SapOpenHub ‏‏نعم‬
الخادم اسم الخادم الذي يوجد عليه مثيل SAP BW. ‏‏نعم‬
systemNumber رقم النظام SAP BW.
القيمة المسموح بها: رقم عشري مكون من رقمين يمثل كسلسلة.
‏‏نعم‬
messageServer اسم المضيف لخادم رسائل SAP.
استخدمه للاتصال بخادم رسائل SAP.
لا
messageServerService اسم الخدمة أو رقم المنفذ لخادم الرسائل.
استخدمه للاتصال بخادم رسائل SAP.
لا
systemId معرف نظام SAP الذي يوجد به الجدول.
استخدمه للاتصال بخادم رسائل SAP.
لا
logonGroup مجموعة تسجيل الدخول لنظام SAP.
استخدمه للاتصال بخادم رسائل SAP.
لا
clientId معرف العميل للعميل في نظام SAP W.
القيمة المسموح بها: رقم عشري مكون من ثلاثة أرقام يمثل كسلسلة.
‏‏نعم‬
اللغة اللغة التي يستخدمها نظام SAP. لا (القيمة الافتراضية هي EN)
userName اسم المستخدم الذي لديه حق الوصول إلى خادم SAP. ‏‏نعم‬
كلمة المرور كلمة مرور للمستخدم. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو قم بالإشارة إلى بيانات سرية مخزنة في Azure Key Vault. ‏‏نعم‬
connectVia Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. وقت تشغيل التكامل المستضاف ذاتيًا مطلوب كما هو مذكور في المتطلبات الأساسية. ‏‏نعم‬

مثال:

{
    "name": "SapBwOpenHubLinkedService",
    "properties": {
        "type": "SapOpenHub",
        "typeProperties": {
            "server": "<server name>",
            "systemNumber": "<system number>",
            "clientId": "<client id>",
            "userName": "<SAP user>",
            "password": {
                "type": "SecureString",
                "value": "<Password for SAP user>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

خصائص مجموعة البيانات

للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف مجموعات البيانات، راجع مقالة مجموعات البيانات. يوفر هذا القسم قائمة بالخصائص المدعومة من قِبَل مجموعة بيانات SAP BW Open Hub.

لنسخ البيانات من وإلى SAP BW Open Hub، قم بتعيين خاصية نوع مجموعة البيانات إلى SapOpenHubTable. تدعم الخصائص التالية.

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى: SapOpenHubTable. ‏‏نعم‬
openHubDestinationName اسم وجهة Open Hub لنسخ البيانات منها. ‏‏نعم‬

إذا كنت تقوم بإعداد excludeLastRequest وbaseRequestId في مجموعة البيانات، فإنه لا يزال مدعوماً كما هو، بينما نقترح عليك استخدام النموذج الجديد في مصدر النشاط قيد التقدم.

مثال:

{
    "name": "SAPBWOpenHubDataset",
    "properties": {
        "type": "SapOpenHubTable",
        "typeProperties": {
            "openHubDestinationName": "<open hub destination name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<SAP BW Open Hub linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

انسخ خصائص النشاط

للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف الأنشطة، راجع مقالة التدفقات. يوفر هذا القسم قائمة بالخصائص التي يدعمها مصدر SAP BW Open Hub.

SAP BW Open Hub كمصدر

لنسخ البيانات من SAP BW Open Hub، تُدعم الخصائص التالية في قسم مصدر نشاط النسخ:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مصدر نشاط النسخ إلى: SapOpenHubSource. ‏‏نعم‬
excludeLastRequest ما إذا كان يجب استبعاد سجلات الطلب الأخير. لا (الافتراضي صحيح)
baseRequestId معرف طلب تحميل دلتا. بمجرد تعيينه، سيتم استرداد البيانات ذات requestId أكبر من قيمة هذه الخاصية فقط. لا
customRfcReadTableFunctionModule وحدة نمطية مخصصة لدالة RFC يمكن استخدامها لقراءة البيانات من جدول SAP.
يمكنك استخدام وحدة نمطية مخصصة لدالة RFC لتعريف كيفية استرداد البيانات من نظام SAP لديك وإعادتها إلى الخدمة. يجب أن يكون للوحدة النمطية للدالة المخصصة واجهة مطبقة (استيراد وتصدير وجداول) تشبه /SAPDS/RFC_READ_TABLE2، وهي الواجهة الافتراضية المستخدمة بواسطة الخدمة.
لا
sapDataColumnDelimiter تم تمرير الحرف المفرد المستخدم كمحدد إلى SAP RFC لتقسيم بيانات الإخراج. لا

تلميح

إذا كان جدول Open Hub يحتوي فقط على البيانات التي تم إنشاؤها بواسطة معرف طلب فردي، على سبيل المثال، تقوم دائماً بتحميل كامل والكتابة فوق البيانات الموجودة في الجدول، أو تقوم بتشغيل عملية DTP مرة واحدة فقط للاختبار، فتذكر إلغاء تحديد الخيار "excludeLastRequest" لنسخ البيانات.

لتسريع تحميل البيانات، يمكنك تعيين parallelCopies في نشاط النسخ على تحميل البيانات من SAP BW Open Hub بالتوازي. على سبيل المثال، إذا قمت بتعيين parallelCopies إلى أربعة، تنفذ الخدمة بشكل متزامن أربعة استدعاءات RFC، ويقوم كل استدعاء RFC باسترداد قسم من البيانات من جدول SAP BW Open Hub المقسم بواسطة معرف طلب DTP ومعرف الحزمة. ينطبق هذا عندما يكون عدد معرف طلب DTP الفريد + معرف الحزمة أكبر من قيمة parallelCopies. عند نسخ البيانات في مخزن البيانات المستندة إلى الملفات، يوصى أيضاً بنقلها إلى مجلد كملفات متعددة (فقط تحديد اسم المجلد)، وفي هذه الحالة يكون الأداء أفضل من النقل إلى ملف واحد.

مثال:

"activities":[
    {
        "name": "CopyFromSAPBWOpenHub",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SAP BW Open Hub input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SapOpenHubSource",
                "excludeLastRequest": true
            },
            "sink": {
                "type": "<sink type>"
            },
            "parallelCopies": 4
        }
    }
]

تعيين نوع البيانات لـSAP BW Open Hub

عند نسخ البيانات من SAP BW Open Hub، يتم استخدام التعيينات التالية من أنواع بيانات SAP BW إلى أنواع البيانات المؤقتة المستخدمة داخلياً داخل الخدمة. راجع تعيينات المخططات ونوع البيانات لمعرفة كيفية تعيين نشاط النسخ للمخطط المصدر ونوع البيانات إلى المتلقي.

نوع SAP ABAP نوع بيانات الخدمة المؤقتة
C (سلسلة) السلسلة‬
I (عدد صحيح) Int32
F (حُر) مزدوج
D (تاريخ) السلسلة‬
T (وقت) السلسلة‬
P (بيانات تكوين تمهيد معبأة، عملة، عشري، كمية) عدد عشري
N (عدد) السلسلة‬
X (ثنائي وأولي) السلسلة‬

بحث عن خصائص النشاط

لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.

تلميحات استكشاف الأخطاء وإصلاحها

الأعراض: إذا كنت تقوم بتشغيل SAP BW على HANA ولاحظت أنه يتم نسخ مجموعة فرعية فقط من البيانات باستخدام نشاط النسخ (1 مليون سجل)، فإن السبب المحتمل هو تمكين خيار "SAP HANA Execution" في عملية DTP لديك، وفي هذه الحالة يمكن للخدمة استرداد الدُفعة الأولى من البيانات فقط.

الدقة: تعطيل الخيار "SAP HANA Execution" في عملية DTP، وإعادة معالجة البيانات، ثم محاولة تنفيذ نشاط النسخ مرة أخرى.

للحصول على قائمة بمخازن البيانات المدعومة من نشاط النسخ كمصادر ومواضع تلقي، راجع مخازن البيانات المدعومة.