هل واجهات برمجة تطبيقات BAPI الخاصة بشركة SAP مملوكة أم أنها مجرد غلاف لشيء آخر؟

StackOverflow https://stackoverflow.com/questions/1539461

  •  20-09-2019
  •  | 
  •  

سؤال

لذلك، لقد تم إلقائي للتو في منتصف مشروع يتضمن SAP.على وجه التحديد، أحتاج إلى استخدام واجهات برمجة تطبيقات SAPs BAPI لسحب مجموعة من المعلومات من نظام SAP "العميل".نظرًا لأن SAP عبارة عن منصة مغلقة، فقد كنت أواجه مشكلة في العثور على نظرة عامة عالية المستوى حول من/ماذا/أين/متى/كيفية SAP وBAPI.خاصة

  1. هل BAPI مجرد غلاف لـ SOAP و/أو XML-RPC، أم أنه تنسيق اتصال خاص تمامًا؟

  2. هل هناك امتداد أو مكتبة PHP للعمل مع واجهات برمجة التطبيقات هذه؟

  3. لقد رأيت الاختصار ABAP متداولًا.ماذا يعني، وأين يتناسب مع الأشياء؟

في هذه المرحلة، أبحث عن موارد جيدة يمكن أن تمنحني رؤية لمسافة 10000 قدم.أدرك أنه يمكنك قضاء حياتك في العمل مع نظام تخطيط موارد المؤسسات (ERP) هذا وما زلت لا تفهم الأمر برمته.أريد فقط نظرة عامة أساسية حتى أتمكن من التحدث إلى موظفي SAP "العميل" ولا أبدو وكأنني مبتدئ تمامًا.

هل كانت مفيدة؟

المحلول

يعنيBAPI بالاستخدام أتطبيق صالبرمجة أناnterface.

كان هدف SAP عند تقديم BAPI هو توفير ...

  • محددة جيدا
  • مستقر
  • تنفيذ مستقل
  • وثق بشكل جيد

واجهات برمجة تطبيقات الأعمال التي توفر وصولاً موحدًا إلى حلول SAP على المستوى الدلالي.

ومع ذلك، فإن واجهات BAPI هي واجهات SAP مملوكة.

توفر واجهات BAPI وصولا موحدا إلى وظائف مستوى التطبيق ، بغض النظر عن نوع المكالمة:يمكن أن تكون كل من المعالجة المتزامنة وغير المتزامنة يتم تشغيله باستخدام هذه الواجهات.

ستؤدي المعالجة المتزامنة لـ BAPI إلى تنفيذ RFC (استدعاء الوظيفة عن بعد، بروتوكول RPC الخاص بـ SAP).

تستخدم المعالجة غير المتزامنة ALE (تمكين ارتباط التطبيق، تنسيق EDI الخاص بـ SAP) بشفافية.

توفر المنتجات مثل محول webMethods SAP (المعروف أيضًا باسم SAP Business Connector) وصولاً ثنائي الاتجاه لمستوى الخدمة إلى BAPI بالإضافة إلى بروتوكولات RFC وALE ذات المستوى الأدنى من/إلى وجهة بعيدة.

باستخدام هذه الأدوات، ليست هناك حاجة للقلق بشأن ABAP، حيث يتم تنفيذ كل منطق أعمال SAP من خلال لغة البرمجة 4GL.

هناك أيضًا العديد من تعيينات XML المحددة لـ BAPI (بالإضافة إلى RFC وIDocs) التي تسمح بنقل مستندات الأعمال داخل مظروف XML.هذه هي الأكثر وضوحا

  • bXML (نوع المحتوى:التطبيق/x-sap.busdoc)
  • RFC-XML (نوع المحتوى:التطبيق/x-sap.rfc)
  • IDoc-XML (نوع المحتوى:التطبيق/x-sap.idoc)

وكذلك الصابون.

نصائح أخرى

حسنًا ، سأجربها ...

  1. ABAP هي لغة البرمجة التي تتم كتابة معظم أنظمة SAP بها.إنها في الأساس نسخة 4/GL من COBOL مع إضافة بعض SQL.

  2. BAPI ("Business API") هي مواصفات واجهة SAP وطريقة للحصول على المعلومات من النظام.أود أن أقول إن أبسط طريقة للنظر إليها هي بمثابة استدعاء إجراء عن بعد في نظام SAP، مما يتيح لك الوصول إلى البيانات والوظائف (المكتوبة في ABAP) الموجودة في SAP.يمنحك بعض واجهة برمجة التطبيقات (API) لسحب البيانات من النظام (على سبيل المثال.طلبًا)، قم بتغييره في تطبيقك (على سبيل المثالأضف مناصب إلى الأمر) ثم قم بنشره مرة أخرى واتصل أيضًا بوظائف العمل (على سبيل المثال.قم بنشر هذا الطلب حتى تتم معالجته بشكل أكبر في نظام SAP).

  3. توجد أغلفة لاستدعاء BAPIs من عدد من اللغات.ما عليك سوى البحث في Google أو البحث داخل نظام مساعدة SAP أو شبكة مطوري SAP عبر الإنترنت على sdn.sap.com

حظا سعيدا في ألا يبدو وكأنه مبتدئ ..أو فقط أعترف بذلك..حظا سعيدا!

  1. ننسى بابي لثانية واحدة.لدى SAP بروتوكول اتصال خاص يسمى RFC (استدعاء الوظيفة عن بعد).توفر SAP ملف dll (أو مكتبة مشتركة لـ *nix) يمكنك استخدامه لاستدعاء الوظائف في SAP من c.توفر SAP أيضًا أغلفة لملف dll هذا لـ java و.net.وهناك أغلفة مفتوحة المصدر لملف dll هذا لـ php وpython وperl وروبي.هكذا تكون العملية.أ) يقوم شخص ما بتطوير وظيفة (ممكنة عن بعد) في abap.ب) يمكنك استخدام ملف rfc dll، مع غلاف اللغة التي تختارها، واستدعاء وظيفة sap هذه.ج) الجميع سعداء.

    دعنا نعود إلى بابي.بناءً على التقنية الموضحة في القسم السابق.قررت SAP إنشاء مجموعة من الوظائف التي تقوم بأشياء تجارية.وقرروا أن يطلقوا عليهم اسم بابي.لأن اسم "الوظائف التي تقوم بالأعمال" ليس رائعًا.

  2. هنا هو امتداد PHP للاتصال النسغ.يمكنك أيضًا العثور على الكثير من المعلومات حول php وsap في النسغ شبكة التنمية المستدامة.

  3. أباب هي لغة منصة النسغ.

إن BAPIs عبارة عن وحدات وظيفية تم تمكينها عن بعد ولها بعض "معايير" البرمجة المرفقة بها إذا أراد المرء أن يطلق عليها "BAPIs"، على سبيل المثال.يتم إرجاع الرسائل بتنسيقات معينة، ويتم كتابة المعلمات بطريقة معينة.إنها في الواقع ليست أكثر من مجرد وحدات وظائف SAP مُمكنة للاتصال عن بعد عبر زر الاختيار.

لا أوافق على أنه لا ينبغي للمرء أن يكتب كود SAP، لأن SAP قدمت عددًا كبيرًا من معرفات BAPIs لتغطية معظم الأشياء القياسية.يتطلب كل تطبيق تقريبًا تعليمات برمجية، والأشياء التي يتم تسليمها بواسطة SAP هي مجرد القاعدة.سيقول المديرون وأنواع المبيعات بشكل مختلف، لكن هذا ليس الواقع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top