cancel
Showing results for 
Search instead for 
Did you mean: 

Error While creating AFL procedure (Predictive Analytics)

Former Member
0 Kudos

Hello.. I am new to SAP AFL and PAL. I am trying to follow the reference guide from SAP but facing the below error.

Background details:

My SCHEMA name = VGUPTA

I am able to generate AFL procedure successfully for Affinity Propagation by using the sql statements given in reference guide.

SET SCHEMA VGUPTA;

DROP TYPE PAL_AP_DATA_T;

CREATE TYPE PAL_AP_DATA_T AS TABLE ( ID INTEGER, ATTRIB1 DOUBLE, ATTRIB2 DOUBLE );

DROP TYPE PAL_AP_SEED_T;

CREATE TYPE PAL_AP_SEED_T AS TABLE ( ID INTEGER, SEED INTEGER );

DROP TYPE PAL_CONTROL_T;

CREATE TYPE PAL_CONTROL_T AS TABLE( NAME VARCHAR(50), INTARGS INTEGER, DOUBLEARGS DOUBLE, STRINGARGS VARCHAR(100) );

DROP TYPE PAL_AP_RESULTS_T;

CREATE TYPE PAL_AP_RESULTS_T AS TABLE( ID INTEGER, RESULT INTEGER );


DROP TABLE PAL_AP_PDATA_TBL;

CREATE COLUMN TABLE PAL_AP_PDATA_TBL ( "POSITION" INT, "SCHEMA_NAME" NVARCHAR(256), "TYPE_NAME" NVARCHAR(256), "PARAMETER_TYPE" VARCHAR(7) );


INSERT INTO PAL_AP_PDATA_TBL VALUES (1,'DM_PAL','PAL_AP_DATA_T', 'IN');

INSERT INTO PAL_AP_PDATA_TBL VALUES (2,'DM_PAL','PAL_AP_SEED_T', 'IN');

INSERT INTO PAL_AP_PDATA_TBL VALUES (3,'DM_PAL','PAL_CONTROL_T', 'IN');

INSERT INTO PAL_AP_PDATA_TBL VALUES (4,'DM_PAL','PAL_AP_RESULTS_T', 'OUT');


CALL SYS.AFLLANG_WRAPPER_PROCEDURE_DROP('VGUPTA','PAL_AP');

CALL SYS.AFLLANG_WRAPPER_PROCEDURE_CREATE('AFLPAL', 'AP', 'VGUPTA', 'PAL_AP', PAL_AP_PDATA_TBL);


However when I am trying to generate procedure for single smooth time series forecasting i am getting below error


SQL

------------

DROP TYPE PAL_SINGLESMOOTH_DATA_T;

CREATE TYPE PAL_SINGLESMOOTH_DATA_T AS TABLE("ID" INT, "RAWDATA" DOUBLE);

DROP TYPE PAL_CONTROL_T;

CREATE TYPE PAL_CONTROL_T AS TABLE ("NAME" VARCHAR(100), "INTARGS" INT,

"DOUBLEARGS" DOUBLE, "STRINGARGS" VARCHAR(100));

DROP TYPE PAL_SINGLESMOOTH_RESULT_T;

CREATE TYPE PAL_SINGLESMOOTH_RESULT_T AS TABLE ("TIME" INT, "OUTPUT" DOUBLE,

"LOWER1" DOUBLE, "UPPER1" DOUBLE, "LOWER2" DOUBLE, "UPPER2" DOUBLE);

DROP TYPE PAL_SINGLESMOOTH_STATISTICS_T;

CREATE TYPE PAL_SINGLESMOOTH_STATISTICS_T AS TABLE ("NAME" VARCHAR (50), "VALUE"

DOUBLE);

DROP TABLE PAL_SINGLESMOOTH_PDATA_TBL;

CREATE COLUMN TABLE PAL_SINGLESMOOTH_PDATA_TBL("POSITION" INT, "SCHEMA_NAME"

NVARCHAR(256), "TYPE_NAME" NVARCHAR(256), "PARAMETER_TYPE" VARCHAR(7));

INSERT INTO PAL_SINGLESMOOTH_PDATA_TBL VALUES (1,'VGUPTA','PAL_SINGLESMOOTH_DATA_T','IN');

INSERT INTO PAL_SINGLESMOOTH_PDATA_TBL VALUES(2,'VGUPTA', 'PAL_CONTROL_T','IN');

INSERT INTO PAL_SINGLESMOOTH_PDATA_TBL VALUES(3,'VGUPTA','PAL_SINGLESMOOTH_RESULT_T','OUT');

INSERT INTO PAL_SINGLESMOOTH_PDATA_TBL VALUES(4,'VGUPTA','PAL_SINGLESMOOTH_STATISTICS_T','OUT');

CALL SYS.AFLLANG_WRAPPER_PROCEDURE_DROP('DM_PAL', 'SINGLESMOOTH_TEST_PROC');

CALL SYS.AFLLANG_WRAPPER_PROCEDURE_CREATE('AFLPAL', 'SINGLESMOOTH', 'VGUPTA',

'SINGLESMOOTH_TEST_PROC',PAL_SINGLESMOOTH_PDATA_TBL);

ERROR

------------

Could not execute 'CALL SYS.AFLLANG_WRAPPER_PROCEDURE_CREATE('AFLPAL', 'SINGLESMOOTH', 'VGUPTA', ...' in 336 ms 956 µ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 "VGUPTA"."SINGLESMOOTH_TEST_PROC" failed with error 'inconsistent parameter description'.

Any help will be highly appreciated. Thanks.

Accepted Solutions (0)

Answers (1)

Answers (1)

pfefferf
Active Contributor
0 Kudos

Hello Vivek,

I assume you execute the logic on a HANA system lower than SPS12. With SPS12 the Singlesmooth algorithm was enhanced. One point which was changed was the result structure. It was enhanced by additional fields. In systems lower than SPS12 the result structure has only two result columns, in systems >= SPS12 it has 6 columns. And that is the reason for the error message. You defined the result structure like it is only available in systems with >= SPS12.

Please check the documentation for your release. The documentation for earlier releases can be found at Earlier Releases – SAP Help Portal Page.

For instance the example of the SPS11 documentation shows you already the difference for the result table definition:

http://help.sap.com/hana_platform_earlier_releases


DROP TYPE PAL_SINGLESMOOTH_DATA_T;

CREATE TYPE PAL_SINGLESMOOTH_DATA_T AS TABLE("ID" INT, "RAWDATA" DOUBLE);

DROP TYPE PAL_CONTROL_T;

CREATE TYPE PAL_CONTROL_T AS TABLE ("NAME" VARCHAR(100), "INTARGS" INT, "DOUBLEARGS" DOUBLE, "STRINGARGS" VARCHAR(100));

-- result table creation (here is your difference)

DROP TYPE PAL_SINGLESMOOTH_RESULT_T;

CREATE TYPE PAL_SINGLESMOOTH_RESULT_T AS TABLE ("TIME" INT, "OUTPUT" DOUBLE);

DROP TYPE PAL_SINGLESMOOTH_STATISTICS_T;

CREATE TYPE PAL_SINGLESMOOTH_STATISTICS_T AS TABLE ("NAME" VARCHAR (50), "VALUE"

DOUBLE);

DROP TABLE PAL_SINGLESMOOTH_PDATA_TBL;

CREATE COLUMN TABLE PAL_SINGLESMOOTH_PDATA_TBL("POSITION" INT, "SCHEMA_NAME"

NVARCHAR(256), "TYPE_NAME" NVARCHAR(256), "PARAMETER_TYPE" VARCHAR(7));

INSERT INTO PAL_SINGLESMOOTH_PDATA_TBL VALUES (1,'DM_PAL',

'PAL_SINGLESMOOTH_DATA_T','IN');

INSERT INTO PAL_SINGLESMOOTH_PDATA_TBL VALUES(2,'DM_PAL', 'PAL_CONTROL_T','IN');

INSERT INTO PAL_SINGLESMOOTH_PDATA_TBL VALUES(3,'DM_PAL',

'PAL_SINGLESMOOTH_RESULT_T','OUT');

INSERT INTO PAL_SINGLESMOOTH_PDATA_TBL VALUES(4,'DM_PAL',

'PAL_SINGLESMOOTH_STATISTICS_T','OUT');

CALL SYS.AFLLANG_WRAPPER_PROCEDURE_DROP('DM_PAL', 'SINGLESMOOTH_TEST_PROC');

CALL SYS.AFLLANG_WRAPPER_PROCEDURE_CREATE('AFLPAL', 'SINGLESMOOTH', 'DM_PAL',

'SINGLESMOOTH_TEST_PROC',PAL_SINGLESMOOTH_PDATA_TBL);

Regards,

Florian