warum nicht INT2 verwenden ?

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

warum nicht INT2 verwenden ?

Postby Maja967 » Wed Apr 29, 2015 8:37 am

Hi,

lt der Doku :
INT2

2-Byte-Integer, Zahlbereich -32767 bis 32767. Felder dieses Typs sollten nur als Längenfelder verwendet werden. Solche Längenfelder stehen direkt vor einem langen Feld (Typ LCHR, LRAW). Beim INSERT oder UPDATE auf das lange Feld trägt die Datenbank-Schnittstelle die tatsächlich verwendete Länge in das Längenfeld ein. Die Länge ist bei diesem Datentyp auf 5 Stellen festgelegt.


frag mich schon längeren warum NUMCxx Felder verwendet werden um laufender Nummern in DB-Tabellen abzubilden und nicht ein "simpler Integer" verwendet wird.

Meine Annahmen die für int1 / int2 / int4 sprechen könnten:
a) zum teil weniger Platzverbrauch auf DB.
Bsp: laufender zaehler mit 4 Stellen:
Numc: 4Byte
int2: 2Byte
Bei int2 gäbe es auch thereotisch mehr als den "fachlichen Wert" 9999 ...

b) Laufzeit in Programm
Ein CHAR Vergleich auf 4 Stellen sollte wohl langsamer sein als ein Vergleich von INT Werten

Mir bekannte Einschränkungen bei INT Datentypen:
- Falls INT ein Schlüsselfeld, dann kann das TMS nur bis zum INT - Feld die Schlüsselfür den TRP auflösen -> dh. unter Umständen wird mehr transportiert als man erwartet ... bzw. bei LFD_NR sehe ich das eher als Vorteil da LFD_NR dann nur eine Hilfe zu etwas übergeordenetem ist und somit das übergeordnete immer gesamthaft transportiert wird.


-> wie handhabt Ihr das => "never use int1 int2 or int4" oder kommt drauf an ?!
Maja967
...
...
 
Posts: 229
Joined: Tue Nov 29, 2005 2:44 pm

Return to ABAP® Core

Who is online

Users browsing this forum: No registered users and 2 guests