Update Function GET_FILE_DEPENDENCIES
This commit is contained in:
@@ -1 +1,67 @@
|
|||||||
牄禗袬蒨@\蚕謨@^@
|
SET PATH *LIBL ;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION CISTOOLS.GET_FILE_DEPENDENCIES (
|
||||||
|
"FILE" VARCHAR(10) ,
|
||||||
|
LIBRARY VARCHAR(10) )
|
||||||
|
RETURNS TABLE (
|
||||||
|
DOTTED_LEVEL VARCHAR(32000) ,
|
||||||
|
LEVEL INTEGER ,
|
||||||
|
"FILE" VARCHAR(10) ,
|
||||||
|
LIBRARY VARCHAR(10) )
|
||||||
|
LANGUAGE SQL
|
||||||
|
SPECIFIC CISTOOLS.GET_FILE_DEPENDENCIES
|
||||||
|
DETERMINISTIC
|
||||||
|
READS SQL DATA
|
||||||
|
RETURNS NULL ON NULL INPUT
|
||||||
|
NO EXTERNAL ACTION
|
||||||
|
SET OPTION ALWBLK = *ALLREAD ,
|
||||||
|
ALWCPYDTA = *OPTIMIZE ,
|
||||||
|
COMMIT = *CHG ,
|
||||||
|
DBGVIEW = *SOURCE ,
|
||||||
|
DECRESULT = (31, 31, 00) ,
|
||||||
|
DYNDFTCOL = *NO ,
|
||||||
|
DYNUSRPRF = *USER ,
|
||||||
|
SRTSEQ = *HEX
|
||||||
|
BEGIN ATOMIC
|
||||||
|
RETURN
|
||||||
|
WITH BASE AS (
|
||||||
|
SELECT DBFFIL , DBFLIB , DBFFDP , DBFLDP , DBFTDP
|
||||||
|
FROM QADBFDEP
|
||||||
|
GROUP BY DBFFIL , DBFLIB , DBFFDP , DBFLDP , DBFTDP
|
||||||
|
) ,
|
||||||
|
DEPENDENTS ( CALLLEVEL , DBFFIL , DBFLIB , DBFFDP , DBFLDP ) AS (
|
||||||
|
SELECT 1 AS CALLLEVEL , DBFFIL , DBFLIB , DBFFDP , DBFLDP
|
||||||
|
FROM BASE
|
||||||
|
WHERE DBFFIL = FILE
|
||||||
|
AND DBFLIB = LIBRARY
|
||||||
|
UNION ALL
|
||||||
|
SELECT CALLLEVEL + 1 AS CALLLEVEL , B . DBFFIL , B . DBFLIB ,
|
||||||
|
B . DBFFDP , B . DBFLDP
|
||||||
|
FROM DEPENDENTS A
|
||||||
|
JOIN BASE B
|
||||||
|
ON ( A . DBFFDP , A . DBFLDP ) = ( B . DBFFIL , B . DBFLIB )
|
||||||
|
) ,
|
||||||
|
DEPENDENCIES AS (
|
||||||
|
SELECT REPEAT ( '. . ' , CALLLEVEL ) , CALLLEVEL , DBFFDP , DBFLDP
|
||||||
|
FROM DEPENDENTS
|
||||||
|
GROUP BY CALLLEVEL , DBFFDP , DBFLDP
|
||||||
|
) SELECT *
|
||||||
|
FROM DEPENDENCIES
|
||||||
|
ORDER BY CALLLEVEL , DBFFDP ASC ;
|
||||||
|
END ;
|
||||||
|
|
||||||
|
COMMENT ON PARAMETER SPECIFIC FUNCTION CISTOOLS.GET_FILE_DEPENDENCIES
|
||||||
|
( "FILE" IS 'Dependent File' ,
|
||||||
|
LIBRARY IS 'Dependent Library' ) ;
|
||||||
|
|
||||||
|
LABEL ON SPECIFIC FUNCTION CISTOOLS.GET_FILE_DEPENDENCIES
|
||||||
|
IS 'Get File Dependencies' ;
|
||||||
|
|
||||||
|
GRANT ALTER , EXECUTE
|
||||||
|
ON SPECIFIC FUNCTION CISTOOLS.GET_FILE_DEPENDENCIES
|
||||||
|
TO AMAPICS WITH GRANT OPTION ;
|
||||||
|
|
||||||
|
GRANT EXECUTE
|
||||||
|
ON SPECIFIC FUNCTION CISTOOLS.GET_FILE_DEPENDENCIES
|
||||||
|
TO PUBLIC ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user