Dear SCN community,
We are trying to build a predictive model from the HANA PAL guide provided by SAP. Unfortunately we keep running into an error which is quite surprising since the code is copy pasted from the guide. Only the schema name is changed. Could one of the gurus please help us out? The algorithm is Random Forest.
The full code is also pasted at the bottom.
Thanks a lot!!!
**********************************************************************************
Error 1
Could not execute 'CALL "SYS".AFLLANG_WRAPPER_PROCEDURE_CREATE('AFLPAL', 'RANDOMFORESTTRAIN', 'DE001_D14_710', ...' in 971 ms 345 µs .
SAP DBTech JDBC: [423]: AFL error: [423]
"SYS"."AFLLANG_WRAPPER_PROCEDURE_CREATE": line 156 col 5 (at pos 5073): [423] (range 3) AFL error exception: AFL error: Registration of AFLLANG wrapper procedure "DE001_D14_710"."PAL_RF_TRAINING_PROC" failed with error 'unknown function'.
Error 2
Could not execute 'CALL "DE001_D14_710".PAL_RF_TRAINING_PROC(PAL_RF_DATA_TBL, #PAL_CONTROL_TBL, PAL_RF_MODEL_TBL, ...'
SAP DBTech JDBC: [328]: invalid name of function or procedure: PAL_RF_TRAINING_PROC: line 1 col 22 (at pos 21)
**********************************************************
SQL Code
SETSCHEMA DE001_D14_710;
----DROP TYPE PAL_RF_DATA_T;
CREATETYPE PAL_RF_DATA_T ASTABLE(
"OUTLOOK"VARCHAR(20),
"TEMP"DOUBLE,
"HUMIDITY"DOUBLE,
"WINDY"VARCHAR(10),
"CLASS"VARCHAR(20)
);
----DROP TYPE PAL_RF_MODEL_T;
CREATETYPE PAL_RF_MODEL_T ASTABLE(
"ID"INTEGER,
"TREEINDEX"INTEGER,
"MODEL"VARCHAR(5000)
);
----DROP TYPE PAL_RF_VAR_IMP_T;
CREATETYPE PAL_RF_VAR_IMP_T ASTABLE(
"VAR"VARCHAR(100),
"IMP"DOUBLE
);
----DROP TYPE PAL_RF_ERR_RATE_T;
CREATETYPE PAL_RF_ERR_RATE_T ASTABLE(
"TREEINDEX"INTEGER,
"ERR"DOUBLE
);
----DROP TYPE PAL_RF_CONFUSION_T;
CREATETYPE PAL_RF_CONFUSION_T ASTABLE(
"ID"INTEGER,
"CONTENT"VARCHAR(1000)
);
----DROP TYPE PAL_CONTROL_T;
CREATETYPE PAL_CONTROL_T ASTABLE(
"NAME"VARCHAR (100),
"INTARGS"INTEGER,
"DOUBLEARGS"DOUBLE,
"STRINGARGS"VARCHAR(100)
);
----DROP TABLE PAL_RF_PDATA_TBL;
CREATECOLUMNTABLE PAL_RF_PDATA_TBL(
"POSITION"INT,
"SCHEMA_NAME"NVARCHAR(256),
"TYPE_NAME"NVARCHAR(256),
"PARAMETER_TYPE"VARCHAR(7)
);
INSERTINTO"PAL_RF_PDATA_TBL"VALUES (1, 'DE001_D14_710', 'PAL_RF_DATA_T', 'in');
INSERTINTO"PAL_RF_PDATA_TBL"VALUES (2, 'DE001_D14_710', 'PAL_CONTROL_T', 'in');
INSERTINTO"PAL_RF_PDATA_TBL"VALUES (3, 'DE001_D14_710', 'PAL_RF_MODEL_T', 'out');
INSERTINTO"PAL_RF_PDATA_TBL"VALUES (4, 'DE001_D14_710', 'PAL_RF_VAR_IMP_T', 'out');
INSERTINTO"PAL_RF_PDATA_TBL"VALUES (5, 'DE001_D14_710', 'PAL_RF_ERR_RATE_T', 'out');
INSERTINTO"PAL_RF_PDATA_TBL"VALUES (6, 'DE001_D14_710', 'PAL_RF_CONFUSION_T', 'out');
--CALL "SYS".AFLLANG_WRAPPER_PROCEDURE_DROP('DM_PAL', 'PAL_RF_TRAINING_PROC');
CALL"SYS"."AFLLANG_WRAPPER_PROCEDURE_CREATE"('AFLPAL', 'RANDOMFORESTTRAIN',
'DE001_D14_710', 'PAL_RF_TRAINING_PROC', "PAL_RF_PDATA_TBL");
----DROP TABLE PAL_RF_DATA_TBL;
CREATECOLUMNTABLE PAL_RF_DATA_TBL LIKE PAL_RF_DATA_T;
INSERTINTO PAL_RF_DATA_TBL VALUES ('Sunny', 75, 70, 'Yes', 'Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Sunny', null, 90, 'Yes', 'Do not Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Sunny', 85, null, 'No', 'Do not Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Sunny', 72, 95, 'No', 'Do not Play');
INSERTINTO PAL_RF_DATA_TBL VALUES (null, null, 70, null, 'Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Overcast', 72, 90, 'Yes', 'Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Overcast', 83, 78, 'No', 'Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Overcast', 64, 65, 'Yes', 'Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Overcast', 81, 75, 'No', 'Play');
INSERTINTO PAL_RF_DATA_TBL VALUES (null, 71, 80, 'Yes', 'Do not Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Rain', 65, 70, 'Yes', 'Do not Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Rain', 75, 80, 'No', 'Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Rain', 68, 80, 'No', 'Play');
INSERTINTO PAL_RF_DATA_TBL VALUES ('Rain', 70, 96, 'No', 'Play');
--DROP TABLE #PAL_CONTROL_TBL;
CREATELOCALTEMPORARYCOLUMNTABLE #PAL_CONTROL_TBL(
"NAME"VARCHAR (100),
"INTARGS"INTEGER,
"DOUBLEARGS"DOUBLE,
"STRINGARGS"VARCHAR (100)
);
INSERTINTO #PAL_CONTROL_TBL VALUES ('TREES_NUM', 300, null,null);
INSERTINTO #PAL_CONTROL_TBL VALUES ('TRY_NUM', 3, null,null);
INSERTINTO #PAL_CONTROL_TBL VALUES ('SEED', 2, null,null);
--DROP TABLE PAL_RF_MODEL_TBL;
CREATECOLUMNTABLE PAL_RF_MODEL_TBL LIKE PAL_RF_MODEL_T;
--DROP TABLE PAL_RF_VAR_IMP_TBL;
CREATECOLUMNTABLE PAL_RF_VAR_IMP_TBL LIKE PAL_RF_VAR_IMP_T;
--DROP TABLE PAL_RF_ERR_RATE_TBL;
CREATECOLUMNTABLE PAL_RF_ERR_RATE_TBL LIKE PAL_RF_ERR_RATE_T;
--DROP TABLE PAL_RF_CONFUSION_TBL;
CREATECOLUMNTABLE PAL_RF_CONFUSION_TBL LIKE PAL_RF_CONFUSION_T;
CALL"DE001_D14_710".PAL_RF_TRAINING_PROC(PAL_RF_DATA_TBL, #PAL_CONTROL_TBL,
PAL_RF_MODEL_TBL, PAL_RF_VAR_IMP_TBL, PAL_RF_ERR_RATE_TBL, PAL_RF_CONFUSION_TBL)
WITH OVERVIEW;
SELECT * FROM PAL_RF_MODEL_TBL;
SELECT * FROM PAL_RF_VAR_IMP_TBL;
SELECT * FROM PAL_RF_ERR_RATE_TBL;
SELECT * FROM PAL_RF_CONFUSION_TBL;