Wenn in einer eingebetteten SQL-Anweisung der C/C++-Grunddatentyp oder der UNICODE-Datentyp eines Parameters nicht mit dem SAP DB-Datentyp der entsprechenden Tabellenspalte korrespondiert, aber konvertierbar ist, dann führt die Precompiler-Laufzeitumgebung zur Laufzeit des Anwendungsprogramms eine Konvertierung durch.
Die folgenden Tabellen zeigen, welche Konvertierungen möglich sind und welche Fehler dabei auftreten können.
C/C++-Grunddatentypen |
SAP DB-Datentypen |
||||||
FIXED |
FLOAT |
BOOLEAN |
LONG |
CHAR |
VARCHAR |
DATE/TIME |
|
short int, int, |
1,2 |
1b,2 |
6 |
nicht erlaubt |
4,5 |
nicht erlaubt |
nicht erlaubt |
float, double, long float |
1a,2 |
2 |
6 |
nicht erlaubt |
4,5 |
nicht erlaubt |
nicht erlaubt |
char [n] |
4,5 |
4,5 |
nicht erlaubt |
3 |
3 |
3 |
3 |
char |
4,5 |
4,5 |
nicht erlaubt |
nicht erlaubt |
3 |
3 |
3 |
UNICODE-Datentypen |
SAP DB-Datentypen |
||||||
FIXED |
FLOAT |
BOOLEAN |
LONG |
CHAR |
VARCHAR |
DATE/TIME |
|
SQLUCS2
[n], |
4,5,7 |
4,5,7 |
nicht erlaubt |
3,7 |
3,7 |
3,7 |
3,7 |
SQLUCS2, |
4,5,7 |
4,5,7 |
nicht erlaubt |
3,7 |
3,7 |
3,7 |
3,7 |
1 Es kann ein Overflow auftreten (sqlcode < 0).
1a Bei der Übertragung eines Wertes in die Datenbanktabelle kann ein Overflow auftreten.
1b Bei der Übertragung eines Wertes in die Host-Variable kann ein Overflow auftreten.
2 Es werden möglicherweise Nachkommastellen abgeschnitten (Indikatorwert > 0).
3 Es werden möglicherweise Zeichen abgeschnitten. Die Warnmeldung sqlwarn1 wird gesetzt. Der Indikatorwert gibt die wirkliche Länge der Zeichenkette an.
4 Bei der Konvertierung von numerischen Werten in Zeichenketten kann ein Overflow auftreten (sqlcode < 0).
5 Bei der Konvertierung von Zeichenketten in numerische Werte kann ein Overflow oder eine unzulässige Zahl auftreten (sqlcode < 0).
6 Der Wert 0 wird auf false abgebildet. Alle Werte ungleich 0 werden auf trueabgebildet.
7 Bei der Konvertierung von UNICODE-Zeichen, die sich nicht in 8-Bit-ASCII übersetzen lassen, wird eine Fehlermeldung ausgegeben (sqlcode < 0).
Siehe auch: Rückmeldungen des Datenbanksystems