From 3607c8c2494f89d59f34e97dd544b4177e4e2942 Mon Sep 17 00:00:00 2001 From: Alex Zaw Date: Wed, 25 Feb 2026 23:01:04 +0000 Subject: [PATCH] Update Function GET_FILE_DEPENDENCIES --- CISTOOLS/Functions/GET_FILE_DEPENDENCIES.sql | 68 +++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/CISTOOLS/Functions/GET_FILE_DEPENDENCIES.sql b/CISTOOLS/Functions/GET_FILE_DEPENDENCIES.sql index e330e44..66aa6f1 100644 --- a/CISTOOLS/Functions/GET_FILE_DEPENDENCIES.sql +++ b/CISTOOLS/Functions/GET_FILE_DEPENDENCIES.sql @@ -1 +1,67 @@ -@@\@^@ % %@@@@Kmm@M@ %@M]@k@ %@M]@]@ %@@M@ %m@M]@k@ %@@k@ %@M]@k@ %@M]@]@@@ %@@ %@Kmm@ %@ %@@@ %@@@@@ %@@@ %@@@@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@Mk@k@]@k@ %@~@\@k@ %@~@\@k@ %@~@\@@@ %@@ %@ %@@@M@ %@@k@@k@@k@@k@@ %@@ %@@@k@@k@@k@@k@@ %]@k@ %@M@@k@@k@@k@@k@@]@@M@ %@@@@k@@k@@k@@k@@ %@@ %@@~@@ %@@~@@ %@@ %@@N@@@@k@@K@@k@@K@@k@ %@K@@k@@K@@ %@@@ %@@@ %@M@@K@@k@@K@@]@~@M@@K@@k@@K@@]@ %]@k@ %@@M@ %@@M@}K@K@}@k@@]@k@@k@@k@@ %@@ %@@@k@@k@@ %]@@\@ %@@ %@@@k@@@^@ %@@^@ % %@@@@@Kmm@ %M@@@}ą@Ɖ}@k@ %@@}ą@Ӊ}@]@^@ % %@@@@Kmm@ %@}Dž@Ɖ@ą}@^@ % %@@k@@@@ %@@@Kmm@ %@@@@@^@ % %@@@@ %@@@Kmm@ %@@^@ % % \ No newline at end of file +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 ; +