जानिए कि 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 में यह काम करने के कई तरीके हैं। आप यह काम कितनी कुशलता से पूरा कर सकते हैं? क्या आप ऐसा कर सकते हैं जिसमें टेबल के हर रिकॉर्ड को सिर्फ एक बार पढ़ना पड़े?