robert fuschetto Posted August 19, 2021 Share Posted August 19, 2021 Is there a way to search a domain for a masterfile name I am thinking of eliminating a masterfile. I do not believe it is used any longer but would like to look for any references to it first. Link to comment Share on other sites More sharing options...
Dirk Kuerbig Posted August 19, 2021 Share Posted August 19, 2021 Hello Robert, since this seems like a very infrequent request, the easiest practical way to accomplish this is the following: Create a WebFOCUS Change Management Export package for the domains / workspaces in question, and run the export This will create a folder structure /WebFOCUS82cm/export/{yourpackagename} and subfolders Navigate to subfolder root_contentWFCRepository All files will be available as text files, including procedures and HTML files created in AppStudio Use a tool like wingrep or similar tools to search for the name of the master file, e.g. search for CAR You will find the files that have a reference to the master file name, and can then assess whether these references still warrant to keep your master file If you have any questions, please let me know. Link to comment Share on other sites More sharing options...
Martin Yergeau Posted August 19, 2021 Share Posted August 19, 2021 If you repository is in a SQL DB, you can perform as below It will list all object that have a reference to the LIKE clause SELECT T2.PRT_PATH AS 'Location', T2.OBJNAME AS 'Object Name', 'IBFS:' + T2.PRT_PATH + '/' + T2.OBJNAME AS 'Full IBFS path' --,T1.OBJ_HANDLE --,CAST(CAST(T1.BCONTENT AS VARBINARY(MAX)) AS VARCHAR(MAX)) 'Code' FROM dbo.WF_CONTENT_REVS T1 INNER JOIN dbo.WF_REPOSOBJ T2 ON T1.OBJ_HANDLE = T2.HANDLE WHERE UPPER(CAST(CAST(T1.BCONTENT AS VARBINARY(MAX)) AS VARCHAR(MAX))) LIKE '%DTADD%' ORDER BY 1, 2, 3 Link to comment Share on other sites More sharing options...
Rene Nunnington 2 Posted August 19, 2021 Share Posted August 19, 2021 Hi Robert If you have access to AppStudio you can also run impact analysis. Navigate to the workspace area, right click and select Impact analysis. Find the master file and a field name. Analyze will show you the programs that use it. Rene Link to comment Share on other sites More sharing options...
Drew DeBaecke Posted August 19, 2021 Share Posted August 19, 2021 -*-*-* Find All Masters used in a File or a Folder. ---* Assumes Connection String to Repository is WF_Repository ---* Assumes Fex files are limited in their volume of text in the code, feel free to expand or contract as you need. ---* Written for MS-SQL Based setup. YMMV. ---- Text Search. Doesnt expand for include files TABLE FILE SYSFILES PRINT FILENAME AS FNAME1 BY LGNAME ON TABLE SET ASNAMES ON ON TABLE HOLD AS MASTERS END ---* This setting allows us to set the search to case-insensitive!!! SET COLLATION=SRV_CI -RUN ---* This setting allows us to set the search to case-insensitive!!! SET HOLDLIST = PRINTONLY SET BYDISPLAY = ON SET PAGE-NUM = NOLEAD SET HTMLCSS = ON SET LINES = 990 -RUN -DEFAULT &WFFMT = AHTML; -DEFAULT &MYPATH = /WFC/Repository/; -DEFAULT &MYRPT = SomeFex.fex; -SET &MYFORMAT=&WFFMT.(AHTML, HTML, XLSX, COMT).Output Format.; -RUN -SET &MYCRIT1=IF &SEARCHTYPE.(Folder,File).Search Type. EQ Folder THEN WHERE CHARINDEX( ELSE WHERE T2.OBJNAME = ; -SET &MYCRIT2=IF &SEARCHTYPE EQ Folder THEN REPLACE(&MYPATH.QUOTEDSTRING,IBFS:,) ELSE &MYRPT.QUOTEDSTRING; -SET &MYCRIT3=IF &SEARCHTYPE EQ Folder THEN ,T2.PRT_PATH ) > 0 ELSE ; ENGINE SQLMSS SET DEFAULT_CONNECTION WF_Repository SQL SQLMSS PREPARE SQLOUT FOR SELECT CHARINDEX(&MYPATH,T2.PRT_PATH ) AS CI, MASTER AS LGNAME, T2.PRT_PATH , T2.OBJNAME , T2.OBJTYPE , T2.CLASSNAME , T2.CREATEDBY , T2.CREATEDON , T2.LASTMODBY , T2.LASTMODON , T4.OBJDESC ,CAST(CAST(SUBSTRING(T1.BCONTENT,1,7000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB1 ,CAST(CAST(SUBSTRING(T1.BCONTENT,7001,14000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB2 ,CAST(CAST(SUBSTRING(T1.BCONTENT,14001,21000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB3 ,CAST(CAST(SUBSTRING(T1.BCONTENT,21001,28000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB4 ,CAST(CAST(SUBSTRING(T1.BCONTENT,28001,35000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB5 ,CAST(CAST(SUBSTRING(T1.BCONTENT,35001,42000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB6 ,CAST(CAST(SUBSTRING(T1.BCONTENT,42001,49000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB7 ,CAST(CAST(SUBSTRING(T1.BCONTENT,49001,56000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB8 ,CAST(CAST(SUBSTRING(T1.BCONTENT,56001,63000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB9 ,CAST(CAST(SUBSTRING(T1.BCONTENT,63001,70000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB10 ,CAST(CAST(SUBSTRING(T1.BCONTENT,70001,77000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB11 ,CAST(CAST(SUBSTRING(T1.BCONTENT,77001,84000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB12 ,CAST(CAST(SUBSTRING(T1.BCONTENT,84001,91000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB13 ,CAST(CAST(SUBSTRING(T1.BCONTENT,91001,98000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB14 ,CAST(CAST(SUBSTRING(T1.BCONTENT,98001,105000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB15 ,CAST(CAST(SUBSTRING(T1.BCONTENT,105001,112000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB16 ,CAST(CAST(SUBSTRING(T1.BCONTENT,112001,112000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB17 ,CAST(CAST(SUBSTRING(T1.BCONTENT,119001,126000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB18 ,CAST(CAST(SUBSTRING(T1.BCONTENT,126001,133000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB19 ,CAST(CAST(SUBSTRING(T1.BCONTENT,133001,140000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB20 ,CAST(CAST(SUBSTRING(T1.BCONTENT,140001,147000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB21 ,CAST(CAST(SUBSTRING(T1.BCONTENT,147001,154000) AS BINARY(7000)) AS CHAR(7000)) AS MYBLOB22 FROM WebFocusRepository_DEV.dbo.WF_CONTENT_REVS T1 INNER JOIN WebFocusRepository_DEV.dbo.WF_REPOSOBJ T2 ON T1.OBJ_HANDLE = T2.HANDLE INNER JOIN WebFocusRepository_DEV.dbo.WF_NLSOBJ T4 ON T2.HANDLE = T4.OBJ_HANDLE AND T2.DEF_LNG = T4.WF_LNG &MYCRIT1 &MYCRIT2.QUOTEDSTRING &MYCRIT3 ; END -RUN JOIN LGNAME IN SQLOUT TO MULTIPLE LGNAME IN MASTERS TAG TOMAS AS TOMAS END DEFINE FILE SQLOUT CHECKNAME/A250V=TRIM_(BOTH, ',FNAME1); CHUNKY/TX200 = MYBLOB1||MYBLOB2||MYBLOB3||MYBLOB4; MASFOUND/I8=POSITION(CHECKNAME,CHUNKY) END TABLE FILE SQLOUT PRINT CI FNAME1 AS Master MASFOUND AS Position BY PRT_PATH AS Path BY OBJNAME AS File WHERE MASFOUND GT 0; ON TABLE PCHOLD FORMAT &WFFMT ON TABLE SET AUTOFIT OFF ON TABLE SET AREXPEXCEL XLSX ON TABLE SET STYLE * ENDSTYLE END -THEEND Link to comment Share on other sites More sharing options...
robert fuschetto Posted August 19, 2021 Author Share Posted August 19, 2021 I like thisTHANKS! Link to comment Share on other sites More sharing options...
Ian Dalton Posted August 20, 2021 Share Posted August 20, 2021 Or try this -SET &COMPNAME = FGETENV(12,COMPUTERNAME,12,A12); -TYPE &COMPNAME -RUN APP LIST HOLD TABLE FILE FOCAPPL PRINT APPNAME ON TABLE SAVE END -RUN -SET &APPLINE = '; -REPEAT :LAB1 &LINES TIMES -READ SAVE &APP.64 -SET &APPLINE = &APPLINE | | &APP ; -:LAB1 APP QUERY &APPLINE HOLD TABLE FILE FOCAPPQ HEADING "WebFocus Application <APPNAME " on server &COMPNAME " " FOOTING All files are shown lower case regardless of actual filename case. PRINT FILENAME BY APPNAME PAGE-BREAK IF FILENAME CONTAINS .mas ON TABLE SET STYLE * TYPE=HEADING, LINE=1, SIZE=12, STYLE=BOLD, JUSTIFY=CENTER,$ TYPE=HEADING, LINE=1, OBJECT=FIELD, COLOR=RED, STYLE=BOLD+UNDERLINE,$ TYPE=HEADING, LINE=2, SIZE=11, STYLE=BOLD, JUSTIFY=CENTER,$ TYPE=TITLE, SIZE=10, STYLE=BOLD, COLOR=RED,$ ENDSTYLE END Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now