When I tried to test the SVM in PAL following this video,
http://www.saphana.com/docs/DOC-4322#
I got an error:
Could not execute 'CALL SYSTEM.AFL_WRAPPER_GENERATOR ('PAL_SV', 'AFLPAL', 'SVMTRAIN', PAL_SV_SIGNATURE)' in 28 ms 976 µs .
SAP DBTech JDBC: [423]: AFL error: [423] SYSTEM.AFL_WRAPPER_GENERATOR: line 32 col 1 (at pos 1198): [423] (range 3) AFL error exception: AFL error: registration finished with errors, see indexserver trace
And see what I found in diagnostic file:
[5228]{407708}[189/-1] 2014-01-27 12:00:00.412310 e cePlanExec cePlanExecutor.cpp(06500) : Error during Plan execution of model SYSTEM:_SYS_SS_CE_144699_INS (-1), reason: SYSTEM.AFL_WRAPPER_GENERATOR: line 32 col 1 (at pos 1198): [423] (range 3) AFL error exception: AFL error: registration finished with errors, see indexserver trace [22974]{-1}[-1/-1] 2014-01-27 12:02:16.669462 w Logger SavepointImpl.cpp(02329) : NOTE: BACKUP DATA needed to ensure recoverability of the database [24208]{407708}[189/26271] 2014-01-27 12:04:06.018441 i TraceContext TraceContext.cpp(00331) : UserName=PAL_DEV, ApplicationUserName=Administrator, ApplicationName=HDBStudio [24208]{407708}[189/26271] 2014-01-27 12:04:06.018432 e AFLPM_SQL AFLPM_SQLDriverObj.cpp(02910) : Registration of AFLLANG wrapper P failed at getPackageName! [24208]{407708}[189/26271] 2014-01-27 12:04:06.019597 e LJIT cePopCustomLjit.cpp(00591) : Llang Runtime Error: Exception::SQLException423: AFL error: registration finished with errors, see indexserver trace at main (line 175) (SYSTEM.AFL_WRAPPER_GENERATOR: line 32 col 1 (at pos 1198)) [24208]{407708}[189/26271] 2014-01-27 12:04:06.019629 e LJIT cePopCustomLjit.cpp(00607) : SYSTEM.AFL_WRAPPER_GENERATOR: line 32 col 1 (at pos 1198): [423] (range 3) AFL error exception: AFL error: registration finished with errors, see indexserver trace [5226]{407708}[189/-1] 2014-01-27 12:04:06.020210 e Executor PlanExecutor.cpp(00659) : plan plan17761@hanacloud:30003 failed with rc 423; AFL errorSYSTEM.AFL_WRAPPER_GENERATOR: line 32 col 1 (at pos 1198): [423] (range 3) AFL error exception: AFL error: registration finished with errors, see indexserver trace [5226]{407708}[189/-1] 2014-01-27 12:04:06.020244 e Executor PlanExecutor.cpp(00659) : -- returns for plan17761@hanacloud:30003: [5226]{407708}[189/-1] 2014-01-27 12:04:06.020252 e Executor PlanExecutor.cpp(00659) : pop=pop1, class="ceSqlPop", duration=12:04:05.999 +0.006, cpu=140005382645488, rc=0 [5226]{407708}[189/-1] 2014-01-27 12:04:06.020273 e Executor PlanExecutor.cpp(00659) : pop=pop2, class="ceConvertDatatypePop", duration=12:04:06.005 +0.000, cpu=140005382645488, rc=0 [5226]{407708}[189/-1] 2014-01-27 12:04:06.020298 e Executor PlanExecutor.cpp(00659) : pop=pop3, class="ceLjitPop", location=hanacloud:30003, duration=12:04:06.005 +0.014, cpu=140005382645488, rc=423, msg=AFL error [5226]{407708}[189/-1] 2014-01-27 12:04:06.020312 e Executor PlanExecutor.cpp(00659) : pop=<all>, duration=12:04:05.999 to 12:04:06.020 +0.021, cpu=420016147936464 [5226]{407708}[189/-1] 2014-01-27 12:04:06.020322 e Executor PlanExecutor.cpp(00659) : con=a, class="ceDataSet", size=604 [5226]{407708}[189/-1] 2014-01-27 12:04:06.020329 e Executor PlanExecutor.cpp(00659) : con=b, class="ceDataSet", size=604 [5226]{407708}[189/-1] 2014-01-27 12:04:06.020333 e Executor PlanExecutor.cpp(00659) : con=c, class="ceDataSet", size=0 [5226]{407708}[189/-1] 2014-01-27 12:04:06.020336 e Executor PlanExecutor.cpp(00659) : con=f, class="ceDataSet", size=0 [5226]{407708}[189/-1] 2014-01-27 12:04:06.020340 e Executor PlanExecutor.cpp(00659) : con=<all>, duration=+0.000 [5226]{407708}[189/-1] 2014-01-27 12:04:06.020345 e Executor PlanExecutor.cpp(00659) : -- end executor returns [5226]{407708}[189/-1] 2014-01-27 12:04:06.020348 e Executor PlanExecutor.cpp(00659) : pop3 (rc 423, AFL error) pop = executorPy.ceLjitPop() # pop3 pop.setLocation('hanacloud', 30003) pop.setNodeName('$$DUMMY$$_SYS_SS_CE_144699_TMP_CALL') pop.setUseInternalTable() pi = fuzzypy.CePlanInput() pi.setName('DATA') pop.addPopInput(pi) pop.addViewAttribute('DUMMY', datatype=67, intDigits=1, sqlType=8, sqlLength=1) pop.setLocale('BINARY') pop.setUserSchema('PAL') pop.addOutputName('dummy') pop.addConnectorOutputPos(0) pop.addPlanDebugOpDataInfo(originalNodeName = '$$DUMMY$$', scenarioName = 'SYSTEM:_SYS_SS_CE_144699_TMP') pop.setScript(""" #pragma function "SYSTEM.AFL_WRAPPER_GENERATOR" export Void main(NullString "PROC" sPROC, NullString "AREA" sAREA, NullString "AFL" sAFL, Table<Int32 "ID", NullString "TYPENAME", NullString "DIRECTION"> "DATA" vDATA, Table<FixedString<1> "DUMMY"> & dummy) { Connection conn; RSHeap heap = RSHeap(conn); RSEnv env = RSEnv(heap); Int32 ucnt = 0; // scalar input parameter: PROC RSString vPROC = RSString( sPROC , env ); // scalar input parameter: AREA RSString vAREA = RSString( sAREA , env ); // scalar input parameter: AFL RSString vAFL = RSString( sAFL , env ); TemporaryTableHandle tabDATA = TemporaryTableHandle(vDATA); // input table variable RSString vV_SCHEMA_NAME; // V_SCHEMA_NAME_1: intermediate def-variable RSString vV_TABLE_NAME; // V_TABLE_NAME_1: intermediate def-variable RSString vV_STRING; // V_STRING_1: intermediate def-variable RSString vV_STRING___2; // V_STRING_2: intermediate def-variable PreparedStatement stmtC_PARAMETER_TABLE; // Predeclare statement to reuse ResultSet rsC_PARAMETER_TABLE; // Predeclare statement to reuse RSBigInt vC_PARAMETER_TABLE__ISOPEN = RSBigInt("0"); // C_PARAMETER_TABLE::ISOPEN_1: intermediate def-variable RSBigInt vC_PARAMETER_TABLE__FOUND = RSBigInt("0"); // C_PARAMETER_TABLE::FOUND_1: intermediate def-variable RSBigInt vC_PARAMETER_TABLE__ROWCOUNT = RSBigInt("0"); // C_PARAMETER_TABLE::ROWCOUNT_1: intermediate def-variable PreparedStatement stmtC_PARAMETER_TABLE_DETAIL; // Predeclare statement to reuse ResultSet rsC_PARAMETER_TABLE_DETAIL; // Predeclare statement to reuse RSBigInt vC_PARAMETER_TABLE_DETAIL__ISOPEN = RSBigInt("0"); // C_PARAMETER_TABLE_DETAIL::ISOPEN_1: intermediate def-variable RSBigInt vC_PARAMETER_TABLE_DETAIL__FOUND = RSBigInt("0"); // C_PARAMETER_TABLE_DETAIL::FOUND_1: intermediate def-variable RSBigInt vC_PARAMETER_TABLE_DETAIL__ROWCOUNT = RSBigInt("0"); // C_PARAMETER_TABLE_DETAIL::ROWCOUNT_1: intermediate def-variable RSInteger vCUR_ROW_ID; // CUR_ROW_ID_1: intermediate def-variable RSString vCUR_ROW_TYPENAME; // CUR_ROW_TYPENAME_1: intermediate def-variable RSString vCUR_ROW_DIRECTION; // CUR_ROW_DIRECTION_1: intermediate def-variable #pragma location " line 3 col 1 (at pos 164)" vV_SCHEMA_NAME = expr::constructor_<RSString>("",0); vV_SCHEMA_NAME.checkLengthLEAndThrow(1000z); #pragma location " line 4 col 1 (at pos 199)" vV_TABLE_NAME = expr::constructor_<RSString>("",0); vV_TABLE_NAME.checkLengthLEAndThrow(1000z); #pragma location " line 5 col 1 (at pos 233)" vV_STRING = expr::constructor_<RSString>("",0); vV_STRING.checkLengthLEAndThrow(32767z); #pragma location " line 6 col 1 (at pos 264)" #pragma location " line 7 col 1 (at pos 346)" // 144699__1 RSString vV_SCHEMA_NAME___3; // V_SCHEMA_NAME_3: intermediate defined variable RSString vV_TABLE_NAME___3; // V_TABLE_NAME_3: intermediate defined variable RSString vV_TABLE_NAME___4; // V_TABLE_NAME_4: intermediate defined variable RSString vV_STRING___3; // V_STRING_3: intermediate defined variable RSString vV_STRING___4; // V_STRING_4: intermediate defined variable RSString vV_STRING___5; // V_STRING_5: intermediate defined variable RSString vV_STRING___6; // V_STRING_6: intermediate defined variable RSString vV_STRING___7; // V_STRING_7: intermediate defined variable RSString vV_STRING___8; // V_STRING_8: intermediate defined variable RSString vV_STRING___9; // V_STRING_9: intermediate defined variable RSString vV_STRING___10; // V_STRING_10: intermediate defined variable RSString vV_STRING___11; // V_STRING_11: intermediate defined variable RSBigInt vC_PARAMETER_TABLE__ISOPEN___3 = RSBigInt("0"); // C_PARAMETER_TABLE::ISOPEN_3: intermediate defined variable RSBigInt vC_PARAMETER_TABLE__FOUND___3 = RSBigInt("0"); // C_PARAMETER_TABLE::FOUND_3: intermediate defined variable RSBigInt vC_PARAMETER_TABLE__ROWCOUNT___3 = RSBigInt("0"); // C_PARAMETER_TABLE::ROWCOUNT_3: intermediate defined variable RSInteger vCUR_ROW_ID___3; // CUR_ROW_ID_3: intermediate defined variable RSString vCUR_ROW_TYPENAME___3; // CUR_ROW_TYPENAME_3: intermediate defined variable RSString vCUR_ROW_DIRECTION___3; // CUR_ROW_DIRECTION_3: intermediate defined variable #pragma location " line 13 col 1 (at pos 641)" { #pragma location " line 13 col 1 (at pos 641)" TemporaryTableHandle ctabC_PARAMETER_TABLEDATA = TemporaryTableHandle(vDATA); // TempTableHandle for Cursor stmtC_PARAMETER_TABLE = conn.prepareStatement(String(" SELECT \"ID\", \"TYPENAME\", \"DIRECTION\" FROM ").append(tabDATA.getFullyQualifedName(), " ORDER BY \"ID\" ASC "), "static", "SYSTEM"); rsC_PARAMETER_TABLE = stmtC_PARAMETER_TABLE.executeQuery(); vC_PARAMETER_TABLE__ISOPEN = expr::typecast_<RSBigInt>(1); vC_PARAMETER_TABLE__ROWCOUNT = expr::typecast_<RSBigInt>(0); while (rsC_PARAMETER_TABLE.next()) { { RSInteger tvCUR_ROW_ID = rsC_PARAMETER_TABLE.getRSInteger(1z); vCUR_ROW_ID = tvCUR_ROW_ID; } { RSString tvCUR_ROW_TYPENAME = rsC_PARAMETER_TABLE.getRSString(2z); tvCUR_ROW_TYPENAME.checkLengthLEAndThrow(1000z); vCUR_ROW_TYPENAME.copy(tvCUR_ROW_TYPENAME, env); } { RSString tvCUR_ROW_DIRECTION = rsC_PARAMETER_TABLE.getRSString(3z); tvCUR_ROW_DIRECTION.checkLengthLEAndThrow(100z); vCUR_ROW_DIRECTION.copy(tvCUR_ROW_DIRECTION, env); } #pragma location " line 14 col 2 (at pos 678)" { RSString tV_SCHEMA_NAME = expr::substr_before_<RSString>(env,vCUR_ROW_TYPENAME,expr::constructor_<RSString>(".",1)); tV_SCHEMA_NAME.checkLengthLEAndThrow(1000z); vV_SCHEMA_NAME = tV_SCHEMA_NAME; } // 144699__2 #pragma location " line 15 col 5 (at pos 737)" if (expr::ne_<RSBoolean>(vV_SCHEMA_NAME,expr::constructor_<RSString>("",0)).isTrue()) { // 144699__3 #pragma location " line 16 col 3 (at pos 765)" { RSString tV_TABLE_NAME = expr::substr_after_<RSString>(env,vCUR_ROW_TYPENAME,expr::constructor_<RSString>(".",1)); tV_TABLE_NAME.checkLengthLEAndThrow(1000z); vV_TABLE_NAME = tV_TABLE_NAME; } } else { // 144699__4 #pragma location " line 18 col 3 (at pos 826)" { RSString tV_TABLE_NAME = vCUR_ROW_TYPENAME; tV_TABLE_NAME.checkLengthLEAndThrow(1000z); vV_TABLE_NAME = tV_TABLE_NAME; } } #pragma location " line 20 col 2 (at pos 870)" { RSString tV_STRING___3 = expr::concat_<RSString>(env,vV_STRING,expr::constructor_<RSString>("\"",1)); tV_STRING___3.checkLengthLEAndThrow(32767z); vV_STRING___3 = tV_STRING___3; } #pragma location " line 21 col 2 (at pos 901)" { RSString tV_STRING___4 = expr::concat_<RSString>(env,vV_STRING___3,vCUR_ROW_DIRECTION); tV_STRING___4.checkLengthLEAndThrow(32767z); vV_STRING___4 = tV_STRING___4; } #pragma location " line 22 col 2 (at pos 946)" { RSString tV_STRING___5 = expr::concat_<RSString>(env,vV_STRING___4,expr::constructor_<RSString>("\"",1)); tV_STRING___5.checkLengthLEAndThrow(32767z); vV_STRING___5 = tV_STRING___5; } #pragma location " line 24 col 5 (at pos 981)" { RSString tV_STRING___6 = expr::concat_<RSString>(env,vV_STRING___5,expr::constructor_<RSString>("\"",1)); tV_STRING___6.checkLengthLEAndThrow(32767z); vV_STRING___6 = tV_STRING___6; } #pragma location " line 25 col 2 (at pos 1012)" { RSString tV_STRING___7 = expr::concat_<RSString>(env,vV_STRING___6,vV_SCHEMA_NAME); tV_STRING___7.checkLengthLEAndThrow(32767z); vV_STRING___7 = tV_STRING___7; } #pragma location " line 26 col 2 (at pos 1053)" { RSString tV_STRING___8 = expr::concat_<RSString>(env,vV_STRING___7,expr::constructor_<RSString>("\"",1)); tV_STRING___8.checkLengthLEAndThrow(32767z); vV_STRING___8 = tV_STRING___8; } #pragma location " line 28 col 5 (at pos 1088)" { RSString tV_STRING___9 = expr::concat_<RSString>(env,vV_STRING___8,expr::constructor_<RSString>("\"",1)); tV_STRING___9.checkLengthLEAndThrow(32767z); vV_STRING___9 = tV_STRING___9; } #pragma location " line 29 col 2 (at pos 1119)" { RSString tV_STRING___10 = expr::concat_<RSString>(env,vV_STRING___9,vV_TABLE_NAME); tV_STRING___10.checkLengthLEAndThrow(32767z); vV_STRING___10 = tV_STRING___10; } #pragma location " line 30 col 2 (at pos 1159)" { RSString tV_STRING = expr::concat_<RSString>(env,vV_STRING___10,expr::constructor_<RSString>("\"",1)); tV_STRING.checkLengthLEAndThrow(32767z); vV_STRING = tV_STRING; } } } #pragma location " line 32 col 1 (at pos 1198)" { CallableStatement stmt0 = conn.prepareCall(String("{ call \"SYSTEM\".\"AFLPM_CREATOR\" (?, ?, ?, ?) }"), "static", "SYSTEM"); stmt0.setRSString(1z, vAREA); stmt0.setRSString(2z, vAFL); stmt0.setRSString(3z, vPROC); stmt0.setRSString(4z, vV_STRING); stmt0.execute(); } } """) pop.setNameOfMainFunction('main') pop.addParameter('PROC','PAL_SV',0,83, 5000, 0) pop.addParameter('AREA','AFLPAL',0,83, 5000, 0) pop.addParameter('AFL','SVMTRAIN',0,83, 5000, 0) pop.addInputNodeMapping('DATA','DATA') pop.setNameOfContext('sp') pop.setSchema('SYSTEM') pop.setExecuteUser('SYSTEM') pop.setScenarioName('SYSTEM:_SYS_SS_CE_144699_TMP') pop.setCacheKey('"SYSTEM"."_SYS_SS_CE_144699_TMP".52E15BFE7080595BE10000000AA00064') pop.setOriginalNodeName('$$DUMMY$$') [5226]{407708}[189/-1] 2014-01-27 12:04:06.020590 e cePlanExec cePlanExecutor.cpp(06500) : Error during Plan execution of model SYSTEM:_SYS_SS_CE_144699_INS (-1), reason: SYSTEM.AFL_WRAPPER_GENERATOR: line 32 col 1 (at pos 1198): [423] (range 3) AFL error exception: AFL error: registration finished with errors, see indexserver trace