الثلاثاء، 20 أكتوبر 2020

SAP ABAP - Function Modules وحدات الدوال او الوظائف في ساب

 SAP ABAP - Function Modules وحدات الدوال او الوظائف في ساب

SAP ABAP - Function Modules وحدات الدوال او الوظائف في ساب

SAP ABAP - Function Modules وحدات الدوال او الوظائف في ساب

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

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

للنظر في كيفية إنشاء الوحدات النمطية للوظائف ، يجب استكشاف منشئ الوظيفة. يمكنك العثور على منشئ الوظيفة برمز المعاملة SE37. فقط اكتب جزءًا من اسم وحدة الدالة بحرف بدل لتوضيح الطريقة التي يمكن بها البحث عن وحدات الوظيفة. اكتب * amount * ثم اضغط على المفتاح F4.

إنشاء وحدة الوظيفة

سيتم عرض نتائج البحث في نافذة جديدة. يتم عرض وحدات الوظائف في خطوط ذات خلفية زرقاء ومجموعات وظائفها بخطوط وردية. يمكنك إلقاء نظرة إضافية على مجموعة الوظائف ISOC باستخدام شاشة Object Navigator (Transaction SE80). يمكنك رؤية قائمة بالوحدات النمطية للوظائف وأيضًا الكائنات الأخرى الموجودة في مجموعة الوظائف. لنفكر في وحدة الدالة SPELL_AMOUNT. تقوم وحدة الوظيفة هذه بتحويل الأرقام الرقمية إلى كلمات.

إنشاء برنامج جديد

الخطوة 1 - انتقل إلى المعاملة SE38 وقم بإنشاء برنامج جديد يسمى Z_SPELLAMOUNT.

الخطوة 2 - أدخل بعض التعليمات البرمجية بحيث يمكن إعداد معلمة حيث يمكن إدخال قيمة وتمريرها إلى وحدة الوظيفة. نص عنصر النص 001 هنا يقرأ "أدخل قيمة".

الخطوة 3 - لكتابة الكود الخاص بذلك ، استخدم CTRL + F6. بعد ذلك ، تظهر نافذة حيث "وظيفة الاتصال" هي الخيار الأول في القائمة. أدخل "spell_amount" في مربع النص وانقر فوق الزر "متابعة".

برنامج المبلغ الإملائي

الخطوة 4 - يتم إنشاء بعض التعليمات البرمجية تلقائيًا. لكننا نحتاج إلى تحسين عبارة IF لتضمين رمز لكتابة رسالة إلى الشاشة لنقول "أعادت وحدة الوظيفة قيمة: sy-subrc" وإضافة عبارة ELSE لكتابة النتيجة الصحيحة عند ظهور الوظيفة الوحدة النمطية ناجحة. هنا ، يجب إعداد متغير جديد للاحتفاظ بالقيمة التي يتم إرجاعها من وحدة الوظيفة. دعنا نسمي هذا "نتيجة".

فيما يلي الكود -

REPORT Z_SPELLAMOUNT. 
data result like SPELL. 

selection-screen begin of line. 
selection-screen comment 1(15) text-001. 

parameter num_1 Type I. 
selection-screen end of line. 
CALL FUNCTION 'SPELL_AMOUNT' 
EXPORTING 
AMOUNT = num_1 
IMPORTING 
IN_WORDS = result. 

IF SY-SUBRC <> 0. 
   Write: 'Value returned is:', SY-SUBRC. 
else. 
   Write: 'Amount in words is:', result-word. 
ENDIF.

الخطوة 5 - المتغير الذي ترجع إليه وحدة الوظيفة يسمى IN_WORDS. قم بإعداد المتغير المقابل في البرنامج المسمى "النتيجة". حدد IN_WORDS باستخدام عبارة LIKE للإشارة إلى بنية تسمى SPELL.

الخطوة 6 - حفظ وتنشيط وتنفيذ البرنامج. أدخل قيمة كما هو موضح في الصورة التالية واضغط على F8.

مبلغ الهجاء

ينتج الكود أعلاه الناتج التالي -

Spelling the Amount 
Amount in words is: 
FIVE THOUSAND SIX HUNDRED EIGHTY








التسميات: