Troubleshooting
Problem
You have a SQL function which makes a call to a stored procedure (SP). The SP is expected to return a result set to the SQL function, however, the SP fails to execute and returns an SQL0104N error.
Symptom
Example:
CREATE FUNCTION CHERRY.getProdSegByProdName ( v_PRODNAME VARCHAR(255) )
RETURNS VARCHAR(30)
LANGUAGE SQL
BEGIN ATOMIC
DECLARE v_PROD_SEG VARCHAR(30) DEFAULT 'OTHER';
SET (v_PROD_SEG) = ( CALL XMAP.getPSegByPNameSP (v_PRODNAME); );
IF((v_PROD_SEG IS NULL) OR (v_PROD_SEG = '')) THEN
SET v_PROD_SEG = 'OTHER';
END IF;
RETURN v_PROD_SEG;
END@
STATEMENT USED TO RUN THE ABOVE:
db2 -td@ -f getProdSegByProdName.sql
ERROR RECEIVED:
DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned:
SQL0104N An unexpected token "CALL" was found following "SET (v_PROD_SEG) =
(". Expected tokens may include: "<case_simple_type>". LINE NUMBER=1.
SQLSTATE=42601
Log InLog in to view more of this document
Was this topic helpful?
Document Information
Modified date:
30 April 2025
UID
swg21503367