73
1 DN 9602 000.0001 Information Builders October, 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.

IBI S390 Focus v7.3.1 Preview Slides

  • Upload
    tess98

  • View
    1.545

  • Download
    2

Embed Size (px)

Citation preview

  • 1. DN 9602 000.0001 Information Builders October, 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. FOCUS Release 7.3 Parade of New Features Parade ofNew Features TABLE REPORTING Multiple FOLD-LINEs Display BY value on every row Prefixes on summary lines Display last page # on all pages Display PAGE n OF max IN-RANGES-OF Right-side minus sign display Create cover pages Extensions to FORECAST Multivariate regression forecast NORMSINV and NORMSDST Decimal alignment in headings Multiplereports in one PDF/PS Text field enhancements Stylesheet enhancements PERFORMANCE BOOSTERS New DEFINEs Compiler Parse masters only once User function argument checker Optimized TX search in rdbms DB2 FETCH FIRST n ROWS OUTPUT MECHANISMS Working with EXCEL 2000 Cascading Stylesheets FML Hierarchy Reuse FOR values in FML Use FOR value in calculations FML INDENT Indenting FML hierarchy NODATA char in HOLD Missing values in HOLD SET NULL=ON HOLD in alpha or binary DATABASE and MASTER XFOCUS database Long segment names Long index names Multi-dimensional index (MDI) GROUPs in FOCUS masters DATASET at segment level Read-only fields in master TAB-delimited files Varchar support - AnV RAISED LIMITS Unlimited IF/THEN/ELSE 63 MODIFY COMBINEs Long amper variables Long qualified fieldnames More ACROSS values Increased row size for rdbms 1024 display fields More sort headings/footings Increased column title space More external index partitions OPERATING SYSTEM &FOCUSER userid variable Wide line files and IEDIT Relative GDG +1 3. FOCUS Release 7.3 Parade of New Features OUTPUT MECHANISMS 20 Working with EXCEL 2000 21 CascadingStylesheets 22 FML Hierarchy 23 Reuse FOR values in FML 24 Use FOR value in calculations 25 FML INDENT 26 Indenting FML Hierarchy 27 Missing values in HOLD 28 NODATA char in HOLD 29 HOLD in alpha or binary TABLE REPORTING 01 Multiple FOLD- LINEs 02 Display BY value on every row 03 Prefixes on summary lines 04 Displaying PAGE n OF max 05 First page and last page #s 06 IN-RANGES-OF 07 Right-side minus sign display 08 Create cover pages 09 Extensions to FORECAST 10 Multivariate regression forecast 11 NORMSINV and NORMSDST12 Decimal alignment in headings 13 Multiple reports in one PDF/PS 14 Stylesheetenhancements DATABASE and MASTER 45 XFOCUS database 46 Long segment names 47 Long index names 48 Multi-dimensional index (MDI) 49 GROUPsin FOCUS masters 50 DATASET at segment level 51 Read-only fields in master 52 TAB-delimited files 53 Varcharsupport -AnV PERFORMANCE BOOSTERS 15 NewDEFINEsCompiler16 Parse masters only once 17 User function argument checker 18 Optimized TX search inrdbms 19 DB2 FETCH FIRST n ROWS RAISED LIMITS 36 Unlimited IF/THEN/ELSE 37 63 MODIFYCOMBINEs 38 Longampervariables 39 Long qualified fieldnames 40 More ACROSS values 41 1024 display fields 42 More sort headings/footings 43 Increased column title space 44 More external index partitions MAINTAIN 33 MNTfiletype /extension 34 FOCUSSETsfrom Maintain 35 New screening in MAINTAIN OPERATING SYSTEM 30 &FOCUSERuseridvariable 31 Wide line files and IEDIT 32 Relative GDG +1Next Slide Next Key Feature 4. TABLE REPORTING TABLE Reporting FOCUS 7.3 5. Multiple FOLD-LINE

  • Specify up to16FOLD-LINE clauses in a TABLE request

TABLE FILE PRINT field1 field2 field3 FOLD-LINE field4 field5 field6 field7 FOLD-LINE field8 field9END RESULT field1 field2 field3 field4 field5 field6 field7 field8 field9 Indent 2 spaces 6. Show BY Values on Every Line SET BYDISPLAY

  • Display the sort field values on all lines of a report
  • For STYLEd output only, including EXL2K, HTML, PDF, PS
  • Avoid the PRINT FNAME BY FNAME NOPRINT game

SET BYDISPLAY=ON TABLE FILE CENTHR PRINT LNAME PLANT BY FNAME UNDER-LINE ON TABLE HOLD FORMAT EXL2K END FNAMELNAME PLANT---------- -----DAVID SMITH SOUTH DAVID JONES NORTH DAVID MCKNIGHT EAST --------------------------- MARK SMITH WEST MARK GREENSPAN NORTH TABLE FILE CENTHR PRINT LNAME PLANT BY FNAME UNDER-LINE ON TABLE HOLD FORMAT EXL2K END FNAMELNAME PLANT---------- -----DAVID SMITH SOUTH JONES NORTH MCKNIGHT EAST --------------------------- MARKSMITH WEST GREENSPAN NORTH Next Key Feature 7. Prefix Operators on Summary Lines

  • Use with SUBTOTAL, SUB-TOTAL, RECOMPUTE and SUMMARIZEat 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.

MODEL COUNTRYCARCOUNT --------------- ITALYALFA ROMEO3 MASERATI1 *TOTAL ITALY 4 W GERMANYAUDI1 BMW6 *TOTAL W GERMANY 7 TOTAL 11 TABLE FILE CARSUM CNT.MODELBY COUNTRY BY CARON COUNTRY SUB-TOTALWHERE COUNTRY IS 'ITALY' OR 'W GERMANY' ENDCNT.MODEL MODEL COUNTRYCARCOUNT --------------- ITALYALFA ROMEO3 MASERATI1 *TOTAL ITALY 2 W GERMANYAUDI1 BMW6 *TOTAL W GERMANY 2 TOTAL 4 Count of instancesafter Summarization Space after the prefix (syntax requirement) Back toFeature List DONE Total ofallCounts 8. Capture theLastPage of a Report TABLASTPAGE Notes:&FOCNEXTPAGE is set to TABLASTPAGE TABLE FILE CAR HEADING"PAGE Supported for FORMAT HTML/PDF/PS only 9. Capture and Adjust Page Numbers FOCFIRSTPAGEand&FOCNEXTPAGE

  • FOCFIRSTPAGE SET variable declares the first page number of a report
  • &FOCNEXTPAGE reservedampervariable set to one greater than the last page number of the last report

Page 5 Page 3 TABLE FILE PRINT HEADING PAGE Display the min and max of arangeof values

  • Similar to IN-GROUPS-OF

TABLE FILE EMPLOYEE PRINT LAST_NAMEBY CURR_SALIN-RANGES-OF5000END CURR_SALLAST_NAME -----------------5000.00 -9999.99SMITHGREENSPAN 10000.00 - 14999.99STEVENSSMITH15000.00 - 19999.99JONESMCCOYMCKNIGHTTABLE FILE EMPLOYEE PRINT LAST_NAMEBY CURR_SALIN-GROUPS-OF5000END CURR_SALLAST_NAME ----------------- 5000.00 SMITHGREENSPAN10000.00 STEVENSSMITH 15000.00 JONESMCCOYMCKNIGHT IN-GROUPS-OF (for comparison) 11. Right-Side Minus (-) Display Option

  • Put the minus sign on therightside of negative numbers

TABLE FILEPRINT FIELDA/ I 8 FIELDB/ I 8B FIELDC/ I 8RFIELDD/ I 8- BY COUNTRY END COUNTRY FIELDA FIELDB FIELDC FIELDD ENGLAND -123(123) 123 CR 123- FRANCE-1234 (1234)1234 CR1234- GERMANY -2 (2) 2 CR2- RUSSIA -125(125)125 CR 125- Bracket negative Default negative Right-sidenegative Credit negative 12. Create Cover Pages NEWPAGE

  • Pagebreak aftera subhead or beforea subfoot
  • Create a cover page for each section

TABLE FILE CENTORDSUM LINEPRICE AS QUANTITY AS 'BY REGION NOPRINTPAGE-BREAKBY STATE AS 'ON REGION SUBHEAD NEWPAGE "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

Single Exponential Smoothing*Double Exponential Smoothing*Triple Exponential Smoothing*Linear Regression Column*Graphing* ON TRANSDATERECAPSEASONAL/D10.1 =FORECAST (TRANS,1,3, 'SEASONAL ' , 3,3,1000,1); 14. Perform Multi-Variate Regression ForecastingREGRESS

  • 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; END TABLE FILE GGSALES PRINT BUDUNITS AS Budget,UnitsUNITS AS Unit,SalesBUDDOLS AS Budget,DollarsDOLLARS AS Dollar,Sales WHERE CATEGORY EQ Coffee WHERE REGION EQ West WHERE UNITS GT 1670 AND UNITS LT 1700 END BudgetUnitBudgetDollarUnitsSalesDollarsSalesEST ----------------------------- 17961696179602544024428 18251695237252542523018 16131685225821853520954 15681682235202523020167 16651678216452349222021 14571671218552005219528 16621674249301841421043 16531694214891694021611 ON TABLE RECAP EST/F8 = REGRESS (3,BUDUNITS,UNITS, BUDDOLS, DOLLARS); 15. NORMSINV and NORMSDST Functions

  • NORMSINV Returns upper boundary of standard normal curve (inverse of NORMSDST)

NORMSD/D12.5 = NORMSDST ( Z, D8); NORMSI/D12.5 = NORMSINV (NORMSD,D8); SIZE/D12 = NORMSI * STDEV + MEAN; Equivalent to the Excel functions NORMSDST- Calculates cumulative standard normal distribution function 16. Decimal Alignment in Headings

  • Align decimal points in a multi-line heading or footing
  • Supported for FORMAT HTML/PDF/PS reports only

TABLE FILEBY REGION NOPRINT SUBHEAD "SALES FOR: Combine multiple reports into a single PDF or PS file

  • Make separate pages or one continuous report
  • Combineanyoutput formats with PDF/PS

TABLE TABLE TABLE PDF EXL2K HTML PDF ON TABLE PCHOLD FORMAT {PDF/PS} { OPEN/CLOSE }NOBREAK Next Key Feature 18. 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
  • Styling capabilities of WebFOCUS are nowin mainframe FOCUS

Direct from WebFOCUS 19. Stylesheet Enhancements Example

  • 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. PERFORMANCE BOOSTERS Performance Boosters FOCUS 7.3 21. New Compiler for DEFINEs SET DEFINES

  • New, more efficient compiler
  • Compiles only the DEFINES needed to run the request
  • Compiles at runtime of TABLE, not at DEFINE parsing

SET DEFINES = COMPILED DEFINE FILE CAR CNTRY3/A3 = EDIT(COUNTRY,999); PROFIT= RCOST DCOST ;FEET= LENGTH / 12 ; END TABLE FILE CAR PRINT LENGTH RCOST DCOSTFEET PROFIT BY COUNTRY BY CAR BY MODEL END Compiles FEET and PROFIT butnotCNTRY3 Next Key Feature 22. Parse Masters Only Once SET SAVEDMASTERS

  • Up to 99 parsed masters may be stored in memory
  • Most 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 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.

  • 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 Data and Increase Row Size DONE FOCUS DB2 CLOB Field TX Field 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 EMPINFOPRINT EMP_ID LN FN DPT CJCIF JOBDESC CONTAINS 'PR' ENDSELECT 1."EID",T1."LN",T1."FN",T1."DPT",T1."CJC" FROM USER1."EMPINFO" T1WHERE (T1."JDSC" LIKE '%PR%') FOR FETCH ONLY; FOCUS DB2 CLOB Field TX Field RDBMS column name 24. Pre-Check Subroutine Arguments SET USERFCHK

  • Verifyand fixarguments 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 error
    • FULL Same as ON but also checks functions in MFD
    • OFF Turns verification off except in extreme cases
    • ALERT 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 FUNCTIONnameARGnumber 25. Support for READLIMIT in DB2V7.1FETCH FIRST n ROWS

  • TABLE FILE CAR
  • PRINT MPG SEATS BY MODEL
  • IF MPG GT 20
  • IF READLIMIT EQ 2
  • END

SELECT T1.MODEL,T1.MPG,T1.SEATS FROM USER1.CAR T1 ORDER BY T1.MODEL FETCH FIRST2ROWS ONLY;

  • Allow DB2 to limit rows returned
  • Acts like RECORDLIMIT, but handled by DB2

DONE 26. OUTPUT MECHANISMS Output Mechanisms FOCUS 7.3 27. Working with Excel 2000 HOLD FORMAT EXL2K

  • Supports most StyleSheet attributes
  • Allows for full report formatting
  • Displays heading, footings, subtotals

TABLE FILE CARHEADING"FORMAT EXCEL OUTPUT 1"SUM DEALER_COSTBY COUNTRY SUBTOTAL MULTILINES BY CARON TABLE SET STYLE *TYPE=HEADING,STYLE=BOLD+ITALIC,$TYPE=DATA,COLOR=RED,$ENDSTYLEON TABLE HOLD AS OUTEXCFORMAT EXCEL ENDTABLE FILE CAR HEADING "FORMAT EXL2K OUTPUT 1"SUM DEALER_COSTBY COUNTRY SUBTOTAL MULTILINES BY CARON TABLE SET STYLE *TYPE=HEADING,STYLE=BOLD+ITALIC,$TYPE=DATA,COLOR=RED,$ENDSTYLE ON TABLE HOLD AS OUT2KFORMATEXL2K END Also HOLD FORMAT EXCEL97 Next Key Feature DONE 28. Cascading Style Sheets

  • Define formatting in statements calledrules.
    • 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} Stylesheet Commands External CSS File 29. Reuse FOR Values on Multiple FML Rows FORMULTIPLE

  • Allows use of data value as the FOR object unlimited times
  • Reduces the need for RECAP statements to duplicate previous data lines

DEALER_COST ----------- ENGLAND37,853 FRANCE4,631 ITALY41,235 W GERMANY54,563 TOTAL138,282 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 ENGLANDOVER FRANCEOVER ITALYOVER W GERMANY OVER ENGLAND OR FRANCE OR ITALY OR W GERMANY AS TOTAL END Use LabelReferences Reuse FOR objects DONE 30. 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, $ Used for AS name Parent Data Info Field Link 31. Use FML Row Information FMLINFO Function

  • Returns the FOR value of a row in an FML report
  • Use in COMPUTE for drilldowns, sign changes, etc.

Actual PRINT_AMT FORV ACTION Gross Margin-25,639,22325,639,2232000CHANGEDSales Revenue-62,362,49062,362,4902100CHANGEDRetail Sales-49,355,18449,355,1842200CHANGEDMail Order Sales-6,899,4166,899,4162300CHANGEDCost Of Goods Sold36,723,26736,723,2672500UNCHANGED Variable Material Costs27,438,62527,438,6252600UNCHANGED SET FORMULTIPLE = ON JOIN ACCOUNT IN CENTGL TO ALL ACCOUNT IN CENTSYSFTABLE FILE CENTGLSUM NAT_AMOUNT/D10 AS COMPUTE PRINT_AMT/D10 =IFFMLINFO('FORVALUE','A7')LT '2500 THEN- NAT_AMOUNT ELSE NAT_AMOUNT ;COMPUTEFORV /A4 =FMLINFO('FORVALUE', 'A4') ; COMPUTE ACTION/A9= IFFORVLT '2500' THEN 'CHANGED' ELSE 'UNCHANGED ;FOR GL_ACCOUNT2000 WITH CHILDREN 2 ADD AS CAPTION END Make PRINT_AMT the negative of NAT_AMOUNT for accounts < 2500 CENTGL contains the hierarchy for CENTSYSF hardcoded 32. Indenting FML Reports INDENT

  • Indent FML tags, labels or captions by a specific amount

TABLE FILE CENTGL PRINT GL_ACCOUNT_PARENT AS ParentFOR GL_ACCOUNT 1000AS 'Not IndentedOVER 2000 INDENT 5 AS 'Indented 5 OVER 3000 GETCHILDREN 2 INDENT 5 AS 'Hierarchy Indented 5'END Parent ------ Not Indented1000Indented 51000Hierarchy Indented 53000Hierarchy Indented 53100Hierarchy Indented 53100Hierarchy Indented 53100Hierarchy Indented 53000Hierarchy Indented 53200Hierarchy Indented 53200Explanation The 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. Indenting FML Hierarchy SET 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 | number 34. Differentiate Missing Data in HOLD File SET 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 ENGLAND117191494011194 FRANCE4631 ITALY363204915JAPAN5512W GERMANY600048563 ENGLAND117191494011194 FRANCE..4631 ITALY363204915.JAPAN.5512.W GERMANY .600048563 SET HOLDMISS=ON Blanks replaced by Missing character 35. Declare NODATA Character for HOLD Files SET HNODATA

  • NODATA Substitutes for missing data in a report
  • HNODATA Same functionality for files created using HOLD FORMAT ALPHA

SET ALL=ONTABLE FILE CARPRINT WARRANTYBY CARON TABLE HOLD FORMAT ALPHA ENDALFA ROMEOAUDI12 MONTHS OR 20000 MILES BMWDATSUN12 MONTHS OR 12000 MILES JAGUAR12 MONTHS OR 12000 MILES JENSEN12000 MILES OR 12 MONTHS MASERATI PEUGEOT12 MONTHS ON 12000 MILES TOYOTA12 MONTHS OR 12500 MILES TRIUMPH12 MONTHS OR 12000 MILES HOLD FILE FOCEXEC SET HOLDMISS=ON SET HNODATA=BLANK ForcesMISSING Attribute ALFA ROMEOBLANK AUDI12 MONTHS OR 20000 MILES BMWBLANK DATSUN12 MONTHS OR 12000 MILES JAGUAR12 MONTHS OR 12000 MILES JENSEN12000 MILES OR 12 MONTHS MASERATI PEUGEOT12 MONTHS ON 12000 MILES TOYOTA12 MONTHS OR 12500 MILES TRIUMPH12 MONTHS OR 12000 MILES Truly blank value 36. Represent Missing Values in HOLD Files SET 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,, Both fields present FIELD2 is zero Both fields are zero FIELD2 is missing FIELD3 is missing Both fields are missing Next Key Feature 37. Create HOLD Files in Alphanumeric Format SET HOLDFORMAT

  • Create HOLD files in alphanumeric format
  • FTP hold files to the PC

SET HOLDFORMAT =BINARY/ ALPHA Binary Data Alpha Data Default 38. DATABASE AND MASTER Database and Master FOCUS 7.3 39. XFOCUS Database

  • XFOCUS database file may grow to16 gigabytes
  • With partitioning, up to 4terabytes for data warehousing
  • No change to focexecs
  • Convert with standard REBUILD

Will be activated via SET XFC=ON in subsequent 7.3 Service Pack XFOCUS Database FOCUS Database 40. XFOCUS Database Comparison 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 pageMore pages per file Larger files Reduced i/o Fewer partitions TRUE DATA WAREHOUSE - - - - - - - - 41. XFOCUS Database Replacing Legacy Files FILE=filename, SUFFIX=FOCUS SEGNAME= FILE=filename, SUFFIX=XFOCUS SEGNAME= Converting is easy! Just REBUILD! DUMP LOAD 42. XFOCUS Database For Data Warehousing

  • All FOCUS syntax and capabilities work with XFOCUS files,
  • except as follows (may be supported in later releases):
  • Maintain
  • HLI calls
  • Sink 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 towardData Warehouseapplications rather than transactional updates Next Key Feature 43. High Performance Multi-Dimensional Index MDI CAR COUNTRY MODEL MDI provides virtuallyinstantaccess to the data youneed MDIs can have more than 3 dimensions MDI has been in use for years in our FUSION product DONE 44. High Performance Multi-Dimensional Index MDI (FOCUS and XFOCUS Files)

  • REBUILD MDINDEX
  • creates new MDIs, or adds new partitionsto an existing MDI
  • MASTERNAME CAR
  • DATANAME 'CARACX1FOCUS M'
  • DATANAME 'CARACX2 FOCUS M'
  • DATANAME 'CARACX3 FOCUS M'
  • MDILOCATIONCARMDI
    • TARGET_OF ORIGIN
    • DIMENSIONCAR
    • DIMENSIONCOUNTRY
    • DIMENSIONMODEL
    • DATANAME 'CARMDIMDIM'

TABLE FILE CAR PRINT BODYTYPE SEATS WHERE CAREQ 'JAGUAR' WHERE COUNTRYEQ 'ENGLAND' END Unlike RDBMS Clustered index,MDI fields can be in any orderand all fields need not be used ACCESS FILE Next Key Feature 45. Long Segment Names in XFOC Files

  • SEGNAME =VERYLONG NAMEFORASEGMENT,SEGTYPE=,$

Pre 7.3 7.3 SEGNAME =VERYLONGNAMEFORASEGMENT ,SEGTYPE=,$ Error generated 8 char max Now64 char max

  • Up to 64 characters long

46. Long Index Names in XFOC Files

  • FIELD =VERYLONGNAME FORANINDEX,, I5,INDEX=I ,$

Pre 7.3 7.3 FIELD =VERYLONGNAMEFORANINDEX ,, I5,INDEX=I ,$ Error generated 12 char max Now66 char max Now, index names can bethe full length of field names

  • Up to 66 characters long

47. GROUP Fields in Master Now for FOCUS Files Too Indexa group for JOIN and MODIFY Consecutive fields in a master that represent a logical collection, such as Firstname, Middle initial, Lastname TABLE FILE EMPGROUPPRINT EMP_ID LAST FIRST HIRED BY FULLNAME NOPRINT WHERE FULLNAMEGT'CROSS/BARBARA/991102' END Group length = LAST+ FIRST+HIRED(HIRED is integer with internal length of 4) Componentsmay be separatedby slashes What is a GROUP? Next Key Feature FILENAME=EMPLOYEE, SUFFIX=FOCSEGNAME=EMPINFO,SEGTYPE=S1FIELDNAME=EMP_ID, ,FORMAT=A9,$ GROUP = FULLNAME , ,FORMAT= A29 ,$FIELDNAME= LAST , , FORMAT= A15 ,$ FIELDNAME= FIRST , ,FORMAT= A10 ,$ FIELDNAME= HIRED ,,FORMAT= I6 YMD,$ 48. Physical Name of LOCATION File DATASET At Segment Level

  • DATASET attribute already available at thefilelevel in a FOCUS Master File
  • Now specify the physical file name of a LOCATIONsegment , or a cross-referencedsegmentwith field redefinitions

XYZ2 XYZ1 XYZ2 XYZ3 FILE = ... , DATASET SEGNAME = 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. Read-only Fields in Master FIELDTYPE = R

  • FIELDTYPE=R identifies a field asread-only
    • UPDATE issued for a read-only field is ignoredby 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,$ 50. Read Tab-Delimited Files SUFFIX = 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=S01FIELDNAME=CATEGORY ,E01 ,A8,A08,$ FIELDNAME=COPIES ,E02,I3,A03,$ FIELDNAME=TITLE ,E03,A39,A39,$ FIELDNAME=WHOLESALEPR,E04,F6.2,A06,$ TABLE FILE MOVIES PRINT COPIES TITLE WHOLESALEPR BY CATEGORY IF CATEGORY EQ 'ACTION' OR 'CHILD ON TABLE HOLD AS TAB1FORMAT TAB END ACTION > 2 > JAWS > 10.99 ACTION > 3 > ROBOCOP > 11.50 ACTION > 4 > TOTAL RECALL > 11.99ACTION > 2 > TOP GUN > 9.99 ACTION > 3 > RAMBO III > 10.99 CHILD > 1 > SMURFS, THE > 10.00 CHILD > 2 > SHAGGY DOG, THE > 29.99 > implies tab 51. Varchar Support AnV Field Format

  • V

A n A1V A4096V A5= ABC; A5V = ABC; ABC 3ABC 5 bytes 6 bytes DB2 varchar Number ofnon-blank bytes FUNCTIONS LENV LOCASV POSITV SUBSTV TRIMV UPCASV ???TX vs. AnV??? 52. RAISED LIMITS Raised Limits FOCUS 7.3 53. Unlimited IF/THEN/ELSE DEFINE or COMPUTE FL /A2= IF (VALUE EQ1) THEN A ELSE IF (VALUE EQ2) THEN B ELSE IF (VALUE EQ3) THEN C ELSE . . . . IF (VALUE EQ 16) THEN P ELSE IF (VALUE EQ17 ) THEN QELSE NO; FL= IF (FL NENO) THEN FL ELSE IF (VALUE EQ18 ) THEN R ELSE IF (VALUE EQ 19) THEN S ELSE . . . . IF (VALUE EQ33 ) THEN HELSE NO; FL= IF (FL NENO) THEN FL ELSE . . . . Nowyou dont have to! Unlimited IF/THEN/ELSEsin one calculation(limited by memory) Ever hit that magic number?17 If/Then/Elses in one statement Next Key Feature 54. 63 COMBINEs for MODIFY

  • Up to 64*totalsegments in a COMBINE structure
    • Non-root segments lower the # of files to COMBINE

SYSTEM segment File 1 Root segment File63 Root segment File 2 Root segment File 3 Root segment . . . FileSub-structure COMBINE file1 AND file2 AND file3 AND . file63AS ONEBIG FOCUS creates imaginary root segment, which counts as one *The old limit was 16 COMBINEs 55. 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 = 123456789 1 123456789 2 123456789 3 ; -SET &PART2 = 123456789 4 123456789 5 123456789 6 ; -SET &PART3 = 123456789 7 123456789 8 123456789 9 ; -SET &PARTX = &PART1 | &PART2 | &PART3 ; TABLE FILE CAR PRINT CARPART IF CARPART EQ &PARTX Previously gaveline overflow errorsdue to >80 substitution 56. 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. More ACROSS Values

  • Number of displayable ACROSS field values increased from 95 to 1,056

MODELCAR BB CC DD EE FF GG HH TT UU VV WW XX JAG 10225C911P2 91263DF1 BMW9 15925XUP41P2 732--DE2 Up to 1,056 ACROSS field values 58. 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. 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 COUNTRYBY CARBY MODEL ON COUNTRY SUBHEADTEXT FOR ENGLAND WHEN COUNTRY EQ ENGLAND ON COUNTRY SUBHEADTEXT FOR FRANCE WHEN COUNTRY EQ FRANCE . . . . 60. Increased Space for Column Titles

  • Automatically adjusts to memory available
  • Initialized to 6K bytes

61. 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)

USE ORDERS1 AS ORDERS ORDERS2 AS ORDERS . . . ORDERS150 AS ORDERS ORDERS151 AS ORDERS ORDERS152 AS ORDERS END REBUILD EXTERNAL INDEX NEW ORDIDX ORDERS L_SHIPDATE NO NO THEN Create 152 concatenated partitions Build the new external index *FCT for FOCUS, Fusion, external index, MDI files 62. OPERATING SYSTEM Operating System FOCUS 7.3 63. 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 inCompiledMODIFY.Why not??
    • USER/A8 = &FOCUSER;
    • Report run by &FOCUSER
    • IF EDIT(&FOCUSER,$$$$9999) . . .

Examples: 64. 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 commandsrequireseparate lines
    • MODIFY syntax, END, HEADING and its text

65. Wide Lines for Focexecs, Masters, Access Files Examples DEFINE FILE CAR FIELD/A4096 = ABC D E F G H I J T U V W XYZ ; TABLE FILE CAR PRINT FIELD1 FIELD2 F I E L D 3 F I E L D1024 -* Pass a long argument EX SOMEFOC VERY L E NG T H Y S T R I NG SEGMENT=.. FIELD=AC,,A4, IN D EX = I , , A C C EPT,TITLE,$ In the Master 66. Call Your System Editor for Wide-line Files IEDIT

  • 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. 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 68. MAINTAIN MAINTAINEnhancements FOCUS 7.3 69. 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 //MAINTAIN DD=myqual.MAINTAIN.DATA,DISP=SHR maintproc MAINTAIN A1 MVS JCL VM will look for the new extension still FOCCOMP 70. New Screening Conditions for MAINTAIN

  • NOT_INtrue when a field is not in a list of values
  • e.g. For All Next CountryWhere Country NOT_IN ("ENGLAND","FRANCE");
  • EQ_MASK and NE_MASK Compares a database fieldto 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 fieldNOT_IN list (item1, item2 [,] ) EQ_MASK mask NE_MASK mask CONTAINSstring OMITS string MASK may contain $ wildcardsEx : ABC$E$$G looks foranycharacter in those positions 71. FOCUS SETs from MAINTAIN

    • Use SYS_MGR.FOCSET function to pass aSET option and its value
    • Example:SYS_MGR.FOCSET("CDN","ON");

Settable Options EMGSRV MESSAGEWARNING TRACEONTRACEOFF TRACEUSERCDN COMMITDEFCENT YRTHRESHDATEDISPLAY NODATALANGUAGE USERPASS 72. THANK YOU Thank you ! Start 73. FOCUS 7.3 Presentation Selected 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 Page7 (bottom left)
  • (14) STYLESHEET enhancements Page5 (top right)
  • (04) Displaying PAGE n OF max Page2 (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 Page5 (top right)
  • (02) Display BY value on every row Page2 (top right)
  • (13) Multiple reports in one PDF/PS Page5 (top left)
  • (15) New DEFINEs compiler Page6 (top left)
  • (27) Missing value in HOLD Page9 (top right)
  • (03) Prefixes on summary lines Page2 (bottom left)