مشاركة عبر


تمكين النشر الأساسي ل SAP لموجزات OData المباشرة باستخدام Power Query

يعد العمل مع مجموعات بيانات SAP في Microsoft Excel أو Power BI مطلبا شائعا للعملاء.

توضح هذه المقالة التكوينات والمكونات المطلوبة لتمكين استهلاك مجموعة بيانات SAP عبر OData باستخدام Power Query. يعتبر تكامل بيانات SAP "مباشرا" لأنه يمكن تحديثه من عملاء مثل Microsoft Excel أو Power BI عند الطلب، على عكس عمليات تصدير البيانات (مثل صادرات CSV لعارض قائمة SAP (ALV) على سبيل المثال. هذه الصادرات ثابتة بطبيعتها وليس لها علاقة مستمرة بأصل البيانات.

تركز المقالة على تعيين المستخدم من طرف إلى طرف بين هوية Microsoft Entra المعروفة في Power Query ومستخدم SAP الخلفي. غالبا ما يشار إلى هذه الآلية باسم النشر الأساسي ل SAP.

ينصب تركيز التكوين الموضح على Azure API Management وSAP Gateway وSAP OAuth 2.0 Server مع AS ABAP ومصادر OData، ولكن تنطبق المفاهيم المستخدمة على أي مورد مستند إلى الويب.

هام

ملاحظة: يضمن النشر الأساسي ل SAP تعيين المستخدم إلى مستخدم SAP المرخص المسمى. بالنسبة لأي أسئلة متعلقة بترخيص SAP، يرجى الاتصال بممثل SAP الخاص بك.

نظرة عامة على منتجات Microsoft مع تكامل SAP

تتراوح عمليات التكامل بين منتجات SAP ومحفظة مشاريع Microsoft 365 من الرموز المخصصة والوظائف الإضافية للشركاء إلى منتجات Office المخصصة بالكامل. فيما يلي مثالان على ذلك:

تستخدم الآلية الموضحة في هذه المقالة قدرات OData المضمنة القياسية في Power Query وتركز على مناظر SAP الطبيعية المنشورة على Azure. معالجة المناظر الطبيعية المحلية باستخدام بوابة Azure API Management المستضافة ذاتيا.

لمزيد من المعلومات حول منتجات Microsoft التي تدعم Power Query بشكل عام، راجع وثائق Power Query.

اعتبارات الإعداد

لدى المستخدمين النهائيين خيار بين عملاء سطح المكتب المحليين أو العملاء المستندين إلى الويب (على سبيل المثال Excel أو Power BI). يجب مراعاة بيئة تنفيذ العميل لمسار الشبكة بين تطبيق العميل وعبء عمل SAP الهدف. حلول الوصول إلى الشبكة مثل VPN ليست في نطاق تطبيقات مثل Excel على الويب.

تعكس إدارة واجهة برمجة تطبيقات Azure احتياجات البيئة المحلية والقائمة على الويب مع أوضاع نشر مختلفة يمكن تطبيقها على مناظر Azure الطبيعية (الداخلية أو الخارجية). Internal يشير إلى المثيلات المقيدة بالكامل بشبكة ظاهرية خاصة بينما external يحتفظ بالوصول العام إلى Azure API Management. تتطلب عمليات التثبيت المحلية توزيعا مختلطا لتطبيق النهج كما هو الحال باستخدام بوابة Azure API Management المستضافة ذاتيا.

يتطلب Power Query مطابقة عنوان URL لخدمة واجهة برمجة التطبيقات وعنوان URL لمعرف تطبيق Microsoft Entra. تكوين مجال مخصص لإدارة واجهة برمجة تطبيقات Azure لتلبية المتطلبات.

يجب تكوين بوابة SAP لعرض خدمات OData المستهدفة المطلوبة. اكتشاف الخدمات المتوفرة وتنشيطها عبر رمز /IWFND/MAINT_SERVICEمعاملات SAP . لمزيد من المعلومات، راجع تكوين SAP OData.

تكوين المجال المخصص لإدارة واجهة برمجة تطبيقات Azure

انظر أدناه لقطة شاشة لتكوين مثال في APIM باستخدام مجال مخصص يسمى api.custom-apim.domain.com بشهادة مدارة ومجال خدمة تطبيقات Azure. لمزيد من خيارات شهادة المجال، راجع وثائق إدارة واجهة برمجة تطبيقات Azure.

لقطة شاشة تعرض تكوين المجال المخصص في Azure API Management.

أكمل إعداد المجال المخصص وفقا لمتطلبات المجال. لمزيد من المعلومات، راجع وثائق المجال المخصص. لإثبات ملكية اسم المجال ومنح حق الوصول إلى الشهادة، أضف سجلات DNS هذه إلى مجال custom-apim.domain.com Azure App Service كما يلي:

لقطة شاشة تعرض تعيين المجال المخصص لمجال Azure API Management.

سيبدو تسجيل تطبيق Microsoft Entra المعني لمستأجر Azure API Management كما هو موضح أدناه.

لقطة شاشة تعرض تسجيل التطبيق لإدارة واجهة برمجة تطبيقات Azure في معرف Microsoft Entra.

إشعار

إذا لم يكن المجال المخصص لإدارة واجهة برمجة تطبيقات Azure خيارا لك، فستحتاج إلى استخدام موصل Power Query مخصص بدلا من ذلك.

تصميم نهج إدارة واجهة برمجة تطبيقات Azure ل Power Query

استخدم نهج إدارة واجهة برمجة تطبيقات Azure هذا لواجهة برمجة تطبيقات OData الهدف لدعم تدفق مصادقة Power Query. انظر أدناه قصاصة برمجية من هذا النهج تسلط الضوء على آلية المصادقة. ابحث عن معرف العميل المستخدم ل Power Query هنا.

<!-- if empty Bearer token supplied assume Power Query sign-in request as described [here:](/power-query/connectorauthentication#supported-workflow) -->
<when condition="@(context.Request.Headers.GetValueOrDefault("Authorization","").Trim().Equals("Bearer"))">
    <return-response>
        <set-status code="401" reason="Unauthorized" />
        <set-header name="WWW-Authenticate" exists-action="override">
            <!-- Check the client ID for Power Query [here:](/power-query/connectorauthentication#supported-workflow) -->
            <value>Bearer authorization_uri=https://login.microsoftonline.com/{{AADTenantId}}/oauth2/authorize?response_type=code%26client_id=a672d62c-fc7b-4e81-a576-e60dc46e951d</value>
        </set-header>
    </return-response>
</when>

بالإضافة إلى دعم تدفق تسجيل الدخول إلى حساب المؤسسة، يدعم النهج إعادة كتابة استجابة عنوان URL OData لأن الخادم الهدف يرد بعناوين URL الأصلية. انظر أدناه قصاصة برمجية من النهج المذكور:

<!-- URL rewrite in body only required for GET operations -->
<when condition="@(context.Request.Method == "GET")">
    <!-- ensure downstream API metadata matches Azure API Management caller domain in Power Query -->
    <find-and-replace from="@(context.Api.ServiceUrl.Host +":"+ context.Api.ServiceUrl.Port + context.Api.ServiceUrl.Path)" to="@(context.Request.OriginalUrl.Host + ":" + context.Request.OriginalUrl.Port + context.Api.Path)" />
</when>

إشعار

لمزيد من المعلومات حول الوصول الآمن إلى SAP من الإنترنت وتصميم شبكة SAP المحيطة، راجع هذا الدليل. فيما يتعلق بتأمين واجهات برمجة تطبيقات SAP باستخدام Azure، راجع هذه المقالة.

مصادقة SAP OData عبر Power Query على Excel Desktop

مع التكوين المحدد، تصبح آلية المصادقة المضمنة في Power Query متاحة لواجهات برمجة تطبيقات OData المكشوفة. أضف مصدر OData جديدا إلى ورقة Excel عبر شريط البيانات (الحصول على البيانات -> من مصادر أخرى -> من موجز OData). الاحتفاظ بعنوان URL للخدمة الهدف. يستخدم المثال أدناه GWSAMPLE_BASIC الخدمة التجريبية لبوابة SAP. اكتشفه أو قم بتنشيطه باستخدام معاملة /IWFND/MAINT_SERVICESAP . وأخيرا أضفه إلى Azure API Management باستخدام دليل استيراد OData الرسمي.

لقطة شاشة توضح كيفية اكتشاف عنوان URL OData داخل Azure API Management.

استرداد عنوان URL الأساسي وإدراجه في التطبيق الهدف. يوضح المثال أدناه تجربة التكامل مع Excel Desktop.

لقطة شاشة تعرض معالج تكوين OData في Excel Desktop.

قم بتبديل أسلوب تسجيل الدخول إلى حساب المؤسسة وانقر فوق تسجيل الدخول. قم بتوفير حساب Microsoft Entra الذي تم تعيينه إلى مستخدم SAP المسمى على بوابة SAP باستخدام النشر الأساسي ل SAP. لمزيد من المعلومات حول التكوين، راجع هذا البرنامج التعليمي ل Microsoft. تعرف على المزيد حول النشر الأساسي ل SAP من منشور مجتمع SAP هذا وسلسلة الفيديو هذه.

تابع اختيار المستوى الذي يجب تطبيق إعدادات المصادقة عليه بواسطة Power Query على Excel. يوضح المثال أدناه إعدادا ينطبق على جميع خدمات OData المستضافة على نظام SAP الهدف (ليس فقط على نموذج الخدمة GWSAMPLE_BASIC).

إشعار

إعداد نطاق التخويل على مستوى عنوان URL في الشاشة أدناه مستقل عن التخويلات الفعلية على الواجهة الخلفية ل SAP. تظل بوابة SAP المدقق النهائي لكل طلب والتخويلات المقترنة لمستخدم SAP معين.

لقطة شاشة تعرض تدفق تسجيل الدخول داخل Excel لخيار حساب المؤسسة.

هام

يركز التوجيه أعلاه على عملية الحصول على رمز مصادقة صالح من معرف Microsoft Entra عبر Power Query. يجب معالجة هذا الرمز المميز بشكل أكبر لنشر SAP الأساسي.

تكوين النشر الأساسي ل SAP باستخدام Azure API Management

استخدم نهج إدارة واجهة برمجة تطبيقات Azure الثاني هذا ل SAP لإكمال تكوين النشر الأساسي ل SAP على الطبقة الوسطى. لمزيد من المعلومات حول تكوين الواجهة الخلفية لبوابة SAP، راجع هذا البرنامج التعليمي من Microsoft.

إشعار

تعرف على المزيد حول النشر الأساسي ل SAP من منشور مجتمع SAP هذا وسلسلة الفيديو هذه.

رسم تخطيطي يوضح تسجيلات تطبيق Microsoft Entra المضمنة في هذه المقالة.

يعتمد النهج على إعداد SSO ثابت بين Microsoft Entra ID وSAP Gateway (استخدم SAP NetWeaver من معرض Microsoft Entra). انظر أدناه مثالا مع المستخدم التجريبي Adele Vance. يحدث تعيين المستخدم بين معرف Microsoft Entra ونظام SAP استنادا إلى اسم المستخدم الأساسي (UPN) كمعرف مستخدم فريد.

لقطة شاشة تعرض UPN للمستخدم التجريبي في Microsoft Entra ID.

لقطة شاشة تعرض تكوين SAML2 لبوابة SAP مع مطالبة UPN.

يتم الاحتفاظ بتعيين UPN على نهاية SAP الخلفية باستخدام المعاملة SAML2.

لقطة شاشة تعرض وضع تعيين البريد الإلكتروني في معاملة SAP SAML2.

وفقا لهذا التكوين ، سيتم تعيين مستخدمي SAP إلى مستخدم Microsoft Entra المعني. انظر أدناه مثال على التكوين من نهاية SAP الخلفية باستخدام رمز المعاملة SU01.

لقطة شاشة لمستخدم SAP المسمى في المعاملة SU01 مع عنوان البريد الإلكتروني المعين.

لمزيد من المعلومات حول خادم SAP OAuth 2.0 المطلوب مع تكوين AS ABAP ، راجع هذا البرنامج التعليمي من Microsoft حول تسجيل الدخول الأحادي مع SAP NetWeaver باستخدام OAuth.

باستخدام نهج Azure API Management الموضحة، قد يستدعي أي منتج Microsoft ممكن بواسطة Power Query خدمات OData المستضافة من SAP، مع احترام تعيين المستخدم المسمى SAP.

لقطة شاشة تعرض استجابة OData في Excel Desktop.

الوصول إلى SAP OData عبر التطبيقات والخدمات الأخرى الممكنة في Power Query

يظهر المثال أعلاه تدفق Excel لسطح المكتب، ولكن النهج قابل للتطبيق على أي منتج Microsoft ممكن عليه Power Query OData. لمزيد من المعلومات حول موصل OData ل Power Query والمنتجات التي تدعمه، راجع وثائق Power Query Connectors. لمزيد من المعلومات حول المنتجات التي تدعم Power Query بشكل عام، راجع وثائق Power Query.

المستهلكون الشائعون هم Power BI Excel على الويب وPower Apps (تدفقات البيانات) وخدمة التحليل.

معالجة سيناريوهات حفظ SAP مع التحديث باستخدام Power Automate

النهج الموضح قابل للتطبيق أيضا على سيناريوهات إعادة الكتابة. على سبيل المثال، يمكنك استخدام Power Automate لتحديث شريك عمل في SAP باستخدام OData باستخدام الموصلات التي تدعم http (بدلا من ذلك استخدم RFCs أو BAPIs). انظر أدناه مثالا على لوحة معلومات خدمة Power BI متصلة ب Power Automate من خلال تنبيهات مستندة إلى القيمة وزر (مميز على لقطة الشاشة). تعرف على المزيد حول تشغيل التدفقات من تقارير Power BI على وثائق Power Automate.

لقطة شاشة تعرض لوحة معلومات خدمة Power BI الممكنة للتدفق.

يؤدي الزر المميز إلى تشغيل تدفق يقوم بإعادة توجيه طلب OData PATCH إلى بوابة SAP لتغيير دور شريك العمل.

إشعار

استخدم نهج إدارة واجهة برمجة تطبيقات Azure ل SAP لمعالجة المصادقة وتحديث الرموز المميزة ورمز CSRF المميزة والتخزين المؤقت الكلي للرمايات المميزة خارج التدفق.

لقطة شاشة تعرض التدفق على Power Automate الذي يطلب تغيير شريك العمل على الواجهة الخلفية ل SAP.

الخطوات التالية

تعلم من أين يمكنك استخدام OData مع Power Query

العمل مع SAP OData APIs في Azure APIM

تكوين إدارة واجهة برمجة تطبيقات Azure لواجهات برمجة تطبيقات SAP

البرنامج التعليمي: تحليل بيانات المبيعات من Excel وموجز OData

حماية واجهات برمجة التطبيقات باستخدام Application Gateway وAPIM

دمج APIM في شبكة ظاهرية داخلية مع بوابة التطبيق

فهم بوابة تطبيق Azure وجدار حماية تطبيق الويب لـ SAP

أتمتة عمليات توزيع واجهة برمجة التطبيقات باستخدام APIOps