Unterschied type und like


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

Unterschied type und like

Beitragvon bohne » 13.02.2006, 11:23

Hallo Leute,

kann mir bitte jemand sagen was der Unterschied
zwischen type und like ist?
z.B

DATA : nummer type xxx.
DATA : nummer LIKE xxx.


Grüße
Gast
bohne
Specialist
 
Beiträge: 437
Registriert: 21.07.2004, 21:49
Dank erhalten: 0 mal

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Beitragvon ereglam » 13.02.2006, 11:56

Hallo Bohne,

mit TYPE beziehst Du Dich auf eine Typdefinition, mit LIKE auf eine andere Variable oder auch Konstante.

Die Typdefinitionen können aus dem DDIC, aus TypePools oder eigenen Typdefinitionen im Programm stammen.

Reicht das, oder ist Dir dabei noch etwas unklar. Wenn ja, was?
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .
Mitglied im XING
ereglam
Top Expert
 
Beiträge: 1826
Registriert: 30.09.2004, 12:42
Wohnort: Schwalbach am Taunus
Dank erhalten: 4 mal
Ich bin: Entwickler/in

Beitragvon c oco » 13.02.2006, 13:25

hallo bohne,

mit like übernimmst du die struktur des feldes / der Tabelle, welches du nach like angibst.

z.b. itab like kna1.
somit hat itab die gleichen felder und die gleiche struktur wie die tabelle kna1.

grüße coco
c oco
Specialist
 
Beiträge: 301
Registriert: 09.12.2005, 12:42
Wohnort: Leonberg
Dank erhalten: 12 mal

Beitragvon ewx » 13.02.2006, 14:28

c oco hat geschrieben:z.b. itab like kna1.
somit hat itab die gleichen felder und die gleiche struktur wie die tabelle kna1.

hat sie mit "itab type kna1." aber auch... :o
Ist in dem Fall also egal.
Anders verhält es sich, wenn du
Code: Alles auswählen
PARAMETERS var TYPE datenelement

oder
Code: Alles auswählen
PARAMETERS var LIKE tabelle-feld

definierst.
In den meisten Fällen dürfte auch das egal sein. Es sei denn, es hängt eine Suchhilfe an dem Tabellenfeld, aber an dem Datenelement nicht...
Dann hast du im ersten Fall ein Eingabefeld OHNE Suchhilfe, im zweiten Fall eins MIT Suchhilfe.

Mehr Unterschiede fallen mir aber auch nicht ein.

Gruß,
Enno
ewx
Top Expert
 
Beiträge: 3306
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 181 mal

Beitragvon black_adept » 13.02.2006, 16:51

Der grundsätzliche Unterschied ist, dass "LIKE" auf Datenobjekte und "TYPE" auf Datentypen referenzieren soll.

Dass man dennoch z.b. DATA: XXX LIKE MARA. eingeben darf ist historisch bedingt.

Auszug aus der SAP-Bibliothek
Aus Kompatibilitätsgründen mit vorhergehenden Releases, kann man sich mit dem LIKE-Zusatz auch auf die Datentypen von Datenbanktabellen und von flachen Strukturen im ABAP Dictionary beziehen. Der LIKE-Zusatz sucht erst programmlokal nach einem Datenobjekt <obj> und dann im ABAP Dictionary nach einer gleichnamigen Datenbanktabelle oder flachen Struktur. Dieser Typbezug auf das ABAP Dictionary ist in den Klassen von ABAP Objects nicht mehr möglich. Der LIKE-Zusatz sollte auch in anderen ABAP-Programmen nur noch für den Bezug auf Datenobjekte eingesetzt werden. Für den Bezug auf Datentypen sollte statt LIKE der TYPE-Zusatz verwendet werden.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 2548
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 337 mal
Ich bin: Freiberufler/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
Log-Ausgabe und ALV-Tabelle gemeinsam ausgeben
vor 12 Stunden von ewx 2 Antw.
Struktur aus Tabelle
vor 10 Stunden von ralf.wenzel 1 Antw.
Anzahl Datensätze in internen Tabellen
vor 10 Stunden von ralf.wenzel 8 Antw.
Test-Units
vor 10 Stunden von ralf.wenzel 2 Antw.
bestimmte Spalten aus Excel ausgeben
vor 15 Stunden von Andrzej 1 Antw.

  Ähnliche Beiträge beta
Unterschied zw. Repository und Dictionary
24.11.2005, 10:19 von Der Mühlviertler 1 Antw.
Unterschied zwischen Using und Changing
15.06.2011, 23:58 von black_adept 2 Antw.
Sm50 und SM66 Unterschied?
05.01.2017, 08:33 von IHe 1 Antw.
Unterschied zwischen Struktur und Tabelle
13.08.2014, 14:46 von kle 3 Antw.
gelöst GET TIME STAMP / SY-UZEIT Unterschied?
29.04.2015, 13:13 von ST22 4 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

Feedback ...?

Was können wir verbessern? Hinterlasse deine Kontaktdaten, wenn du eine direkte Antwort möchtest.

... Absenden!