Native SQL für DB2 Common Server 

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

 

ABAP-Datentyp: Character C

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

 

ABAP-Datentyp: Numeric N

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

 

ABAP-Datentyp: Integer I

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

 

ABAP-Datentyp: Float F

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

 

ABAP-Datentyp: Date D

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

 

ABAP-Datentyp: Time T

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

 

ABAP-Datentyp: Hexadezimal X

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
[linksbündig, rechts zusätzliche Blanks]

ok

DB-Datenwertbreite = ABAP-Feldbreite

ok

Numeric N

DB-Datenwert ist nicht numerisch

[ undef]

DB-Datenwertbreite > ABAP-Feldbreite
[simulierter SQL-Fehler]

22sim

DB-Datenwertbreite < ABAP-Feldbreite
[rechtsbündig, links zusätzliche Nullen]

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
[linksbündig, restliche Stellen undefiniert]

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
[linksbündig, rechts zusätzliche Blanks]

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