From e08bc98b5f49f409e7984b7decb816764c0c82ef Mon Sep 17 00:00:00 2001 From: Alex Zaw Date: Wed, 25 Feb 2026 23:05:49 +0000 Subject: [PATCH] Update Function GET_PARAM_PLACEHOLDERS --- RESTAPI/Functions/GET_PARAM_PLACEHOLDERS.sql | 56 +++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/RESTAPI/Functions/GET_PARAM_PLACEHOLDERS.sql b/RESTAPI/Functions/GET_PARAM_PLACEHOLDERS.sql index c943132..9c399b9 100644 --- a/RESTAPI/Functions/GET_PARAM_PLACEHOLDERS.sql +++ b/RESTAPI/Functions/GET_PARAM_PLACEHOLDERS.sql @@ -1 +1,55 @@ -âÅã@×ÁãÈ@\ÓÉÂÓ@^@ % %ÃÙÅÁãÅ@ÖÙ@ÙÅ×ÓÁÃÅ@ÆäÕÃãÉÖÕ@ÙÅâãÁ×ÉKÇÅãm×ÁÙÁÔm×ÓÁÃÅÈÖÓÄÅÙâ@M@ %ÉÕÁ××åÅÙ@åÁÙÃÈÁÙMñð]@ÄÅÆÁäÓã@@ÕäÓÓ@@k@ %ÉÕÁ××ÕÁÔÅ@åÁÙÃÈÁÙMñòø]@ÄÅÆÁäÓã@@ÕäÓÓ@@k@ %ÉÕÁ×ׯäÕÃ@åÁÙÃÈÁÙMñòø]@ÄÅÆÁäÓã@@ÕäÓÓ@@]@ %ÙÅãäÙÕâ@ãÁÂÓÅ@M@ %Á××åÅÙ@åÁÙÃÈÁÙMñð]@k@ %Á××ÕÁÔÅ@åÁÙÃÈÁÙMñòø]@k@ %Á×ׯäÕÃ@åÁÙÃÈÁÙMñòø]@k@ %Á×××ÁÙÁÔ@åÁÙÃÈÁÙMñòø]@k@ %×ÁÙÁÔ×Öâ@ÉÕãÅÇÅÙ@]@@@ %ÓÁÕÇäÁÇÅ@âØÓ@ %â×ÅÃÉÆÉÃ@ÙÅâãÁ×ÉKÇÅãm×ÁÙÁÔm×ÓÁÃÅÈÖÓÄÅÙâ@ %ÕÖã@ÄÅãÅÙÔÉÕÉâãÉÃ@ %ÙÅÁÄâ@âØÓ@ÄÁãÁ@ %ÃÁÓÓÅÄ@ÖÕ@ÕäÓÓ@ÉÕ×äã@ %âÅã@Ö×ãÉÖÕ@@ÁÓæÂÓÒ@~@\ÁÓÓÙÅÁÄ@k@ %ÁÓæÃ×èÄãÁ@~@\Ö×ãÉÔÉéÅ@k@ %ÃÖÔÔÉã@~@\ÕÖÕÅ@k@ %ÄÅÃÙÅâäÓã@~@Móñk@óñk@ðð]@k@ %ÄèÕÄÆãÃÖÓ@~@\ÕÖ@k@ %ÄèÕäâÙ×ÙÆ@~@\äâÅÙ@k@ %âÙãâÅØ@~@\ÈÅç@@@ %ÂÅÇÉÕ@ %ÙÅãäÙÕ@ %âÅÓÅÃã@â@K@\@k@ÙÖæmÕäÔÂÅÙ@M@]@ÖåÅÙ@M@ %×ÁÙãÉãÉÖÕ@Âè@â@K@Á××åÅÙ@k@â@K@Á××ÕÁÔÅ@k@â@K@Á×ׯäÕÃ@ %]@ %ÆÙÖÔ@ãÁÂÓÅ@M@ %âÅÓÅÃã@ÄÉâãÉÕÃã@â@K@Á××åÅÙ@k@â@K@Á××ÕÁÔÅ@k@â@K@Á×ׯäÕÃ@k@ %ÙÅÇÅç×mâäÂâãÙ@M@ %â@K@âØÓâãÔã@k@}àÀàÀMº°Ð»N]àÐàÐ}@k@ñ@k@ %ç@K@ÖÙÄÉÕÁÓm×ÖâÉãÉÖÕ@k@}}@k@ñ@]@Áâ@Á×××ÁÙÁÔ@ %ÆÙÖÔ@ÙÅâãÁ×É@K@âØÓâãÔãâ@Áâ@â@k@ãÁÂÓÅ@M@ %âèâãÖÖÓâ@K@â×ÓÉã@M@â@K@âØÓâãÔã@k@}Ð}@]@ %]@Áâ@ç@ %æÈÅÙÅ@ÙÅÇÅç×mâäÂâãÙ@M@ %â@K@âØÓâãÔã@k@}àÀàÀMº°Ð»N]àÐàÐ}@k@ñ@k@ %ç@K@ÖÙÄÉÕÁÓm×ÖâÉãÉÖÕ@k@}}@k@ñ@]@Éâ@ÕÖã@ÕäÓÓ@ %ÁÕÄ@M@â@K@Á××åÅÙ@k@â@K@Á××ÕÁÔÅ@k@â@K@Á×ׯäÕÃ@]@~@M@ÃÖÁÓÅâÃÅ@M@ %ÉÕÁ××åÅÙ@k@â@K@Á××åÅÙ@]@k@ %ÃÖÁÓÅâÃÅ@M@ÉÕÁ××ÕÁÔÅ@k@â@K@Á××ÕÁÔÅ@]@k@ÃÖÁÓÅâÃÅ@M@ %ÉÕÁ×ׯäÕÃ@k@â@K@Á×ׯäÕÃ@]@]@ %]@â@^@ %ÅÕÄ@@^@ % %ÇÙÁÕã@ÁÓãÅÙ@k@ÅçÅÃäãÅ@@@ %ÖÕ@â×ÅÃÉÆÉÃ@ÆäÕÃãÉÖÕ@ÙÅâãÁ×ÉKÇÅãm×ÁÙÁÔm×ÓÁÃÅÈÖÓÄÅÙâ@ %ãÖ@ÁÔÁ×ÉÃâ@æÉãÈ@ÇÙÁÕã@Ö×ãÉÖÕ@^@ % %ÇÙÁÕã@ÅçÅÃäãÅ@@@ %ÖÕ@â×ÅÃÉÆÉÃ@ÆäÕÃãÉÖÕ@ÙÅâãÁ×ÉKÇÅãm×ÁÙÁÔm×ÓÁÃÅÈÖÓÄÅÙâ@ %ãÖ@×äÂÓÉÃ@^@ % % \ No newline at end of file +SET PATH *LIBL ; + +CREATE OR REPLACE FUNCTION RESTAPI.GET_PARAM_PLACEHOLDERS ( + INAPPVER VARCHAR(10) DEFAULT NULL , + INAPPNAME VARCHAR(128) DEFAULT NULL , + INAPPFUNC VARCHAR(128) DEFAULT NULL ) + RETURNS TABLE ( + APPVER VARCHAR(10) , + APPNAME VARCHAR(128) , + APPFUNC VARCHAR(128) , + APPPARAM VARCHAR(128) , + PARAMPOS INTEGER ) + LANGUAGE SQL + SPECIFIC RESTAPI.GET_PARAM_PLACEHOLDERS + NOT DETERMINISTIC + READS SQL DATA + CALLED ON NULL INPUT + SET OPTION ALWBLK = *ALLREAD , + ALWCPYDTA = *OPTIMIZE , + COMMIT = *NONE , + DECRESULT = (31, 31, 00) , + DYNDFTCOL = *NO , + DYNUSRPRF = *USER , + SRTSEQ = *HEX + BEGIN +RETURN +SELECT S . * , ROW_NUMBER ( ) OVER ( +PARTITION BY S . APPVER , S . APPNAME , S . APPFUNC +) +FROM TABLE ( +SELECT DISTINCT S . APPVER , S . APPNAME , S . APPFUNC , +REGEXP_SUBSTR ( +S . SQLSTMT , '\{\{([^}]+)\}\}' , 1 , +X . ORDINAL_POSITION , '' , 1 ) AS APPPARAM +FROM RESTAPI . SQLSTMTS AS S , TABLE ( +SYSTOOLS . SPLIT ( S . SQLSTMT , '}' ) +) AS X +WHERE REGEXP_SUBSTR ( +S . SQLSTMT , '\{\{([^}]+)\}\}' , 1 , +X . ORDINAL_POSITION , '' , 1 ) IS NOT NULL +AND ( S . APPVER , S . APPNAME , S . APPFUNC ) = ( COALESCE ( +INAPPVER , S . APPVER ) , +COALESCE ( INAPPNAME , S . APPNAME ) , COALESCE ( +INAPPFUNC , S . APPFUNC ) ) +) S ; +END ; + +GRANT ALTER , EXECUTE +ON SPECIFIC FUNCTION RESTAPI.GET_PARAM_PLACEHOLDERS +TO AMAPICS WITH GRANT OPTION ; + +GRANT EXECUTE +ON SPECIFIC FUNCTION RESTAPI.GET_PARAM_PLACEHOLDERS +TO PUBLIC ; +