Conversion error on input host variable (iSeries)

bmarxhau

Active Member
Just converted our DV810 business data/control tables to Unicode, deleted SQLPKGs, and now having errors when running pre-payroll, other UBEs seem fine.

From the jde.log of the R07200:
630 Tue Jul 19 17:46:18.014768 dbdrv_log.c196
OS400QL009 - OpenSQLCursor:ReOpen SQL cursor: Crsr122. QSQLMSG *LIBL - SQL0302 - Conversion error on input host variable or parameter &2

630 Tue Jul 19 17:46:18.080648 jdb_drvm.c1139
JDB9900176 - Failed to reset db request

630 Tue Jul 19 17:46:18.111152 jdb_exef.c3706
JDB3300020 - Fetch not allowed. Prior successful Select operation required for this request.

630 Tue Jul 19 17:46:18.116512 dbdrv_log.c196
OS400QL009 - OpenSQLCursor:ReOpen SQL cursor: Crsr122. QSQLMSG *LIBL - SQL0302 - Conversion error on input host variable or parameter &2

630 Tue Jul 19 17:46:18.117104 jdb_drvm.c1139
JDB9900176 - Failed to reset db request

630 Tue Jul 19 17:46:18.117672 jdb_exef.c3706
JDB3300020 - Fetch not allowed. Prior successful Select operation required for this request.

From the job log of the R07200:
CPD4374 Diagnostic 40 07/19/05 17:46:17.554832 QQQSRVE1 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QQQOOOSETS
From procedure . . . . . . : QQQSNDPMSG
Statement . . . . . . . . . : 3531
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : OPQRYDBM
Statement . . . . . . . . . : 13905
Message . . . . : Field HVR0003 and value 3 not compatible. Reason 8.
Cause . . . . . : The attributes of variable field HVR0003 in query record format FORMAT0001 are not compatible with the attributes of value number 3. The value is *N. The reason code is 8.
The reason codes and their meanings follow: 8 -- Value contains double-byte character data that is not valid.

SQL0302 Diagnostic 30 07/19/05 17:46:17.779448 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQOPEN
From procedure . . . . . . : CLEANUP
Statement . . . . . . . . . : 17844
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 17844
Message . . . . : Conversion error on input host variable or parameter *N.
Cause . . . . . : Host variable or parameter *N or entry 3 in an SQLDA contains a value that can not be converted to the attributes required by the statement. Error type 7 occurred.
Error types and their meanings are: 7 -- Double-byte character set (DBCS) data that is not valid.


Planning to perform RCLSTG(*DBXREF) and delete QGPL/QZDAPKG just prior to an IPL tonight, but open to other suggestions if anyone has encountered this. Seems hauntingly familiar...

Brent
iSeries V5R2, E1 8.10, TR 8.94_L1
 
Answer my own post.

I broke the troubleshooter's creed and changed multiple things at once, but it appears the issue is resolved.

Performed a RCLSTG(*DBXREF) and installed 5 individual PTFs that were on the 7/15/05 V5R2 APAR, but not on our machine. They were:
SI18567
SI8084
SI17614
MF35018
MF34732

I am less convinced that it was a Unicode issue, more certain it was a similar DB2 bug that V5R3 had.

The jdedebug.log of the process showed the issue being caused with the use of reusable cursors.

Jul 20 13:36:24.317288 jdb_exef.c3987 - Entering JDB_FetchKeyed
Jul 20 13:36:24.318152 dbdrv.c1749 - DB2/400 DBInitReq Connhdl = 'SPP:0000 :0000 :0:3:36' A DBReqHand = 'SPP:0000 :0000 :0:a93:36' <font color="red"> NEW ROCH400E(Business Data - TEST) </font>
Jul 20 13:36:24.318536 dbsql_s.c1772 - SELECT * FROM TESTDTA/F06904 WHERE ( Y#CO = '00607' AND Y#PRJC = 'C' AND Y#MCUH = ' 49631' AND Y#LBOB = SPACE AND Y#LSUB = SPACE AND Y#PDBA = 0.000000 AND Y#FRTY = 'DA' )
Jul 20 13:36:24.320424 dbdrv_log.c220 - <font color="red"> OpenSQLCursor:Open SQL cursor: Crsr61. </font>
Jul 20 13:36:24.323280 jdb_exef.c4545 - No More Data found
Jul 20 13:36:24.323648 jdb_exef.c3987 - Entering JDB_FetchKeyed
Jul 20 13:36:24.324312 dbdrv.c1767 - DB2/400 DBResetReq Connhdl = 'SPP:0000 :0000 :0:3:36' A DBReqHand = 'SPP:0000 :0000 :0:a93:36' <font color="red"> RESET ROCH400E(Business Data - TEST) </font>
Jul 20 13:36:24.324704 dbsql_s.c1772 - SELECT * FROM TESTDTA/F06904 WHERE ( Y#CO = '00607' AND Y#PRJC = 'C' AND Y#MCUH = SPACE AND Y#LBOB = SPACE AND Y#LSUB = SPACE AND Y#PDBA = 0.000000 AND Y#FRTY = 'DA' )
Jul 20 13:36:24.603072 dbdrv_log.c196 - OS400QL009 - <font color="red"> OpenSQLCursor:ReOpen SQL cursor: Crsr61. </font> QSQLMSG *LIBL - SQL0302 - Conversion error on input host variable or parameter &2
Jul 20 13:36:24.679368 dbdrv_log.c220 - OS400QL009 - OpenSQLCursor: QSQLMSG *LIBL - SQL0302 - Conversion error on input host variable or parameter &2
Jul 20 13:36:24.685928 jdb_drvm.c1139 - JDB9900176 - Failed to reset db request
Jul 20 13:36:24.701208 jdb_exef.c4382 - Exiting FetchKeyed with Failure

Could be that the bug only shows itself in V5R2 when using Unicode, and one of the above PTFs fixed it?

Whatever, I am happy it is gone.

Brent
iSeries V5R2, E1 8.10, TR 8.94_L1
 
Back
Top