actual data file can be accessed (read or write) as each record being an 80 byte text string, or as 40 2 character numerical fields, other as 10 8-byte floating point numbers, etc., by the user simply re-writing the appropriate master file description as needed. Samples (batch) PRINT LASTNAME FIRSTNAME AREACODE PHONUM NOTES PRINT PROJNAME AND PROJCOST BY CUSTNAME SUBTOTAL PROJCOST BY CUSTID The second command would produce a report with headings CUSTNAME CUSTID PROJNAME PROJCOST followed by one or more lines of detail, followed by _TOTAL_ CUSTNAME xxxxx (and $z,zzz.zz for that CUSTNAME) The bottom of the report would have the total for ALL projects. (interactive) MODIFY FILE PHONEIDX PROMPT AREACODE PHONUM LASTNAME FIRSTNAME NOTES MATCH AREACODE PHONUM ON MATCH REJECT ON NOMATCH INCLUDE DATA There are keywords to facilitate modification (or deletion) of existing data, and the prompting and error messages from the interactive session can be customized. WebFOCUS In 1997, a web-based version of FOCUS was introduced called "WebFOCUS" which built on the data access and reporting foundation of FOCUS, expanding these to a visually oriented thin-client paradigm accessible from any web browser. WebFOCUS's language has both a "procedural" and "non-procedural" command structure. The former is for more immediate execution, whereas the latter "are placed into a stack of memory for later execution." References External links Corporate website (Informationbuilders.com) FOCUS developer manuals Fourth-generation programming languages Business intelligence Mainframe computer software