الفرق بين مخرج المستخدم ومخرج العميل في SAP
⚡ ملخص ذكي
مخارج المستخدم ومخارج العميل في SAP تُعدّ لغة ABAP بمثابة خطافات تحسين تُضيف وظائف مخصصة إلى البرامج القياسية دون تعديلها. SAP الكود. تشرح هذه الصفحة أنواع مخارج المستخدم، وأمثلة عملية، ومعاملات SMOD وCMOD، ومخارج المستخدم، وكيف تختلف التقنيتان.

ما هي مخارج العملاء؟
مخارج العملاء هي "خطافات" التي تقدمها SAP ضمن العديد من البرامج والشاشات والقوائم القياسية التي يمكن للعملاء الاطلاع عليها "يشنق" وظائف مخصصة لتلبية متطلبات العمل. المزيد حول هذا الموضوع بعد قليل...
تتمثل الفائدة الرئيسية في أن المعيار SAP لا يتم تعديل الكائن مطلقًا. يوجد الكود المخصص في ملف تضمين محجوز أو شاشة فرعية SAP يتم استدعاء هذه الوظائف في الوقت المناسب، لذا يبقى التحسين قائمًا بعد ترقية النظام بدلًا من استبداله. ولهذا السبب، تنتمي المخارج إلى عائلة SAP تقنيات التحسين جنبًا إلى جنب مع الإضافة التجارية الأحدث.
أنواع خروج العملاء
هناك ثلاثة أنواع رئيسية من مخارج العملاء:
- وحدة وظيفة الخروج
- مخارج الشاشة
- مخارج القائمة
خروج الوحدة الوظيفيةيسمح هذا للعميل بإضافة التعليمات البرمجية عبر وحدة وظائف في موقع محدد في SAP برنامج التطبيق
Syntax: CALL CUSTOMER-FUNCTION '004'
خروج الشاشةيتيح ذلك للعميل إضافة حقول إلى الشاشة في SAP برنامج عبر شاشة فرعية. يتم استدعاء الشاشة الفرعية ضمن منطق تدفق الشاشة القياسية.
Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2
الخروج من القائمة: يُمكّن هذا النظام العميل من إضافة عناصر إلى قائمة منسدلة في نظام قياسي SAP برنامج. يمكن استخدام هذه العناصر للاتصال بالبرامج الإضافية أو الشاشات المخصصة.
Format: +CUS ( additional item in GUI status )
أمثلة على خروج العملاء
مثال على الخروج من الشاشة:
في المعاملة CAT2 – إدخال جدول العمل، ترغب الموارد البشرية في تضمين إقرار تفاعلي بأن تقديم بيانات غير صحيحة عن علم يعد سببًا للفصل.
مثال للخروج من القائمة:
في المعاملة SE38 - محرر ABAP، يرغب فريق التطوير في تضمين رابط قائمة للمعاملة SE80 - Object Navigator لسهولة الاستخدام.
BEFORE
AFTER
مثال على خروج الوحدة الوظيفية:
تريد الشركة أن تكون تفاصيل البنك الخاصة بالبائعين في عملية إنشاء البائع حدثًا إلزاميًا. لذا يجب أن تظهر رسالة خطأ مفادها "الرجاء إدخال تفاصيل البنك"
BEFORE
AFTER
تحديد موقع مخارج العملاء
في الصفقة سمود وانظر إلى التفاصيل-
أو في المعاملات SE81 يمكنك استخدام منطقة التطبيق المناسبة
إنشاء خروج العميل
لإنشاء خروج عميل، عليك أولاً إنشاء مشروع في المعاملة كمود
Later قمت بتعيين "خروج العميل" لمشروعك.
التسلسل الكامل من إيجاد المخرج إلى تفعيل الرمز قصير، ويتبع دائماً نفس الخطوات الست.
- ابحث عن التحسين: حدد اسم التحسين في SMOD، على سبيل المثال المكون EXIT_SAPMF02K_001 لبيانات المورد الرئيسية.
- إنشاء المشروع: في CMOD، أدخل اسم مشروع يبدأ بالحرف Z أو Y ثم اختر إنشاء.
- قم بتعيين التحسين: في شاشة تعيينات التحسينات، أضف اسم التحسين الذي يحتوي على المخرج.
- اكتب الكود: افتح مخرج وحدة الوظائف وضع الكود داخل ملف التضمين المحجوز الخاص بها، والذي يبدأ بـ ZX.
- التعامل مع أجزاء الشاشة والقوائم: للخروج من الشاشة، قم بإنشاء الشاشة الفرعية CUSTSCR، وللخروج من القائمة، قم بملء رمز الوظيفة +CUS في حالة واجهة المستخدم الرسومية.
- تفعيل المشروع: قم بتفعيل المشروع في CMOD حتى يتم استدعاء وظيفة الخروج أثناء التشغيل. بدون التفعيل، يتم تجاهل الكود.
💡 نصيحة: يبدأ تضمين مخرج وحدة الوظائف بـ ZX، لذا يتم نقله مع المشروع. لا تضع المنطق المخصص مباشرةً في SAP وحدة الوظائف، لأن ذلك سيكون تعديلاً وليس تحسيناً.
ما هو مخرج المستخدم؟
يخدم خروج المستخدم نفس غرض خروج العميل ولكنه متاح فقط لـ SD وحدة. يتم تنفيذ الخروج كنداء لوحدة الوظيفة. يتم كتابة الكود من قبل المطور.
نعرف جيدا خروج المستخدم في SD MV45AFZZ
- USEREXIT_FIELD_MODIFICATION – لتعديل سمات الشاشة
- USEREXIT_SAVE_DOCUMENT – لإجراء العمليات عندما يضغط المستخدم على حفظ
- USEREXIT_SAVE_DOCUMENT_PREPARE
- USEREXIT_MOVE_FIELD_TO_VBAK – عندما يتم نقل تغييرات رأس المستخدم إلى منطقة عمل الرأس.
- USEREXIT_MOVE_FIELD_TO_VBAP – عندما يتم نقل تغييرات عنصر المستخدم إلى SAP منطقة عمل البند
يُعتبر مخرج المستخدم تقنيًا روتينًا فرعيًا (نموذجًا) داخل SAP يتضمن ذلك، لذا يتم تعديله مباشرةً ويتطلب مفتاح وصول. هذا هو الفرق العملي الرئيسي عن مخرج العميل، والذي سيتم تلخيصه في القسم التالي.
مخرج المستخدم مقابل مخرج العميل
تُضيف كلتا التقنيتين سلوكًا مخصصًا إلى السلوك القياسي SAPلكنها تختلف في نطاقها وتقنيتها ومدى أمان ترقيتها. يقارن الجدول أدناه بينها.
| المعايير | مخرج المستخدم | مخرج العميل |
|---|---|---|
| التوفر | وحدة بطاقة SD فقط | عبر الكل SAP نماذج |
| تقنية | روتين فرعي (FORM) في SAP يشمل ذلك على سبيل المثال MV45AFZZ | يتم إدارة وحدة الوظائف أو الشاشة أو مخرج القائمة في SMOD وCMOD |
| مفتاح الوصول | يتطلب مفتاح وصول للتعديل | لا حاجة لمفتاح دخول |
| Upgrade سلوك | يجب التحقق من ذلك في الترقية مع SPAU | Upgrade آمن، يتم الاتصال به من مكان محجوز يشمل |
| محفوظة. الموقع مدار من قبل | تم التعديل مباشرة في الملف المضمن | تم تفعيله من خلال مشروع CMOD |
تُعدّ مخارج العملاء أكثر أمانًا وأوسع نطاقًا من المخارج الأخرى. أما بالنسبة للتحسينات التي لا يمكن لأي من المخرجين الوصول إليها، SAP ثم تم طرح الإضافة التجارية.
مخارج العملاء مقابل BAdI
A إضافة الأعمال (BAdI) يُعدّ BAdI خليفةً لـ Customer Exit في البرمجة الكائنية. فبدلاً من تضمين محجوز، يُعرّف BAdI واجهةً، وتُوضع المنطق المخصص في فئة تُنفّذها. وهذا يُوفّر ميزتين لا يُقدّمهما Customer Exit.
- تطبيقات متعددة: يسمح BAdI متعدد الاستخدامات بتنفيذات مستقلة متعددة لنفس التحسين، بينما يسمح مخرج العميل بتنفيذ واحد فقط.
- توجيه الكائن: يعمل BAdI مع الأساليب والفئات، لذا فهو يناسب تطوير كائنات ABAP الحديثة ويسهل تصفيته حسب البلد أو سيناريو العمل.
القاعدة العملية بسيطة: استخدم مخرج العميل الحالي أو مخرج المستخدم عندما تكون نقطة التحسين موجودة بالفعل، واستخدم BAdI عندما تكون هناك حاجة إلى نقطة تحسين جديدة قابلة لإعادة الاستخدام.








