I am trying to code a PAL function .
; # create type for kmeans result
ALTER SESSION SET CURRENT_SCHEMA = "CHAVADJO";
DROPTYPE T_KMEANS_RESULT_ASSIGN_TAB;
CREATETYPE T_KMEANS_RESULT_ASSIGN_TAB ASTABLE(
"ID" INT,
"CENTER_ASSIGN" INT,
"ENERGY"DOUBLE);
; # create type for double arguments
DROPTYPE T_SINGLE_COLUMN_DOUBLE_TAB ;
CREATETYPE T_SINGLE_COLUMN_DOUBLE_TAB ASTABLE("VALUE"DOUBLE) ;
; # create type for integer arguments
DROPTYPE T_SINGLE_COLUMN_INT_TAB ;
CREATETYPE T_SINGLE_COLUMN_INT_TAB ASTABLE("VALUE" INT) ;
DROPTYPE KMEANS_DOUBLE_INPUT;
CREATETYPE KMEANS_DOUBLE_INPUT ASTABLE(
"ID" INT,
"V000"DOUBLE, "V001"DOUBLE,
primarykey("ID"));
DROPTABLE #CONTROL_TAB;
CREATELOCALTEMPORARYCOLUMNTABLE #CONTROL_TAB (
"Name"VARCHAR (50),
"intArgs"INTEGER,
"doubleArgs"DOUBLE,
"stringArgs"VARCHAR (100));
DROPTYPE CONTROL_T;
CREATETYPE CONTROL_T ASTABLE ( "Name"VARCHAR (50),"intArgs"INTEGER, "doubleArgs"DOUBLE,"stringArgs"VARCHAR (100));
CREATETYPE PAL_T_KM_CENTERS ASTABLE (CENTER_ID INTEGER, LIFESPEND DOUBLE, NEWSPEND DOUBLE, INCOME DOUBLE, LOYALTY DOUBLE);
DROPPROCEDURE KMEANS_WITH_NEWDB;
CREATEPROCEDURE
KMEANS_WITH_NEWDB
(IN dataset KMEANS_DOUBLE_INPUT,
IN control CONTROL_T,
OUT cluster_assignment T_KMEANS_RESULT_ASSIGN_TAB,
OUT centers PAL_T_KM_CENTERS)
LANGUAGELLANGAS
BEGIN
export Void main(
Table<Int32 "ID",Double"V000", Double"V001"> "dataset" datasetTab,
Table<String "Name", Int32 "intArgs", Double"doubleArgs", String "stringArgs"> "control" argsTab,
Table<Int32 "ID", Int32 "CENTER_ASSIGN", Double"ENERGY">"cluster_assignment" resultTab,
Table<Int32 "ID", Double"LIFESPEND",Double"NEWSPEND", Double"INCOME", Double"LOYALTY"> "centers" rCEMTab
)
{
pal::kmeans(datasetTab, argsTab, resultTab,rCEMTab);
}
END;
But the issue I get is , please check
Could not execute 'CREATE PROCEDURE KMEANS_WITH_NEWDB (IN dataset KMEANS_DOUBLE_INPUT, IN control CONTROL_T, OUT ...' in 245 ms 286 µs . SAP DBTech JDBC: [2048]: column store error: [34011] failed to save calculation scenario : The following errors occured: Inconsistent calculation model (34011)
Details (Errors):
- CalculationNode (750647) -> operation (CustomLOp): Number of input tables does not match: expected '2' from the model, but was '4' in the signature of the main function.