Update Function FIND_STRING_PDM
This commit is contained in:
@@ -1 +1,118 @@
|
|||||||
牄禗袬蒨@\蚕謨@^@
|
SET PATH *LIBL ;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION CISTOOLS.FIND_STRING_PDM (
|
||||||
|
INSTRING VARCHAR(100) ,
|
||||||
|
INLIB CHAR(10) ,
|
||||||
|
INFILE CHAR(10) DEFAULT NULL ,
|
||||||
|
INMBR CHAR(10) DEFAULT NULL )
|
||||||
|
RETURNS TABLE (
|
||||||
|
SOURCE_LIBRARY VARCHAR(10) ,
|
||||||
|
SOURCE_FILE VARCHAR(10) ,
|
||||||
|
SOURCE_MEMBER VARCHAR(10) ,
|
||||||
|
SOURCE_DESCRIPTION VARCHAR(50) ,
|
||||||
|
SOURCE_TYPE VARCHAR(10) ,
|
||||||
|
SOURCE_SEQUENCE INTEGER ,
|
||||||
|
SOURCE_DATE INTEGER ,
|
||||||
|
SOURCE_DATA VARCHAR(120) ,
|
||||||
|
SOURCE_CREATED DATE ,
|
||||||
|
LAST_CHANGED DATE ,
|
||||||
|
LAST_SAVED DATE )
|
||||||
|
LANGUAGE SQL
|
||||||
|
SPECIFIC CISTOOLS.FNDSTRPDM
|
||||||
|
NOT DETERMINISTIC
|
||||||
|
MODIFIES SQL DATA
|
||||||
|
CALLED ON NULL INPUT
|
||||||
|
CONCURRENT ACCESS RESOLUTION DEFAULT
|
||||||
|
SET OPTION ALWBLK = *ALLREAD ,
|
||||||
|
ALWCPYDTA = *OPTIMIZE ,
|
||||||
|
COMMIT = *CS ,
|
||||||
|
DBGVIEW = *SOURCE ,
|
||||||
|
DECRESULT = (31, 31, 00) ,
|
||||||
|
DYNDFTCOL = *NO ,
|
||||||
|
DYNUSRPRF = *USER ,
|
||||||
|
SQLCURRULE = *STD ,
|
||||||
|
SRTSEQ = *HEX
|
||||||
|
BEGIN
|
||||||
|
DECLARE EOF INT NOT NULL DEFAULT 0 ;
|
||||||
|
DECLARE SRCLIB CHAR ( 10 ) DEFAULT '' ;
|
||||||
|
DECLARE SRCFIL CHAR ( 10 ) DEFAULT ' ' ;
|
||||||
|
DECLARE SRCMBR CHAR ( 10 ) DEFAULT ' ' ;
|
||||||
|
DECLARE SRCDESC VARCHAR ( 50 ) ;
|
||||||
|
DECLARE SRCTYPE VARCHAR ( 10 ) DEFAULT ' ' ;
|
||||||
|
DECLARE SRCCRT TIMESTAMP ;
|
||||||
|
DECLARE SRCCHG TIMESTAMP ;
|
||||||
|
DECLARE SRCSAV TIMESTAMP ;
|
||||||
|
DECLARE SRCDAT INT DEFAULT 0 ;
|
||||||
|
DECLARE SRCDTA CHAR ( 112 ) DEFAULT ' ' ;
|
||||||
|
DECLARE SRCSEQ INT DEFAULT 0 ;
|
||||||
|
DECLARE ALIASCMD VARCHAR ( 200 ) DEFAULT ' ' ;
|
||||||
|
DECLARE SF2 CURSOR FOR
|
||||||
|
SELECT SRCSEQ , SRCDAT , SRCDTA
|
||||||
|
FROM QTEMP . SRCFILE2
|
||||||
|
WHERE REGEXP_LIKE ( CAST ( UPPER ( SRCDTA ) AS VARCHAR ( 112 ) CCSID 37 ) ,
|
||||||
|
UPPER ( INSTRING ) ) ;
|
||||||
|
DECLARE SF CURSOR FOR
|
||||||
|
SELECT SYSTEM_TABLE_SCHEMA , SYSTEM_TABLE_NAME , SYSTEM_TABLE_MEMBER ,
|
||||||
|
CAST ( PARTITION_TEXT AS VARCHAR ( 50 ) CCSID 37 ) , SOURCE_TYPE ,
|
||||||
|
CREATE_TIMESTAMP , LAST_SOURCE_UPDATE_TIMESTAMP ,
|
||||||
|
LAST_SAVE_TIMESTAMP
|
||||||
|
FROM SYSPARTITIONSTAT A
|
||||||
|
WHERE SYSTEM_TABLE_NAME = COALESCE ( INFILE , SYSTEM_TABLE_NAME )
|
||||||
|
AND SYSTEM_TABLE_SCHEMA = INLIB
|
||||||
|
AND LOCATE ( '.' , SYSTEM_TABLE_MEMBER ) = 0
|
||||||
|
AND SYSTEM_TABLE_MEMBER = COALESCE (
|
||||||
|
INMBR , SYSTEM_TABLE_MEMBER )
|
||||||
|
AND REGEXP_LIKE ( UPPER (
|
||||||
|
GET_CLOB_FROM_FILE (
|
||||||
|
( TRIM ( SYSTEM_TABLE_SCHEMA ) || '/' ||
|
||||||
|
TRIM ( SYSTEM_TABLE_NAME ) || '(' ||
|
||||||
|
TRIM ( SYSTEM_TABLE_MEMBER ) || ')' ) ) ) , UPPER (
|
||||||
|
INSTRING ) ) ;
|
||||||
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET EOF = 1 ;
|
||||||
|
OPEN SF ;
|
||||||
|
SF : LOOP
|
||||||
|
FETCH NEXT FROM SF
|
||||||
|
INTO SRCLIB , SRCFIL , SRCMBR , SRCDESC , SRCTYPE , SRCCRT , SRCCHG ,
|
||||||
|
SRCSAV ;
|
||||||
|
IF EOF = 1 THEN
|
||||||
|
LEAVE SF ;
|
||||||
|
END IF ;
|
||||||
|
SET ALIASCMD = 'Create Or Replace Alias Qtemp.SrcFile2 For ' ||
|
||||||
|
SRCLIB || '/' || SRCFIL || '(' || SRCMBR || ')' ;
|
||||||
|
EXECUTE IMMEDIATE ALIASCMD ;
|
||||||
|
OPEN SF2 ;
|
||||||
|
SF2 : LOOP
|
||||||
|
FETCH NEXT FROM SF2
|
||||||
|
INTO SRCSEQ , SRCDAT , SRCDTA ;
|
||||||
|
IF EOF = 1 THEN
|
||||||
|
LEAVE SF2 ;
|
||||||
|
END IF ;
|
||||||
|
PIPE (
|
||||||
|
SRCLIB ,
|
||||||
|
SRCFIL , SRCMBR , SRCDESC , SRCTYPE , SRCSEQ , SRCDAT , SRCDTA ,
|
||||||
|
DATE ( SRCCRT ) , DATE ( SRCCHG ) , DATE ( SRCSAV ) ) ;
|
||||||
|
END LOOP ;
|
||||||
|
CLOSE SF2 ;
|
||||||
|
SET EOF = 0 ;
|
||||||
|
END LOOP ;
|
||||||
|
CLOSE SF ;
|
||||||
|
RETURN ;
|
||||||
|
END ;
|
||||||
|
|
||||||
|
COMMENT ON PARAMETER SPECIFIC FUNCTION CISTOOLS.FNDSTRPDM
|
||||||
|
( INSTRING IS 'Input Search String' ,
|
||||||
|
INLIB IS 'Input Library' ,
|
||||||
|
INFILE IS 'Input File' ,
|
||||||
|
INMBR IS 'Input Member' ) ;
|
||||||
|
|
||||||
|
LABEL ON SPECIFIC FUNCTION CISTOOLS.FNDSTRPDM
|
||||||
|
IS 'Find String Pdm' ;
|
||||||
|
|
||||||
|
GRANT ALTER , EXECUTE
|
||||||
|
ON SPECIFIC FUNCTION CISTOOLS.FNDSTRPDM
|
||||||
|
TO AMAPICS WITH GRANT OPTION ;
|
||||||
|
|
||||||
|
GRANT EXECUTE
|
||||||
|
ON SPECIFIC FUNCTION CISTOOLS.FNDSTRPDM
|
||||||
|
TO PUBLIC ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user