تجميع ITAB

تجميع ITAB

سهل

التعليمات

تعلّم كيفية تجميع البيانات وتقسيمها إلى مجموعات داخل جدول داخلي في ABAP.

سيُعطى صنفك جدولًا داخليًا باسم initial_numbers. وله عمودان: GROUP وNUMBER.

TYPES: BEGIN OF initial_numbers_type,
        group  TYPE group,
        number TYPE i,
       END OF initial_numbers_type,
       initial_numbers TYPE STANDARD TABLE OF initial_numbers_type WITH EMPTY KEY.

تتكوّن البيانات في هذا الجدول من ثلاث مجموعات: A وB وC. وتحتوي كل مجموعة على عدة سجلات.

GROUP NUMBER
A 10
B 5
A 6
C 22
A 13
C 500

مهمتك هي إرجاع جدول داخلي يحتوي على سجل واحد لكل مجموعة. يجب أن يحتوي هذا السجل على عدد السجلات في الجدول الأصلي لكل مجموعة (COUNT)، ومجموع كل قيم NUMBER في هذه المجموعة (SUM)، وأصغر قيمة في المجموعة (MIN)، وأكبر قيمة في المجموعة (MAX)، ومتوسط كل القيم في تلك المجموعة (AVERAGE).

الجدول المتوقّع إرجاعه له التعريف التالي:

TYPES: BEGIN OF aggregated_data_type,
        group   TYPE group,
        count   TYPE i,
        sum     TYPE i,
        min     TYPE i,
        max     TYPE i,
        average TYPE f,
       END OF aggregated_data_type,
       aggregated_data TYPE STANDARD TABLE OF aggregated_data_Type WITH EMPTY KEY.

تحدي إضافي

توجد طرق عديدة لإنجاز هذه المهمة في ABAP. ما مدى كفاءتك في إنجاز المهمة؟ هل يمكنك فعل ذلك مع قراءة كل سجل في الجدول مرة واحدة فقط؟


المصدر

ABAP Internal Tablesيفتح الرابط في نافذة أو علامة تبويب جديدة
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
ABAP Exercism

مستعد لبدء تجميع ITAB؟

سجّل في Exercism لتتعلّم وتتقن ABAP عبر 54 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.