From d0d8b5f5a43c19df4f447259476861bd91d00704 Mon Sep 17 00:00:00 2001 From: Alex Zaw Date: Wed, 25 Feb 2026 23:07:11 +0000 Subject: [PATCH] Update Function ES_V2_GET_EMPLOYEE_NUMBER --- .../Functions/ES_V2_GET_EMPLOYEE_NUMBER.sql | 74 ++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/SAILPOINT/Functions/ES_V2_GET_EMPLOYEE_NUMBER.sql b/SAILPOINT/Functions/ES_V2_GET_EMPLOYEE_NUMBER.sql index 7726329..c4d741f 100644 --- a/SAILPOINT/Functions/ES_V2_GET_EMPLOYEE_NUMBER.sql +++ b/SAILPOINT/Functions/ES_V2_GET_EMPLOYEE_NUMBER.sql @@ -1 +1,73 @@ -@@\@^@ % %@@@@Kmmmm@M@ %@M]@]@ %@M]@@@ %@@ %@Km@ %@@ %@@@ %@@@@ %@@ %@@@@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@Mk@k@]@k@ %@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@\@@@ %@ %@@@@@K@m@M@ %@@M@@]@k@@@M@@]@k@@@M@@]@k@@@M@@]@]@ %@@^@ %@@@@K@@k@@M@}}@OO@ %@@K@@ %@}}@@}}@ %@@M@@K@@k@@]@ %@]@@@ %@@M@ %@m@M@]@@M@ %]@@@k@@ %@m@M@ %@K@mmmmm@M@]@k@ %}[K\}@ %@M@ %@@M@@]@@@@}[KɄ}@ %]@ %]@ %]@@ %@ %@ %@@@@@ %@ %@^@ %@@K@m@~@ %}@@Km@}@OO@}⅓@}}}@OO@ %@OO@}}}k@}}}@OO@@OO@}}}k@ŧ䢅k@ŧ@}@ %OO@}@}@OO@@OO@}K@@ŧ䢅@~@}}}@ %OO@@M@@]@OO@}}}}@^@ %@@@K@m@^@ %@^@ %@@^@ %@M@ %@m@M@ %}}@z@ %m@M@ %m@M@ %}Ʉ}@@@k@}Ŕ}@@@M@@]@ %]@@@ %]@k@ %}}@z@m@M@]@ %]@ %@@K@m@]@^@ %@@^@ % %@@k@@@@ %@@@Km@ %@@@@@^@ % %@@@@ %@@@Km@ %@@^@ % % \ No newline at end of file +SET PATH *LIBL ; + +CREATE OR REPLACE FUNCTION SAILPOINT.ES_V2_GET_EMPLOYEE_NUMBER ( + USERNAME CHAR(10) ) + RETURNS CLOB(2147483647) + LANGUAGE SQL + SPECIFIC SAILPOINT.V2_ESMEMPNO + NOT DETERMINISTIC + MODIFIES SQL DATA + CALLED ON NULL INPUT + NOT FENCED + SET OPTION ALWBLK = *ALLREAD , + ALWCPYDTA = *OPTIMIZE , + COMMIT = *NONE , + DECRESULT = (31, 31, 00) , + DLYPRP = *NO , + DYNDFTCOL = *NO , + DYNUSRPRF = *USER , + SRTSEQ = *HEX + BEGIN +DECLARE GLOBAL TEMPORARY TABLE SESSION . EMPNO_LIST ( +ENVID CHAR ( 2 ) , LIB CHAR ( 10 ) , EXUSER CHAR ( 10 ) , EMPNO CHAR ( 8 ) ) +WITH REPLACE ; +FOR SELECT DISTINCT A . ENVID , TRIM ( 'CESLIB' || +CASE A . ENVID +WHEN 'MM' THEN '' +ELSE RIGHT ( A . ENVID , 1 ) +END ) AS CESLIB +FROM TABLE ( +SELECT ROW_NUMBER ( ) OVER ( +) AS RN , ENVID +FROM JSON_TABLE ( +SAILPOINT . ES_V2_GET_ALL_MAPICS_ENVIRONMENTS ( ) , +'$.data[*]' +COLUMNS ( +ENVID VARCHAR ( 2 ) CCSID 37 PATH '$.envId' +) +) +) A +DO +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN +END ; +SET CISTOOLS . SQL_STATEMENT = +'INSERT INTO SESSION.EMPNO_LIST ' || 'Select ''' || +ENVID || ''', ''' || CESLIB || ''', ExUser, Ext08A ' +|| 'FROM ' || CESLIB || '.ESUEXP WHERE ExUser = ''' +|| TRIM ( USERNAME ) || '''' ; +EXECUTE IMMEDIATE CISTOOLS . SQL_STATEMENT ; +END ; +END FOR ; +RETURN ( +SELECT JSON_OBJECT ( +'data' : +JSON_ARRAYAGG ( +JSON_OBJECT ( +'envId' VALUE ENVID , 'userEmpno' VALUE TRIM ( EMPNO ) +) FORMAT JSON +) , +'errors' : JSON_ARRAY ( ) +) +FROM SESSION . EMPNO_LIST ) ; +END ; + +GRANT ALTER , EXECUTE +ON SPECIFIC FUNCTION SAILPOINT.V2_ESMEMPNO +TO AMAPICS WITH GRANT OPTION ; + +GRANT EXECUTE +ON SPECIFIC FUNCTION SAILPOINT.V2_ESMEMPNO +TO PUBLIC ; +