Apologies if this is a dup but my original was rejected (I think) and I can’t see anything for May in the archives.

I have a table defined as:

REGISTERTIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
WEBINARID DECIMAL(11, 0) NOT NULL DEFAULT 0 ,
RESULT CHAR(1) NOT NULL DEFAULT '0' ,
REGISTERDATA VARCHAR(1000) ALLOCATE(300) CCSID 37 NOT NULL

The SQL statement to insert the data is:

Insert into table ( webinarId, result, registerData )
values( :webinarId, :result, :request );

Where the columns are all defined as per the table definition - except that “result” in the RPG code is an indicator.

This code has been running for a couple of years but since our move to 7.6 has started to sometimes throw SQLCODE -404 against the “result" column claiming that its length of 4 exceeds the capacity of the column. But it isn’t 4 long it is 1. Running in debug, I can see that the temp variable for “result” created by the pre-processor is char(1).

Not sure where else to look.

I have googled for PTFs or reported errors but am not seeing anything.

Anyone got any ideas on where to look next?

I have a work around - if I face the cast of the indicator to char(1) it works. Guess there is a bug in the code generated by the pre-compiler.

Insert into partner400/sqlregtest ( result, webinarId, regData )
values( cast (:result as char(1)), :webinarId, :request );


Jon Paris


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.