Troubleshooting
Problem
A MCH1202: Data Decimal Error is thrown to the QZDASOINIT joblog after calling a stored procedure from an application.
Resolving The Problem
Problem
A MCH1202: Data Decimal Error is thrown to the QZDASOINIT joblog after calling a stored procedure from an application.
A TRCCNN communications trace shows the parameters being correctly passed on the execution of the CALL SQL statement. Typically, when a MCH1202 is thrown when calling a stored procedure, it implies the procedure and/or parameter definition are missing or incorrect.
You can check to determine if the stored procedure lies within the system catalog information by issuing the following queries through iSQL or Run SQL Scripts.
SELECT * FROM QSYS2/SYSPARMS WHERE SPECSCHEMA='SCHEMA_NAME' AND SPECNAME='PROCEDURE_NAME'
SELECT * FROM QSYS2/SYSROUTINE WHERE SPECSCHEMA='SCHEMA_NAME' AND SPECNAME='PROCEDURE_NAME'
where SCHEMA_NAME is the library the stored procedure resides and PROCEDURE_NAME is the stored procedure name.
Resolution
If the stored procedure is not found in the result set of one or both of the select statements, have the client re-run the CREATE PROCEDURE SQL statement to re-populate the system catalog tables QSYS2/SYSPARMS and QSYS2/SYSROUTINE.
A MCH1202: Data Decimal Error is thrown to the QZDASOINIT joblog after calling a stored procedure from an application.
A TRCCNN communications trace shows the parameters being correctly passed on the execution of the CALL SQL statement. Typically, when a MCH1202 is thrown when calling a stored procedure, it implies the procedure and/or parameter definition are missing or incorrect.
You can check to determine if the stored procedure lies within the system catalog information by issuing the following queries through iSQL or Run SQL Scripts.
SELECT * FROM QSYS2/SYSPARMS WHERE SPECSCHEMA='SCHEMA_NAME' AND SPECNAME='PROCEDURE_NAME'
SELECT * FROM QSYS2/SYSROUTINE WHERE SPECSCHEMA='SCHEMA_NAME' AND SPECNAME='PROCEDURE_NAME'
where SCHEMA_NAME is the library the stored procedure resides and PROCEDURE_NAME is the stored procedure name.
Resolution
If the stored procedure is not found in the result set of one or both of the select statements, have the client re-run the CREATE PROCEDURE SQL statement to re-populate the system catalog tables QSYS2/SYSPARMS and QSYS2/SYSROUTINE.
[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CHeAAM","label":"IBM i Db2"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]
Historical Number
424847761
Was this topic helpful?
Document Information
Modified date:
12 December 2024
UID
nas8N1014802