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
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
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
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
Page 5 Page 3 TABLE FILE PRINT HEADING PAGE Display the min and max of arangeof values
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
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
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
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
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
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
TABLE FILEBY REGION NOPRINT SUBHEAD "SALES FOR: Combine multiple reports into a single PDF or PS file
TABLE TABLE TABLE PDF EXL2K HTML PDF ON TABLE PCHOLD FORMAT {PDF/PS} { OPEN/CLOSE }NOBREAK Next Key Feature 18. Stylesheet Enhancements
Direct from WebFOCUS 19. Stylesheet Enhancements Example
Next Key Feature 20. PERFORMANCE BOOSTERS Performance Boosters FOCUS 7.3 21. New Compiler for DEFINEs SET DEFINES
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
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.
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
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
SELECT T1.MODEL,T1.MPG,T1.SEATS FROM USER1.CAR T1 ORDER BY T1.MODEL FETCH FIRST2ROWS ONLY;
DONE 26. OUTPUT MECHANISMS Output Mechanisms FOCUS 7.3 27. Working with Excel 2000 HOLD FORMAT EXL2K
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
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
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
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
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
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
SET BLANKINDENT =OFF| ON | number 34. Differentiate Missing Data in HOLD File SET HOLDMISS
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
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
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
SET HOLDFORMAT =BINARY/ ALPHA Binary Data Alpha Data Default 38. DATABASE AND MASTER Database and Master FOCUS 7.3 39. XFOCUS Database
Will be activated via SET XFC=ON in subsequent 7.3 Service Pack XFOCUS Database FOCUS Database 40. XFOCUS Database Comparison Chart
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
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)
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
Pre 7.3 7.3 SEGNAME =VERYLONGNAMEFORASEGMENT ,SEGTYPE=,$ Error generated 8 char max Now64 char max
46. Long Index Names in XFOC Files
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
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
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
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
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
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
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
-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
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. *
57. More ACROSS Values
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
Great for extracts to Data Warehouse!What else? 59. More Sort Headings and Footings
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
61. More External Index Partitions
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
Examples: 64. Wide Lines for Focexecs, Masters, Access Files
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
67. Relative GDG + 1
DYNAM ALLOC FILE DYNHLD DS ABCD.GDG.FIX (+1)NEW CATLG 68. MAINTAIN MAINTAINEnhancements FOCUS 7.3 69. MAINTAIN Filetype Extension
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
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
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