SAP ABAP - Variables المتغيرات ساب

 SAP ABAP - Variables المتغيرات ساب

SAP ABAP - Variables المتغيرات ساب

SAP ABAP - Variables المتغيرات ساب

المتغيرات هي كائنات بيانات مسماة تستخدم لتخزين القيم داخل منطقة الذاكرة المخصصة للبرنامج. كما يوحي الاسم ، يمكن للمستخدمين تغيير محتوى المتغيرات بمساعدة عبارات ABAP. كل متغير في ABAP له نوع معين ، والذي يحدد حجم وتخطيط ذاكرة المتغير ؛ نطاق القيم التي يمكن تخزينها في تلك الذاكرة ؛ ومجموعة العمليات التي يمكن تطبيقها على المتغير.

يجب التصريح عن جميع المتغيرات قبل استخدامها. الشكل الأساسي لإعلان المتغير هو -

DATA <f> TYPE <type> VALUE <val>. 

هنا <f> يحدد اسم المتغير. يمكن أن يصل اسم المتغير إلى 30 حرفًا. <type> يحدد نوع المتغير. يُعرف أي نوع بيانات بسمات فنية محددة بالكامل باسم <نوع>. يحدد <val> القيمة الأولية للمتغير <f>. في حالة تحديد متغير أساسي ثابت الطول ، تقوم عبارة DATA تلقائيًا بتعبئة قيمة المتغير بالقيمة الأولية الخاصة بالنوع. يمكن أن تكون القيم الأخرى المحتملة لـ <val> عبارة عن جملة حرفية أو ثابتة أو جملة صريحة ، مثل Is INITIAL.

فيما يلي أمثلة صالحة للإعلانات المتغيرة.

DATA d1(2) TYPE C.  
DATA d2 LIKE d1.  
DATA minimum_value TYPE I VALUE 10. 

في مقتطف الكود أعلاه ، d1 هو متغير من النوع C ، و d2 هو متغير من النوع d1 ، وقيمة الحد الأدنى هي متغير من نوع ABAP الصحيح من النوع الأول.

سيشرح هذا الفصل أنواع المتغيرات المختلفة المتوفرة في ABAP. هناك ثلاثة أنواع من المتغيرات في ABAP -

  • المتغيرات الثابتة
  • المتغيرات المرجعية
  • متغيرات النظام

المتغيرات الثابتة

  • يتم التصريح عن المتغيرات الثابتة في الإجراءات الفرعية والوحدات النمطية والوحدات النمطية والطرق الثابتة.

  • العمر مرتبط بسياق الإعلان.

  • باستخدام عبارة "CLASS-DATA" ، يمكنك إعلان المتغيرات داخل الفئات.

  • يمكن استخدام عبارة "المعلمات" للإعلان عن كائنات البيانات الأولية المرتبطة بحقول الإدخال على شاشة التحديد.

  • يمكنك أيضًا إعلان الجداول الداخلية المرتبطة بحقول الإدخال على شاشة التحديد باستخدام عبارة "SELECT-OPTIONS".

فيما يلي الاصطلاحات المستخدمة أثناء تسمية متغير -

  • لا يمكنك استخدام أحرف خاصة مثل "t" و "،" لتسمية المتغيرات.

  • لا يمكن تغيير اسم كائنات البيانات المحددة مسبقًا.

  • لا يمكن أن يكون اسم المتغير هو نفسه أي كلمة رئيسية أو عبارة ABAP.

  • يجب أن ينقل اسم المتغيرات معنى المتغير دون الحاجة إلى مزيد من التعليقات.

  • يتم حجز الواصلات لتمثيل مكونات الهياكل. لذلك ، من المفترض أن تتجنب الواصلات في أسماء المتغيرات.

  • يمكن استخدام حرف تسطير أسفل السطر لفصل الكلمات المركبة.

يوضح هذا البرنامج كيفية التصريح عن متغير باستخدام تعليمة PARAMETERS -

REPORT ZTest123_01. 
PARAMETERS: NAME(10) TYPE C, 
CLASS TYPE I, 
SCORE TYPE P DECIMALS 2, 
CONNECT TYPE MARA-MATNR. 

هنا ، يمثل NAME معلمة من 10 أحرف ، ويحدد CLASS معلمة من نوع العدد الصحيح بالحجم الافتراضي بالبايت ، ويمثل SCORE معلمة نوع معبأة بقيم تصل إلى منزلتين عشريتين ، ويشير CONNECT إلى نوع MARA-MATNF لقاموس ABAP .

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

قاموس ABAP

المتغيرات المرجعية

صيغة التصريح عن المتغيرات المرجعية هي -

DATA <ref> TYPE REF TO <type> VALUE IS INITIAL. 
  • تعلن إضافة REF TO عن متغير مرجعي المرجع.

  • تحدد المواصفات بعد REF TO النوع الثابت للمتغير المرجعي.

  • يقيد النوع الثابت مجموعة الكائنات التي يمكن أن يشير إليها <ref>.

  • النوع الديناميكي للمتغير المرجعي هو نوع البيانات أو الفئة التي يشير إليها حاليًا.

  • دائمًا ما يكون النوع الثابت أكثر عمومية أو نفس النوع الديناميكي.

  • يتم استخدام إضافة TYPE لإنشاء نوع مرجع مرتبط وكقيمة بداية ، ويمكن تحديد IS INITIAL فقط بعد إضافة VALUE.

مثال

CLASS C1 DEFINITION. 
PUBLIC SECTION. 
DATA Bl TYPE I VALUE 1. 
ENDCLASS. DATA: Oref TYPE REF TO C1 , 
Dref1 LIKE REF TO Oref, 
Dref2 TYPE REF TO I . 
CREATE OBJECT Oref. 
GET REFERENCE OF Oref INTO Dref1. 
CREATE DATA Dref2. 
Dref2→* = Dref1→*→Bl.
  • في مقتطف الكود أعلاه ، تم التصريح عن مرجع كائن Oref ومتغيرين مرجعيين للبيانات Dref1 و Dref2.

  • يتم كتابة كلا المتغيرين المرجعيين للبيانات بالكامل ويمكن إلغاء الإشارة إليه باستخدام عامل الإسناد → * في مواضع المعامل.

متغيرات النظام

  • يمكن الوصول إلى متغيرات نظام ABAP من جميع برامج ABAP.

  • يتم ملء هذه الحقول بالفعل بواسطة بيئة وقت التشغيل.

  • تشير القيم الموجودة في هذه الحقول إلى حالة النظام في أي نقطة زمنية معينة.

  • يمكنك العثور على القائمة الكاملة لمتغيرات النظام في جدول SYST في SAP.

  • يمكن الوصول إلى الحقول الفردية لهيكل SYST باستخدام إما "SYST-" أو "SY-".

مثال

REPORT Z_Test123_01. 

WRITE:/'SY-ABCDE', SY-ABCDE,       
      /'SY-DATUM', SY-DATUM, 
      /'SY-DBSYS', SY-DBSYS, 
      /'SY-HOST ', SY-HOST, 
      /'SY-LANGU', SY-LANGU,
      /'SY-MANDT', SY-MANDT,
      /'SY-OPSYS', SY-OPSYS,
      /'SY-SAPRL', SY-SAPRL,
      /'SY-SYSID', SY-SYSID,
      /'SY-TCODE', SY-TCODE,
      /'SY-UNAME', SY-UNAME,
      /'SY-UZEIT', SY-UZEIT.

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

SY-ABCDE ABCDEFGHIJKLMNOPQRSTUVWXYZ  
SY-DATUM 12.09.2015 
SY-DBSYS ORACLE                   
SY-HOST sapserver 
SY-LANGU EN 
SY-MANDT 800 
SY-OPSYS Windows NT 
SY-SAPRL 700 
SY-SYSID DMO 
SY-TCODE SE38 
SY-UNAME SAPUSER 
SY-UZEIT 14:25:48