SAP ABAP - Deleting Internal Tables حذف الجداول الداخلية في ساب
SAP ABAP - Deleting Internal Tables حذف الجداول الداخلية في ساب
SAP ABAP - Deleting Internal Tables حذف الجداول الداخلية في ساب
يتم استخدام عبارة DELETE لحذف سجل واحد أو أكثر من جدول داخلي. يتم حذف سجلات الجدول الداخلي إما عن طريق تحديد مفتاح أو شرط في الجدول أو عن طريق البحث عن إدخالات مكررة. إذا احتوى الجدول الداخلي على مفتاح غير فريد ويحتوي على إدخالات مكررة ، فسيتم حذف الإدخال الأول من الجدول.
فيما يلي بناء الجملة لاستخدام عبارة DELETE لحذف سجل أو سطر من جدول داخلي -
DELETE TABLE <internal_table> FROM <work_area_itab>.
في الصيغة أعلاه ، يعد تعبير <work_area_itab> منطقة عمل ويجب أن يكون متوافقًا مع نوع الجدول الداخلي <internal_table>. يتم تنفيذ عملية الحذف على أساس مفتاح افتراضي يمكن الحصول عليه من مكونات منطقة العمل.
يمكنك أيضًا تحديد مفتاح جدول بشكل صريح في عبارة DELETE TABLE باستخدام بناء الجملة التالي -
DELETE TABLE <internal_table> WITH TABLE KEY <K1> = <F1>………… <Kn> = <Fn>.
في هذه الصيغة ، <F1> ، <F2> .... <Fn> هي حقول الجدول الداخلي و <K1> ، <K2> .... <Kn> هي الحقول الرئيسية للجدول. تُستخدم عبارة DELETE لحذف سجلات أو سطور الجدول <internal_table> استنادًا إلى التعبيرات <K1> = <F1> ، <K2> = <F2> ... <Kn> = <Fn>.
ملاحظة - إذا كانت أنواع بيانات الحقول <F1> ، <F2> .... <Fn> غير متوافقة مع الحقول الرئيسية <K1> ، <K2> ... <Kn> ثم يقوم نظام SAP بتحويلها تلقائيًا في تنسيق متوافق.
مثال
REPORT ZDELETE_DEMO. DATA: BEGIN OF Line1, ColP TYPE I, ColQ TYPE I, END OF Line1. DATA mytable LIKE HASHED TABLE OF Line1 WITH UNIQUE KEY ColP. DO 8 TIMES. Line1-ColP = SY-INDEX. Line1-ColQ = SY-INDEX + 4. INSERT Line1 INTO TABLE mytable. ENDDO. Line1-ColP = 1. DELETE TABLE mytable: FROM Line1, WITH TABLE KEY ColP = 3. LOOP AT mytable INTO Line1. WRITE: / Line1-ColP, Line1-ColQ. ENDLOOP.
ينتج الكود أعلاه الناتج التالي -
2 6 4 8 5 9 6 10 7 11 8 12
في هذا المثال ، يحتوي mytable على حقلين ، ColP و ColQ. في البداية ، يتم ملء جدول mytable بثمانية أسطر ، حيث يحتوي ColP على القيم 1 و 2 و 3 و 4 و 5 و 6 و 7 و 8. يحتوي ColQ على القيم 5 و 6 و 7 و 8 و 9 و 10 و 11 و 12 لأن قيم ColP تزداد بمقدار 4 في كل مرة.
تُستخدم عبارة DELETE لحذف الأسطر من mytable حيث تكون قيمة حقل مفتاح ColP إما 1 أو 3. بعد الحذف ، يحتوي حقل ColP في mytable على القيم 2 و 4 و 5 و 6 و 7 و 8 ، كما هو موضح في الإخراج. يحتوي حقل ColQ على القيم 6 و 8 و 9 و 10 و 11 و 12.
التسميات: SAP ABAP Advanced Business Application Programming (برمجة تطبيقات الأعمال المتقدمة) ساب
<< الصفحة الرئيسية