From 1d4da17b1384d12869101ec24dff69f6112ab05c Mon Sep 17 00:00:00 2001 From: Alex Zaw Date: Wed, 25 Feb 2026 23:06:43 +0000 Subject: [PATCH] Update Function ES_GET_ALL_MAPICS_ENVIRONMENTS --- .../ES_GET_ALL_MAPICS_ENVIRONMENTS.sql | 106 +++++++++++++++++- 1 file changed, 105 insertions(+), 1 deletion(-) diff --git a/SAILPOINT/Functions/ES_GET_ALL_MAPICS_ENVIRONMENTS.sql b/SAILPOINT/Functions/ES_GET_ALL_MAPICS_ENVIRONMENTS.sql index b1d9621..2c9456d 100644 --- a/SAILPOINT/Functions/ES_GET_ALL_MAPICS_ENVIRONMENTS.sql +++ b/SAILPOINT/Functions/ES_GET_ALL_MAPICS_ENVIRONMENTS.sql @@ -1 +1,105 @@ -@@\@^@ % %@@@@Kmmmm@M@]@ %@M]@@@ %@@ %@K@ %@@ %@@@ %@@@@ %@@ %@@@@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@Mk@k@]@k@ %@~@\@k@ %@~@\@k@ %@~@\@@@ %@ %@@@@@ %@ %@m@@M@@]@^@ %@mmm@@^@ %@mmm@@M@@]@^@ %@mm@@M@@]@^@ %``@Á@@@ %@@@@ %mmm@~@mm@k@ %m@~@m@k@ %mm@~@m@k@ %mmm@~@mm@^@ %@ %M@ %@m@M@ %}}@@}}@k@}ɕ}@@m@M@ %}⣁}@@m@k@ %}Ö}@@mmm@k@ %}}@@mmm@k@ %}}@@mm@k@ %}㉔}@@m@ %]@ %]@]@^@ %@^@ %@ %@M@ %m@M@ %}}@z@}}@k@}}@@M@ %@m@M@ %m@M@ %}Ʉ}@@@k@}Ģ}@@@k@ %}ɕ}@@m@ %]@ %]@ %@@M@ %@@k@@k@ %@ %@@n@@@}}@ %@}}@ %@@m@ %@@M@ %@@@k@@k@ %@M@@]@@M@ %@@@k@ %@ %]@@@ %@@M@ %@ %@OO@@ %@@k@ %}}@OO@ %@ %@OO@@ %@ %}}@@}}@ %@@ %@@@k@ %@ %@@K@@ %@@~@}}@ %@@~@}}@ %]@ %@@M@ %@K@m@M@ %@k@}\}@]@ %]@ %@@~@@ %]@ %]@]@@@ %]@k@m@M@ %}}@@}}@k@}ɕ}@@m@M@ %}}@@}}@k@ %}}@@}م@@@@}@k@ %}㉔}@@m@ %]@ %]@]@^@ %@@^@ % %@@k@@@@ %@@@K@ %@@@@@^@ % %@@@@ %@@@K@ %@@^@ % % \ No newline at end of file +SET PATH *LIBL ; + +CREATE OR REPLACE FUNCTION SAILPOINT.ES_GET_ALL_MAPICS_ENVIRONMENTS ( ) + RETURNS CLOB(2147483647) + LANGUAGE SQL + SPECIFIC SAILPOINT.ESALLENVS + NOT DETERMINISTIC + MODIFIES SQL DATA + CALLED ON NULL INPUT + NOT FENCED + SET OPTION ALWBLK = *ALLREAD , + ALWCPYDTA = *OPTIMIZE , + COMMIT = *NONE , + DBGVIEW = *SOURCE , + DECRESULT = (31, 31, 00) , + DYNDFTCOL = *NO , + DYNUSRPRF = *OWNER , + SRTSEQ = *HEX + BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN +DECLARE V_SQLSTATE CHAR ( 5 ) ; +DECLARE V_DB2_RETURN_CODE INT ; +DECLARE V_DB2_MESSAGE_ID CHAR ( 7 ) ; +DECLARE V_ERROR_MESSAGE CLOB ( 2048 ) ; +-- Capture diagnostic info +GET DIAGNOSTICS CONDITION 1 +V_DB2_RETURN_CODE = DB2_RETURNED_SQLCODE , +V_SQLSTATE = RETURNED_SQLSTATE , +V_ERROR_MESSAGE = MESSAGE_TEXT , +V_DB2_MESSAGE_ID = DB2_MESSAGE_ID ; +RETURN +( +VALUES JSON_OBJECT ( +'success' VALUE 'false' , 'SQLInfo' VALUE JSON_OBJECT ( +'SQLState' VALUE V_SQLSTATE , +'SQLCode' VALUE V_DB2_RETURN_CODE , +'messageID' VALUE V_DB2_MESSAGE_ID , +'message' VALUE V_ERROR_MESSAGE , +'currentTimestamp' VALUE CURRENT_TIMESTAMP +) +) ) ; +END ; +RETURN +COALESCE ( +JSON_OBJECT ( +'success' : 'true' , 'data' VALUE ( +SELECT JSON_ARRAYAGG ( +JSON_OBJECT ( +'envId' VALUE ENVID , 'envDsc' VALUE ENDSC , +'esInstalled' VALUE ES_INSTALLED +) +) +FROM TABLE ( +SELECT ENVID , ENDSC , +CASE +WHEN FILECOUNT > 0 THEN 'true' +ELSE 'false' +END AS ES_INSTALLED +FROM TABLE ( +SELECT DISTINCT ENVID , ENDSC , +COUNT ( CESLIB ) OVER ( +PARTITION BY ENVID , +ENDSC +) AS FILECOUNT +FROM TABLE ( +SELECT +LIDES || FIDES +AS ENVID , +'CESLIB' || +CASE +LIDES || FIDES +WHEN +'MM' THEN '' +ELSE FIDES +END AS CESLIB , +ENDSC +FROM QGPL . MMLIST +WHERE RCDCD = 'M3' +AND ACREC = 'A' +) +JOIN TABLE ( +QSYS2 . OBJECT_STATISTICS ( +CESLIB , '*FILE' ) +) +ON 1 = 1 +) +) ) FORMAT JSON +) , JSON_OBJECT ( +'success' VALUE 'false' , 'SQLInfo' VALUE JSON_OBJECT ( +'messageID' VALUE 'SQL02000' , +'message' VALUE 'Requested resouce not found ' , +'currentTimestamp' VALUE CURRENT_TIMESTAMP +) +) ) ; +END ; + +GRANT ALTER , EXECUTE +ON SPECIFIC FUNCTION SAILPOINT.ESALLENVS +TO AMAPICS WITH GRANT OPTION ; + +GRANT EXECUTE +ON SPECIFIC FUNCTION SAILPOINT.ESALLENVS +TO PUBLIC ; +