Quantcast
Channel: SCN : Discussion List - SAP HANA Developer Center
Viewing all articles
Browse latest Browse all 6412

hdbprocedure error on activation - identifier must be declared

$
0
0

Hi,

 

I'm currently trying to learn how to use hdbprocedures and have a problem activation a procedure.

I'm using a free HANA trial account.

The error says: "Could not create catalog object: identifier must be declared;"

But it doesn't say which line and there is nothing marked in the hdbprocedure file.

 

The code I'm using:

 

PROCEDURE "DEV_****************************"."*******trial.hanainstance.mypackage.myproject::get_win_lose_ratio" (  out out_ratio "_SYS_BIC"."*******trial.hanainstance.mypackage.myproject::win_lose_ratio"
)  LANGUAGE SQLSCRIPT  SQL SECURITY INVOKER  --DEFAULT SCHEMA <default_schema_name>  READS SQL DATA AS
BEGIN
/*****************************  Write your procedure logic
*****************************/
declare winArray integer array;
declare loseArray integer array;
declare tieArray integer array;
declare idArray integer array;
declare v_id nvarchar(20);
DECLARE CURSOR c_cursor1 (v_ID NVARCHAR(20)) FOR       SELECT "ID","enemy","scoreOwn","scoreEnemy"      FROM "NEO_****************************"."*********trial.hanainstance.mypackage.myproject::results";  
FOR cur_row AS c_cursor1 (v_ID) DO  idArray[CAST (cur_row."enemy" as INTEGER)] := cur_row."enemy";  idArray[CAST (cur_row."ID" as INTEGER)] := cur_row."ID";    if cur_row."scoreOwn" > cur_row."scoreEnemy" then         winArray[CAST (cur_row."ID" as INTEGER)] := winArray[CAST (cur_row."ID" as INTEGER)] + 1;         loseArray[CAST (cur_row."enemy" as INTEGER)] := loseArray[CAST (cur_row."enemy" as INTEGER)] + 1;    elseif cur_row."scoreOwn" < cur_row."scoreEnemy" then         loseArray[CAST (cur_row."ID" as INTEGER)] := loseArray[CAST (cur_row."ID" as INTEGER)] + 1;         winArray[CAST (cur_row."enemy" as INTEGER)] := winArray[CAST (cur_row."enemy" as INTEGER)] + 1;    else         tieArray[CAST (cur_row."ID" as INTEGER)] := tieArray[CAST (cur_row."ID" as INTEGER)] + 1;         tieArray[CAST (cur_row."enemy" as INTEGER)] := tieArray[CAST (cur_row."enemy" as INTEGER)] + 1;    end if;
END FOR;
out_ratio = UNNEST(:idArray, :winArray, :loseArray, :tieArray) AS ("ID", "winCnt", "loseCnt", "tieCnt");
END;

Can you help me finding my problem?

Thank you and have a nice christmas time!


Viewing all articles
Browse latest Browse all 6412

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>