Nachfolgend sind die Konvertierungstabellen zwischen ABAP-Variablen und Datentypen der Datenbank DB2 common server angegeben.
Bitte beachten: Die Aussagen geben den aktuellen Stand des Datenbank-Releases DB2 UDB Version 5.0 an. Für die release-übergreifende Konstanz der Aussagen kann seitens SAP keine Gewähr übernommen werden. Sie gilt nur soweit der Datenbankhersteller IBM für die Abwärtskompatibilität der Typkonvertierungen seinerseits garantiert. Die Angaben sind daher nur als Informationssammlung, nicht aber als von SAP garantierte Konvertierungsregeln zu verstehen.
Folgende Abkürzungen werden verwendet:
Insert/Update eines Variablenwertes vom ABAP-Typ
Select eines Spaltenwertes vom Datenbank-Typ
Insert/Update
DB- Datentyp |
Testfall [Bemerkungen] |
Resultat |
char |
ABAP-Datenwertbreite > DB-Spaltenbreite |
22001 |
ABAP-Datenwertbreite <= DB-Spaltenbreite |
ok | |
varchar |
ABAP-Datenwertbreite > DB-Spaltenbreite |
22001 |
ABAP-Datenwertbreite <= DB-Spaltenbreite |
ok | |
decimal |
ABAP-Datenwert ist nicht numerisch |
22005 |
Verlust signifikanter Stellen bei Konvertierung |
22003 | |
Verlust nicht-signifikanter Stellen |
22003 | |
Konvertierung ohne Verlust |
ok | |
numeric |
ABAP-Datenwert ist nicht numerisch |
22005 |
Verlust signifikanter Stellen bei Konvertierung |
22003 | |
Verlust nicht-signifikanter Stellen |
22003 | |
Konvertierung ohne Verlust |
ok | |
smallint |
ABAP-Datenwert ist nicht numerisch |
22005 |
Verlust signifikanter Stellen bei Konvertierung |
22003 | |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
integer |
ABAP-Datenwert ist nicht numerisch |
22005 |
Verlust signifikanter Stellen bei Konvertierung |
22003 | |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
float |
ABAP-Datenwert ist nicht numerisch |
22005 |
Verlust signifikanter Stellen bei Konvertierung |
22003 | |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
double |
ABAP-Datenwert ist nicht numerisch |
22005 |
Verlust signifikanter Stellen bei Konvertierung |
22003 | |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
date |
ABAP-Datenwert kein gültiges DB-Date-Format |
22007 |
ABAP-Datenwert hat gültiges DB-Date-Format |
ok | |
time |
ABAP-Datenwert kein gültiges DB-Time-Format |
22007 |
ABAP-Datenwert hat gültiges DB-Time-Format |
ok | |
timestamp |
ABAP-Datenwert hat kein gültiges DB-Timestamp-Format |
22007 |
ABAP-Datenwert hat ein gültiges DB-Timestamp-Format |
ok |
DB- Datentyp |
Testfall [Bemerkungen] |
Resultat |
char |
ABAP-Datenwertbreite > DB-Spaltenbreite |
22001 |
ABAP-Datenwertbreite <= DB-Spaltenbreite |
ok | |
varchar |
ABAP-Datenwertbreite > DB-Spaltenbreite |
22001 |
ABAP-Datenwertbreite <= DB-Spaltenbreite |
ok | |
decimal |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
numeric |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
smallint |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
integer |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
float |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
double |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
date |
|
22007 |
time |
|
22007 |
timestamp |
|
22007 |
ABAP-Datentyp: Packed Number P
DB- Datentyp |
Testfall [Bemerkungen] |
Resultat |
decimal |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
numeric |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
smallint |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
integer |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
float |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
double |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok |
DB- Datentyp |
Testfall [Bemerkungen] |
Resultat |
char |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
varchar |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
decimal |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
numeric |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
smallint |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
integer |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
float |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
double |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
date |
|
22007 |
time |
|
22007 |
timestamp |
|
22007 |
DB- Datentyp |
Testfall [Bemerkungen] |
Resultat |
char |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
22003 | |
Konvertierung ohne Verlust |
ok | |
varchar |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
22003 | |
Konvertierung ohne Verlust |
ok | |
decimal |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
numeric |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
smallint |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
integer |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen |
[ trunc] | |
Konvertierung ohne Verlust |
ok | |
float |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
double |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
date |
|
22007 |
time |
|
22007 |
timestamp |
|
22007 |
DB- Datentyp |
Testfall [Bemerkungen] |
Resultat |
char(8) |
ABAP-Datenwertbreite (8) > DB-Spaltenbreite |
22001 |
ABAP-Datenwertbreite (8) <= DB-Spaltenbreite |
ok | |
varchar |
ABAP-Datenwertbreite (8) > DB-Spaltenbreite |
22001 |
ABAP-Datenwertbreite (8) <= DB-Spaltenbreite |
ok | |
decimal |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
numeric |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
smallint |
[stets Datenverlust] |
22003 |
integer |
|
ok |
float |
|
ok |
double |
|
ok |
date |
|
22007 |
time |
|
22007 |
timestamp |
|
22007 |
DB- Datentyp |
Testfall [Bemerkungen] |
Resultat |
char(6) |
ABAP-Datenwertbreite (6) > DB-Spaltenbreite |
22001 |
ABAP-Datenwertbreite (6) <= DB-Spaltenbreite |
ok | |
varchar |
ABAP-Datenwertbreite (6) > DB-Spaltenbreite |
22001 |
ABAP-Datenwertbreite (6) <= DB-Spaltenbreite |
ok | |
decimal |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
numeric |
Verlust von Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
smallint |
[stets Datenverlust] |
22003 |
integer |
|
ok |
float |
|
ok |
double |
|
ok |
date |
|
22007 |
time |
|
22007 |
timestamp |
|
22007 |
DB- Datentyp |
Testfall [Bemerkungen] |
Resultat |
char |
ABAP-Datenwertbreite > DB-Spaltenbreite |
22001 |
ABAP-Datenwertbreite = DB-Spaltenbreite |
ok | |
ABAP-Datenwertbreite < DB-Spaltenbreite |
[ undef] | |
varchar |
ABAP-Datenwertbreite > DB-Spaltenbreite |
22001 |
ABAP-Datenwertbreite = DB-Spaltenbreite |
ok | |
ABAP-Datenwertbreite < DB-Spaltenbreite |
[ undef] |
Select
Datenbank-Spaltentyp: char, varchar oder longvarchar
ABAP- Datentyp |
Testfall [Bemerkungen] |
Resultat |
Character C |
DB-Datenwertbreite > ABAP-Feldbreite |
[ rtrunc] |
DB-Datenwertbreite < ABAP-Feldbreite |
ok | |
DB-Datenwertbreite = ABAP-Feldbreite |
ok | |
Numeric N |
DB-Datenwert ist nicht numerisch |
[ undef] |
DB-Datenwertbreite > ABAP-Feldbreite |
22sim | |
DB-Datenwertbreite < ABAP-Feldbreite |
ok | |
DB-Datenwertbreite = ABAP-Feldbreite |
ok | |
Packed P |
[simulierter SQL-Fehler] |
22sim |
Integer I |
DB-Datenwert ist nicht numerisch |
22005 |
Verlust signifikanter Stellen bei Konvertierung |
22003 | |
Konvertierung ohne Verlust |
ok | |
Float F |
DB-Datenwert ist nicht numerisch |
22005 |
Verlust signifikanter Stellen bei Konvertierung |
22003 | |
Verlust nicht-signifikanter Stellen bei Konvertierung |
[ round] | |
Konvertierung ohne Verlust |
ok | |
Date D |
Verhalten analog zum Abap Typ C(8) |
- |
Time T |
Verhalten analog zum Abap Typ C(6) |
- |
Hexa X |
DB-Datenwertbreite > ABAP-Feldbreite |
[ rtrunc] |
DB-Datenwertbreite < ABAP-Feldbreite |
ok | |
DB-Datenwertbreite = ABAP-Feldbreite |
ok |
Datenbank-Spaltentyp: decimal oder numeric
ABAP- Datentyp |
Testfall [Bemerkungen] |
Resultat |
Character C |
[simulierter SQL-Fehler] |
22sim |
Numeric N |
[simulierter SQL-Fehler] |
22sim |
Packed P |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen bei Konvertierung |
[ round] | |
Konvertierung ohne Verlust |
ok | |
Integer I |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen bei Konvertierung |
[ round] | |
Konvertierung ohne Verlust |
Ok | |
Float F |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen bei Konvertierung |
[ round] | |
Konvertierung ohne Verlust |
ok | |
Date D |
[simulierter SQL-Fehler] |
22sim |
Time T |
[simulierter SQL-Fehler] |
22sim |
Hexa X |
[ undef] |
Datenbank-Spaltentyp: float oder double
ABAP- Datentyp |
Testfall [Bemerkungen] |
Resultat |
Character C |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen bei Konvertierung |
[ round] | |
Konvertierung ohne Verlust |
ok | |
Numeric N |
[simulierter SQL-Fehler] |
22sim |
Packed P |
[simulierter SQL-Fehler] |
22sim |
Integer I |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen bei Konvertierung |
[ round] | |
Konvertierung ohne Verlust |
ok | |
Float F |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Verlust nicht-signifikanter Stellen bei Konvertierung |
[ round] | |
Konvertierung ohne Verlust |
ok | |
Date D |
[simulierter SQL-Fehler] |
22sim |
Time T |
[simulierter SQL-Fehler] |
22sim |
Hexa X |
|
[ undef] |
Datenbank-Spaltentyp: integer oder smallint
ABAP- Datentyp |
Testfall [Bemerkungen] |
Resultat |
Character C |
Verlust signifikanter Stellen bei Konvertierung |
22003 |
Konvertierung ohne Verlust |
ok | |
Numeric N |
[simulierter SQL-Fehler] |
22sim |
Packed P |
[simulierter SQL-Fehler] |
22sim |
Integer I |
[Konvertierung ohne Verlust] |
ok |
Float F |
[Konvertierung ohne Verlust] |
ok |
Date D |
[simulierter SQL-Fehler] |
22sim |
Time T |
[simulierter SQL-Fehler] |
22sim |
Hexa X |
|
[ undef] |
Datenbank-Spaltentyp: date, time oder timestamp
ABAP- Datentyp |
Testfall [Bemerkungen] |
Resultat |
Character C |
DB-Datenwertbreite > ABAP-Feldbreite |
22003 |
DB-Datenwertbreite < ABAP-Feldbreite |
ok | |
DB-Datenwertbreite = ABAP-Feldbreite |
ok | |
Numeric N |
[simulierter SQL-Fehler] |
22sim |
Packed P |
[simulierter SQL-Fehler] |
22sim |
Integer I |
[restricted data type attribute violation] |
07006 |
Float F |
[restricted data type attribute violation] |
07006 |
Date D |
[simulierter SQL-Fehler] |
22sim |
Time T |
[simulierter SQL-Fehler] |
22sim |
Hexa X |
[restricted data type attribute violation] |
07006 |