program: -DEFAULT &ECHO='OFF' -SET &APP_FOLDER = '&Application_Folder.EVAL'; -SET &WF_SERVER = '&WebFOCUS_Server.EVAL'; -SET &PROGRAM_NAME = '&FOCEXEC_Name.EVAL'; SET ASNAMES=ON, NODATA = ' ', %STRICTMATH = OLD, ALL = ON, MSG = ON SET PRINTPLUS = ON SET PSPAGESETUP = ON -SET &APP_FOLDER = '&Application_Folder.EVAL'; -SET &WF_SERVER = '&WebFOCUS_Server.EVAL'; -SET &PROGRAM_NAME = '&FOCEXEC_Name.EVAL'; FILEDEF WFEXNAME DISK //&WF_SERVER../apps/&APP_FOLDER../&PROGRAM_NAME TABLE FILE WFEXNAME LIST PROGCODE ON TABLE HOLD AS HWFDOC1 END -RUN DEFINE FILE HWFDOC1 INCS/A256 = IF EDIT(PROGCODE,'99999999') EQ '-INCLUDE' THEN PROGCODE ELSE ' '; INCSCNT/I6 = IF INCS NE ' ' THEN 1 ELSE 0; EXECS/A256 = IF EDIT(PROGCODE,'999') EQ 'EX ' THEN PROGCODE ELSE IF EDIT(PROGCODE,'99999') EQ 'EXEC ' THEN PROGCODE ELSE ' '; EXECCNT/I6 = IF EXECS NE ' ' THEN 1 ELSE 0; COMMENTS/A256= IF EDIT(PROGCODE,'99') EQ '-*' THEN PROGCODE ELSE ' '; COMMENTCNT/I6= IF COMMENTS NE ' ' THEN 1 ELSE 0; FDEFS/A256 = IF EDIT(PROGCODE,'99999999') EQ 'FILEDEF ' THEN PROGCODE ELSE ' '; FDEFCNT/I6 = IF FDEFS NE ' ' THEN 1 ELSE 0; SETSX/A256 = IF EDIT(PROGCODE,'9999 ') EQ 'SET ' THEN PROGCODE ELSE ' '; SETCNT/I6 = IF SETSX NE ' ' THEN 1 ELSE 0; LINECNT/I6 = IF PROGCODE NE ' ' THEN 1 ELSE 0; VARSLINE/I6 = IF PROGCODE CONTAINS '&' THEN 1 ELSE 0 ; COMMENTS/A256= IF EDIT(PROGCODE,'99') EQ '-*' THEN PROGCODE ELSE ' '; DMCODE/I6 = IF EDIT(PROGCODE,'9') EQ '-' AND COMMENTS EQ ' ' THEN 1 ELSE 0; END TABLE FILE HWFDOC1 PRINT E02 AS '' BY E01 AS '' BY VARSLINE NOPRINT BY DMCODE NOPRINT BY INCSCNT NOPRINT ON TABLE SUBHEAD "WebFOCUS Code Documentor <+0 Printed: <+0 &DATEMtrDYY" "Server: <+0 &WF_SERVER <+0 Application Folder: <+0 &APP_FOLDER <+0 Program: <+0 &PROGRAM_NAME " "Total lines of Code : <+0 "FOCUS Statements: " " Total -INCLUDEs: <+0 " Total EX or EXECs: <+0 " Total Comments: <+0 " Total SETs: <+0 " Total FILEDEFs: <+0 " Blue text <+0 on shaded lines are Dialogue Manager statements." " Red text <+0 on shaded lines contain Dialogue Manager local or global variables." " Yellow text <+0 on shaded lines are -INCLUDE statements." FOOTING CENTER " Page WHERE PROGCODE NE ' '; -* File inc_pdf.FEX ON TABLE NOTOTAL ON TABLE SET PAGE NOLEAD ON TABLE SET ONLINE-FMT PDF ON TABLE SET STYLE * UNITS=IN, PAGESIZE= 'LEGAL' , LEFTMARGIN=0.100, RIGHTMARGIN=0.100, TOPMARGIN=0.150, BOTTOMMARGIN=0.150, SQUEEZE=ON, ORIENTATION=PORTRAIT,$ TYPE=REPORT, FONT='COURIER_NEW', SIZE=8, COLOR='BLACK', BACKCOLOR='NONE', STYLE=NORMAL, TOPGAP=0.013889,BOTTOMGAP=0.027778,LEFTGAP=.06,RIGHTGAP=.05,$ TYPE=DATA, STYLE=BOLD,COLOR=RGB(251 251 0),BACKCOLOR=BLACK,WHEN=INCSCNT NE 0,$ TYPE=DATA, STYLE=BOLD,COLOR=RED,BACKCOLOR=RGB(211 255 204),WHEN=VARSLINE NE 0,$ TYPE=DATA, STYLE=BOLD,COLOR=BLUE,BACKCOLOR=RGB(235 255 204),WHEN=DMCODE NE 0,$ TYPE=REPORT, COLUMN=E02,WRAP=7.75,$ TYPE=TABHEADING, SIZE=8,FONT='TIMES NEW ROMAN',$ TYPE=TABHEADING, LINE=1, STYLE=BOLD,$ TYPE=TABHEADING, LINE=1, OBJECT=TEXT,ITEM=2, POSITION = 6.0,$ TYPE=TABHEADING, LINE=1, OBJECT=TEXT,ITEM=3, STYLE=NORMAL,POSITION=+.10,$ $ TYPE=TABHEADING, LINE=2, OBJECT=TEXT,ITEM=1, STYLE=BOLD,$ TYPE=TABHEADING, LINE=2, OBJECT=TEXT,ITEM=2, STYLE=NORMAL, POSITION=+.10,$ TYPE=TABHEADING, LINE=2, OBJECT=TEXT,ITEM=3, STYLE=BOLD,POSITION=+.25,$ TYPE=TABHEADING, LINE=2, OBJECT=TEXT,ITEM=4, STYLE=NORMAL, POSITION=+.10,$ TYPE=TABHEADING, LINE=2, OBJECT=TEXT,ITEM=5, STYLE=BOLD,POSITION=+.25,$ TYPE=TABHEADING, LINE=2, OBJECT=TEXT,ITEM=6, STYLE=NORMAL, POSITION=+.10,$ TYPE=TABHEADING, LINE=3, OBJECT=TEXT,ITEM=1, STYLE=BOLD,$ TYPE=TABHEADING, LINE=3, OBJECT=FIELD,ITEM=1, POSITION = 1.0,$ TYPE=TABHEADING, LINE=4, STYLE=BOLD,$ TYPE=TABHEADING, LINE=5, OBJECT=TEXT,ITEM=1, STYLE=BOLD,$ TYPE=TABHEADING, LINE=5, OBJECT=FIELD,ITEM=1, POSITION = 1.0,$ TYPE=TABHEADING, LINE=6, OBJECT=TEXT,ITEM=1, STYLE=BOLD,$ TYPE=TABHEADING, LINE=6, OBJECT=FIELD,ITEM=1, POSITION = 1.0,$ TYPE=TABHEADING, LINE=7, OBJECT=TEXT,ITEM=1, STYLE=BOLD,$ TYPE=TABHEADING, LINE=7, OBJECT=FIELD,ITEM=1, POSITION = 1.0,$ TYPE=TABHEADING, LINE=8, OBJECT=TEXT,ITEM=1, STYLE=BOLD,$ TYPE=TABHEADING, LINE=8, OBJECT=FIELD,ITEM=1, POSITION = 1.0,$ TYPE=TABHEADING, LINE=9, OBJECT=TEXT,ITEM=1, STYLE=BOLD,$ TYPE=TABHEADING, LINE=9, OBJECT=FIELD,ITEM=1, POSITION = 1.0,$ TYPE=TABHEADING, LINE=10, COLOR=BLUE,BACKCOLOR=RGB(235 255 204),$ TYPE=TABHEADING, LINE=11, COLOR=RED,BACKCOLOR=RGB(211 255 204),$ TYPE=TABHEADING, LINE=12, COLOR=RGB(251 251 0),BACKCOLOR=BLACK,$ TYPE=FOOTING, SIZE=8,FONT='TIMES NEW ROMAN',$ ENDSTYLE END -RUNThis message has been edited. Last edited by: RickW,
WebFOCUS 7.6.6/TomCat/Win2003,SQL Server 2005,Oracle
January 14, 2010, 09:17 AM
jgelona
I see you are on UNIX, so try this script:
# cd to the app folder
cd /opt/ibi/apps
# create a file of the folder names in the apps folder
ls -d * > /home/eda/apps.lst
# loop through the file counting the lines of code
foreach folder (`cat /home/eda/apps.lst`)
cd $folder
wc -l *.fex >> /home/eda/fexcnt.dat
wc -l *.sh >> /home/eda/fexcnt.dat
wc -l *.htm* >> /home/eda/fexcnt.dat
cd ..
end
When you're done, fexcnt.dat has all the lines of code in each program, script and htm file.
You can then import that into EXCEL and do a SUM or you can create a master to read fexcnt.dat and a fex to sum the counts.
In FOCUS since 1985. Prod WF 8.0.08 (z90/Suse Linux) DB (Oracle 11g), Self Serv, Report Caster, WebServer Intel/Linux.