Show TOC

Native SQL für DB2 Common ServerLocate this document in the navigation structure

Native SQL für DB2 Common Server

Nachfolgend sind die Konvertierungstabellen zwischen ABAP-Variablen und Datentypen der Datenbank DB2 common server angegeben.

  • Die in den Konvertierungstabellen durch Fettdruck hervorgehobenen Kombinationen von ABAP-Variablentypen und Datentypen der Datenbank sollen bevorzugt werden.
  • Für die Fälle unerlaubter Typkombinationen wird das Fehlerverhalten der ABAP-Programmierumgebung angegeben; der jeweilige SQL-Fehlercode eines daraus resultierenden ABAP-Kurzdump ist angegeben.
  • Das Verhalten bei Verwendung von hier nicht genannten Typkombinationen ist undefiniert.

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:

  • ok : die Schnittstelle leistet die gewünschte Konvertierung
  • [info] : Die Konvertierung wird mit Warnungen der Datenbank durchgeführt, ohne daß ein SQL-Fehler auftritt. Die Daten sind jedoch rechts abgeschnitten [rtrunc], abgeschnitten [trunc], gerundet [round] oder undefiniert [undef].
  • <Fehlercode>: eine Zahl kennzeichnet das Scheitern der gewünschten Konvertierung und gibt den SQL-Fehlercode der Datenbank an, der dem Benutzer im ABAP-Kurzdump gemeldet wird.

Insert/Update eines Variablenwertes vom ABAP-Typ

  • Character C(n)
  • Numeric Text N(n)
  • Packed Number P(m,d)
  • Integer I
  • Float F
  • Date D
  • Time T
  • Hexadezimal X(n)

Select eines Spaltenwertes vom Datenbank-Typ

  • char
  • varchar
  • longvarchar
  • decimal
  • numeric
  • float
  • double
  • smallint
  • integer
  • date
  • time
  • timestamp

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