Append versus collect

Append a collect jsou dva příkazy, kterými přidáváme jednotlivé řádky do interní tabulky. Rozdíl je v tom, že append přidává řádky, collect též přidá řádek, ale pokud již v tabulce existuje záznam se stejnými parametry, slučuje numerické hodnoty.vyzkoušejte nejprve append s výpisem tabulky

DATA: BEGIN OF COMPANIES OCCURS 10,
NAME(20),
SALES TYPE I,
END OF COMPANIES.
COMPANIES-NAME = 'Duck'. COMPANIES-SALES = 10.
APPEND COMPANIES.
COMPANIES-NAME = 'Tiger'. COMPANIES-SALES = 20.
APPEND COMPANIES.
COMPANIES-NAME = 'Duck'. COMPANIES-SALES = 30.
APPEND COMPANIES.

LOOP at companies.

write : / companies-name, companies-sales.

ENDLOOP.

Nyní zaměňte APPEND za COLLECT

DATA: BEGIN OF COMPANIES OCCURS 10,
NAME(20),
SALES TYPE I,
END OF COMPANIES.
COMPANIES-NAME = 'Duck'. COMPANIES-SALES = 10.
COLLECT COMPANIES.
COMPANIES-NAME = 'Tiger'. COMPANIES-SALES = 20.
COLLECT COMPANIES.
COMPANIES-NAME = 'Duck'. COMPANIES-SALES = 30.
COLLECT COMPANIES.

LOOP at companies.

write : / companies-name, companies-sales.

ENDLOOP.

Ve druhém případě jsou výsledkem 2 řádky, program sečetl hodnoty pole companies-sales.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*