البرامج المخصصة مقابل أنظمة SAP
نحو نظام SAP أساسي وبسيط
كل شركة كبيرة تستخدم برامج خاصة بها إلى جانب نظام SAP العادي. هذه البرامج الخاصة تم تطويرها بتقنيات مختلفة، من ABAP القديم إلى تطبيقات جديدة مرتبطة بـ SAP ERP أو HR لكنها مُطوّرة بلغات مثل Java أو .Net أو Node.js. اليوم، نظام SAP يتغير كثيراً – مثل الانتقال إلى S/4HANA وSuccessFactors والسحابة. هذا يعني أننا نحتاج لإعادة التفكير في كيفية استخدام SAP العادي مع البرامج الخاصة. حان الوقت للتفكير في كيفية الاستفادة من هذه التغييرات.
.
لماذا نحتاج حلول خاصة؟
أكثر من 400 ألف شركة تستخدم SAP كأداة عمل أساسية. نجاح SAP يرجع إلى إمكانية ربطه بأدوات تطوير خاصة. هذا يسمح للشركات بإنشاء وظائف تناسب احتياجاتها الخاصة.
SAP صنعت لغة برمجة خاصة تسمى ABAP لبناء نظامها. هذه اللغة متاحة للمطورين لإنشاء برامج خاصة. ABAP أعطت الشركاء والعملاء إمكانيات كبيرة لتعديل وتوسيع نظام SAP. وشملت هذه:
SAP تتيح للمطورين:
رؤية كل السورس كود للمصدر ونموذج البيانات.
إضافة شيفرة ABAP خاصة في أماكن محددة بالنظام (تسمى ‘مخارج المستخدم’).
توسيع نموذج البيانات بإضافة حقول جديدة أو جداول خاصة.
SAP توفر أيضًا أدوات لتصميم النماذج والتقارير وسير العمل.
تطورت أدوات البرمجة كثيراً في السنوات الأخيرة. في 2023، المطورون لن يقبلوا استخدام أدوات قديمة من 30 سنة. لكن عملاء SAP يحبون استقرار النظام.
أنظمة SAP الجديدة (مثل SAP ERP و S/4) تدعم لفترات طويلة وتسمح بالترقية السهلة مع الحفاظ على البيانات والوظائف الخاصة.
لذلك SAP تغير طريقة التطوير الخاص ببطء. فهي تسمح للعملاء باستخدام طرق مختلفة معاً والانتقال تدريجياً للحلول الحديثة. هذا جيد لأن التطويرات القديمة لا تحتاج لإعادة بناء فوري. لكنه يجعل من الصعب فهم العلاقة بين الأدوات القديمة والجديدة. سنشرح هنا الاتجاهات الرئيسية لهذا التطور وأسباب SAP وراءه.
تحديات الترقية
كيف نوفق بين إمكانيات التطوير الخاص الواسعة في SAP وإصدار نسخ جديدة من التطبيقات؟ الرسم البياني يوضح النهج الحالي لتوسيع النظام.
ترقية SAP وفقًا لنموذج برمجة ABAP الكلاسيكي

SAP توفر أدوات تساعد في ترقية النظام، بما في ذلك البرامج الخاصة. يتم تحديث البرامج وعناصر النظام التي عدلها العملاء تلقائيًا. أي تعارضات تظهر بوضوح عند تثبيت نسخة جديدة. هذا يسمح بإدارة الترقية بشكل منظم. لكن بسبب كثرة العناصر التي يجب تحليلها، كانت مشاريع الترقية كبيرة وتستغرق شهورًا. في كل مرة، كان على العملاء التفكير إذا كانت الميزات الجديدة تستحق جهد المشروع.
في عصر أنظمة SaaS، اعتدنا على تحديثات منتظمة وسلسة للبرامج مثل Microsoft 365 أو JIRA. SAP تحاول أيضًا تبني نهج ‘التحديثات المتكررة والبسيطة’. لتحقيق ذلك، يجب فصل التطوير الخاص عن الكود الأساسي لـ SAP.
SAP قسمت نموذج البيانات والواجهات إلى جزئين: ‘متاح للاستخدام الخارجي’ و’داخلي’. الجزء المتاح سيبقى ثابتًا، مما يضمن توافق التطوير الخاص مع الإصدارات المستقبلية. هذا التقسيم يظهر في نموذج البيانات (CDS views) وفي واجهات API المنشورة على موقع SAP Business Accelerator Hub.
هذا التغيير كبير بسبب الوصول المفتوح حاليًا لكود النظام، والكم الهائل من التطوير الخاص الموجود (يصل إلى 30 عامًا لبعض العملاء)، وعادات آلاف مطوري ABAP.
SAP تسمي نهجها الجديد ‘النواة النظيفة’. هذا يعني إمكانية تحديث ‘النظام الأساسي’ بسهولة أكبر عن طريق فصل تطوير العميل عن النظام الأساسي. هذا يقلل من مخاطر التعارضات أثناء التحديثات ويقرب نظام ERP من نموذج تحديثات SaaS السلس.
النهج الأساسي النظيف لـ SAP

تطور بيئة برمجة ABAP:
في السنوات الأخيرة، قدمت SAP تحسينات جديدة لتناسب كل إصدارات S/4HANA (سواء كانت محلية أو سحابية خاصة أو عامة). هذه التحسينات تشمل أيضًا منصة SuccessFactors التي حلت محل SAP HCM.
أهم هذه التحديثات هي:
ثلاثة طرق جديدة لتوسيع البرامج:
توسيع داخل التطبيق
توسيع للمطورين
توسيع جانبي
كل طريقة لها مزاياها الخاصة ويمكن استخدامها معًا.
نموذج برمجة ABAP الجديد (RAP) الذي يفصل بين البيانات والعمليات وواجهة المستخدم.
استبدال بيئة التطوير القديمة (SE80) بأدوات تطوير ABAP الجديدة (ADT) المبنية على Eclipse.
3 طرق توسيع وظائف S/4HANA و SuccessFactors:
التوسيع داخل التطبيق:
الأسهل استخدامًا
مناسب لإضافات بسيطة مثل حقول جديدة أو تقارير بسيطة
في SuccessFactors، يسمى إطار البيانات الوصفية (MDF)
التوسيع للمطورين:
بديل مباشر لتطوير ABAP التقليدي
يستخدم أدوات تطوير ABAP الجديدة (ADT)
يسمح بإنشاء إضافات تعمل داخل S/4HANA
التوسيع الجانبي:
يستخدم منصة SAP BTP
منفصل تقنيًا لكنه متكامل وظيفيًا مع أنظمة SAP
يمكن استخدام ABAP أو تقنيات أخرى
مناسب للتطبيقات الأكبر والأكثر تعقيدًا
كل من الابتكارات المذكورة موضوع واسع يستحق مقالة منفصلة. أقدمها هنا فقط في شكل نظرة عامة – كقائمة من الأمور التي تستحق الاهتمام بها إذا أردنا البقاء على اطلاع على الإمكانيات الحالية للتطوير المخصص في SAP.
يتم عرض نظرة عامة جيدة على نهج SAP التطوري المخصص في إصدارات وأجيال مختلفة من النظام في الجدول أدناه.
تطور التطوير المخصص في SAP

ما هي الاستنتاجات التي يمكن استخلاصها من هذه النظرة العامة؟
إذا كنت تستخدم SAP ERP (ECC 6.0)، خياراتك محدودة لكن يمكنك البدء باستخدام ADT.
في S/4HANA المحلي أو السحابي الخاص، لديك خيارات أكثر. من المهم تعلم الطرق الجديدة لزيادة الإنتاجية.
في S/4HANA السحابي العام، يجب عليك استخدام الطرق الجديدة حيث أن الطريقة التقليدية (SE80) غير متوفرة.
Java و Node.js ولغات البرمجة الآخرى
Java وNode.js ولغات البرمجة الأخرى في عالم SAP:
ABAP هي لغة متخصصة لـ SAP، بينما لغات مثل Java وJavaScript وPython أكثر شيوعًا عالميًا.
SAP تدعم التكامل مع برامج مكتوبة بلغات أخرى منذ فترة طويلة.
SAP BTP هي منصة سحابية شاملة تشبه Microsoft Azure أو Amazon Web Services. توفر أكثر من 200 خدمة مختلفة، منها:
بيئات تشغيل للغات برمجة متعددة
تخزين وتحليل البيانات
دعم تطبيقات الجوال
دمج التطبيقات
إدارة وصول المستخدمين
خدمات أخرى مثل المراقبة وجدولة المهام
متى نستخدم لغات برمجة غير ABAP في بيئة SAP:
عند وجود تطبيقات قائمة لا نريد إعادة كتابتها بـ ABAP.
عندما يكون لدى الشركة مبرمجون ماهرون في لغات أخرى.
عندما تكون اللغات الأخرى أفضل لمهام معينة (مثل Python للذكاء الاصطناعي).
يعد SAP BTP أساس منهج القابلية للتوسعة جنبًا إلى جنب والفلسفة الأساسية النظيفة المذكورة في القسم السابق (انظر الرسم البياني أدناه).
منصة SAP لتكنولوجيا الأعمال (BTP) مقابل التطوير المخصص

ويساعد ذلك على فصل تطوير التطبيقات المخصصة بشكل واضح عن تثبيت نظام تخطيط موارد المؤسسات (ERP). إذا وضعنا تطويرنا المخصص على خادم التطبيق في BTP وقمنا بالاتصال بمثيل SAP عبر واجهة برمجة التطبيقات (API)، فسنحصل على المزايا التالية:
للمستخدمين: تكامل سلس مع أنظمة SAP الأخرى.
لتكنولوجيا المعلومات: سهولة الإدارة والتحديث.
إمكانية استخدام لغات برمجة متعددة.
يمكن ربط تطبيق واحد على BTP بعدة أنظمة SAP، مما يفيد الشركات الكبيرة أو مزودي الخدمات.
نصائح للبدء في التطوير المخصص:
استخدم حلول SAP القياسية كلما أمكن.
ابدأ بتخصيصات بسيطة مثل النماذج والتحققات.
استفد من خبرات SAP المتراكمة في التطوير المخصص.
تابع التطورات الجديدة في ABAP وSAP BTP.
يؤدي هذا إلى إمكانيات واتجاهات جديدة لتطوير لغة ABAP ومنصة SAP BTP الموضحة في هذه المقالة.
باختصار، SAP توفر الآن مرونة أكبر في التطوير المخصص، سواء باستخدام ABAP المحسنة أو لغات البرمجة الأخرى عبر منصة BTP. هذا يتيح للشركات الاستفادة من مهارات مطوريها الحاليين وتلبية احتياجاتها الخاصة بشكل أفضل./strong>.
التطورات الجديدة في عالم SAP:
SAP BTP يوفر نسخة مجانية للتعلم والتطوير.
موارد تعليمية متاحة على Developers.sap.com وapi.sap.com.
هذه التطورات جعلت تعلم برمجة SAP أسهل وأقل تكلفة مما كان عليه في الماضي.
نصيحة: ابدأ في تعلم هذه التقنيات الجديدة لتبقى منافسًا في سوق العمل ولتستفيد من إمكانيات S/4HANA الجديدة.
SAP لتخطيط الإنتاج والتصنيع (SAP PP):
يغطي وظائف تخطيط الإنتاج والتحكم فيه.
يدعم أنواعًا مختلفة من التخطيط (طويل وقصير المدى، حسب الطلب أو المخزون).
يتطلب تحديد بيانات رئيسية مثل قائمة المواد (BOM).
قائمة المواد (BOM):
تشبه وصفة الطبخ للمنتج.
تحتوي على المكونات وكمياتها اللازمة لإنتاج المنتج النهائي.
تُخزن في عدة جداول في قاعدة البيانات، أهمها:
STKO: بيانات الرأس
STPO: بيانات العناصر
STAS: العناصر المختارة
STPN: بيانات التحكم
STPU: العناصر الفرعية
STZU: فواتير المواد الدائمة.
الحقول الرئيسية في جداول BOM:
STLTY: فئة قائمة المواد
STLNR: رقم BOM
STLAL: البديل
مثال: لقراءة BOM برقم 123XYZ، نستعلم عن جميع الجداول المرتبطة به. يجب مراعاة أن رقم BOM وحده قد لا يكون كافيًا لتحديده بشكل كامل، حيث قد تكون هناك فئات مختلفة حسب الغرض.

