Hallo zusammen,
Ob es an V7R5 liegt kann ich nicht sagen:
Ich habe folgenden Fall
Eine Prozedur wird so aufgerufen
nameProzedur ( aVariable :*off) ;
Der Service / Empfänger ist so definiert
PHP-Code:
dcl-proc nameProzedur export;
dcl-pi *n ind;
aVariable packed(18) const;
pSchalterRead ind const;
END-PI;
In der Proz. erfogt diese sql
PHP-Code:
exec sql
UPDATE xxxx SET BerichtUserRead = :pSchalterRead,
CHANGEUSER = :PgmUser
WHERE RECID = :aVariable ;
Bei dem Aufruf erfolgt folgende Meldung
PHP-Code:
Wert für Spalte oder Variable BERICHTUSERREAD zu lang.SQLCOD= -404 SQLSTATE= 22001
Weitere Nachrichteninformationen Nachrichten-ID . . . . : SQL0404 Bewertung . . . . . . : 30Nachrichtenart . . . . : DiagnoseSendedatum . . . . . . : 16.04.24 Sendezeit . . . . . . : 06:11:01 Nachricht . . . : Wert für Spalte oder Variable BERICHTUSERREAD zu lang.Ursache . . . . : In einer Anweisung INSERT, UPDATE, MERGE, SET, VALUES INTO oder GET DIAGNOSTICS ist ein Wert angegeben, der die maximale Länge für Zeichenfolgen, die in BERICHTUSERREAD gespeichert werden können, überschreitet. Die Länge von BERICHTUSERREAD ist 1, und die Länge der Zeichenfolge ist 5.Fehlerbeseitigung: Länge der Zeichenfolge von 5 auf maximal 1 verringern und Anforderung wiederholen.
Ich habe im Debugger in der Var. pSchalterRead aber nur 1 oder 0
und das Feld BerichtUserRead ist mit Char 1 definiert.
Warum meint die Maschine das es 5 Zeichen wären :-)
Hat jemand auch so ein Verhalten ?
Gruß
Michael
Bookmarks