Hi Experts,
I am facing below error while activating my Stored Procedure.
Could not create catalog object: column store error; [34011] failed to save calculation scenario : The following errors occured: Inconsistent calculation model (34011)
Details (Errors):
- CalculationNode ($$_SYS_SS2_RESULT$$): Internal compiler error at "SYSTEM"."LEGAL_KPI.Z_PRJ_LEGAL_KPI_XS.STORED_PROCEDURES::Z_PR_DELETE_UPDATE_DATA": line 73 col 5 (at pos 2115).
PFB Stored Procedure Codes
PROCEDURE "SYSTEM"."LEGAL_KPI.Z_PRJ_LEGAL_KPI_XS.STORED_PROCEDURES::Z_PR_DELETE_UPDATE_DATA"
(
IN IP_ACTION VARCHAR(10),
IN IP_TEMP_TABLE VARCHAR(100),
IN IP_DATA_TYPE VARCHAR(10),
IN IP_KPI_CODE VARCHAR(1000),
IN IP_KPI_VALUE VARCHAR(1000),
IN IP_YEAR_MONTH VARCHAR(10),
OUT ERROR_IND TINYINT,
OUT ERROR_MSG VARCHAR(255)
)
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
DEFAULT SCHEMA "LEGAL_KPI" AS
--READS SQL DATA AS
BEGIN
DECLARE V_KPI_CODE_STR VARCHAR(1000):='';
DECLARE V_KPI_VALUE_STR VARCHAR(1000):='';
DECLARE V_KPI_CODE_ARR VARCHAR(100) ARRAY;
DECLARE V_KPI_VALUE_ARR DECIMAL(38,5) ARRAY;
DECLARE V_KPI_CODE_MAX TINYINT := 0;
DECLARE V_KPI_VALUE_MAX TINYINT := 0;
DECLARE V_INDEX TINYINT := 1;
DECLARE V_INDEX1 TINYINT := 0;
DECLARE V_INDEX2 TINYINT := 0;
DECLARE V_STRING VARCHAR(1000):='';
IF :IP_DATA_TYPE = 'ACTUAL' THEN
--SPLITING KPI CODE
V_KPI_CODE_STR := :IP_KPI_CODE;
WHILE(LENGTH(:V_KPI_CODE_STR)>0) DO
V_INDEX1:= V_INDEX1+1;
IF (SUBSTR_BEFORE(:V_KPI_CODE_STR, ',') ='') THEN
V_KPI_CODE_ARR[:V_INDEX1] := :V_KPI_CODE_STR;
ELSE
V_KPI_CODE_ARR[:V_INDEX1] := SUBSTR_BEFORE(:V_KPI_CODE_STR, ',');
END IF ;
V_KPI_CODE_STR := SUBSTR_AFTER(:V_KPI_CODE_STR,',');
END WHILE;
--SPLITING KPI VALUES
V_KPI_VALUE_STR := :IP_KPI_VALUE;
WHILE(LENGTH(:V_KPI_VALUE_STR)>0) DO
V_INDEX2:= V_INDEX2+1;
IF (SUBSTR_BEFORE(:V_KPI_VALUE_STR, ',') ='') THEN
V_KPI_VALUE_ARR[:V_INDEX1] := :V_KPI_CODE_STR;
ELSE
V_KPI_VALUE_ARR[:V_INDEX1] := SUBSTR_BEFORE(:V_KPI_VALUE_STR, ',');
END IF ;
V_KPI_VALUE_STR := SUBSTR_AFTER(:V_KPI_VALUE_STR,',');
END WHILE;
IF UPPER(:IP_ACTION) = 'SUBMIT' THEN
V_KPI_CODE_MAX := CARDINALITY (:V_KPI_VALUE_ARR);
V_INDEX := 1;
FOR V_INDEX IN 1..:V_KPI_CODE_MAX DO
V_STRING:= '';
V_STRING:= 'UPDATE '||:IP_TEMP_TABLE||' AS I SET I.KPI_VALUE = '||:V_KPI_VALUE_ARR[:V_INDEX];
EXEC :V_STRING;
SELECT :V_KPI_CODE_MAX FROM DUMMY;
END FOR;
ERROR_IND := 0;
END IF;
END IF;
ERROR_IND := 0;
ERROR_MSG := 'TEST';
END;