Recently I altered a tablespace CCSID from EBCDIC to UNICODE. This tablespace had a PLAN_TABLE in it. After altering the tablespace, I couldn't retrieve certain rows from this PLAN_TABLE. I started getting SQLCODE -331. The message appeared like this:
"CHARACTER CONVERSION CANNOT BE PERFORMED BECAUSE A STRING, POSITION43 CANNNOT BE CONVERTED FROM 367 TO 37, REASON 12"
Position 43 refers to column IBM_REQUIRED_DATA in the PLAN_TABLE. As a short term solution, I spaced out the value in this column and it fixed it. However, it kept appearing for different programs/queries. So, I altered the table column attribute for IBM_REQUIRED_DATA from "FOR SBCS DATA" to "FOR BIT DATA". It fixed the problem.
3 comments:
Thanks for the post.
Please visit this link below for Mainframe Interview Questions Answers
Please visit this link below for Mainframe Interview Questions Answers
Thanks
John
Thanks for the comments John, I visited your website, I'm not able to comment though. Anyway, you've a wonderful website. Thanks !!
Nice Post. For other SQL abends you can refer the following links
http://mainframewizard.com/content/sql-codes
Post a Comment