Native SQL für Oracle 

Der Oracle-spezifische Teil der Native SQL-Beschreibung geht auf Kombinationen zwischen ABAP-Datentypen und Spaltentypen einer Oracle-Tabelle ein. Die für eine jede Typkombination angewandten Konversionen werden im Detail beschrieben. Hierzu wird auf die im allgemeineren Text eingeführten Abkürzungen wie [rtrunc] zurückgegriffen.

Die Auflistung gliedert sich grob anhand der beiden Datenübertragungsrichtungen:

Die Beschreibung geht jeweils davon aus, daß der Ausgangswert ein zulässiger Wert des jeweiligen Typs ist. Fälle, in denen z.B. durch Manipulation über ein FIELD-SYMBOL ungültige Bitmuster in einem ABAP-Feld erzeugt werden, werden nicht berücksichtigt.

Der nachfolgende Index unterstützt den direkten Einstieg anhand des Typs des Ausgangswertes.

Diese Beschreibung ist gültig für Oracle 8.0.4 und das R/3 Release 4.5A.

Insert / ABAP-Datentyp

Select / Datenbank-Spaltentyp

 

INSERT

(A) Für den Datenbank-Spaltentyp number(x,y) gilt, insbesondere auch im Fall y < 0:

ABAP-Datentyp: Character C(n)

Datenwertbreite: Stringlänge ohne rechtsbündige Leerzeichen

Datenbank-

Spaltentyp

Fall [Bemerkungen]

Resultat

varchar2 (z)

ABAP-Datenwertbreite > 4000

1461

ABAP-Feldbreite (n) > Datenbank-Spaltenbreite (z)

ABAP-Datenwertbreite > Datenbank-Spaltenbreite

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite

 

1401

ok

ABAP-Feldbreite (n) <= Datenbank-Spaltenbreite (z)

ok

char (z)

ABAP-Datenwertbreite > 4000

1461

ABAP-Feldbreite (n) > Datenbank-Spaltenbreite (z)

ABAP-Datenwertbreite > Datenbank-Spaltenbreite

ABAP-Datenwertbreite >= Datenbank-Spaltenbreite

 

1401

ok

ABAP-Feldbreite (n) <= Datenbank-Spaltenbreite (z)

ok

long

 

ok

number (z)

ABAP-Datenwert ist nicht numerisch

1722

Verlust von Vorkommastellen bei Konvertierung

1438

ABAP-Datenwert enthält Nachkommastellen

[ round]

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)
Datenwertbreite: Anzahl der Vorkommastellen ]

ok / [ round]

number (z,y)

ABAP-Datenwert ist nicht numerisch

1722

Verlust signifikanter Stellen (s.(A))

1438

Verlust nicht-signifikanter Stellen (s.(A))

[ round]

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)
Datenwertbreite: Anzahl der signifikanten Stellen
(s.(A)) ]

ok / [ round]

float

ABAP-Datenwert ist nicht numerisch

1722

ABAP-Datenwert nicht im Intervall ] -10126, 10 126 [

1426

ABAP-Datenwert im Intervall ] -10-130, 10 -130 [
Datenbank-Datenwert zu 0 gerundet ]

[ 0]

ABAP-Datenwert im Intervall ] -10126, 10 126 [
die 38. Stelle wird gerundet, rechts mit Nullen aufgefüllt ]

ok / [ 0] / [round]

date (9)

ABAP-Datenwert hat ein ungültiges Datenbank-Date-Format

1861

ABAP-Datenwert hat ein gültiges Datenbank-Date-Format [ 10-Jan-97 ]

ok

raw (z)

ABAP-Datenwertbreite > 4000

1461

ABAP-Datenwert hat ein ungültiges Hexadezimal-Format
gültige Werte sind: 0-9, A-F, a-f; Groß-/Kleinschreibung bei Konvertierung gleichberechtigt ]

1465

ABAP-Feldbreite (n) > Datenbank-Spaltenbreite, (n>2z)

ABAP-Datenwertbreite > Datenbank-Spaltenbreite

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite
bei ungerader Datenwertbreite wird links eine Null angefügt ]

 

1401

ok

ABAP-Feldbreite (n) <= Datenbank-Spaltenbreite, (n<=2z)
bei ungerader Datenwertbreite wird links eine Null angefügt ]

ok

long raw

ABAP-Datenwertbreite > 4000

1461

ABAP-Datenwert hat ein ungültiges Hexadezimal-Format
gültige Werte sind: 0-9, A-F, a-f; Groß-/Kleinschreibung bei Konvertierung gleichberechtigt ]

1465

ABAP-Datenwertbreite <= 4000

ok

 

ABAP-Datentyp: Numeric Text N(n)

Datenwertbreite: Anzahl der Ziffern ohne linksbündige Nullen

Datenbank-

Spaltentyp

Fall [Bemerkungen]

Resultat

varchar2 (z)

Datenwertbreite > 4000

1461

ABAP-Feldbreite (n) > Datenbank-Spaltenbreite (z)

1401

ABAP-Feldbreite (n) <= Datenbank-Spaltenbreite (z)

ok

char (z)

Datenwertbreite > 4000

1461

ABAP-Feldbreite (n) > Datenbank-Spaltenbreite (z)

1401

ABAP-Feldbreite (n) <= Datenbank-Spaltenbreite (z)

ok

long

 

ok

number (z)

ABAP-Feldbreite (n) > Datenbank-Spaltenbreite (z)

ABAP-Datenwertbreite > Datenbank-Spaltenbreite

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite
linksbündige Nullen werden abgeschnitten ]

 

1438

ok / [ltrunc]

ABAP-Feldbreite (n) = Datenbank-Spaltenbreite (z)

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite
linksbündige Nullen werden abgeschnitten ]

 

ok / [ltrunc]

ABAP-Feldbreite (n) < Datenbank-Spaltenbreite (z)

ok

number (x,y)
(z=x-y)

Verlust signifikanter Stellen (s.(A))

1438

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)
linksbündige Nullen werden abgeschnitten ]

ok / [ ltrunc]

float

ABAP-Datenwert >= 10126

1426

ABAP-Datenwert < 10126
die 38. Stelle wird gerundet, rechts mit Nullen aufgefüllt ]

ok / [ round]

date

 

1861

raw (z)

ABAP-Feldbreite (n) > Datenbank-Spaltenbreite, (n>2z)

1401

ABAP-Feldbreite (n) <= Datenbank-Spaltenbreite, (n<=2z)
[ bei ungerader Feldbreite wird links eine Null angefügt  ]

ok

long raw

Datenwertbreite > 4000

1461

Datenwertbreite <= 4000

ok

 

ABAP-Datentyp: Packed Number P(m,d)

m = Bytes, d = Nachkommastellen

Datenwertbreite (n): Anzahl der Ziffern ohne linksbündige Nullen, n<=2m-1; bei Nachkommastellen und bei negativem Vorzeichen erhöht sich n um jeweils eins.

Datenbank-

Spaltentyp

Fall [Bemerkungen]

Resultat

varchar2 (z)

ABAP-Datenwertbreite (n) > Datenbank-Spaltenbreite (z)

1401

ABAP-Datenwertbreite (n) <= Datenbank-Spaltenbreite (z)

ok

char (z)

ABAP-Datenwertbreite (n) > Datenbank-Spaltenbreite (z)

1401

ABAP-Datenwertbreite (n) <= Datenbank-Spaltenbreite (z)

ok

long

 

ok

number (z)

Verlust von Vorkommastellen bei Konvertierung

1438

ABAP-Datenwert enthält Nachkommastellen

[ round]

ABAP-Datenwertbreite (n) <= Datenbank-Spaltenbreite (z)
Datenwertbreite: Anzahl der Vorkommastellen ]

ok / [ round]

number (x,y)
(z=x-y)

Verlust signifikanter Stellen (s.(A))

1438

Verlust nicht-signifikanter Stellen (s.(A))

[ round]

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)
Datenwertbreite: Anzahl der signifikanten Stellen
(s.(A)) ]

ok / [ round]

float

 

ok

date

 

932

raw

 

932

long raw

 

932

 

ABAP-Datentyp: Integer I

Datenwertbreite: Anzahl der Ziffern ohne linksbündige Nullen; bei negativem Vorzeichen erhöht sich die Datenwertbreite um eins.

Datenbank-

Spaltentyp

Fall [Bemerkungen]

Resultat

varchar2 (z)

ABAP-Datenwertbreite > Datenbank-Spaltenbreite (z)

1401

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)

ok

char (z)

ABAP-Datenwertbreite > Datenbank-Spaltenbreite (z)

1401

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)

ok

long

 

ok

number (z)

ABAP-Datenwertbreite > Datenbank-Spaltenbreite (z)
Datenwertbreite: Anzahl der Ziffern ]

1438

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)
Datenwertbreite: Anzahl der Ziffern ]

ok

number (x,y)
(z=x-y)

Verlust signifikanter Stellen (s.(A))

1438

Verlust nicht-signifikanter Stellen (s.(A))

[ round]

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)
Datenwertbreite: Anzahl der signifikanten Stellen
(s.(A)) ]

ok / [ round]

float

 

ok

date

 

932

raw

 

932

long raw

 

932

 

ABAP-Datentyp: Float F

Bei allen Konvertierungen des Float-Typs können Ungenauigkeiten auftreten.

Datenwertbreite: Anzahl der Ziffern ohne linksbündige Nullen; bei Nachkommastellen und bei negativem Vorzeichen erhöht sich die Datenwertbreite um jeweils eins.

Datenbank-

Spaltentyp

Fall [Bemerkungen]

Resultat

varchar2 (z)

ABAP-Datenwertbreite > Datenbank-Spaltenbreite (z)

1401

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)

ok

char (z)

ABAP-Datenwertbreite > Datenbank-Spaltenbreite (z)

1401

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)

ok

long

 

ok

number (z)

ABAP-Datenwertbreite > Datenbank-Spaltenbreite (z)
Datenwertbreite: Anzahl der Vorkommastellen ]

1438

ABAP-Datenwert enthält Nachkommastellen

[ round]

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)
Datenwertbreite: Anzahl der Vorkommastellen ]

ok / [ round]

number (x,y)
(z=x-y)

Verlust signifikanter Stellen (s.(A))

1438

Verlust nicht-signifikanter Stellen (s.(A))

[ round]

ABAP-Datenwertbreite <= Datenbank-Spaltenbreite (z)
Datenwertbreite: Anzahl der signifikanten Stellen
(s.(A)) ]

ok / [ round]

float

ABAP-Datenwert nicht im Intervall ] -10126, 10 126 [

1426

ABAP-Datenwert im Intervall ] -10-130, 10 -130 [
Datenbank-Datenwert zu 0 gerundet ]

[ 0]

ABAP-Datenwert im Intervall ] -10126, 10 126 [

ok / [ 0]

date

 

932

raw

 

932

long raw

 

932

 

ABAP-Datentyp: Date D(8)

Datenwertbreite = 8, fest

Datenbank-

Spaltentyp

Fall [Bemerkungen]

Resultat

varchar2 (z)

ABAP-Datenwertbreite (8) > Datenbank-Spaltenbreite (z)

1401

ABAP-Datenwertbreite (8) <= Datenbank-Spaltenbreite (z)

ok

char (z)

ABAP-Datenwertbreite (8) > Datenbank-Spaltenbreite (z)

1401

ABAP-Datenwertbreite (8) <= Datenbank-Spaltenbreite (z)

ok

long

 

ok

number (z)

ABAP-Datenwert ist nicht numerisch

1722

ABAP-Datenwertbreite (8) > Datenbank-Spaltenbreite (z)

1438

ABAP-Datenwertbreite (8) <= Datenbank-Spaltenbreite (z)

ok

number (x,y)
(z=x-y)

ABAP-Datenwert ist nicht numerisch

1722

ABAP-Datenwertbreite (8) > Datenbank-Spaltenbreite (z)

1438

ABAP-Datenwertbreite (8) <= Datenbank-Spaltenbreite (z)

ok

float

ABAP-Datenwert ist nicht numerisch

1722

ABAP-Datenwert ist numerisch

ok

date

 

1861

raw (z)

ABAP-Datenwert hat ein ungültiges Hexadezimal-Format
gültige Werte sind: 0-9, A-F, a-f; Groß-/Kleinschreibung bei Konvertierung gleichberechtigt ]

1465

ABAP-Datenwertbreite (8) > Datenbank-Spaltenbreite, (4>z)

1401

ABAP-Datenwertbreite (8) <= Datenbank-Spaltenbreite, (4<=z)

ok

long raw

ABAP-Datenwert hat ein ungültiges Hexadezimal-Format
gültige Werte sind: 0-9, A-F, a-f; Groß-/Kleinschreibung bei Konvertierung gleichberechtigt ]

1465

ABAP-Datenwert hat ein gültiges Hexadezimal-Format

ok

 

ABAP-Datentyp: Time T(6)

Datenwertbreite = 6, fest

Datenbank-

Spaltentyp

Fall [Bemerkungen]

Resultat

varchar2 (z)

ABAP-Datenwertbreite (6) > Datenbank-Spaltenbreite (z)

1401

ABAP-Datenwertbreite (6) <= Datenbank-Spaltenbreite (z)

ok

char (z)

ABAP-Datenwertbreite (6) > Datenbank-Spaltenbreite (z)

1401

ABAP-Datenwertbreite (6) <= Datenbank-Spaltenbreite (z)

ok

long

 

ok

number (z)

ABAP-Datenwert ist nicht numerisch

1722

ABAP-Datenwertbreite (6) > Datenbank-Spaltenbreite (z)

1438

ABAP-Datenwertbreite (6) <= Datenbank-Spaltenbreite (z)

ok

number (x,y)
(z=x-y)

ABAP-Datenwert ist nicht numerisch

1722

ABAP-Datenwertbreite (6) > Datenbank-Spaltenbreite (z)

1438

ABAP-Datenwertbreite (6) <= Datenbank-Spaltenbreite (z)

ok

float

ABAP-Datenwert ist nicht numerisch

1722

ABAP-Datenwert ist numerisch

ok

date

 

1861

raw (z)

ABAP-Datenwert hat ein ungültiges Datenbank-Raw-Format
gültige Werte sind: 0-9, A-F, a-f; Groß-/Kleinschreibung bei Konvertierung gleichberechtigt ]

1465

ABAP-Datenwertbreite (6) > Datenbank-Spaltenbreite, (3>z)

1401

ABAP-Datenwertbreite (6) <= Datenbank-Spaltenbreite, (3<=z)

ok

long raw

ABAP-Datenwert hat ein ungültiges Datenbank-Raw-Format
gültige Werte sind: 0-9, A-F, a-f; Groß-/Kleinschreibung bei Konvertierung gleichberechtigt ]

1465

ABAP-Datenwert hat ein gültiges Hexadezimal-Format

ok

 

ABAP-Datentyp: Hexadezimal X(n)

Datenwertbreite: Anzahl der Hexadezimalziffern ohne rechtsbündige 0-Ziffern

Datenbank-

Spaltentyp

Fall [Bemerkungen]

Resultat

varchar2 (z)

n > 4000

1461

ABAP-Feldbreite (2n) > Datenbank-Spaltenbreite (z), (2n > z)

1401

ABAP-Feldbreite 2n = 8000, Datenbank-Spaltenbreite = 4000

[ rtrunc ½]

ABAP-Feldbreite (2n) <= Datenbank-Spaltenbreite (z), (2n <= z)

ok

char (z)

ABAP-Feldbreite (2n) > Datenbank-Spaltenbreite (z), (2n > z)

1401

ABAP-Feldbreite (2n) <= Datenbank-Spaltenbreite (z), (2n <= z)

ok

long

n > 4000

1461

n <= 4000

[ rtrunc ½]

number (z)

 

932

number (z,y)

 

932

float

 

932

date

 

932

raw (z)

n > 4000

1461

ABAP-Feldbreite (n) > Datenbank-Spaltenbreite (z), (n>z)

1401

ABAP-Feldbreite (n) <= Datenbank-Spaltenbreite (z), (n<=z)

ok

long raw

n > 4000

[ rtrunc]

n < 4000

ok

 

SELECT

(B) ABAP-Datentypen: Date, Time

Eine Konvertierung eines Datenbank-Werts in einen ABAP-Typ der Formate Date und Time verhält sich wie eine Konvertierung in einen ABAP-Character-Typ der Länge 8 bzw 6. Eine Konvertierung eines Ausgangswerts ungültigen Formats ist somit zwar möglich, liefert jedoch einen ABAP-Feldwert unzulässigen Formats, dessen weitere Nutzung keinen Sinn macht. Solche Konvertierungen werden daher im Folgenden mit [ok] bezeichnet.

Ein Datenbank-Datenwert sollte für eine Konvertierung in ein

 

(C) ABAP-Datentyp: Numeric Text

Eine Konvertierung eines Datenbank-Werts in einen ABAP-Typ Numeric Text N(n) verhält sich wie eine Konvertierung in einen ABAP-Character-Typ der Länge (n), d.h. der Wert steht linksbündig und wird rechts mit Leerzeichen aufgefüllt.
Dies widerspricht der Numeric-Text Definition, nach der ein Numeric-Text-Feld nur Ziffern enthalten darf, wobei linksbündig mit Nullen aufgefüllt wird. Das Numeric-Text-Feld kann also nach der Konvertierung einen String eines ungültigen Numeric-Text-Formats enthalten. Diese Konvertierung wird deshalb im Folgenden mit [ok] bezeichnet.

 

(D) ABAP-Datentyp: Hexadezimal

Bei einer Datenwertbreite, die kleiner als die Feldbreite ist, wird der Ergebnisstring zwar übertragen (bei ungerader Datenwertbreite wird linksbündig eine Nullziffer angefügt), die restliche Feldbreite wird jedoch rechts vom Ergebniswert nicht mit Nullen aufgefüllt, sondern mit undefinierten Werten.

 

Datenbank-Spaltentyp: varchar2 (z)

Datenwertbreite: Stringlänge (rechtsbündige Leerzeichen werden nicht gespeichert)

ABAP-

Datentyp

Fall [Bemerkungen]

Resultat

Character
C(n)

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (n)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

ok

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (n)

ok

Numeric Text
N(n),
(s.(C))

Konvertierungsverhalten wie bei Character,
linksbündig, nach rechts mit Leerzeichen
aufgefüllt ]

[ ok]

Packed
Number
P(m,d)
(n=2m-1)

Datenbank-Datenwert ist nicht numerisch

1722

Verlust von Vorkommastellen bei Konvertierung

[ null]

Verlust von Nachkommastellen bei Konvertierung

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (n-d)
Datenwert-/Feldbreite: Anzahl der Vorkommastellen ]

ok / [ rtrunc]

Integer I

Datenbank-Datenwert ist nicht numerisch

1722

Datenbank-Datenwert nicht im Intervall ] -231, 2 31 [

1455

Datenbank-Datenwert enthält Nachkommastellen

[ rtrunc]

Datenbank-Datenwert im Intervall ] -231, 2 31 [

ok / [ rtrunc]

Float F

Datenbank-Datenwert ist nicht numerisch

1722

Datenbank-Datenwert >= 10126
Ergebnis ist max. Datenbank-Float-Wert (1E+126) oder max. ABAP-Float-Wert (1.797E+308) ]

[ undef]

Datenbank-Datenwert <= -10126
Ergebnis ist null oder min. ABAP-Float-Wert (-1.797E+308) ]

[ undef]

Datenbank-Datenwert im Intervall ] –10-130, 10 -130 [
Ergebnis zu 0 gerundet ]

[ 0]

Verlust von Stellen bei Konvertierung
Genauigkeit bei float auf ca. 15 Dezimalstellen begrenzt ]

[ round]

Datenbank-Datenwert im Intervall ] -10126, 10 126 [
mögliche Ungenauigkeit bei Konvertierung ]

ok / [ 0] / [round]

Date D(8), (s.(B))

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (8)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

[ok]

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (8)

[ ok]

Time T(6), (s.(B))

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (6)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

[ok]

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (6)

[ ok]

Hexadezimal
X(n),
(s.(D))

Datenbank-Datenwert hat ein ungültiges Hexadezimal–Format
gültige Werte sind: 0-9, A-F, a-f; Groß-/Kleinschreibung bei Konvertierung gleichberechtigt ]

1465

Datenbank-Datenwertbreite (x) > ABAP-Feldbreite, (x <= z, x > 2n)

Datenbank-Datenwertbreite (x) = ABAP-Feldbreite, (x <= z, x = 2n)

Datenbank-Datenwertbreite (x) < ABAP-Feldbreite, (x <= z, x < 2n)
rechts mit undefinierten Werten aufgefüllt ]

[ rtrunc]

ok

[undef]

 

Datenbank-Spaltentyp: char (z)

Datenwertbreite: Stringlänge (rechtsbündige Leerzeichen werden nicht gespeichert)

ABAP-

Datentyp

Fall [Bemerkungen]

Resultat

Character
C(n)

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (n)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

ok

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (n)

ok

Numeric Text
N(n),
(s.(C))

Konvertierungsverhalten wie bei Character,
linksbündig, nach rechts mit Leerzeichen
aufgefüllt ]

[ ok]

Packed
Number
P(m,d)
(n=2m-1)

Datenbank-Datenwert ist nicht numerisch

1722

Verlust von Vorkommastellen bei Konvertierung

[null]

Verlust von Nachkommastellen bei Konvertierung

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (n-d)
Datenwert-/Feldbreite: Anzahl der Vorkommastellen ]

ok / [ rtrunc]

Integer I

Datenbank-Datenwert ist nicht numerisch

1722

Datenbank-Datenwert nicht im Intervall ] -231, 2 31 [

1455

Datenbank-Datenwert enthält Nachkommastellen

[ rtrunc]

Datenbank-Datenwert im Intervall ] -231, 2 31 [

ok / [ rtrunc]

Float F

Datenbank-Datenwert ist nicht numerisch

1722

Datenbank-Datenwert >= 10126
Ergebnis ist max. Datenbank-Float-Wert (1E+126) oder max. ABAP-Float-Wert (1.797E+308) ]

[ undef]

Datenbank-Datenwert <= -10126
Ergebnis ist null oder min. ABAP-Float-Wert (-1.797E+308) ]

[ undef]

Datenbank-Datenwert im Intervall ] –10-130, 10 -130 [
Ergebnis zu 0 gerundet ]

[ 0]

Verlust von Stellen bei Konvertierung
Genauigkeit bei float auf ca. 15 Dezimalstellen begrenzt ]

[ round]

Datenbank-Datenwert im Intervall ] -10126, 10 126 [
mögliche Ungenauigkeit bei Konvertierung ]

ok / [ 0] / [round]

Date D(8), (s.(B))

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (8)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

[ok]

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (8)

[ ok]

Time T(6), (s.(B))

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (6)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

[ok]

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (6)

[ ok]

Hexadezimal
X(n),
(s.(D))

Datenbank-Datenwert hat ein ungültiges Hexadezimal –Format
gültige Werte sind: 0-9, A-F, a-f; Groß-/Kleinschreibung bei Konvertierung gleichberechtigt ]

1465

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (n), (z>2n)

Datenbank-Datenwertbreite (x) > ABAP-Feldbreite, (x <= z, x > 2n)

Datenbank-Datenwertbreite (x) <= ABAP-Feldbreite, (x <= z, x <= 2n)

 

[rtrunc]

1465

Datenbank-Spaltenbreite (z) = ABAP-Feldbreite(n), (z=2n)

Datenbank-Datenwertbreite (x) = ABAP-Feldbreite, (x <= z, x = 2n)

Datenbank-Datenwertbreite (x) < ABAP-Feldbreite, (x <= z, x < 2n)

 

ok

1465

Datenbank-Spaltenbreite (z) < ABAP-Feldbreite(n), (z<=2n)
rechts mit undefinierten Werten aufgefüllt ]

[ undef]

 

Datenbank-Spaltentyp: long

Datenwertbreite: Stringlänge(rechtsbündige Leerzeichen werden nicht gespeichert)

ABAP-

Datentyp

Fall [Bemerkungen]

Resultat

Character
C(n)

Datenbank-Datenwertbreite > ABAP-Feldbreite

[ rtrunc]

Datenbank-Datenwertbreite <=ABAP-Feldbreite

ok

Numeric Text
N(n),
(s.(C))

Konvertierungsverhalten wie bei Character,
linksbündig, nach rechts mit Leerzeichen
aufgefüllt ]

[ ok]

Packed P(m,d)
n=2m-1

Datenwert ist nicht numerisch

1722

Verlust von Vorkommastellen

[ null]

Verlust von Nachkommastellen

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite(n-d)
Datenwertbreite: Anzahl der Vorkommastellen ]

ok / [ rtrunc]

Integer I

 

[ undef]

Float F

 

[ undef]

Date D(8), (s.(B))

Datenbank-Datenwertbreite > ABAP-Feldbreite (8)

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (8)

[ ok]

Time T(6), (s.(B))

Datenbank-Datenwertbreite > ABAP-Feldbreite (6)

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (6)

[ ok]

Hexadezimal
X(n),
(s.(D))

 

[ undef]

 

Datenbank-Spaltentyp: number (z)

Datenwertbreite: Anzahl der Ziffern ohne linksbündige Nullen; bei negativem Vorzeichen erhöht sich die Datenwertbreite um eins.

ABAP-

Datentyp

Fall [Bemerkungen]

Resultat

Character
C(n)

Datenbank-Datenwertbreite > ABAP-Feldbreite (n)

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (n)

ok

Numeric Text
N(n),
(s.(C))

Konvertierungsverhalten wie bei Character,
linksbündig, nach rechts mit Leerzeichen
aufgefüllt ]

[ ok]

Packed
P(m,d)

(n=2m-1)

Verlust von Vorkommastellen bei Konvertierung

[ null]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (n-d)
Datenwertbreite: Anzahl der Vorkommastellen ]

ok

Integer I

Datenbank-Datenwert nicht im Intervall ] -231, 2 31 [

1455

Datenbank-Datenwert im Intervall ] -231, 2 31 [

ok

Float F

Verlust von Stellen bei Konvertierung
Genauigkeit bei float auf ca. 15 Dezimalstellen begrenzt ]

[ round]

Datenbank-Datenwert Î ] -10 126, 10 126 [
mögliche Ungenauigkeit bei Konvertierung ]

ok / [ round]

Date D(8), (s.(B))

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (8)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

[ok]

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (8)

[ ok]

Time T(6), (s.(B))

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (6)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

[ok]

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (6)

[ ok]

Hexadezimal
X(n),
(s.(D))

 

932

 

Datenbank-Spaltentyp: number (z,y)

Datenwertbreite: Anzahl der Ziffern (z) ohne linksbündige Nullen; bei Nachkommastellen und bei negativem Vorzeichen erhöht sich die Datenwertbreite um jeweils eins.

ABAP-

Datentyp

Fall [Bemerkungen]

Resultat

Character
C(n)

Datenbank-Datenwertbreite > ABAP-Feldbreite (n)

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (n)

ok

Numeric Text
N(n),
(s.(C))

Konvertierungsverhalten wie bei Character,
linksbündig, nach rechts mit Leerzeichen
aufgefüllt ]

[ ok]

Packed P(m,d)
(n=2m-1)

Verlust signifikanter Stellen (s.(A))

[ null]

Verlust nicht-signifikanter Stellen (s.(A))

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (n-d)
Datenwertbreite: Anzahl der Vorkommastellen ]

ok / [ rtrunc]

Integer I

Datenbank-Datenwert nicht im Intervall ] -231, 2 31 [

1455

Datenbank-Datenwert enthält Nachkommastellen

[ rtrunc]

Datenbank-Datenwert im Intervall ] -231, 2 31 [

ok / [ rtrunc]

Float F

Verlust von Stellen bei Konvertierung
Genauigkeit bei float auf ca. 15 Dezimalstellen begrenzt ]

[ round]

Datenbank-Datenwert im Intervall ] -10126, 10 126 [
mögliche Ungenauigkeit bei Konvertierung ]

ok / [ round]

Date D(8), (s.(B))

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (8), (z>=8)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

[ok]

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (8), (z<8)

[ ok]

Time T(6), (s.(B))

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (6), (z>=6)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

[ok]

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (6), (z<6)

[ ok]

Hexadezimal
X(n),
(s.(D))

 

932

 

Datenbank-Spaltentyp: float

Datenwertbreite: Anzahl der Ziffern ohne linksbündige Nullen; bei Nachkommastellen und bei negativem Vorzeichen erhöht sich die Datenwertbreite um jeweils eins.

ABAP-

Datentyp

Fall [Bemerkungen]

Resultat

Character
C(n)

Datenbank-Datenwertbreite > ABAP-Feldbreite (n)

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (n)

ok

Numeric Text
N(n),
(s.(C))

Konvertierungsverhalten wie bei Character,
linksbündig, nach rechts mit Leerzeichen
aufgefüllt ]

[ ok]

Packed P(m,d)
n=2m-1

Verlust von Vorkommastellen bei Konvertierung

[ null]

Verlust von Nachkommastellen bei Konvertierung

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite(n-d)
Datenwertbreite: Anzahl der Vorkommastellen ]

ok / [ rtrunc]

Integer I

Datenbank-Datenwert nicht im Intervall ] -231, 2 31 [

1455

Datenbank-Datenwert enthält Nachkommastellen

[ rtrunc]

Datenbank-Datenwert im Intervall ] –231, 2 31 [

ok / [ rtrunc]

Float F

Verlust von Stellen bei Konvertierung
Genauigkeit bei float auf ca. 15 Dezimalstellen begrenzt ]

[ round]

Datenbank-Datenwert im Intervall ] -10126, 10 126 [
mögliche Ungenauigkeit bei Konvertierung ]

ok / [ round]

Date D(8), (s.(B))

Datenbank-Datenwertbreite > ABAP-Feldbreite (8)

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (8)

[ ok]

Time T(6), (s.(B))

Datenbank-Datenwertbreite > ABAP-Feldbreite (6)

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (6)

[ ok]

Hexadezimal
X(n),
(s.(D))

 

932

 

Datenbank-Spaltentyp: date(9)

Datenwertbreite = 9, fest

ABAP-

Datentyp

Fall [Bemerkungen]

Resultat

Character
C(n)

Datenbank-Datenwertbreite (9) > ABAP-Feldbreite (n), (n<9)

[ rtrunc]

Datenbank-Datenwertbreite (9) <= ABAP-Feldbreite (n), (n>=9)

ok

Numeric Text
N(n),
(s.(C))

Konvertierungsverhalten wie bei Character,
linksbündig, nach rechts mit Leerzeichen
aufgefüllt ]

[ ok]

Packed P

 

932

Integer I

 

932

Float F

 

932

Date D(8), (s.(B))

 

[ ok / rtrunc]

Time T(6), (s.(B))

 

[ ok / rtrunc]

Hexadezimal
X(n),
(s.(D))

 

932

 

Datenbank-Spaltentyp: raw(x)

Spaltenbreite: z = 2x

Datenwertbreite: Anzahl der Hexadezimalziffern ohne rechtsbündige 0-Ziffern

ABAP-

Datentyp

Fall [Bemerkungen]

Resultat

Character
C(n)

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (n), (z>n)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

ok

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (n), (z<=n)

ok

Numeric Text
N(n),
(s.(C))

Konvertierungsverhalten wie bei Character,
linksbündig, nach rechts mit Leerzeichen
aufgefüllt ]

[ ok]

Packed P

 

932

Integer I

 

932

Float F

 

932

Date D(8), (s.(B))

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (8), (z>8)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

[ok]

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (8), (z<=8)

[ ok]

Time T(6), (s.(B))

Datenbank-Spaltenbreite (z) > ABAP-Feldbreite (6), (z>6)

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite <= ABAP-Feldbreite

 

[rtrunc]

[ok]

Datenbank-Spaltenbreite (z) <= ABAP-Feldbreite (6), (z<=6)

[ ok]

Hexadezimal
X(n)
,
(s.(D))

Datenbank-Datenwertbreite > ABAP-Feldbreite

Datenbank-Datenwertbreite = ABAP-Feldbreite

Datenbank-Datenwertbreite < ABAP-Feldbreite
rechts mit undefinierten Werten aufgefüllt ]

[ rtrunc]

ok

[undef]

 

Datenbank-Spaltentyp: long raw

Datenwertbreite: Anzahl der Hexadezimalziffern ohne rechtsbündige 0-Ziffern

ABAP-

Datentyp

Fall [Bemerkungen]

Resultat

Character
C(n)

Datenbank-Datenwertbreite <=ABAP-Feldbreite

ok

Datenbank-Datenwertbreite > ABAP-Feldbreite

[ rtrunc]

Numeric Text
N(n),
(s.(C))

Konvertierungsverhalten wie bei Character,
linksbündig, nach rechts mit Leerzeichen
aufgefüllt ]

[ ok]

Packed P

 

932

Integer I

 

932

Float F

 

932

Date D(8), (s.(B))

Datenbank-Datenwertbreite > ABAP-Feldbreite (8)

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (8)

[ ok]

Time T(6), (s.(B))

Datenbank-Datenwertbreite > ABAP-Feldbreite (6)

[ rtrunc]

Datenbank-Datenwertbreite <= ABAP-Feldbreite (6)

[ ok]

Hexadezimal
X(n)
,
(s.(D))

Datenbank-Datenwertbreite > ABAP-Feldbreite (2n)

[ rtrunc]

Datenbank-Datenwertbreite = ABAP-Feldbreite (2n)

ok

Datenbank-Datenwertbreite < ABAP-Feldbreite (2n)
rechtsbünding mit undefinierten Werten aufgefüllt ]

[ undef]

 

Datenbank-Spaltentyp: rowid(18)

Datenwertbreite = 18, fest

ABAP-

Datentyp

Fall [Bemerkungen]

Resultat

Character
C(n)

Datenbank-Datenwertbreite (18) > ABAP-Feldbreite (n), (18 > n)

[ rtrunc]

Datenbank-Datenwertbreite (18) <= ABAP-Feldbreite (n), (18 <= n)

ok

Numeric Text
N(n),
(s.(C))

Konvertierungsverhalten wie bei Character,
linksbündig, nach rechts mit Leerzeichen
aufgefüllt ]

[ ok]

Packed P

 

932

Integer I

 

932

Float F

 

932

Date D(8), (s.(B))

 

[ undef]

Time T(6), (s.(B))

 

[ undef]

Hexadezimal
X(n),
(s.(D))

 

932