-DEFAULT &WFFMT = 'HTML' TABLE FILE CAR SUM DEALER_COST RETAIL_COST BY COUNTRY BY CAR ON TABLE SUBTOTAL AS 'Total' ON TABLE SET COMPOUND OPEN ON TABLE SET PAGE-NUM NOLEAD ON TABLE PCHOLD FORMAT &WFFMT END TABLE FILE CAR SUM DEALER_COST RETAIL_COST BY COUNTRY ON TABLE SUBTOTAL AS 'Total' ON TABLE SET COMPOUND CLOSE ON TABLE SET PAGE-NUM NOLEAD ON TABLE PCHOLD FORMAT &WFFMT END
DEFINE FILE CAR SALES_CV/D10 = IF BODYTYPE EQ 'CONVERTIBLE' THEN SALES ELSE 0; SALES_HT/D10 = IF BODYTYPE EQ 'HARDTOP' THEN SALES ELSE 0; SALES_SE/D10 = IF BODYTYPE EQ 'SEDAN' THEN SALES ELSE 0; SALES_CO/D10 = IF BODYTYPE EQ 'COUPE' THEN SALES ELSE 0; SALES_RO/D10 = IF BODYTYPE EQ 'ROADSTER' THEN SALES ELSE 0; END TABLE FILE CAR SUM SALES BY COUNTRY BY BODYTYPE ON TABLE SUBFOOT "TOTALS" "CONVERTIBLE: <TOT.SALES_CV" "HARDTOP: <TOT.SALES_HT" "SEDAN: <TOT.SALES_SE" "COPUE: <TOT.SALES_CO" "ROADSTER: <TOT.SALES_RO" ON TABLE SET STYLE * TYPE=TABFOOTING, HEADALIGN=BODY, $ TYPE=TABFOOTING, ITEM=2, JUSTIFY=RIGHT, $ ENDSTYLE END
-*----------------------------------------------------------------------------------- -* Build test MFD -*----------------------------------------------------------------------------------- FILEDEF COURSEMAS DISK COURSE.MAS -RUN -WRITE COURSEMAS FILENAME=course, SUFFIX=FIX , $ -WRITE COURSEMAS SEGMENT=ONE, SEGTYPE=S0, $ -WRITE COURSEMAS FIELDNAME=COURSENAME, ALIAS=E1, USAGE=A9, ACTUAL=A9,$ -WRITE COURSEMAS FIELDNAME=SESSION, ALIAS=E2, USAGE=A1, ACTUAL=A1,$ -WRITE COURSEMAS FIELDNAME=ACTIVITY, ALIAS=E3, USAGE=A7, ACTUAL=A7,$ -WRITE COURSEMAS FIELDNAME=ACTIVITY_TOTAL, ALIAS=E4, USAGE=D7.2, ACTUAL=A2,$ -*----------------------------------------------------------------------------------- -* Build test data file -*----------------------------------------------------------------------------------- FILEDEF COURSEDAT DISK COURSE.FTM -RUN -WRITE COURSEDAT Course1 1Lab 48 -WRITE COURSEDAT Course1 2Lab 48 -WRITE COURSEDAT Course2 1Lab 12 -WRITE COURSEDAT Course2 2Lab 24 -WRITE COURSEDAT Course3-11Lecture2 -WRITE COURSEDAT Course3-21Lab 12 -WRITE COURSEDAT Course3-22Lab 12 -WRITE COURSEDAT Course3-23Lab 12 -WRITE COURSEDAT Course3-24Lab 12 -WRITE COURSEDAT Course3-25PE 12 -WRITE COURSEDAT Course4 1Lecture4 -WRITE COURSEDAT Course4 2Lab 10 -*----------------------------------------------------------------------------------- -* Set up MacGyver master and data file. -*----------------------------------------------------------------------------------- -*----------------------------------------------------------------------------------- -* Build MacGyver MFD -*----------------------------------------------------------------------------------- FILEDEF MCMAS DISK MCGYV.MAS -RUN -WRITE MCMAS FILENAME=mcgyv, SUFFIX=FIX , $ -WRITE MCMAS SEGMENT=ONE, SEGTYPE=S0, $ -WRITE MCMAS FIELDNAME=CONTROL, USAGE=A1, ACTUAL=A1, $ -WRITE MCMAS SEGMENT=TWO, SEGTYPE=S0, PARENT=ONE, OCCURS=VARIABLE, $ -WRITE MCMAS FIELDNAME=CHAR1, USAGE=A1, ACTUAL=A1, $ -WRITE MCMAS FIELDNAME=CTR, ALIAS=ORDER, USAGE=I4, ACTUAL=I4, $ -WRITE MCMAS DEFINE REPORT_NUMBER/I4 WITH CHAR1=CTR; $ -*----------------------------------------------------------------------------------- -* Build MacGyver CONTROL file. Set for count of 2 -*----------------------------------------------------------------------------------- FILEDEF MCGYV DISK MCGYV.FTM -RUN -WRITE MCGYV XAB -*----------------------------------------------------------------------------------- -* Join test data file to MacGyver control file -*----------------------------------------------------------------------------------- FILEDEF COURSE DISK COURSE.FTM JOIN CONTROL WITH SESSION IN COURSE TO UNIQUE CONTROL IN MCGYV AS J2 -*----------------------------------------------------------------------------------- -* Create sort and display fields based on CTR control. -* If CTR eq 1 display detail, if CTR eq 2 sum by activity. -*----------------------------------------------------------------------------------- DEFINE FILE COURSE CONTROL /A1 WITH SESSION='X'; COURSENAMEX/A10=IF CTR EQ 1 THEN COURSENAME ELSE IF CTR EQ 2 THEN ACTIVITY ELSE ' '; SESSIONX/A1 =IF CTR EQ 1 THEN SESSION ELSE ' '; ACTIVITYX/A10 =IF CTR EQ 1 THEN ACTIVITY ELSE ' '; END -*----------------------------------------------------------------------------------- -* Create the report -*----------------------------------------------------------------------------------- SET DROPBLNKLINE=ON SET BYDISPLAY=ON TABLE FILE COURSE HEADING "McGyver Technique with Dynamic SubFoots" SUM ACTIVITY_TOTAL AS 'TOTAL' BY CTR NOPRINT ON CTR SUBFOOT "Activity Total <ST.ACTIVITY_TOTAL </1" WHEN CTR EQ 1 ON CTR SUBFOOT "Total <ST.ACTIVITY_TOTAL" WHEN CTR EQ 2 BY COURSENAMEX AS COURSE,NAME BY SESSIONX AS SESSION BY ACTIVITYX AS ACTIVITY ON TABLE NOTOTAL ON TABLE SET PAGE NOLEAD ON TABLE PCHOLD FORMAT DHTML ON TABLE SET STYLE * GRID=OFF,SQUEEZE=ON,SIZE=9,FONT='ARIAL',$ TYPE=HEADING,SIZE=11,JUSTIFY=CENTER,$ TYPE=TITLE,JUSTIFY=CENTER,STYLE=BOLD,BORDER=LIGHT,$ TYPE=DATA,COLUMN=P2,JUSTIFY=CENTER,$ TYPE=SUBFOOT,STYLE=BOLD,$ ENDSTYLE ENDThis message has been edited. Last edited by: DavSmith,
-*----------------------------------------------------------------------------------- -* Build test MFD -*----------------------------------------------------------------------------------- FILEDEF COURSEMAS DISK COURSE.MAS -RUN -WRITE COURSEMAS FILENAME=course, SUFFIX=FIX , $ -WRITE COURSEMAS SEGMENT=ONE, SEGTYPE=S0, $ -WRITE COURSEMAS FIELDNAME=ORG, ALIAS=E0, USAGE=A4, ACTUAL=A4,$ -WRITE COURSEMAS FIELDNAME=COURSENAME, ALIAS=E1, USAGE=A9, ACTUAL=A9,$ -WRITE COURSEMAS FIELDNAME=SESSION, ALIAS=E2, USAGE=A1, ACTUAL=A1,$ -WRITE COURSEMAS FIELDNAME=ACTIVITY, ALIAS=E3, USAGE=A7, ACTUAL=A7,$ -WRITE COURSEMAS FIELDNAME=ACTIVITY_TOTAL, ALIAS=E4, USAGE=D7.2, ACTUAL=A2,$ -WRITE COURSEMAS FIELDNAME=ORG_TOTAL, ALIAS=E4, USAGE=D7.2, ACTUAL=A2,$ -WRITE COURSEMAS FIELDNAME=COURSE_TOTAL, ALIAS=E4, USAGE=D7.2, ACTUAL=A2,$ -*----------------------------------------------------------------------------------- -* Build test data file -*----------------------------------------------------------------------------------- FILEDEF COURSEDAT DISK COURSE.FTM -RUN -WRITE COURSEDAT Org1Course1 1Lab 484848 -WRITE COURSEDAT Org1Course1 2Lab 484848 -WRITE COURSEDAT Org2Course2 1Lab 121212 -WRITE COURSEDAT Org2Course2 2Lab 242424 -WRITE COURSEDAT Org3Course3-11Lecture2 2 2 -WRITE COURSEDAT Org3Course3-21Lab 121212 -WRITE COURSEDAT Org3Course3-22Lab 121212 -WRITE COURSEDAT Org3Course3-23Lab 121212 -WRITE COURSEDAT Org3Course3-24Lab 121212 -WRITE COURSEDAT Org3Course3-25PE 121212 -WRITE COURSEDAT Org3Course4 1Lecture4 4 4 -WRITE COURSEDAT Org3Course4 2Lab 101010 -*----------------------------------------------------------------------------------- -* Set up MacGyver master and data file. -*----------------------------------------------------------------------------------- -*----------------------------------------------------------------------------------- -* Build MacGyver MFD -*----------------------------------------------------------------------------------- FILEDEF MCMAS DISK MCGYV.MAS -RUN -WRITE MCMAS FILENAME=mcgyv, SUFFIX=FIX , $ -WRITE MCMAS SEGMENT=ONE, SEGTYPE=S0, $ -WRITE MCMAS FIELDNAME=CONTROL, USAGE=A1, ACTUAL=A1, $ -WRITE MCMAS SEGMENT=TWO, SEGTYPE=S0, PARENT=ONE, OCCURS=VARIABLE, $ -WRITE MCMAS FIELDNAME=CHAR1, USAGE=A1, ACTUAL=A1, $ -WRITE MCMAS FIELDNAME=CTR, ALIAS=ORDER, USAGE=I4, ACTUAL=I4, $ -WRITE MCMAS DEFINE REPORT_NUMBER/I4 WITH CHAR1=CTR; $ -*----------------------------------------------------------------------------------- -* Build MacGyver CONTROL file. Set for count of 2 -*----------------------------------------------------------------------------------- FILEDEF MCGYV DISK MCGYV.FTM -RUN -WRITE MCGYV XAB -*----------------------------------------------------------------------------------- -* Join test data file to MacGyver control file -*----------------------------------------------------------------------------------- FILEDEF COURSE DISK COURSE.FTM JOIN CONTROL WITH SESSION IN COURSE TO UNIQUE CONTROL IN MCGYV AS J2 -*----------------------------------------------------------------------------------- -* Create sort and display fields based on CTR control. -* If CTR eq 1 display detail, if CTR eq 2 sum by activity. -*----------------------------------------------------------------------------------- DEFINE FILE COURSE CONTROL /A1 WITH SESSION='X'; ORGX/A4 =IF CTR EQ 1 THEN ORG ELSE ' '; COURSENAMEX/A10=IF CTR EQ 1 THEN COURSENAME ELSE ' '; SESSIONX/A1 =IF CTR EQ 1 THEN SESSION ELSE ' '; ACTIVITYX/A10 =IF CTR EQ 1 THEN ACTIVITY ELSE ' '; END -*----------------------------------------------------------------------------------- -* Create the report -*----------------------------------------------------------------------------------- SET DROPBLNKLINE=ON SET BYDISPLAY=ON TABLE FILE COURSE HEADING "McGyver Technique with Dynamic SubFoots" SUM ORGX AS ORG COMPUTE ORGTOT/A10 =IF FST.CTR EQ 2 THEN ' ' ELSE PTOA(ORG_TOTAL,'(P8.2C)','A10'); BY CTR NOPRINT -* SUM COURSENAMEX AS COURSE,NAME COMPUTE CRSTOT/A10 =IF FST.CTR EQ 2 THEN ' ' ELSE PTOA(COURSE_TOTAL,'(P8.2C)','A10'); BY CTR NOPRINT BY ORGX NOPRINT BY COURSENAMEX -* SUM SESSIONX AS SESSION ACTIVITY AS ACTIVITY ACTIVITY_TOTAL AS 'TOTAL' BY CTR NOPRINT ON CTR SUBFOOT "Activity Total <ST.ACTIVITY_TOTAL </1" WHEN CTR EQ 1 ON CTR SUBFOOT "Total <ST.ACTIVITY_TOTAL" WHEN CTR EQ 2 BY ORGX NOPRINT BY COURSENAMEX NOPRINT BY ACTIVITY NOPRINT BY SESSIONX NOPRINT ON TABLE NOTOTAL ON TABLE SET HTMLCSS ON ON TABLE SET PAGE NOLEAD ON TABLE PCHOLD FORMAT HTML ON TABLE SET STYLE * GRID=OFF,SQUEEZE=ON,SIZE=9,FONT='ARIAL',$ TYPE=REPORT,HEADALIGN=BODY,$ TYPE=HEADING,SIZE=11,JUSTIFY=CENTER,COLSPAN=7,$ TYPE=TITLE,JUSTIFY=CENTER,STYLE=BOLD,BORDER=LIGHT,$ TYPE=DATA,COLUMN=P2,JUSTIFY=CENTER,$ TYPE=SUBFOOT,STYLE=BOLD,$ TYPE=SUBFOOT,BY=1,ITEM=1,COLOR=RED,COLSPAN=6,JUSTIFY=RIGHT,$ TYPE=SUBFOOT,BY=1,ITEM=2,COLOR=BLUE,COLSPAN=1,JUSTIFY=RIGHT,$ ENDSTYLE END
FILEDEF TWOTOTS DISK TWOTOTS.FTM EX -LINES 7 EDAPUT MASTER, TWOTOTS, C, MEM, FILE=TWOTOTS,SUFFIX=FIX SEGNAME=SEG01 FIELDNAME=ORG ,A5 ,A5 , $ FIELDNAME=COURSE ,A12 ,A12 , $ FIELDNAME=SESSION ,I2 ,I2 , $ FIELDNAME=ACTIVITY ,A12 ,A12 , $ FIELDNAME=ACT_TOT ,D8.2 ,D8.2 , $ -RUN -WRITE TWOTOTS Org3 Course1 1Lab 48.00 -WRITE TWOTOTS Org3 Course1 2Lab 48.00 -WRITE TWOTOTS Org3 Course2 1Lab 12.00 -WRITE TWOTOTS Org3 Course2 2Lab 24.00 -WRITE TWOTOTS Org3 Course3-1 1Lecture 2.00 -WRITE TWOTOTS Org3 Course3-2 1Lab 12.00 -WRITE TWOTOTS Org3 Course3-2 2Lab 12.00 -WRITE TWOTOTS Org3 Course3-2 3Lab 12.00 -WRITE TWOTOTS Org3 Course3-2 4Lab 12.00 -WRITE TWOTOTS Org3 Course3-2 5PE 12.00 -WRITE TWOTOTS Org3 Course4 1Lecture 4.00 -WRITE TWOTOTS Org3 Course4 2Lab 10.00 -RUN DEFINE FILE TWOTOTS TOT1/D8.2 = IF ACTIVITY EQ 'Lab' THEN ACT_TOT ELSE 0; TOT2/D8.2 = IF ACTIVITY EQ 'Lecture' THEN ACT_TOT ELSE 0; TOT3/D8.2 = IF ACTIVITY EQ 'PE' THEN ACT_TOT ELSE 0; END TABLE FILE TWOTOTS SUM TOT1 NOPRINT TOT2 NOPRINT TOT3 NOPRINT SUM ACT_TOT AS 'Total' BY ORG SUM ACT_TOT AS 'Total' BY ORG BY COURSE SUM ACT_TOT AS 'Total' BY ORG BY COURSE BY SESSION BY ACTIVITY ON TABLE NOTOTAL FOOTING "Total <+0> <+0> <+0> <+0> <+0> <ACT_TOT" " " "Lab <+0> <+0> <+0> <+0> <+0> <TOT1" "Lecture <+0> <+0> <+0> <+0> <+0> <TOT2" "PE <+0> <+0> <+0> <+0> <+0> <TOT3" "Total <+0> <+0> <+0> <+0> <+0> <ACT_TOT" ON TABLE SET HTMLCSS ON ON TABLE SET PAGE NOLEAD ON TABLE SET STYLE * GRID=OFF, SIZE=10, $ TYPE=FOOTING, HEADALIGN=BODY, $ TYPE=FOOTING, ITEM=7, JUSTIFY=RIGHT, $ END
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
FILEDEF TWOTOTS DISK TWOTOTS.FTM -* EX -LINES 7 EDAPUT MASTER, TWOTOTS, C, MEM, FILE=TWOTOTS,SUFFIX=FIX SEGNAME=SEG01 FIELDNAME=ORG ,A5 ,A5 , $ FIELDNAME=COURSE ,A12 ,A12 , $ FIELDNAME=SESSION ,I2 ,I2 , $ FIELDNAME=ACTIVITY ,A12 ,A12 , $ FIELDNAME=ACT_TOT ,D8.2 ,D8.2 , $ -RUN -* -WRITE TWOTOTS Org1 Course1 1Lab 48.00 -WRITE TWOTOTS Org1 Course1 2Lab 48.00 -WRITE TWOTOTS Org2 Course2 1Lab 12.00 -WRITE TWOTOTS Org2 Course2 2Lab 24.00 -WRITE TWOTOTS Org3 Course3-1 1Lecture 2.00 -WRITE TWOTOTS Org3 Course3-2 1Lab 12.00 -WRITE TWOTOTS Org3 Course3-2 2Lab 12.00 -WRITE TWOTOTS Org3 Course3-2 3Lab 12.00 -WRITE TWOTOTS Org3 Course3-2 4Lab 12.00 -WRITE TWOTOTS Org3 Course3-2 5PE 12.00 -WRITE TWOTOTS Org3 Course4 1Lecture 4.00 -WRITE TWOTOTS Org3 Course4 2Lab 10.00 -RUN -* DEFINE FILE TWOTOTS COLUMN_SPACE/A30 = '<+0> <+0> <+0> <+0> <+0> <+0> '; DOUBLE_QUOTE/A1 = '"'; END -* TABLE FILE TWOTOTS SUM COLUMN_SPACE ACT_TOT FST.DOUBLE_QUOTE BY DOUBLE_QUOTE BY ACTIVITY ON TABLE SAVE AS SUBTOTS END -RUN -* TABLE FILE TWOTOTS SUM ACT_TOT AS 'Total' BY ORG SUM ACT_TOT AS 'Total' BY ORG BY COURSE SUM ACT_TOT AS 'Total' BY ORG BY COURSE BY SESSION BY ACTIVITY ON TABLE NOTOTAL FOOTING "Total <+0> <+0> <+0> <+0> <+0> <TOT.ACT_TOT" " " -INCLUDE SUBTOTS "Total <+0> <+0> <+0> <+0> <+0> <TOT.ACT_TOT" ON TABLE SET HTMLCSS ON ON TABLE SET PAGE NOLEAD ON TABLE SET STYLE * GRID=OFF, SIZE=10, $ TYPE=FOOTING, HEADALIGN=BODY, $ TYPE=FOOTING, ITEM=7, JUSTIFY=RIGHT, $ ENDSTYLE END
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |