SELECT * FROM "SYS"."AFL_AREAS" WHERE AREA_NAME = 'AFLPAL';
SELECT * FROM "SYS"."AFL_PACKAGES" WHERE AREA_NAME = 'AFLPAL';
SELECT * FROM "SYS"."AFL_FUNCTIONS" WHERE AREA_NAME = 'AFLPAL';
AFL__SYS_AFL_AFLPAL_EXECUTE
AFL__SYS_AFL_AFLPAL_EXECUTE_WITH_GRANT_OPTION
AFLPM_CREATOR_ERASER_EXECUTE
CREATE COLUMN TABLE "VMARADA"."PAL_AP_DATA_MATID" (
"MANDT" NVARCHAR(3) ,
"MATID" NVARCHAR(8),
"STRENGTH" DOUBLE,
"STIFFNESS" DOUBLE,
"HARDNESS" DOUBLE,
"DUCTILITY" DOUBLE
);"
CREATE COLUMN TABLE "VMARADA".PAL_MATID_AP_SIGNATURE (
"POSITION" INT,
"SCHEMA_NAME" NVARCHAR(256),
"TYPE_NAME" NVARCHAR(256),
"PARAMETER_TYPE" VARCHAR(7)
);
INSERT INTO "VMARADA".PAL_MATID_AP_SIGNATURE VALUES (1,'VMARADA','AP_MATID_SOURCE_TYPE', 'IN');
INSERT INTO "VMARADA".PAL_MATID_AP_SIGNATURE VALUES (2,'VMARADA','AP_MATID_SEED_TYPE', 'IN');
INSERT INTO "VMARADA".PAL_MATID_AP_SIGNATURE VALUES (3,'VMARADA','PAL_CONTROL_T', 'IN');
INSERT INTO "VMARADA".PAL_MATID_AP_SIGNATURE VALUES (4,'VMARADA','AP_MATID_RESULT_TYPE', 'OUT');
CREATE TYPE "VMARADA".AP_MATID_SOURCE_TYPE AS TABLE (
ID INTEGER,
STRENGTH DOUBLE,
STIFFNESS DOUBLE ,
HARDNESS DOUBLE,
DUCTILITY DOUBLE
);
CREATE TYPE "VMARADA".AP_MATID_SEED_TYPE AS TABLE (
ID INTEGER,
SEED INTEGER
);
CREATE TYPE "VMARADA".AP_MATID_RESULT_TYPE AS TABLE(
ID INTEGER,
RESULT INTEGER
);
CREATE TYPE "VMARADA".PAL_CONTROL_T AS TABLE(
NAME VARCHAR(50),
INTARGS INTEGER,
DOUBLEARGS DOUBLE,
STRINGARGS VARCHAR(100)
);
CALL SYS.AFLLANG_WRAPPER_PROCEDURE_CREATE('AFLPAL', 'AP', 'VMARADA', 'PAL_AP_MATID',
"VMARADA".PAL_MATID_AP_SIGNATURE);
/********* Begin Procedure Script ************/
BEGIN
DECLARE vc "VMARADA".PAL_CONTROL_T ;
DECLARE vs "VMARADA".AP_MATID_SOURCE_TYPE ;
DECLARE vseed "VMARADA".AP_MATID_SEED_TYPE ;
DECLARE vr "VMARADA".AP_MATID_RESULT_TYPE ;
/* COntrol table */
vc = SELECT 'THREAD_NUMBER' AS NAME,
2 AS INTARGS ,
null AS DOUBLEARGS ,
null AS STRINGARGS
FROM DUMMY
UNION ALL
SELECT 'MAX_ITERATION' AS NAME,
500 AS INTARGS ,
null AS DOUBLEARGS ,
null AS STRINGARGS
FROM DUMMY
UNION ALL
SELECT 'CON_ITERATION' AS NAME,
100 AS INTARGS ,
null AS DOUBLEARGS ,
null AS STRINGARGS
FROM DUMMY
UNION ALL
SELECT 'DAMP' AS NAME,
null AS INTARGS ,
0.9 AS DOUBLEARGS ,
null AS STRINGARGS
FROM DUMMY
UNION ALL
SELECT 'PREFERENCE' AS NAME,
null AS INTARGS ,
0.5 AS DOUBLEARGS ,
null AS STRINGARGS
FROM DUMMY
UNION ALL
SELECT 'DISTANCE_METHOD' AS NAME,
2 AS INTARGS ,
null AS DOUBLEARGS ,
null AS STRINGARGS
FROM DUMMY
UNION ALL
SELECT 'CLUSTER_NUMBER' AS NAME,
0 AS INTARGS ,
null AS DOUBLEARGS ,
null AS STRINGARGS
FROM DUMMY;
/* Source Table */
vs0 = SELECT
ROW_NUMBER() over ( order by MATID ) as ID,
MANDT ,
MATID ,
STRENGTH ,
STIFFNESS ,
HARDNESS ,
DUCTILITY
FROM "VMARADA"."PAL_AP_DATA_MATID" ;
vs = SELECT ID ,
STRENGTH ,
STIFFNESS ,
HARDNESS ,
DUCTILITY
FROM :vs0 ;
/* Seed table */
vseed = SELECT 0 as ID ,
0 as SEED
FROM DUMMY ;
vseed = SELECT * FROM :vseed where ID > 0 ;
/* PAL Procedure call */
CALL "VMARADA"."PAL_AP_MATID"(:vs, :vseed, :vc,:vr) ;
var_out = SELECT a.MANDT ,
a.MATID ,
b.RESULT + 1 as CLUSTER ,
a.STRENGTH ,
a.STIFFNESS ,
a.HARDNESS ,
a.DUCTILITY
FROM
:vs0 a
inner join
:vr b on
a.ID = b.ID ;
var_out = SELECT * FROM :var_out order by to_integer(CLUSTER) asc ;
END /********* End Procedure Script ************/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
8 | |
5 | |
5 | |
4 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |