Focal Point Banner
Community Center Education Summit Technical Support User Groups
Let's Get Social!

Facebook Twitter LinkedIn YouTube
Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [CLOSED] WebFOCUS - Automating Documentation
Go
New
Search
Notify
Tools
Reply
  
[CLOSED] WebFOCUS - Automating Documentation
 Login/Join
 
Member
posted
Hello All,
We are in search of anyone who has successfully automated documenting the reports created in WebFOCUS -- please advise ;o)

WebFOCUS - Automating Documentation
•Extracting Comments
•Screen prints of HTML forms

This message has been edited. Last edited by: FP Mod Chuck,
 
Posts: 1 | Registered: May 21, 2019Reply With QuoteReport This Post
Expert
posted Hide Post
What do you mean by "Extracting Comments" ?, the -* lines in a fex or something else ?


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.05OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Know The Code

 
Posts: 6068 | Location: Land of the Darug people, Terra Australis Incognita | Registered: October 31, 2006Reply With QuoteReport This Post
Platinum Member
posted Hide Post
are you looking for some command like javadoc in JAVA?


WebFocus 8104,8204
Excel/PDF/HTML/HTMLTABLE/XML/ALPHA/GIF file/GRAPH/Active technologies
 
Posts: 182 | Location: INDIA | Registered: July 11, 2013Reply With QuoteReport This Post
Member
posted Hide Post
Hi, Wind07.

In the 1990s, I wrote a "program lister" using the FOCUS language to read FOCEXECs and explain what they were doing for a client with limited 4GL knowledge. If I still have it, I could share it in GitHub.

Basically, the documented FOCEXECs show on the left side of the pages and explanations of coding techniques are on the right (e.g., DEFINEs, TABLEs, MODIFYs, -CRTFORMs, etc.) In the early 2000s, I rewrote it into C/C++ and enhanced it as a transformer to automatically convert from 4GL/other reporting tool to WebFOCUS. I did not continue using/enhancing the FOCUS version after that.

I'm assuming you want a mass listing of all of the FOCEXECs (hopefully, PDF instead of binders of paper!) as well as a on-demand, one-at-at-time viewer. Today, reading the FOCEXECs is slightly more challenging because they are stored in the Content Repository as BLOB objects. Another method is to use Change Management, export them into text files, and mass report against them there.

If you want, send me a private e-mail Doug at Kencura.com so I can better understand your needs and see how I can help.


Sincerely,

Doug Lautzenheiser
Multiple products (FOCUS, WebFOCUS, iWay), releases (5-8.2), platforms (e.g., MVS, OpenVMS, Linux, iSeries, Windows), databases (e.g., Oracle, SQL Server, DB2, IMS, MySQL, etc.), integrated technologies (e.g., R and Python)
Currently doing great things on WF8.2
 
Posts: 19 | Location: Midwest United States | Registered: February 14, 2007Reply With QuoteReport This Post
Platinum Member
posted Hide Post
This sounds like something we would like to have as well, so if there is a solution available, please share!

Thanks,
Deb


WebFOCUS 8.2.03
AppStudio, InfoAssist
Windows, All Outputs
 
Posts: 120 | Location: Indiana | Registered: December 05, 2017Reply With QuoteReport This Post
Platinum Member
posted Hide Post
I wrote a little report using the respository tables. Some of this code I got from somewhere, but I don't recall exactly where.
It's a program inventory of sorts. If you put it into the top level of a domain folder, it will show everything in that domain. You'll need to create the metadata for the tables shown here. Also put your style sheet declaration in.

-* Place this routine into the top-level folder of any domain, and it will report on all repository
-* content for that domain.
-*
-*-SET &ECHO=ALL;
-*-? &
-*TABLE FILE WF_REPOSOBJ
-*PRINT *
-*END
-*-EXIT
-SET &MY_LOCATION='/WFC/Repository/' | '&IBIMR_domain.EVAL' || '%';
-*-TYPE &MY_LOCATION;
-SET &THE_POSITION=POSITION('/%', &MY_LOCATION);
-*-TYPE &THE_POSITION;
-SET &MY_LOCATION_NOSUFFIX=SUBSTRING(&MY_LOCATION, 1, (&THE_POSITION - 1)) || '%';
-*-TYPE &MY_LOCATION_NOSUFFIX;
-*SET BYDISPLAY = ON
JOIN
WF_CONTENT_REVS.WF_CONTENT_REVS.OBJ_HANDLE IN WF_CONTENT_REVS TO UNIQUE
WF_NLSOBJ.WF_NLSOBJ.OBJ_HANDLE IN WF_NLSOBJ TAG J2 AS J2
END
JOIN
WF_CONTENT_REVS.WF_CONTENT_REVS.OBJ_HANDLE IN WF_CONTENT_REVS TO UNIQUE
WF_ITEM.WF_ITEM.HANDLE IN WF_ITEM TAG J3 AS J3
END
JOIN
WF_CONTENT_REVS.WF_CONTENT_REVS.OBJ_HANDLE IN WF_CONTENT_REVS TO UNIQUE
WF_REPOSOBJ.WF_REPOSOBJ.HANDLE IN WF_REPOSOBJ TAG J4 AS J4
END

DEFINE FILE WF_CONTENT_REVS
ITEMTYPE/A24=DECODE WF_REPOSOBJ.WF_REPOSOBJ.OBJTYPE( 102 'Rpt Object FEX' 103 'Stylesheet' 106 'Help HTM' 107 'CSS' 109 'FEX' 110 'HTML' 113 'RC Schedule' 117 'URL' 4 OTHER 0 'Static web component' 301 'User Entry' 115 'RC Dist List' 118 'RC Library output');
VERTBAR/I2=POSIT(WF_CONTENT_REVS.WF_CONTENT_REVS.OBJ_HANDLE, 255, '|', 1,  VERTBAR);
ReposName/A50=SUBSTR(255, WF_CONTENT_REVS.WF_CONTENT_REVS.OBJ_HANDLE, 1, (VERTBAR -1), 50, ReposName);
LReposName/I2=ARGLEN(50,ReposName, LReposName);
TODAYS_DATE/MDYY=&MDYY;
LAST_ACCESS_DATE/MDYY=HDATE(LASTACCESSON, 'YYMD');
HOW_MANY_DAYS/I5=DATEDIF(LAST_ACCESS_DATE, TODAYS_DATE, 'D');
END
SET PRINTPLUS = ON
TABLE FILE WF_CONTENT_REVS
-*     WF_CONTENT_REVS.WF_CONTENT_REVS.OBJ_HANDLE AS 'OBJHANDLE - If non-cryptic, then item was from migrated WF 7'
-*     WF_CONTENT_REVS.WF_CONTENT_REVS.ReposName AS 'ReposName - If blank, was created in WF 8'
-*WHERE J4.WF_REPOSOBJ.PRT_PATH EQ '/WFC/Repository/Fusion/PCD_Written_Reports';
PRINT
     J2.WF_NLSOBJ.SUMMARY AS 'Summary'
     J4.WF_REPOSOBJ.LASTACCESSON
     J4.WF_REPOSOBJ.HOW_MANY_DAYS NOPRINT
BY  J4.WF_REPOSOBJ.PRT_PATH NOPRINT  AS 'Full IBFS Path'
BY  LOWEST J4.WF_REPOSOBJ.OBJNAME AS 'Internal Name'
BY  LOWEST J4.WF_REPOSOBJ.ITEMTYPE AS 'Type'
BY  J2.WF_NLSOBJ.OBJDESC AS 'Display Name'

ON J4.WF_REPOSOBJ.PRT_PATH SUBHEAD
"Folder: <J4.WF_REPOSOBJ.PRT_PATH "
" "
ON J4.WF_REPOSOBJ.PRT_PATH UNDER-LINE
HEADING
"Program Inventory for"
"&IBIMR_domain"
"Server: &SERVER_NAME "
"Red: Not accessed in over 90 days"
"Blue: Not accessed in over 60 days"
"Green: Not accessed in over 30 days"
FOOTING
"Page <TABPAGENO "
WHERE J4.WF_REPOSOBJ.PRT_PATH LIKE '&MY_LOCATION_NOSUFFIX';
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
     INCLUDE = YOUR FAVORITE STYLE SHEET
$
     ORIENTATION=LANDSCAPE,
     SUMMARY='Repository Inventory',
     TITLETEXT='Repository Inventory',
$
     DEFMACRO=OVER_90,
     MACTYPE=RULE,
     WHEN=N7 GT 90,
$
     DEFMACRO=OVER_60,
     MACTYPE=RULE,
     WHEN=N7 GT 60,
$
     DEFMACRO=OVER_30,
     MACTYPE=RULE,
     WHEN=N7 GT 30,
$
TYPE=REPORT,
     LINES-PER-PAGE=UNLIMITED,
$
TYPE=DATA,
     COLUMN=N2,
     COLOR='RED',
     BACKCOLOR=RGB(240 245 255),
     MACRO=OVER_90,
$
TYPE=DATA,
     COLUMN=N2,
     COLOR='BLUE',
     BACKCOLOR=RGB(240 245 255),
     MACRO=OVER_60,
$
TYPE=DATA,
     COLUMN=N2,
     COLOR='GREEN',
     BACKCOLOR=RGB(240 245 255),
     MACRO=OVER_30,
$
TYPE=HEADING,
     LINE=4,
     JUSTIFY=LEFT,
$
TYPE=REPORT,
     COLUMN=OBJNAME,
     WRAP=1.500000,
$
TYPE=REPORT,
     COLUMN=OBJDESC,
     WRAP=2.000000,
$
TYPE=REPORT,
     COLUMN=SUMMARY,
     WRAP=3.000000,
$
TYPE=REPORT, RIGHTGAP = 0.05, $
TYPE=REPORT, LEFTGAP = 0.05, $
ENDSTYLE
END
  


Webfocus 8
Windows, Linux
 
Posts: 243 | Location: Palm Coast, FL | Registered: February 05, 2010Reply With QuoteReport This Post
Platinum Member
posted Hide Post
Thanks! I'll give it a try.


WebFOCUS 8.2.03
AppStudio, InfoAssist
Windows, All Outputs
 
Posts: 120 | Location: Indiana | Registered: December 05, 2017Reply With QuoteReport This Post
  Powered by Social Strata  
 

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [CLOSED] WebFOCUS - Automating Documentation

Copyright © 1996-2018 Information Builders, leaders in enterprise business intelligence.