[53088] in SAPr3-news
Re: ABAP: TYPE <-> LIKE
daemon@ATHENA.MIT.EDU (Axel Biernat)
Fri Jan 21 05:32:17 2005
To: sapr3-news@mit.edu
Date: Fri, 21 Jan 2005 11:31:12 +0100
From: Axel Biernat <axel.biernat@gmx.de>
Message-ID: <41f0d9ef$0$17603$9b4e6d93@newsread4.arcor-online.net>
J?rgen Spranz schrieb:
> TYPES table_type TYPE struct_table.
>
> DATA: table_wa TYPE table_type,
> line_wa LIKE LINE OF table_wa.
>
> Immer wieder stelle ich mir die Frage, wann TYPE und LIKE zu verwenden ist.
> Leider konnte ich mir die Frage bisher nicht beantworten...
>
> Wer kann das mal so erklären, daß es auch ein "Nicht-Akademiker" versteht....
>
> Wäre super.
>
> Danke.
Hallo,
der Unterschied zwischen TYPE und LIKE ist wie folgt:
TYPE verlangt zwingend eine bestehende Typdefinition im DDIC oder lokal
im Programm.
LIKE ist quasi ein Referenztyp und verwendet den Typ des angegebenen Feldes.
Allerdings sollte im Sinne von robuster Programmierung LIKE nicht mehr
eingesetzt werden, da die Erweiterungen von TYPE die meisten LIKEs
überflüssig machen.
So wäre dein Beispiel zu schreiben als.
DATA table_wa TYPE table_type.
DATA line_wa TYPE LINE OF table_type.
Auch empfiehlt die SAP dies so zum Programmieren, da die LIKEs da auch
an der Performance knappern sollen.
Gruss,
Axel