1 DN 9602 000.0001 Information Builders October, 2003 1 FOCUS 7.3 Product Update Note: Until 7.3 is...
-
Upload
kelly-evans -
Category
Documents
-
view
217 -
download
1
Transcript of 1 DN 9602 000.0001 Information Builders October, 2003 1 FOCUS 7.3 Product Update Note: Until 7.3 is...
1
DN 9602 000.0001
Information BuildersOctober, 2003
1
FOCUS 7.3 Product Update
Note: Until 7.3 is officially released, features listed in this presentation are subject to change or removal.
2
Go to endFeature list
FOCUS Release 7.3 – Parade of New Features
TABLE REPORTINGMultiple FOLD-LINEs
Display BY value on every rowPrefixes on summary lines
Display last page # on all pagesDisplay PAGE n OF max
IN-RANGES-OFRight-side minus sign display
Create cover pagesExtensions to FORECAST
Multivariate regression forecastNORMSINV and NORMSDSTDecimal alignment in headingsMultiplereports in one PDF/PS
Text field enhancementsStylesheet enhancements
PERFORMANCE BOOSTERSNew DEFINEs CompilerParse masters only once
User function argument checkerOptimized TX search in rdbmsDB2 FETCH FIRST n ROWS
OUTPUT MECHANISMSWorking with EXCEL 2000
Cascading StylesheetsFML Hierarchy
Reuse FOR values in FMLUse FOR value in calculations
FML INDENTIndenting FML hierarchyNODATA char in HOLDMissing values in HOLD
SET NULL=ONHOLD in alpha or binary
DATABASE and MASTERXFOCUS database
Long segment namesLong index names
Multi-dimensional index (MDI)GROUPs in FOCUS mastersDATASET at segment levelRead-only fields in master
TAB-delimited filesVarchar support - AnV
RAISED LIMITSUnlimited IF/THEN/ELSE 63 MODIFY COMBINEs
Long amper variablesLong qualified fieldnames
More ACROSS valuesIncreased row size for rdbms
1024 display fieldsMore sort headings/footingsIncreased column title space
More external index partitionsOPERATING SYSTEM
&FOCUSER userid variableWide line files and IEDIT
Relative GDG +1
3
Go to endFeature list
FOCUS Release 7.3 – Parade of New Features
OUTPUT MECHANISMS20 Working with EXCEL 200021 – Cascading Stylesheets22 FML Hierarchy23 – Reuse FOR values in FML24 – Use FOR value in calculations25 – FML INDENT26 – Indenting FML Hierarchy27 Missing values in HOLD28 NODATA char in HOLD29 HOLD in alpha or binary
TABLE REPORTING01 Multiple FOLD-LINEs02 Display BY value on every row03 Prefixes on summary lines04 Displaying PAGE n OF max05 First page and last page #s06 IN-RANGES-OF07 Right-side minus sign display08 Create cover pages09 Extensions to FORECAST10 Multivariate regression forecast11 NORMSINV and NORMSDST 12 Decimal alignment in headings13 Multiple reports in one PDF/PS14 Stylesheet enhancements
DATABASE and MASTER45 XFOCUS database46 – Long segment names47 – Long index names48 Multi-dimensional index (MDI)49 GROUPs in FOCUS masters50 DATASET at segment level51 Read-only fields in master52 TAB-delimited files53 Varchar support - AnV
PERFORMANCE BOOSTERS15 New DEFINEs Compiler 16 Parse masters only once17 User function argument checker18 Optimized TX search in rdbms19 DB2 FETCH FIRST n ROWS
RAISED LIMITS36 Unlimited IF/THEN/ELSE 37 63 MODIFY COMBINEs 38 Long amper variables39 Long qualified fieldnames40 More ACROSS values41 1024 display fields42 More sort headings/footings43 Increased column title space44 More external index partitions
MAINTAIN33 MNT filetype/extension34 FOCUS SETs from Maintain35 New screening in MAINTAIN
OPERATING SYSTEM30 &FOCUSER userid variable31 Wide line files and IEDIT32 Relative GDG +1
Next SlideNext Key Feature
4
Go to endFeature list
TABLE REPORTING
FOCUS 7.3
5
Go to endFeature list
Multiple FOLD-LINE
Specify up to 16 FOLD-LINE clauses in a TABLE request
TABLE FILEPRINT field1 field2 field3 FOLD-LINEfield4 field5 field6 field7 FOLD-LINEfield8 field9 END
TABLE FILEPRINT field1 field2 field3 FOLD-LINEfield4 field5 field6 field7 FOLD-LINEfield8 field9 END
RESULT
field1 field2 field3
field4 field5 field6 field7
field8 field9
RESULT
field1 field2 field3
field4 field5 field6 field7
field8 field9Indent 2 spaces
6
Go to endFeature list
Show BY Values on Every LineSET BYDISPLAY Display the sort field values on all lines of a report For STYLE’d output only, including EXL2K, HTML, PDF, PS Avoid the PRINT FNAME … BY FNAME NOPRINT game
SET BYDISPLAY=ONTABLE FILE CENTHRPRINT LNAME PLANTBY FNAME UNDER-LINEON TABLE HOLD FORMAT EXL2K
ENDFNAME LNAME PLANT ----- ----- ----- DAVID SMITHSOUTHDAVID JONESNORTHDAVID MCKNIGHT EAST---------------------------MARK SMITH WESTMARK GREENSPAN NORTH
FNAME LNAME PLANT ----- ----- ----- DAVID SMITHSOUTHDAVID JONESNORTHDAVID MCKNIGHT EAST---------------------------MARK SMITH WESTMARK GREENSPAN NORTH
TABLE FILE CENTHRPRINT LNAME PLANTBY FNAME UNDER-LINEON TABLE HOLD FORMAT EXL2KEND
FNAME LNAME PLANT ----- ----- ----- DAVID SMITHSOUTH JONES NORTH MCKNIGHT EAST---------------------------MARK SMITH WEST GREENSPAN NORTH
FNAME LNAME PLANT ----- ----- ----- DAVID SMITHSOUTH JONES NORTH MCKNIGHT EAST---------------------------MARK SMITH WEST GREENSPAN NORTH
Next Key Feature
7
Go to endFeature list
Prefix Operators on Summary Lines
Use with SUBTOTAL, SUB-TOTAL, RECOMPUTE and SUMMARIZE at both the sort break and grand total levels
Summed values become the detail lines in the report:
ASQ. AVE. SUM. CNT. FST. LST. MAX. MIN.
MODELCOUNTRY CAR COUNT------- --- -----ITALY ALFA ROMEO 3 MASERATI 1 *TOTAL ITALY 4 W GERMANY AUDI 1 BMW 6 *TOTAL W GERMANY 7 TOTAL 11
TABLE FILE CAR SUM CNT.MODEL BY COUNTRY BY CAR ON COUNTRY SUB-TOTAL WHERE COUNTRY IS 'ITALY' OR 'W GERMANY'END
CNT. MODEL
MODELCOUNTRY CAR COUNT------- --- -----ITALY ALFA ROMEO 3 MASERATI 1 *TOTAL ITALY 2 W GERMANY AUDI 1 BMW 6 *TOTAL W GERMANY 2 TOTAL 4
MODELCOUNTRY CAR COUNT------- --- -----ITALY ALFA ROMEO 3 MASERATI 1 *TOTAL ITALY 2 W GERMANY AUDI 1 BMW 6 *TOTAL W GERMANY 2 TOTAL 4
Total of all CountsCount of instances after Summarization
Space after the prefix (syntax requirement)
Back to Feature List DONE
8
Go to endFeature list
Capture the Last Page of a ReportTABLASTPAGE
Notes: &FOCNEXTPAGE is set to TABLASTPAGE
TABLE FILE CARHEADING "PAGE <TABPAGENO OF <TABLASTPAGE </1"SUM DCOST BY COUNTRY PAGE-BREAK ON TABLE HOLD FORMAT HTML ON TABLE SET STYLE * TYPE=REPORT,FONT=ARIAL,$ ENDSTYLE END
TABLE FILE CARHEADING "PAGE <TABPAGENO OF <TABLASTPAGE </1"SUM DCOST BY COUNTRY PAGE-BREAK ON TABLE HOLD FORMAT HTML ON TABLE SET STYLE * TYPE=REPORT,FONT=ARIAL,$ ENDSTYLE END
Page 4 of 4Page 4 of 4
Page 3 of 4Page 3 of 4
Page 2 of 4Page 2 of 4
Page 1 of 4
REPORT
Page 1 of 4
REPORT Supported for FORMAT HTML/PDF/PS only
9
Go to endFeature list
Page 5Page 5
Capture and Adjust Page NumbersFOCFIRSTPAGE and &FOCNEXTPAGE
FOCFIRSTPAGE – SET variable declares the first page number of a report&FOCNEXTPAGE – reserved amper variable set to one greater than the last page number of the last report
Page 3Page 3
TABLE FILE PRINT … HEADING “PAGE <TABPAGENO “END
-RUN (&FOCNEXTPAGE automatically set to 4)SET FOCFIRSTPAGE = &FOCNEXTPAGE
TABLE FILE PRINT … HEADING “PAGE <TABPAGENO “END
TABLE FILE PRINT … HEADING “PAGE <TABPAGENO “END
-RUN (&FOCNEXTPAGE automatically set to 4)SET FOCFIRSTPAGE = &FOCNEXTPAGE
TABLE FILE PRINT … HEADING “PAGE <TABPAGENO “END
Page 2Page 2
Page 1
REPORT 1
Page 1
REPORT 1
Page 4
REPORT 2
Page 4
REPORT 2
Make multiple reports look like one!
Make multiple reports look like one!
Next Key Feature
10
Go to endFeature list
Display the Entire RangeIN-RANGES-OF
Display the min and max of a range of values Similar to IN-GROUPS-OF
TABLE FILE EMPLOYEEPRINT LAST_NAME BY CURR_SAL IN-RANGES-OF 5000 END
TABLE FILE EMPLOYEEPRINT LAST_NAME BY CURR_SAL IN-RANGES-OF 5000 END CURR_SAL LAST_NAME-------- --------- 5000.00 - 9999.99 SMITH GREENSPAN10000.00 - 14999.99 STEVENS SMITH 15000.00 - 19999.99 JONES MCCOY MCKNIGHT
CURR_SAL LAST_NAME-------- --------- 5000.00 - 9999.99 SMITH GREENSPAN10000.00 - 14999.99 STEVENS SMITH 15000.00 - 19999.99 JONES MCCOY MCKNIGHT
TABLE FILE EMPLOYEEPRINT LAST_NAME BY CURR_SAL IN-GROUPS-OF 5000 END
CURR_SAL LAST_NAME-------- --------- 5000.00 SMITH GREENSPAN 10000.00 STEVENS SMITH 15000.00 JONES MCCOY MCKNIGHT
IN-GROUPS-OF (for comparison)
11
Go to endFeature list
Right-Side Minus (-) Display Option
Put the minus sign on the right side of negative numbers
TABLE FILE
PRINT FIELDA/I8 FIELDB/I8B FIELDC/I8R FIELDD/I8-
BY COUNTRY
END
TABLE FILE
PRINT FIELDA/I8 FIELDB/I8B FIELDC/I8R FIELDD/I8-
BY COUNTRY
END
COUNTRY FIELDA FIELDB FIELDC FIELDD
ENGLAND -123 (123) 123 CR 123-
FRANCE -1234 (1234) 1234 CR 1234-
GERMANY -2 (2) 2 CR 2-
RUSSIA -125 (125) 125 CR 125-
COUNTRY FIELDA FIELDB FIELDC FIELDD
ENGLAND -123 (123) 123 CR 123-
FRANCE -1234 (1234) 1234 CR 1234-
GERMANY -2 (2) 2 CR 2-
RUSSIA -125 (125) 125 CR 125-
Bracket negative
Default negative
Right-side negativeCredit
negative
12
Go to endFeature list
Create Cover PagesNEWPAGE
Pagebreak after a subhead or before a subfoot
Create a “cover page” for each section
TABLE FILE CENTORD SUM LINEPRICE AS ‘ ‘ QUANTITY AS ‘ ' BY REGION NOPRINT PAGE-BREAK BY STATE AS ‘ ' ON REGION SUBHEAD NEWPAGE "<REGION REGION"END
PAGE 1EAST REGION
PAGE 2CT $16,238,158.37 65,979DC $70,928,546.26 274,714DE $2,500,849.39 10,226MA $34,010,314.29 131,956MD $24,978,362.10 94,827
PAGE 3NORTH REGION
PAGE 4IA $2,469,227.24 10,068IL $34,444,984.60 134,351IN $12,477,236.78 50,124KS $2,136,103.34 7,870MI $47,979,137.95 191,671
13
Go to endFeature list
FORECAST Extensions
EXPAVE “bootstraps” the last real data value as a factor in every predicted value
Double and triple exponential smoothing for trends and seasonal adjustments
SUM with REGRESS creates a new report column with the regression based on the summed values
GRAPH facility supports FORECAST
ON TRANSDATE RECAP SEASONAL/D10.1 = FORECAST(TRANS,1,3,'SEASONAL', 3,3,1000,1);
14
Go to endFeature list
Perform Multi-Variate Regression Forecasting REGRESS REGRESS method derives a best-fit linear equation for a
set of numeric data points Can be based on 1, 2 or 3 independent variables
Creates a new column in the report
DEFINE FILE GGSALES SDATE/YYM = DATE; SYEAR/Y = SDATE;ENDTABLE FILE GGSALES PRINT BUDUNITS AS ‘Budget,Units’ UNITS AS ‘Unit,Sales’ BUDDOLS AS ‘Budget,Dollars’ DOLLARS AS ‘Dollar,Sales’ WHERE CATEGORY EQ ‘Coffee’ WHERE REGION EQ ‘West’ WHERE UNITS GT 1670 AND UNITS LT 1700
END
Budget Unit Budget Dollar
Units Sales Dollars Sales EST
------ ----- ------- ------ -----
1796 1696 17960 25440 24428
1825 1695 23725 25425 23018
1613 1685 22582 18535 20954
1568 1682 23520 25230 20167
1665 1678 21645 23492 22021
1457 1671 21855 20052 19528
1662 1674 24930 18414 21043
1653 1694 21489 16940 21611
ON TABLE RECAP EST/F8 = REGRESS (3,BUDUNITS,UNITS, BUDDOLS, DOLLARS);
15
Go to endFeature list
NORMSINV and NORMSDST Functions
x0
P(xx0)
standard deviation
mean
NORMSD/D12.5 = NORMSDST ( Z, ‘D8’);
NORMSI/D12.5 = NORMSINV (NORMSD,’D8’);
SIZE/D12 = NORMSI * STDEV + MEAN;
NORMSD/D12.5 = NORMSDST ( Z, ‘D8’);
NORMSI/D12.5 = NORMSINV (NORMSD,’D8’);
SIZE/D12 = NORMSI * STDEV + MEAN;
NORMSINV – Returns upper boundary of standard normal curve (inverse of NORMSDST)
Equivalent to the Excel functions
Equivalent to the Excel functions
NORMSDST - Calculates cumulative standard normal distribution function
16
Go to endFeature list
Decimal Alignment in Headings
Align decimal points in a multi-line heading or footing
Supported for FORMAT HTML/PDF/PS reports only
TABLE FILE BY REGION NOPRINT SUBHEAD"SALES FOR: <REGION "" ""Units: <JUNITS""Dollar Sales: <JDOLLARS""Budgeted Sales: <JBUDDOLLARS"ON TABLE SET PAGE-NUM OFFON TABLE HOLD FORMAT HTMLON TABLE SET HTMLCSS ONON TABLE SET STYLE *TYPE = REPORT, GRID=OFF, $TYPE=SUBHEAD, ITEM=1, WIDTH=1.5,$TYPE=SUBHEAD, ITEM=2, WIDTH=2, JUSTIFY=DECIMAL(1), $END
TABLE FILE BY REGION NOPRINT SUBHEAD"SALES FOR: <REGION "" ""Units: <JUNITS""Dollar Sales: <JDOLLARS""Budgeted Sales: <JBUDDOLLARS"ON TABLE SET PAGE-NUM OFFON TABLE HOLD FORMAT HTMLON TABLE SET HTMLCSS ONON TABLE SET STYLE *TYPE = REPORT, GRID=OFF, $TYPE=SUBHEAD, ITEM=1, WIDTH=1.5,$TYPE=SUBHEAD, ITEM=2, WIDTH=2, JUSTIFY=DECIMAL(1), $END
SALES FOR: Midwest
Units: 905,045.Dollar Sales: 11,400,665.00Budgeted Sales: 11,194,373.00000
SALES FOR: Northeast
Units: 916,675.Dollar Sales: 11,392,310.00Budgeted Sales: 11,576,932.00000
SALES FOR: Southeast
Units: 935,232.Dollar Sales: 11,710,379.00Budgeted Sales: 11,807,981.00000
SALES FOR: Midwest
Units: 905,045.Dollar Sales: 11,400,665.00Budgeted Sales: 11,194,373.00000
SALES FOR: Northeast
Units: 916,675.Dollar Sales: 11,392,310.00Budgeted Sales: 11,576,932.00000
SALES FOR: Southeast
Units: 935,232.Dollar Sales: 11,710,379.00Budgeted Sales: 11,807,981.00000
HEADING, FOOTING, SUBHEAD, SUBFOOT, TABHEADING, TABFOOTING
17
Go to endFeature list
Compound Reports in one PDF/PS FileOPEN/CLOSE
Combine multiple reports into a single PDF or PS fileMake separate pages or one continuous reportCombine any output formats with PDF/PS
TABLE
TABLE
TABLE
ON TABLE PCHOLD FORMAT {PDF/PS} {OPEN/CLOSE} NOBREAK
Next Key Feature
18
Go to endFeature list
Stylesheet Enhancements
Cascading Stylesheets
Compound Reports in one PDF / PS file
GRID = ON / FILL / OFF
WRAP = ON / OFF
PAGECOLOR = color
STYLE = [+/-] UNDERLINESET
SET PSPAGESETUP = ON / OFF
SET STYLEMODE = PAGED
Row/Cell Borders With Style/Color
Stylesheet Macros
Conditional Styling
TOPGAP / BOTTOMGAP Around Report
Heading / Footing Element Alignment
Cascading Stylesheets
Compound Reports in one PDF / PS file
GRID = ON / FILL / OFF
WRAP = ON / OFF
PAGECOLOR = color
STYLE = [+/-] UNDERLINESET
SET PSPAGESETUP = ON / OFF
SET STYLEMODE = PAGED
Row/Cell Borders With Style/Color
Stylesheet Macros
Conditional Styling
TOPGAP / BOTTOMGAP Around Report
Heading / Footing Element Alignment
Styling capabilities of WebFOCUS are now in mainframe FOCUS
19
Go to endFeature list
Stylesheet EnhancementsExample
TABLE FILE GGSALES
SUM UNITS DOLLARS
ON TABLE HOLD FORMAT HTML
ON TABLE SET PAGE_NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=FILL,$
END
Next Key Feature
20
Go to endFeature list
PERFORMANCE BOOSTERS
FOCUS 7.3
21
Go to endFeature list
New Compiler for DEFINEsSET DEFINESNew, more efficient compilerCompiles only the DEFINES needed to run the requestCompiles at runtime of TABLE, not at DEFINE parsing
SET DEFINES = COMPILEDDEFINE FILE CAR
CNTRY3/A3 = EDIT(COUNTRY,’999’);
PROFIT = RCOST – DCOST ;
FEET = LENGTH / 12 ;
END
TABLE FILE CAR
PRINT LENGTH RCOST DCOST FEET PROFIT
BY COUNTRY BY CAR BY MODEL
END
SET DEFINES = COMPILEDDEFINE FILE CAR
CNTRY3/A3 = EDIT(COUNTRY,’999’);
PROFIT = RCOST – DCOST ;
FEET = LENGTH / 12 ;
END
TABLE FILE CAR
PRINT LENGTH RCOST DCOST FEET PROFIT
BY COUNTRY BY CAR BY MODEL
END
Compiles FEET and PROFIT but not CNTRY3
Next Key Feature
22
Go to endFeature list
Parse Masters Only OnceSET SAVEDMASTERS
Up to 99 parsed masters may be stored in memoryMost effective with large MFDs reused many times during one
session or job
CODE
SET SAVEDMASTERS=3
TABLE FILE CAR
TABLE FILE EMPLOYEE
TABLE FILE CAR
TABLE FILE PERSONEL
TABLE FILE JOBS
TABLE FILE EMPLOYEE
CODE
SET SAVEDMASTERS=3
TABLE FILE CAR
TABLE FILE EMPLOYEE
TABLE FILE CAR
TABLE FILE PERSONEL
TABLE FILE JOBS
TABLE FILE EMPLOYEE
EFFECT IN MEMORY
Stores CAR
Stores EMPLOYEE
Re-uses CAR; moves it to top of list
Stores PERSONEL
Stores JOBS (drops EMPLOYEE)
Re-stores EMPLOYEE (drops CAR)
Next Key Feature
23
Go to endFeature list
FOCUS DB2CLOB FieldTX Field
IF criteria can now reference RDBMS variable character data types VARCHAR, LONG VARCHAR, and CLOB – now up to 32K Described in the Master with USAGE=TX, ACTUAL=TX
Read-only selection performed by RDBMS improves performance Must use CONTAINS or OMITS against a TX field In the SQL, CONTAINS becomes LIKE, and OMITS becomes NOT LIKE
Optimize RDBMS Variable Length Character Dataand Increase Row Size
FILENAME=EMPINFO ,SUFFIX=SQLDS,$SEGNAME=EMPINFO ,SEGTYPE=S0,$ FIELD=EMP_ID ,ALIAS=EID ,USAGE=A9 ,ACTUAL=A9 ,$ FIELD=LAST_NAME ,ALIAS=LN ,USAGE=A15 ,ACTUAL=A15 ,$
. . . .FIELD=JOBDESC, ALIAS=JDSC, USAGE=TX50, ACTUAL=TX ,$ FIELD=ED_HRS ,ALIAS=OJT ,USAGE=F6.2 ,ACTUAL=F4 ,$
TABLE FILE EMPINFO PRINT EMP_ID LN FN DPT CJC IF JOBDESC CONTAINS 'PR'END
SELECT 1."EID",T1."LN",T1."FN",T1."DPT",T1."CJC"FROM USER1."EMPINFO" T1 WHERE (T1."JDSC" LIKE '%PR%') FOR FETCH ONLY;
FOCUS DB2CLOB FieldTX Field
RDBMS column name
DONE
24
Go to endFeature list
Pre-Check Subroutine ArgumentsSET USERFCHK
Verify and fix arguments of FOCUS functions or DEFINE functions Adjust the level of error checking of parameter lengths and type
specifications
SET USERFCHK = ON / FULL / OFF / ALERT
ON (default) Attempts to fix a length problem. If fixed, displays a warning; if not, displays an
errorFULL Same as ON but also checks functions in MFDOFF Turns verification off except in extreme casesALERT Same as OFF but a warning message is issued
SET USERFCHK = ON / FULL / OFF / ALERT
ON (default) Attempts to fix a length problem. If fixed, displays a warning; if not, displays an
errorFULL Same as ON but also checks functions in MFDOFF Turns verification off except in extreme casesALERT Same as OFF but a warning message is issued
ADDRESS/A30 = ‘1600 PENNSYLVANIA AVENUE’;
TOKEN3/A3 = GETTOK (ADDRESS, 20, 3, ' ', 10, TOKEN);(FOC36335) PARAMETER LENGTH CONFLICT IN FUNCTION name ARG number
25
Go to endFeature list
Support for READLIMIT in DB2 V7.1 FETCH FIRST n ROWS
TABLE FILE CAR
PRINT MPG SEATS BY MODEL
IF MPG GT 20IF READLIMIT EQ 2END
TABLE FILE CAR
PRINT MPG SEATS BY MODEL
IF MPG GT 20IF READLIMIT EQ 2END
SELECT T1.”MODEL”,T1.”MPG”,T1.”SEATS”
FROM USER1.”CAR” T1 ORDER BY T1.”MODEL”
FETCH FIRST 2 ROWS ONLY;
SELECT T1.”MODEL”,T1.”MPG”,T1.”SEATS”
FROM USER1.”CAR” T1 ORDER BY T1.”MODEL”
FETCH FIRST 2 ROWS ONLY;
Allow DB2 to limit rows returned Acts like RECORDLIMIT, but handled by DB2
DONE
26
Go to endFeature list
OUTPUT MECHANISMS
FOCUS 7.3
27
Go to endFeature list
Working with Excel 2000HOLD FORMAT EXL2K
Supports most StyleSheet attributes Allows for full report formatting Displays heading, footings, subtotals
TABLE FILE CAR
HEADING
"FORMAT EXCEL OUTPUT </1"
SUM DEALER_COST
BY COUNTRY SUBTOTAL MULTILINES BY CAR
ON TABLE SET STYLE *
TYPE=HEADING,STYLE=BOLD+ITALIC,$
TYPE=DATA,COLOR=RED,$
ENDSTYLE
ON TABLE HOLD AS OUTEXC FORMAT EXCEL
END
TABLE FILE CAR
HEADING
"FORMAT EXL2K OUTPUT </1"
SUM DEALER_COST
BY COUNTRY SUBTOTAL MULTILINES BY CAR
ON TABLE SET STYLE *
TYPE=HEADING,STYLE=BOLD+ITALIC,$
TYPE=DATA,COLOR=RED,$
ENDSTYLE
ON TABLE HOLD AS OUT2K FORMAT EXL2K
END
Also
HOLD FORMAT EXCEL97
Also
HOLD FORMAT EXCEL97
Next Key Feature DONE
28
Go to endFeature list
Cascading Style Sheets
Define formatting in statements called rules. Example: BODY {background: yellow}
Control line height and letter spacing Exercise more control over positioning items in a report Generate more concise HTML output
TYPE=REPORT, CSSURL=http://websrv2/css/report01.css, $
TYPE=HEADING, CLASS=headText, $
TYPE=TITLE, CLASS=reportTitles, $
TYPE=DATA, CLASS=lowCost, WHEN=N3 LT 27, $
BODY {font-family:Arial, sans-serif}
TABLE {border:0}
TD {border:0}
reportTitles {font-weight:bolder; background:lightblue;}
lowCost {color:green; font-style:italic;}
headText {font-family:Times New Roman, serif; font-size:larger;text-lign:center}
StylesheetCommands
External CSS File
29
Go to endFeature list
DEALER_COST -----------ENGLAND 37,853FRANCE 4,631ITALY 41,235W GERMANY 54,563TOTAL 138,282
DEALER_COST -----------ENGLAND 37,853FRANCE 4,631ITALY 41,235W GERMANY 54,563TOTAL 138,282
Reuse FOR Values on Multiple FML RowsFORMULTIPLE
Allows use of data value as the FOR object unlimited times Reduces the need for RECAP statements to duplicate
previous data lines
TABLE FILE CAR
SUM DEALER_COST
FOR COUNTRY
ENGLAND LABEL R1 OVER
FRANCE LABEL R2 OVER
ITALY LABEL R3 OVER
‘W GERMANY’ LABEL R4 OVER
RECAP R5=R1+R2+R3+R4; AS TOTAL
END
TABLE FILE CAR
SUM DEALER_COST
FOR COUNTRY
ENGLAND LABEL R1 OVER
FRANCE LABEL R2 OVER
ITALY LABEL R3 OVER
‘W GERMANY’ LABEL R4 OVER
RECAP R5=R1+R2+R3+R4; AS TOTAL
END
SET FORMULTIPLE=ON
TABLE FILE CAR
SUM DEALER_COST
FOR COUNTRY
ENGLAND OVER
FRANCE OVER
ITALY OVER
‘W GERMANY’ OVER
ENGLAND OR FRANCE OR ITALY OR ‘W GERMANY’ AS TOTAL
END
SET FORMULTIPLE=ON
TABLE FILE CAR
SUM DEALER_COST
FOR COUNTRY
ENGLAND OVER
FRANCE OVER
ITALY OVER
‘W GERMANY’ OVER
ENGLAND OR FRANCE OR ITALY OR ‘W GERMANY’ AS TOTAL
END
Use Label References
Reuse FORobjects
DONE
30
Go to endFeature list
FML Hierarchy
Dynamically generate FML code based on a hierarchical relationship, such as a chart of accounts or org chart
Up to 99 levels deep Two new Master File elements: PROPERTY, REFERENCE
FIELDNAME =PRODUCT_MEMBER ,E04 ,A7 ,A07 ,$
FIELDNAME =PRODUCT_CAPTION ,E05 ,A18 ,A18 ,
PROPERTY=CAPTION, REFERENCE=PRODUCT_MEMBER, $
FIELDNAME =PRODUCT_PARENT ,E06 ,A7 ,A07 ,
PROPERTY=PARENT_OF, REFERENCE=PRODUCT_MEMBER, $
FIELDNAME =PRODUCT_MEMBER ,E04 ,A7 ,A07 ,$
FIELDNAME =PRODUCT_CAPTION ,E05 ,A18 ,A18 ,
PROPERTY=CAPTION, REFERENCE=PRODUCT_MEMBER, $
FIELDNAME =PRODUCT_PARENT ,E06 ,A7 ,A07 ,
PROPERTY=PARENT_OF, REFERENCE=PRODUCT_MEMBER, $
Used for “AS” name
Parent Data Info
Field Link
31
Go to endFeature list
Actual PRINT_AMT FORV ACTION Gross Margin -25,639,223 25,639,223 2000 CHANGED Sales Revenue -62,362,490 62,362,490 2100 CHANGED Retail Sales -49,355,184 49,355,184 2200 CHANGED Mail Order Sales -6,899,416 6,899,416 2300 CHANGED Cost Of Goods Sold 36,723,267 36,723,267 2500 UNCHANGED Variable Material Costs 27,438,625 27,438,625 2600 UNCHANGED
Use FML Row InformationFMLINFO Function Returns the FOR value of a row in an FML report Use in COMPUTE for drilldowns, sign changes, etc.SET FORMULTIPLE = ONJOIN ACCOUNT IN CENTGL TO ALL ACCOUNT IN CENTSYSF TABLE FILE CENTGL SUM NAT_AMOUNT/D10 AS ‘ ‘COMPUTE PRINT_AMT/D10 = IF FMLINFO('FORVALUE','A7') LT '2500‘ THEN -NAT_AMOUNT ELSE NAT_AMOUNT ; COMPUTE FORV/A4 = FMLINFO('FORVALUE', 'A4') ; COMPUTE ACTION/A9 = IF FORV LT '2500' THEN 'CHANGED' ELSE 'UNCHANGED‘ ; FOR GL_ACCOUNT 2000 WITH CHILDREN 2 ADD AS CAPTIONEND
Make PRINT_AMT the negative of NAT_AMOUNT for accounts < 2500
CENTGL contains the hierarchy for CENTSYSF
hardcoded
32
Go to endFeature list
Indenting FML ReportsINDENT Indent FML tags, labels or captions by a specific amount
TABLE FILE CENTGLPRINT GL_ACCOUNT_PARENT AS ‘Parent’ FOR GL_ACCOUNT1000 AS 'Not Indented‘ OVER2000 INDENT 5 AS 'Indented 5‘ OVER3000 GET CHILDREN 2 INDENT 5 AS 'Hierarchy Indented 5' END Parent
------Not Indented 1000 Indented 5 1000 Hierarchy Indented 5 3000 Hierarchy Indented 5 3100 Hierarchy Indented 5 3100 Hierarchy Indented 5 3100 Hierarchy Indented 5 3000 Hierarchy Indented 5 3200 Hierarchy Indented 5 3200
ExplanationThe label of the second row for tag value 3000 is indented five spaces. The GET CHILDREN phrase causes the first line of the FML hierarchy to indent seven spaces (five + two).
33
Go to endFeature list
Indenting FML HierarchySET BLANKINDENT
Specify the indentation between FML hierarchy levels
Valid in HTML, PDF and Postscript reports
Indents captions 0.125 or ‘n’ units per normal space
Use in conjunction with stylesheet commands SQUEEZE and POSITION
SET BLANKINDENT = OFF | ON | numberSET BLANKINDENT = OFF | ON | number
34
Go to endFeature list
Differentiate Missing Data in HOLD FileSET HOLDMISS
Distinguish in HOLD files between missing data and default values (blank for character data and zero for numeric data)
TABLE FILE CAR
SUM DCOST BY COUNTRY ACROSS SEATS
ON TABLE HOLD FORMAT ALPHA
END
ENGLAND 11719 14940 11194
FRANCE 4631
ITALY 36320 4915
JAPAN 5512
W GERMANY 6000 48563
ENGLAND 11719 14940 11194
FRANCE 4631
ITALY 36320 4915
JAPAN 5512
W GERMANY 6000 48563
ENGLAND 11719 14940 11194
FRANCE . . 4631
ITALY 36320 4915.
JAPAN . 5512.
W GERMANY . 6000 48563
ENGLAND 11719 14940 11194
FRANCE . . 4631
ITALY 36320 4915.
JAPAN . 5512.
W GERMANY . 6000 48563
SET HOLDMISS=ONBlanks replaced by Missing character
35
Go to endFeature list
Declare NODATA Character for HOLD FilesSET HNODATA
NODATA – Substitutes for missing data in a report HNODATA – Same functionality for files created using
HOLD FORMAT ALPHA
SET ALL=ON TABLE FILE CAR PRINT WARRANTY BY CAR ON TABLE HOLD FORMAT ALPHAEND
ALFA ROMEO AUDI 12 MONTHS OR 20000 MILESBMW DATSUN 12 MONTHS OR 12000 MILESJAGUAR 12 MONTHS OR 12000 MILESJENSEN 12000 MILES OR 12 MONTHSMASERATIPEUGEOT 12 MONTHS ON 12000 MILESTOYOTA 12 MONTHS OR 12500 MILESTRIUMPH 12 MONTHS OR 12000 MILES
HOLD FILEFOCEXECSET HOLDMISS=ON SET HNODATA=BLANK
Forces MISSING Attribute
ALFA ROMEO BLANK AUDI 12 MONTHS OR 20000 MILESBMW BLANK DATSUN 12 MONTHS OR 12000 MILESJAGUAR 12 MONTHS OR 12000 MILESJENSEN 12000 MILES OR 12 MONTHSMASERATIPEUGEOT 12 MONTHS ON 12000 MILESTOYOTA 12 MONTHS OR 12500 MILESTRIUMPH 12 MONTHS OR 12000 MILES
ALFA ROMEO BLANK AUDI 12 MONTHS OR 20000 MILESBMW BLANK DATSUN 12 MONTHS OR 12000 MILESJAGUAR 12 MONTHS OR 12000 MILESJENSEN 12000 MILES OR 12 MONTHSMASERATIPEUGEOT 12 MONTHS ON 12000 MILESTOYOTA 12 MONTHS OR 12500 MILESTRIUMPH 12 MONTHS OR 12000 MILES
Truly blank value
36
Go to endFeature list
Represent Missing Values in HOLD FilesSET NULL=ON
Propogate missing values to HOLD files with visually consecutive delimiters
HOLD Formats COM, COMT, TAB, TABT only
SET NULL = ON
TABLE FILE
PRINT FIELD1 FIELD2 FIELD3
ON TABLE HOLD FORMAT COMT
END “NEW YORK”,2,3
“NEW YORK”,0,1
“NEW YORK”,0,0
“NEW YORK”,,3
“NEW YORK”,2,
“NEW YORK”,,
“NEW YORK”,2,3
“NEW YORK”,0,1
“NEW YORK”,0,0
“NEW YORK”,,3
“NEW YORK”,2,
“NEW YORK”,,
Both fields present
FIELD2 is zero
Both fields are zero
FIELD2 is missing
FIELD3 is missing
Both fields are missing
Next Key Feature
37
Go to endFeature list
Create HOLD Files in Alphanumeric FormatSET HOLDFORMAT
Create HOLD files in alphanumeric format FTP hold files to the PC
SET HOLDFORMAT = BINARY / ALPHASET HOLDFORMAT = BINARY / ALPHA
Binary Data Alpha Data
Default
38
Go to endFeature list
DATABASE AND MASTER
FOCUS 7.3
39
Go to endFeature list
XFOCUS Database
XFOCUS database file may grow to 16 gigabytes With partitioning, up to 4 terabytes for data warehousing No change to focexecs Convert with standard REBUILD
XFOCUS database file may grow to 16 gigabytes With partitioning, up to 4 terabytes for data warehousing No change to focexecs Convert with standard REBUILD
XFOCUS Database
FOCUS Database
Will be activated via SET XFC=ON in subsequent 7.3 Service Pack
40
Go to endFeature list
XFOCUS DatabaseComparison Chart
FOCUS DATABASE
4K page size
Alpha fields up to A3964
Up to 2-gig per physical file
Up to 255 2-gig partitions
Up to ½ terabyte total size
Segment names up to 8 chars
Index field names up to 12 chars
Page 1 contains FDT and data
XFOCUS DATABASE
16k page size; 2X as many pages
Alpha fields up to A4096
Up to 16-gig per physical file
Up to 255 16-gig partitions
Up to 4 terabytes total size
Segment names up to 64 chars
Index field names up to 66 chars
Page 1 dedicated to FDT
More records per page
More pages per file
Larger files
Reduced i/o
Fewer partitions
TRUE DATA WAREHOUSE
-
-
-
-
-
-
-
-
41
Go to endFeature list
XFOCUS DatabaseReplacing Legacy Files
FILE=filename, SUFFIX=FOCUS
SEGNAME=
FILE=filename, SUFFIX=FOCUS
SEGNAME=
FILE=filename, SUFFIX=XFOCUS
SEGNAME=
FILE=filename, SUFFIX=XFOCUS
SEGNAME=
Converting is easy!
Just REBUILD!
DUMP
LOAD
42
Go to endFeature list
XFOCUS DatabaseFor Data Warehousing
All FOCUS syntax and capabilities work with XFOCUS files,except as follows (may be supported in later releases):MaintainHLI callsSink machine (SU)External Index and Multi-Dimensional Index (MDI)Static cross references (KU, KL, KM)
Permitted, but indexes not resolved (acts as DKU/DKM)
XFOCUS Database is oriented toward Data Warehouse applications
rather than transactional updates
XFOCUS Database is oriented toward Data Warehouse applications
rather than transactional updates
Next Key Feature
43
Go to endFeature list
High Performance Multi-Dimensional Index – MDI
CARCAR
COUNTRYCOUNTRY
MODELMODEL
MDI provides virtually instant
access to the data you need
MDI provides virtually instant
access to the data you need
MDIs can have more than 3 dimensionsMDIs can have more than 3 dimensions
MDI has been in use for years in our FUSION
product
MDI has been in use for years in our FUSION
product
DONE
44
Go to endFeature list
MASTERNAME CAR DATANAME 'CARACX1 FOCUS M' DATANAME 'CARACX2 FOCUS M' DATANAME 'CARACX3 FOCUS M' MDILOCATION CARMDI
TARGET_OF ORIGIN DIMENSION CAR DIMENSION COUNTRY DIMENSION MODEL DATANAME 'CARMDI MDI M'
High Performance Multi-Dimensional Index – MDI(FOCUS and XFOCUS Files)
REBUILD MDINDEX creates new MDIs, or adds new partitions
to an existing MDI
REBUILD MDINDEX creates new MDIs, or adds new partitions
to an existing MDI
TABLE FILE CARPRINT BODYTYPE SEATSWHERE CAR EQ 'JAGUAR'WHERE COUNTRY EQ 'ENGLAND'END
Unlike RDBMS Clustered index, MDI fields can be in any order and all fields need not be used
ACCESS FILE
Next Key Feature
45
Go to endFeature list
Long Segment Names in XFOC Files
SEGNAME = VERYLONGNAMEFORASEGMENT,SEGTYPE=…,$
Pre 7.3Pre 7.3
7.37.3
SEGNAME = VERYLONGNAMEFORASEGMENT,SEGTYPE=…,$
Error generated8 char max
Now 64 char max
Up to 64 characters long
46
Go to endFeature list
Long Index Names in XFOC Files
FIELD = VERYLONGNAMEFORANINDEX,, I5, INDEX=I,$
Pre 7.3Pre 7.3
7.37.3
FIELD = VERYLONGNAMEFORANINDEX,, I5, INDEX=I,$
Error generated12 char max
Now 66 char max
Now, index names can be
the full length of field names
Up to 66 characters long
47
Go to endFeature list
Index a group for
JOIN and MODIFY
GROUP Fields in MasterNow for FOCUS Files Too
Consecutive fields in a master that represent a logical collection, such as Firstname, Middle initial, Lastname
Consecutive fields in a master that represent a logical collection, such as Firstname, Middle initial, Lastname
TABLE FILE EMPGROUP PRINT EMP_ID LAST FIRST HIREDBY FULLNAME NOPRINT WHERE FULLNAME GT 'CROSS/BARBARA/991102' END
FILENAME=EMPLOYEE, SUFFIX=FOC SEGNAME=EMPINFO, SEGTYPE=S1 FIELDNAME=EMP_ID, ,FORMAT=A9,$ GROUP = FULLNAME, ,FORMAT=A29,$ FIELDNAME=LAST, , FORMAT=A15,$ FIELDNAME=FIRST, , FORMAT=A10,$ FIELDNAME=HIRED,, FORMAT=I6YMD,$
Group length = LAST+ FIRST+HIRED
(HIRED is integer with internal length of 4)
Components may be separated
by slashes
Next Key Feature
48
Go to endFeature list
XYZ2XYZ1XYZ2XYZ3
Physical Name of LOCATION FileDATASET At Segment Level DATASET attribute already available at the file level in a FOCUS
Master File
Now specify the physical file name of a LOCATION segment, or a cross-referenced segment with field redefinitions
FILE = ... , DATASETSEGNAME=BODY,SEGTYPE=S1,PARENT=CARREC,LOCATION=BODYSEG,
DATASET='USER1.XYZ2.FOCUS',$FIELDNAME=BODYTYPE,TYPE,A12,$FIELDNAME=SEATS,SEAT,I3,$FIELDNAME=DEALER_COST,DCOST,D7,$
DATASET was already available on the FILE level
Segment now in its own physical file
49
Go to endFeature list
Read-only Fields in MasterFIELDTYPE = R
FIELDTYPE=R identifies a field as read-only UPDATE issued for a read-only field is ignored
by MODIFY and MAINTAIN
Supports relational data sources with auto-increment columns (automatically incremented by the RDBMS) IDENTIFY or timestamp columns in DB2
FILE=MNTAUTO , SUFFIX=SQLMSS ,$SEGNAME=MNTAUTO, SEGTYPE=S0 ,$
FIELD=CONTROL ,CONTROL ,I11 ,I4 ,MISSING=OFF,FIELDTYPE=R,$FIELD=LASTNAME ,LAST ,A12 ,A12,MISSING=OFF,$FIELD=FIRSTNAME,FIRST ,A12 ,A12,MISSING=OFF,$FIELD=ITEM ,ITEM ,A20 ,A20,MISSING=OFF,$FIELD=AMOUNT ,AMOUNT ,P19 ,P10,MISSING=OFF,$
FILE=MNTAUTO , SUFFIX=SQLMSS ,$SEGNAME=MNTAUTO, SEGTYPE=S0 ,$
FIELD=CONTROL ,CONTROL ,I11 ,I4 ,MISSING=OFF,FIELDTYPE=R,$FIELD=LASTNAME ,LAST ,A12 ,A12,MISSING=OFF,$FIELD=FIRSTNAME,FIRST ,A12 ,A12,MISSING=OFF,$FIELD=ITEM ,ITEM ,A20 ,A20,MISSING=OFF,$FIELD=AMOUNT ,AMOUNT ,P19 ,P10,MISSING=OFF,$
50
Go to endFeature list
Read Tab-Delimited FilesSUFFIX = TAB Tab-delimited files for output or input Create using HOLD FORMAT TAB Similar to TABT, without leading column heading record
FILE=TAB1 ,SUFFIX=TAB SEGNAME=TAB1 ,SEGTYPE=S01 FIELDNAME =CATEGORY ,E01 ,A8 ,A08 ,$FIELDNAME =COPIES ,E02 ,I3 ,A03 ,$FIELDNAME =TITLE ,E03 ,A39 ,A39 ,$FIELDNAME =WHOLESALEPR ,E04 ,F6.2 ,A06 ,$
TABLE FILE MOVIESPRINT COPIES TITLE WHOLESALEPRBY CATEGORYIF CATEGORY EQ 'ACTION' OR 'CHILD‘ON TABLE HOLD AS TAB1 FORMAT TABEND
ACTION>2>JAWS>10.99ACTION>3>ROBOCOP>11.50 ACTION>4>TOTAL RECALL>11.99 ACTION>2>TOP GUN>9.99ACTION>3>RAMBO III>10.99CHILD>1>SMURFS, THE>10.00CHILD>2>SHAGGY DOG, THE>29.99
> implies tab
51
Go to endFeature list
Varchar SupportAnV Field Format
An
A1V – A4096V
V
A5 = ‘ABC’;
A5V = ‘ABC’;
A B C
3 A B C
5 bytes
6 bytes
DB2varchar
Number of non-blank
bytes
FUNCTIONSLENV
LOCASVPOSITVSUBSTVTRIMV
UPCASV
FUNCTIONSLENV
LOCASVPOSITVSUBSTVTRIMV
UPCASV
??? TX vs. AnV ?????? TX vs. AnV ???
52
Go to endFeature list
RAISED LIMITS
FOCUS 7.3
53
Go to endFeature list
Unlimited IF/THEN/ELSE
DEFINE or COMPUTE
FL/A2= IF (VALUE EQ 1) THEN ‘A’ ELSEIF (VALUE EQ 2) THEN ‘B’ ELSEIF (VALUE EQ 3) THEN ‘C’ ELSE. . . .IF (VALUE EQ 16) THEN ‘P’ ELSEIF (VALUE EQ 17) THEN ‘Q’ ELSE ‘NO’;
FL = IF (FL NE ‘NO’) THEN FL ELSEIF (VALUE EQ 18) THEN ‘R’ ELSEIF (VALUE EQ 19) THEN ‘S’ ELSE. . . .IF (VALUE EQ 33) THEN ‘H’ ELSE ‘NO’;
FL = IF (FL NE ‘NO’) THEN FL ELSE. . . .
Now you don’t have to!
Unlimited IF/THEN/ELSEs in one calculation
(limited by memory)
Ever hit that magic number? 17 If/Then/Else’s in one statement
Next Key Feature
54
Go to endFeature list
63 COMBINEs for MODIFY
Up to 64* total segments in a COMBINE structure Non-root segments lower the # of files to COMBINE
SYSTEM segment
File 1 Root segment
File 63 Root segment
File 2 Root segment
File 3 Root segment . . .
File
Sub
-str
uctu
re
COMBINE file1 AND file2 AND file3 AND …. file63 AS ONEBIGCOMBINE file1 AND file2 AND file3 AND …. file63 AS ONEBIG
FOCUS creates imaginary root segment, which counts as one
*The old limit was 16 COMBINEs
55
Go to endFeature list
Long Amper Variables
Amper variables (& or &&) may now be up to 32k chars Use in -READ, -WRITE, or argument on EX
Up to 4K chars per –SET calculation Up to 32K total space for all local ampers (&)
-SET &PART1 = ‘123456789112345678921234567893’;
-SET &PART2 = ‘123456789412345678951234567896’;
-SET &PART3 = ‘123456789712345678981234567899’;
-SET &PARTX = &PART1 | &PART2 | &PART3 ;
TABLE FILE CAR
PRINT CARPART IF CARPART EQ &PARTX
-SET &PART1 = ‘123456789112345678921234567893’;
-SET &PART2 = ‘123456789412345678951234567896’;
-SET &PART3 = ‘123456789712345678981234567899’;
-SET &PARTX = &PART1 | &PART2 | &PART3 ;
TABLE FILE CAR
PRINT CARPART IF CARPART EQ &PARTXPreviously gave line overflow errors
due to >80 substitution
56
Go to endFeature list
Long Qualified Field Names
FIELD/A1 = LONGFILENAME.LONGSEGMENTNAME.LONGFIELDNAME ;
Up to 64 chars Up to 64 chars* Up to 66 chars
Up to 196 total characters (including dots) Specify via Wide-Lines focexecs or amper variable substitution
64-character segment names only in XFOC files.Segment names in FOC files remain up to 8 chars.
*
Compound length limit raised to accommodate the longest name for all components
57
Go to endFeature list
More ACROSS Values
Number of displayable ACROSS field values increased from 95 to 1,056
MODEL
CAR BB CC DD EE FF GG HH……TT UU VV WW XX
JAG 10 22 5 C9 11 P2…… 9 12 63 DF 1
BMW 9 159 25 XU P4 1 P2…… 7 32 -- DE 2
MODEL
CAR BB CC DD EE FF GG HH……TT UU VV WW XX
JAG 10 22 5 C9 11 P2…… 9 12 63 DF 1
BMW 9 159 25 XU P4 1 P2…… 7 32 -- DE 2
Up to 1,056 ACROSS field values
58
Go to endFeature list
1,024 Display Fields
Number if fields in a single or pooled TABLE request increased from 495 to approximately 1,024 Excludes sort fields MATCH limited to 495
Actual maximum for a specific report is influenced by: Hidden fields (NOPRINT) Temporary fields (COMPUTE and DEFINE) Internal fields, like TABPAGENO The size of the fields Field references in headings and footings
Great for extracts to Data Warehouse! What else?
59
Go to endFeature list
More Sort Headings and Footings
Now up to 32K reserved for sort headings and footings Up to 64 total SUBHEADs and SUBFOOTs
Great power combined with WHEN Up to 64 nested headings Independent of area reserved for HEADING and FOOTING
BY COUNTRY BY CAR BY MODEL
ON COUNTRY SUBHEAD “TEXT FOR ENGLAND”
WHEN COUNTRY EQ ‘ENGLAND’
ON COUNTRY SUBHEAD “TEXT FOR FRANCE”
WHEN COUNTRY EQ ‘FRANCE’. . . .
BY COUNTRY BY CAR BY MODEL
ON COUNTRY SUBHEAD “TEXT FOR ENGLAND”
WHEN COUNTRY EQ ‘ENGLAND’
ON COUNTRY SUBHEAD “TEXT FOR FRANCE”
WHEN COUNTRY EQ ‘FRANCE’. . . .
60
Go to endFeature list
Increased Space for Column Titles
Automatically adjusts to memory available Initialized to 6K bytes
61
Go to endFeature list
More External Index Partitions
External Index partitions increased from 120 to 240 max Dependent on File Control Table* spares during session
(External Index file up to 2gig)
USEORDERS1 AS ORDERSORDERS2 AS ORDERS...ORDERS150 AS ORDERSORDERS151 AS ORDERSORDERS152 AS ORDERSEND
REBUILDEXTERNAL INDEXNEWORDIDXORDERSL_SHIPDATENONO
THEN
Create 152 concatenated partitions
Build the new external index
*FCT for FOCUS, Fusion, external index, MDI files
62
Go to endFeature list
OPERATING SYSTEM
FOCUS 7.3
63
Go to endFeature list
Get User Name from Amper Variable&FOCUSER
System amper (&) variable retrieves the logon ID Use instead of the GETUSER function Supported anywhere an amper variable can be used
Ok in MODIFY, but not in Compiled MODIFY. Why not??
USER/A8 = ‘&FOCUSER’;
“Report run by &FOCUSER”
IF EDIT(&FOCUSER,’$$$$9999’) . . .
USER/A8 = ‘&FOCUSER’;
“Report run by &FOCUSER”
IF EDIT(&FOCUSER,’$$$$9999’) . . .
Examples:
64
Go to endFeature list
Wide Lines for Focexecs, Masters, Access Files
Lrecl >80 for focexecs, masters, access files Up to 32K wide Entire TABLE or SQL statement on one line Continuous lines for:
HEADINGs and FOOTINGs CRTFORM Comments ’EX’ argument strings Long amper variables Function parameter list
Some commands require separate lines MODIFY syntax, END, HEADING and its text
65
Go to endFeature list
Wide Lines for Focexecs, Masters, Access FilesExamples
DEFINE FILE CAR
FIELD/A4096 =‘ABCDEFGHIJ……………………TUVWXYZ’ ;
DEFINE FILE CAR
FIELD/A4096 =‘ABCDEFGHIJ……………………TUVWXYZ’ ;
TABLE FILE CAR
PRINT FIELD1 FIELD2 FIELD3…………………FIELD1024
TABLE FILE CAR
PRINT FIELD1 FIELD2 FIELD3…………………FIELD1024
-* Pass a long argument
EX SOMEFOC ‘VERY LENGTHY……………………STRING’
-* Pass a long argument
EX SOMEFOC ‘VERY LENGTHY……………………STRING’
SEGMENT=…..
FIELD=AC,,A4, INDEX=I,……………………,ACCEPT,TITLE,$
SEGMENT=…..
FIELD=AC,,A4, INDEX=I,……………………,ACCEPT,TITLE,$
In the Master
66
Go to endFeature list
Call Your System Editor for Wide-line FilesIEDIT
Work with files of lrecl > 80 Needed for Wide Lines which TED does not support
Call to your system editor (XEDIT or ISPF) Your editor profiles and macros remain in force
Several TED-like conveniences IEDIT with no argument recalls last-run focexec File displays at line number of last error RUN command saves and executes the focexec
67
Go to endFeature list
Relative GDG + 1
Relative GDG (Generation DataSet) may be a positive number as well as negative number
‘Plus’ creates a new generation entry in the catalog to be generated later with HOLD or SAVE
DYNAM ALLOC FILE DYNHLD DS ABCD.GDG.FIX(+1) NEW CATLG DYNAM ALLOC FILE DYNHLD DS ABCD.GDG.FIX(+1) NEW CATLG
68
Go to endFeature list
MAINTAIN
FOCUS 7.3
69
Go to endFeature list
MAINTAIN Filetype Extension
MAINTAIN procedures can have a file extension of “MAINTAIN” instead of FOCEXEC (for both MVS and CMS)
MNTCON is required to work with MAINTAIN procedures that have their own extensions
MNTCON EX maintproc
MNTCON COMPILE maintproc
MNTCON RUN maintproc
MNTCON EX maintproc
MNTCON COMPILE maintproc
MNTCON RUN maintproc
//MAINTAIN DD=myqual.MAINTAIN.DATA,DISP=SHR//MAINTAIN DD=myqual.MAINTAIN.DATA,DISP=SHR
maintproc MAINTAIN A1maintproc MAINTAIN A1
MVS JCL
VM
will look for thenew extension
still FOCCOMP
70
Go to endFeature list
New Screening Conditions for MAINTAIN
NOT_IN – true when a field is not in a list of values
e.g. For All Next Country Where Country NOT_IN ("ENGLAND","FRANCE");
EQ_MASK and NE_MASK – Compares a database field to a computed field using wildcard character ($)
Example: Compute afld/a8="$$$LAND"; For All Next Country Where Country EQ_MASK afld;
FOR ALL NEXT fields [INTO stackname]
WHERE field NOT_IN list (‘item1’, ‘item2’ [,…] )
EQ_MASK mask
NE_MASK mask
CONTAINS string
OMITS string
“MASK” may contain ‘$’ wildcards Ex: ABC$E$$G looks for any character in those positions
71
Go to endFeature list
FOCUS SETs from MAINTAIN
Use SYS_MGR.FOCSET function to pass a SET option and its value
Example: SYS_MGR.FOCSET("CDN","ON");
Settable Options
EMGSRV MESSAGE
WARNING TRACEON
TRACEOFF TRACEUSER
CDN COMMIT
DEFCENT YRTHRESH
DATEDISPLAY NODATA
LANGUAGE USER
PASS
Settable Options
EMGSRV MESSAGE
WARNING TRACEON
TRACEOFF TRACEUSER
CDN COMMIT
DEFCENT YRTHRESH
DATEDISPLAY NODATA
LANGUAGE USER
PASS
72
Go to endFeature list
THANK YOU
Start
73
Go to endFeature list
FOCUS 7.3 PresentationSelected Features in order of discussion
Index Feature Handout
(45) XFOCUS Database Page 10 (bottom left)
(48) Multi-Dimensional Index (MDI) Page 11 (bottom left)
(20) Working with EXCEL 2000 Page 7 (bottom left)
(14) STYLESHEET enhancements Page 5 (top right)
(04) Displaying PAGE n OF max Page 2 (bottom right)
(49) GROUPS in FOCUS Masters Page 12 (bottom left)
(36) Unlimited IF/THEN/ELSE Page 14 (top left)
(16) Parse masters only once Page 5 (top right)
(02) Display BY value on every row Page 2 (top right)
(13) Multiple reports in one PDF/PS Page 5 (top left)
(15) New DEFINEs compiler Page 6 (top left)
(27) Missing value in HOLD Page 9 (top right)
(03) Prefixes on summary lines Page 2 (bottom left)