SAP ABAP - Macros وحدات الماكرو في ساب
SAP ABAP - Macros وحدات الماكرو في ساب
SAP ABAP - Macros وحدات الماكرو في ساب
إذا أردنا إعادة استخدام نفس مجموعة العبارات أكثر من مرة في أحد البرامج ، فنحن بحاجة إلى تضمينها في ماكرو. على سبيل المثال ، يمكن أن يكون الماكرو مفيدًا للحسابات الطويلة أو لكتابة عبارات WRITE المعقدة. يمكننا فقط استخدام ماكرو داخل برنامج يتم تعريفه فيه. يجب أن يحدث تعريف الماكرو قبل استخدام الماكرو في البرنامج.
تم تصميم وحدات الماكرو بناءً على العناصر النائبة. يعمل العنصر النائب مثل المؤشرات في لغة C. يمكنك تعريف ماكرو داخل DEFINE ... END-OF-DEFINITION بيان.
فيما يلي بناء الجملة الأساسي لتعريف الماكرو -
DEFINE <macro_name>. <statements> END-OF-DEFINITION. ...... <macro_name> [<param1> <param2>....].
من الضروري تحديد ماكرو أولاً قبل استدعائه. <param1>…. يستبدل العناصر النائبة & 1 ... في عبارات ABAP الموجودة في تعريف الماكرو.
الحد الأقصى لعدد العناصر النائبة في تعريف الماكرو هو تسعة. أي عند تنفيذ برنامج ما ، يستبدل نظام SAP الماكرو بعبارات مناسبة ويتم استبدال العناصر النائبة & 1 ، & 2 ،…. & 9 بالمعلمات param1 ، param2 ، .... param9. قد نستدعي ماكرو داخل ماكرو آخر ، لكن ليس نفس الماكرو.
مثال
انتقل إلى المعاملة SE38. قم بإنشاء برنامج جديد ZMACRO_TEST مع الوصف في حقل النص القصير ، وأيضًا بالسمات المناسبة مثل النوع والحالة كما هو موضح في لقطة الشاشة التالية -
فيما يلي الكود -
REPORT ZMACRO_TEST. DEFINE mac_test. WRITE: 'This is Macro &1'. END-OF-DEFINITION. PARAMETERS: s1 type C as checkbox. PARAMETERS: s2 type C as checkbox. PARAMETERS: s3 type C as checkbox default 'X'. START-OF-SELECTION. IF s1 = 'X'. mac_test 1. ENDIF. IF s2 = 'X'. mac_test 2. ENDIF. IF s3 = 'X'. mac_test 3. ENDIF.
لدينا 3 مربعات اختيار. أثناء تنفيذ البرنامج ، دعنا نحدد مربع الاختيار S2.
ينتج الكود أعلاه الناتج التالي -
A Macro Program This is Macro 2
إذا تم تحديد جميع خانات الاختيار ، فإن الكود ينتج عنه الإخراج التالي -
A Macro Program This is Macro 1 This is Macro 2 This
التسميات: SAP ABAP Advanced Business Application Programming (برمجة تطبيقات الأعمال المتقدمة) ساب
<< الصفحة الرئيسية