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 SQLSTATE22001 
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