SAP التحكم في جدول ABAP مع الأمثلة
⚡ ملخص ذكي
SAP يعرض عنصر تحكم جدول ABAP جدولًا داخليًا كشبكة قابلة للتمرير على شاشة مدمجة في الشاشة Painterتشرح هذه الصفحة ميزاتها، وإعلان CONTROLS، ومعالجة المؤشر، وحلقات PBO وPAI، وسمات الأعمدة.

ما هو عنصر تحكم الجدول في SAP ABAP؟
عناصر التحكم في الجدول وحلقات الخطوات هي كائنات لعرض جدول الشاشة والتي يمكنك إضافتها إلى شاشة في الشاشة Painter.
من وجهة نظر البرمجة، فإن عناصر التحكم في الجدول وحلقات الخطوات هي نفسها تقريبًا. عناصر التحكم في الجدول هي ببساطة حلقات متدرجة محسنة تعرض البيانات بالشكل والمظهر المرتبطين بالجداول في تطبيقات سطح المكتب.
ميزات التحكم في جدول ABAP
باستخدام عناصر التحكم في الجدول، يمكن للمستخدم:
- قم بالتمرير عبر الجدول عموديًا وأفقيًا
- إعادة حجم عرض العمود
- التمرير داخل الحقل (عندما تكون محتويات الحقل أوسع من الحقل)
- حدد صفوف أو أعمدة الجدول
- إعادة ترتيب تسلسل الأعمدة
- احفظ إعدادات العرض الحالية لاستخدامها في المستقبل
توفر عناصر التحكم في الجدول أيضًا ميزات تنسيق خاصة (بعضها تلقائي وبعضها اختياري) تجعل من السهل النظر إلى الجداول واستخدامها. يوفر التحكم في الجدول –
- تغيير حجم الجدول تلقائيًا (رأسيًا وأفقيًا) عندما يقوم المستخدم بتغيير حجم النافذة
- الخطوط الفاصلة بين الصفوف وبين الأعمدة (الرأسية والأفقية)
- حقول رأس العمود لجميع الأعمدة
بشكل عام، يتم التعامل مع العديد من الميزات التي يوفرها عنصر تحكم الجدول محليًا بواسطة نظامك SAPالواجهة الأمامية لواجهة المستخدم الرسومية، لذلك لا تحتاج إلى برمجتها بنفسك. الاستثناء الوحيد الملحوظ لذلك هو التمرير العمودي.
مثال (المعاملة TZ60)
تُظهر العملية TZ60 أعلاه النتيجة النهائية: جدول بيانات يحتوي على عناوين الأعمدة، وخطوط فاصلة، وعمود للاختيار. وفيما يلي ملخص للاختلافات عن حلقة الخطوات السابقة.
التحكم في الجدول مقابل حلقة الخطوات
من خصائص حلقات الخطوات أن صفوف جداولها قد تمتد على أكثر من سطر واحد على الشاشة. أما صف عنصر تحكم الجدول، فيجب أن يكون دائمًا ضمن سطر واحد (مع إمكانية التمرير). يقارن الجدول أدناه بين عنصري الشاشة هذين.
| المعايير | التحكم في الجدول | حلقة متدرجة |
|---|---|---|
| تخطيط الصف | يمثل كل صف سطرًا واحدًا على الشاشة. | قد يمتد صف واحد على عدة أسطر من الشاشة |
| معالجة الأعمدة | يمكن للمستخدم تغيير حجم الأعمدة وإعادة ترتيبها وإخفائها. | تخطيط الأعمدة الثابتة المحدد على الشاشة |
| التمرير | التمرير الأفقي من خلال واجهة المستخدم، والتمرير الرأسي مبرمج في PAI | تمت برمجته بالكامل باستخدام لغة ABAP |
| إعلان | عناصر التحكم … اكتب TABLEVIEW باستخدام الشاشة | لا يوجد هيكل تحكم في البرنامج |
| عرض إعدادات | يمكن للمستخدم حفظ تصميم شخصي | غير متوفرة |
لأن عنصر التحكم في الجدول هو العنصر الحديث، فإن بقية هذه الصفحة تبرمج ذلك العنصر.
كيفية إنشاء وبرمجة عنصر تحكم الجدول
يحتاج عنصر التحكم في الجدول إلى عنصر شاشة، وبنية تحكم في البرنامج، وحلقة تكرار في كل من PBO وPAI. وتتبع الأقسام الفرعية أدناه هذا الترتيب.
إعلان السيطرة
للتعامل مع عناصر التحكم في الجدول في برامج ABAP، يجب عليك إعلان عنصر تحكم في جزء الإعلان في البرنامج لكل عنصر تحكم في الجدول باستخدام العبارة التالية:
CONTROLS <ctrl> TYPE TABLEVIEW USING SCREEN <scr>
أين هو اسم عنصر تحكم الجدول الموجود على الشاشة في برنامج ABAP. يتيح عنصر التحكم لبرنامج ABAP قراءة سمات عنصر تحكم الجدول والتأثير على عنصر التحكم.هنا، هو رقم الشاشة حيث يتم تحميل القيم الأولية للجدول.
تحديد موضع المؤشر وقراءته
يمكن ضبط موضع المؤشر لعنصر التحكم في الجدول بالطرق التالية:
في PBO يمكنك ضبط المؤشر على حقل معين لصف معين من عنصر تحكم الجدول.
SET CURSOR FIELD <f> LINE <lin> [OFFSET <off>]
باستخدام الإضافة الاختيارية OFFSET، يمكنك إدخال إزاحة المؤشر في الحقل كما هو موضح ضمن إعداد موضع المؤشر.
في PAI يمكنك قراءة موضع المؤشر الحالي.
GET CURSOR FIELD <f> LINE <lin> ...
بالإضافة إلى المعلومات الواردة ضمن حقل اكتشاف موضع المؤشر يحتوي على معلومات حول أي صف من عناصر التحكم في الجدول يعمل عليه المؤشر حاليًا. تستطيع ايضا استخذام
GET CURSOR LINE <lin>.
لتحديد صف عنصر التحكم في الجدول. يسمح لك الأمر SY-SUBRC بالتحقق مما إذا كان المؤشر موضوعًا في صف من عناصر التحكم في الجدول.
قراءة سطر الجدول الداخلي المقابل
للحصول على السطر المقابل من طاولة داخلية:
GET CURSOR line <lin>. ind = <table_control>-top_line + <lin> - 1. Read table <itab> index ind.
متغير النظام stepl - يحتوي على فهرس سطر الجدول الحالي في حلقة ... endloop. Loopc – يحتوي على عدد الأسطر المرئية في الجدول
إنشاء عنصر التحكم في الشاشة Painter
لإنشاء عنصر تحكم الجدول
- أضف عنصر تحكم جدول إلى شاشتك
- قم بتسمية عنصر التحكم في الجدول. في برنامج ABAP، قم بتعريف بنية بنفس الاسم (CONTROLS). اكتب TABLEVIEW باستخدام الشاشة )
- لإنشاء الحقول، انتقل إلى وظيفة حقول القاموس/البرنامج.
- أدخل اسم البنية التي تريد حقولها. (إذا كنت تريد اختياره من قاموس برنامجك، فانقر فوق الزر المناسب).
- في قائمة الحقول اختر الحقول التي تريدها واختر موافق.
- انقر في منطقة التحكم في الجدول
إذا كنت تريد عمود اختيار، فحدد مربع الاختيار المناسب في السمات وأعطه اسمًا. أنشئ الحقل في برنامج ABAP.
برمجة حلقات PBO و PAI
في PBO يجب أن يكون لديك البيان
LOOP at <itab> USING CONTROL <cntrl_name>. ENDLOOP.
في PAI يجب أن يكون لديك.
LOOP at <itab>. ENDLOOP.
يتم نقل البيانات بين الشاشة والجدول الداخلي داخل الحلقات. عند ملء الجدول الداخلي، استخدم الأمر DESCRIBE TABLE LINES يُستخدم الأمر FIELD لتخزين العدد الإجمالي للأسطر في عنصر التحكم. ويمكن استخدامه للتحكم في وقت نقل البيانات.
⚠️ تحذير: يجب أن تُسمّي حلقة PBO عنصر التحكم باستخدام USING CONTROL. بدون ذلك، لن يعرف عنصر التحكم عدد الأسطر الموجودة، وسيتوقف التمرير الرأسي عن العمل.
تغيير سمات الأعمدة أثناء التشغيل
لتغيير سمات الخلايا الفردية، قم بتغيير جدول SCREEN في PBO مؤقتًا. يمكنك تغيير سمات البنية التي تم إنشاؤها بواسطة عبارة CONTROLS
<cntrl>-fixed_cols etc are the attributes of the control <cntrl>-cols-index etc are the attributes of the columns. <cntrl>-cols-screen-invisible etc are the screen attributes of each column.
💡 نصيحة: كرر العملية -cols في PBO لإخفاء أو حماية عمود لدور مستخدم معين، بدلاً من إنشاء شاشة ثانية.

