Ray Ontko & Co.
Library
Services | Products | Library | Careers News | About Us | Contact Us | Search | Site Map

SQR Programmer Reference Card

SQR language version 2.x-6.x    

© 1998-2006, Ray Ontko & Co.

Don Mellen, Editor. Please direct comments, suggestions, and corrections to donm@ontko.com.

This document may be freely copied and distributed provided it is not modified in any way and it retains the original copyright notice.

Version 8.2 of our on-line card. (in progress)


TABLE OF CONTENTS


CONVENTIONS USED IN THIS DOCUMENT

     
  []   Optional parameters.
  {}   Required parameters.
  |   Separates a list of "either/or" options.
  ()   Notes or additional comments.
  (Item)+x.x   Denotes items that were added in version "x.x".
  (Item)*   Denotes items that are becoming obsolete (but still backward compatible).
  (Item)-x.x   Denotes items that were removed in version "x.x".

Items can be commands (in which case the version information applies to the entire command), or command options (in which case the version information applies only to that option within that command).

All information comes from a base of version 2.0, i.e. Any command or command option without version designation has existed since 2.0.

When listing the acceptable values for parameters with pre-defined values, the default value is listed first.


SQR COMMAND LINE

{SQR | SQRW | SQRJ+4.2, -5.1 | SQRWJ+4.2, -5.1 | SQRD+4.3.3 | SQRWD+4.3.3 | SQRDJ+4.3.3, -5.1 | SQRWDJ+4.3.3, -5.1} [Report] [Connectivity] [Flags...] [Args...] [@File]
  FLAGS FLAG DESCRIPTIONS
  -A Causes the report output to be appended to an existing file of the same name.
-Bn Indicates how many rows to buffer during each retrieve of data from the database.  (Oracle) (SYBASE CT-Lib)+3.0 (ODBC)+4.3.2
-BURST:{T|S|P}+4.1 T generates the TOC file.
S[Level] uses the symbolic TOC to generate, bursting on the level Level.
The flag -BURST:S is the same as -BURST:S1
P[Pages, Range[,Range]... ] uses page numbers to generate, Pages is the number of logical report pages for each HTML file, and Range is the page selection in one of the forms: x, x-y, x-, -y.
-BURST:P is the same as -BURST:P0,1- using -PRINTER:HT.
-BURST:P is the same as -BURST:P1- using -PRINTER:EH.
(Requires -PRINTER:HT or -PRINTER:EH)
-C+3.0 Makes the Cancel dialog box appear during program execution.  (Windows)
-CB+3.0 Forces the communication box to be used.  (Windows, Callable SQR)
-Dn Causes output to be displayed to the terminal as well as written to a file. Pauses after n lines. (Requires -PRINTER:LP)  (non-Windows)
-DB{database} Causes the program to use database. Overrides embedded SQR "USE" command.  (SYBASE)
-DEBUG[x] Causes 'DEBUG' to be defined. "#DEBUG" or "#ifdef DEBUG" lines will be compiled. The x allows multiple debugs. DEBUGAB defines DEBUG, DEBUGA, and DEBUGB.
-DNT:{x}+4.0 Specifies Default Numeric Type for numeric variables. x can be V30, Integer, Float, or Decimal. To specify a Decimal precision, append a colon delimiter. (i.e. -DNT:Decimal:20).
-E[file] Causes error messages to be recorded in the named or default file.
-EH_APPLETS+5.1 Specifies the directory for Enhanced HTML applets.
-EH_BQD+4.3.3 Create a (Report).bqd file (BrioQuery Data) from the data in the report and add a BQD icon to the HTML navigation bar.
-EH_BQD:file+6.0 Associate the BQD icon with the specified file.
-EH_BROWSER+5.1 ALL(default)+4.3.4 generates HTML that will auto-sense the browser being used. IE or NETSCAPE generates an HTML file designed for the specific browsers. BASIC+6.0 generates "every-browser" HTML.
(see also SQR.INI - Enhanced HTML)
-EH_CSV+4.3.1 Create a (Report).csv file from the data in the report.
-EH_CSV:file+4.3.1 Associate the CSV icon with the specified file.
-EH_CSVONLY+5.1 Create a (Report).csv file from the data in the report, but no accompanying HTML file.
-EH_DEBUG[:opts]+6.2 Create a Report.dbg file. File will contain messages about both internal and compiler errors.  Possible enhanced HTML debugging opts...
Timing (Show elapsed time of EHTML execution.)
Memory (Show memory usage statistics.)
Help (Show these options.)
-EH_FULLHTML:level+5.1 When True, report generates HTML 3.2.   (Possible values are 30, 32, or 40. True generates HTML 4.0)+6.0
(see also SQR.INI - Enhanced HTML)
-EH_ICONS:dir+4.3.1 Set directory where referenced HTML icons are stored.
-EH_IMAGES:dir+6.0 Set directory where navigation bar .GIF images are stored.
-EH_KEEP+6.0 Causes -EH_ZIP to copy instead of move.
-EH_LANGUAGE+5.1 English (default), French, German, Portuguese, or Spanish. Language for the navigation bar.
(see also SQR.INI - Enhanced HTML)
-EH_PDF+4.3.3 Add a PDF icon to the HTML navigation bar (automatic with -PRINTER:EP).
-EH_SCALE:n+4.3.1 Set Enhanced HTML scale from 50 to 200.
-EH_XIMG+6.1.3 Prevents path changes and format conversions for images. If checking into Portal, added this to the “Burst Options”.
-EH_XML:file+6.0 Associate the XML icon with the specified file.
-EH_ZIP:file+6.0 Moves generated files to file, or Report.zip if file not specified.
-F{lib | lib/f(m) | f(m)}+4.3.2 Will override the default output file name LIS(Report) and use the named file.  (Library can also be specified. If only a library is specified, the default-named report will be placed there. The "new-report" command ignores all -F settings.)  (Multiple -F flags will apply to each of multiple reports in the order that they are "declare-report"ed.)  (AS400)
-F{path | pathfile | file} Will override the default output file name Report.LIS and use the named file.  (Path can also be specified. If only a path is specified, the default-named report will be placed there. The "new-report" command ignores all -F settings.)+2.26  (Multiple -F flags will apply to each of multiple reports in the order that they are "declare-report"ed.)+3.0
-G{file_mode}+3.0 Enables specification of report output file mode.  (VM)
-G{file_attr}+2.26 Enables specification of report output file attributes.  (VMS) (OpenVMS)+3.0
-GPRINT={YES | NO}+4.0   If YES, ANSI control characters are written to the first column of each record of the file. NO omits the control characters.  (MVS)
-I{dir_list}+3.0 Specifies the #INCLUDE files search paths. Comma or semi-colon separated.
-ID+3.0 Displays the copyright banner on the console.  (non-Windows)
-KEEP+3.0 Creates an .SPF file for each report in addition to .LIS files.
-LL{S | D}{C | I}+3.0 Load-Lookup: S=SQR,D=DB , C=case sensitive,I=case insensitive.
-LOCK{xx}+3.0, -6.0 Defines the types of locking (isolation level) for the session.  (SQLBase)
-M{file} Points to a startup file containing program limits that override the defaults.
-N{database}-4.0 Uses the named database, rather than the default database.  (Rdb)
-NOLIS+3.0 Creates an .SPF file for each report instead of .LIS files.
-NR+3.0, -6.0 Uses the No Recovery mode when connecting to the database.  (SQLBase)
-O[file]+3.0 Directs log messages to file. Defaults to report.log or to sqr.log in the current directory.  (Windows)
-P+3.0 Directs output to the printer device.  (VM)
-P+4.3 Suppress printer control characters from column 1.  (MVS, AS400)
-PB+3.0 Causes column data to retain trailing blanks.  (Rdb-4.0 , Informix)
-P{id[/pass]}+3.0, -6.0 The role identifier used to associate permissions with SQR.  (Ingres)
-PRINTER:{xx}+3.0 Causes Printer type xx to be used when creating .LIS files. Valid values are LP, HP, HT+4.0 , EH+4.3.1 , EP+4.3.3 , PD+4.3.2.2 , PS, and WP (Windows only). WP output is sent to the printer without saving an output file. EP produces both EH and PD output. (EH is only available for limited platforms).
-PRINTER:WP:{unc}+6.0 Causes the printer with the UNC name unc to be used for printing. (Windows)
-RS Scans, syntax checks, and saves report and "ASK" responses in a 'run time' file called (Report).SQT.
-RT Immediately processes the 'run time' file and "ASK" responses saved with the -RS flag.
-S Causes the status of all cursors to be displayed at the end of the report run.
-SORT{n}+3.0, -6.0 Specifies the size of the sort buffer in characters.  (SQLBase)
-T{n} For testing - causes 'order by' clauses to be ignored to save time during testing. Tests for n pages.
-TB+4.0 Trims trailing blanks from character columns.  (SYBASE CT-Lib, ODBC+4.3)
-T{B | Z | BZ | ZB}+4.0 BMVS leaves trailing blanks on character columns. BAS400 removes trailing blanks on character columns. Z leaves trailing zeros on numeric columns. BZ or ZB does both.  (MVS/DB2, AS400/DB2)
-U{username}+3.0, -6.0 Specifies the user name, overriding the connectivity string.  (Ingres)
-V{server} Uses the named server.  (Sybase and SQL Server)
-V6+3.0, -4.0 Specifies V6 compatibility mode.  (Oracle)
-XB+3.0 Suppresses the SQR banner and the "SQR...End of Run" message.  (non-Windows)
-XC+2.20 Suppresses final commit.  (callable SQR)
-XCB+3.0 Do not use the communications box.  (Windows)
-XI+4.0.0.2 Do not use interaction. If an ASK or INPUT require user interaction, an error will occur.
-XL Prevents SQR from logging on to the database.
-XLFF+6.0 Prevents SQR from generating a trailing form-feed.
-XMB+3.0.13 Prevents program interruption by any message boxes. Errors will only be sent to an .err file and show/display statements will only be sent to a .log file. (Windows & NT)  See also: -E.
-XNAV+4.1 Prevents creation of the navigation bar when a single HTML file is produced by a single report (multiple HTML files will still trigger the navigation bar creation)
-XP+3.0 prevents SQR from creating temporary stored procedures.   (SYBASE DB-Lib)-4.0  (SYBASE CT-Lib)+3.0.13
-XTB+3.0 Preserves the trailing blanks in a .LIS file.
-XTOC+4.1 Prevents the Table of Contents creation if the -PRINTER: flag is other than HT or EH.
-ZEN{name}+6.1.4 Set default encoding name
-ZIF{file}+4.0 Sets the full path & name of the SQR initialization file, SQR.INI.
-ZIV+4.0 Invokes the SPF viewer after generating the program.spf file. The -KEEP flag is implicitly invoked. Only the first report will be passed to the viewer.
-ZMF{file}+3.0 Specifies the full path & name of the SQR Error Message file, sqrerr.dat.
-ZRF{file}+5.1 Specifies the full path & name of an alternate registry.properties file (used to access SAP R/3).

Args...
Arguments are used by the SQR ASK and INPUT commands while report runs.
 
@File
Files contain report arguments, one argument per line.

SQRT COMMAND LINE+3.0

{SQRT | SQRWT | SQRTJ+4.2, -5.1 | SQRWTJ+4.2, -5.1 | SQRDT+4.3.3 | SQRWDT+4.3.3 | SQRDTJ+4.3.3, -5.1 | SQRWDTJ+4.3.3, -5.1} [Report] [Connectivity] [Flags...] [Args...] [@File]
  FLAGS FLAG DESCRIPTIONS
  -A Causes the report output to be appended to an existing file of the same name.
-Bn-4.1 Indicates how many rows to buffer during each retrieve of data from the database.  (Oracle) (SYBASE CT-Lib) (ODBC)+4.3.2
-BURST:{T|S|P}+4.1 T generates the TOC file.
S[Level] uses the symbolic TOC to generate, bursting on the level Level.
The flag -BURST:S is the same as -BURST:S1
P[Pages, Range[,Range]... ] uses page numbers to generate, Pages is the number of logical report pages for each HTML file, and Range is the page selection in one of the forms: x, x-y, x-, -y.
-BURST:P is the same as -BURST:P0,1- using -PRINTER:HT.
-BURST:P is the same as -BURST:P1- using -PRINTER:EH.
(Requires -PRINTER:HT or -PRINTER:EH)
-C Makes the Cancel dialog box appear during program execution.  (Windows)
-CB Forces the communication box to be used.  (Windows, Callable SQR)
-Dn Causes output to be displayed to the terminal as well as written to a file. Pauses after n lines. (Requires -PRINTER:LP)  (non-Windows)
-DB{database} Causes the program to use database. Overrides embedded SQR "USE" command.  (SYBASE)
-E[file] Causes error messages to be recorded in the named or default file.
-EH_APPLETS+5.1 Specifies the directory for Enhanced HTML applets.
-EH_BQD+4.3.3 Create a (Report).bqd file (BrioQuery Data) from the data in the report and add a BQD icon to the HTML navigation bar.
-EH_BQD:file+6.0 Associate the BQD icon with the specified file.
-EH_BROWSER+5.1 ALL(default)+4.3.4 generates HTML that will auto-sense the browser being used. IE or NETSCAPE generates an HTML file designed for the specific browsers. BASIC+6.0 generates "every-browser" HTML.
(see also SQR.INI - Enhanced HTML)
-EH_CSV+4.3.1 Create a (Report).csv file from the data in the report.
-EH_CSV:file+4.3.1 Associate the CSV icon with the specified file.
-EH_CSVONLY+5.1 Create a (Report).csv file from the data in the report, but no accompanying HTML file.
-EH_DEBUG[:opts]+6.2 Create a Report.dbg file. File will contain messages about both internal and compiler errors.  Possible enhanced HTML debugging opts...
Timing (Show elapsed time of EHTML execution.)
Memory (Show memory usage statistics.)
Help (Show these options.)
-EH_FULLHTML:level+5.1 When True, report generates HTML 3.2.   (Possible values are 30, 32, or 40. True generates HTML 4.0)+6.0
(see also SQR.INI - Enhanced HTML)
-EH_ICONS:dir+4.3.1 Set directory where referenced HTML icons are stored.
-EH_IMAGES:dir+6.0 Set directory where navigation bar .GIF images are stored.
-EH_KEEP+6.0 Causes -EH_ZIP to copy instead of move.
-EH_LANGUAGE+5.1 English (default), French, German, Portuguese, or Spanish. Language for the navigation bar.
(see also SQR.INI - Enhanced HTML)
-EH_PDF+4.3.3 Add a PDF icon to the HTML navigation bar (automatic with -PRINTER:EP).
-EH_SCALE:n+4.3.1 Set Enhanced HTML scale from 50 to 200.
-EH_XIMG+6.1.3 Prevents path changes and format conversions for images. If checking into Portal, added this to the “Burst Options”.
-EH_XML:file+6.0 Associate the XML icon with the specified file.
-EH_ZIP:file+6.0 Moves generated files to file, or Report.zip if file not specified.
-F{lib | lib/f(m) | f(m)}+4.3.2 Will override the default output file name LIS(Report) and use the named file.  (Library can also be specified. If only a library is specified, the default-named report will be placed there. The "new-report" command ignores all -F settings.)  (Multiple -F flags will apply to each of multiple reports in the order that they are "declare-report"ed.)  (AS400)
-F{path | pathfile | file} Will override the default output file name (Report).LIS and use the named file.  (Path can also be specified. If only a path is specified, the default-named report will be placed there. The "new-report" command ignores all -F settings.)  (Multiple -F flags will apply to each of multiple reports in the order that they are "declare-report"ed.)
-G{file_mode} Enables specification of report output file mode.  (VM)
-G{file_attr} Enables specification of report output file attributes.  (VMS) (OpenVMS)
-GPRINT={YES | NO}+4.0   If YES, ANSI control characters are written to the first column of each record of the file. NO omits the control characters.  (MVS)
-ID Displays the copyright banner on the console.  (non-Windows)
-KEEP Creates an .SPF file for each report in addition to .LIS files.
-LOCK{xx}-6.0 Defines the types of locking (isolation level) for the session.  (SQLBase)
-N{database}-4.0 Uses the named database, rather than the default database.  (Rdb)
-NOLIS Creates an .SPF file for each report instead of .LIS files.
-NR-6.0 Uses the No Recovery mode when connecting to the database.  (SQLBase)
-O[file] Directs log messages to file. Defaults to report.log or to sqr.log in the current directory.  (Windows)
-P Directs output to the printer device.  (VM)
-P+4.3 Suppress printer control characters from column 1.  (MVS, AS400)
-PB Causes column data to retain trailing blanks.  (Rdb-4.0 , Informix)
-P{id[/pass]}-6.0 The role identifier used to associate permissions with SQR.  (Ingres)
-PRINTER:{xx} Causes Printer type xx to be used when creating .LIS files. Valid values are LP, HP, HT+4.0 , EH+4.3.1 , EP+4.3.3 , PD+4.3.2.2 , PS, and WP (Windows only). WP output is sent to the printer without saving an output file. EP produces both EH and PD output. (EH is only available for limited platforms).
-PRINTER:WP:{unc}+6.0 Causes the printer with the UNC name unc to be used for printing. (Windows)
-S Causes the status of all cursors to be displayed at the end of the report run.
-SORT{n}-6.0 Specifies the size of the sort buffer in characters.  (SQLBase)
-Tn For testing - causes 'order by' clauses to be ignored to save time during testing. Tests for n pages.
-TB+4.0 Trims trailing blanks from character columns.  (SYBASE CT-Lib, ODBC+4.3)
-T{B | Z | BZ | ZB}+4.0 BMVS leaves trailing blanks on character columns. BAS400 removes trailing blanks on character columns. Z leaves trailing zeros on numeric columns. BZ or ZB does both.  (MVS/DB2, AS400/DB2)
-U{username}-6.0 Specifies the user name, overriding the connectivity string.  (Ingres)
-V{server} Uses the named server.  (Sybase and SQL Server)
-V6-4.0 Specifies V6 compatibility mode.  (Oracle)
-XB Suppresses the SQR banner and the "SQR...End of Run" message.  (non-Windows)
-XC Suppresses final commit.  (callable SQR)
-XCB Do not use the communications box.  (Windows)
-XL Prevents SQR from logging on to the database.
-XLFF+6.0 Prevents SQR from generating a trailing form-feed.
-XMB+3.0.13 Prevents program interruption by any message boxes. Errors will only be sent to an .err file and show/display statements will only be sent to a .log file. (Windows & NT)  See also: -E.
-XNAV+4.1 Prevents creation of the navigation bar when a single HTML file is produced by a single report (multiple HTML files will still trigger the navigation bar creation)
-XP prevents SQR from creating temporary stored procedures.   (SYBASE DB-Lib)-4.0  (SYBASE CT-Lib)+3.0.13
-XTB Preserves the trailing blanks in a .LIS file.
-XTOC+4.1 Prevents the Table of Contents creation if the -PRINTER: flag is other than HT or EH.
-ZEN{name}+6.1.4 Set default encoding name
-ZIF{file}+4.0 Sets the full path & name of the SQR initialization file, SQR.INI.
-ZIV+4.0 Invokes the SPF viewer after generating the program.spf file. The -KEEP flag is implicitly invoked. Only the first report will be passed to the viewer.
-ZMF{file} Specifies the full path & name of the SQR Error Message file, sqrerr.dat.
-ZRF{file}+5.1 Specifies the full path & name of an alternate registry.properties file (used to access SAP R/3).

Args...
Arguments are used by the SQR ASK and INPUT commands while report runs.
 
@File
Files contain report arguments, one argument per line.

SQRP COMMAND LINE+3.0

{SQRP | SQRWP | SQRPJ+4.2, -5.1 | SQRWPJ+4.2, -5.1} [spf-File] [Flags...]
  FLAGS FLAG DESCRIPTIONS
-A Causes the report output to be appended to an existing file of the same name.
-BURST:{T|S|P}+4.1 T generates the TOC file.
S[Level] uses the symbolic TOC to generate, bursting on the level Level.
The flag -BURST:S is the same as -BURST:S1
P[Pages, Range[,Range]... ] uses page numbers to generate, Pages is the number of logical report pages for each HTML file, and Range is the page selection in one of the forms: x, x-y, x-, -y.
-BURST:P is the same as -BURST:P0,1- using -PRINTER:HT.
-BURST:P is the same as -BURST:P1- using -PRINTER:EH.
(Requires -PRINTER:HT or -PRINTER:EH)
-Dn Causes output to be displayed to the terminal as well as written to a file. Pauses after n lines. (Requires -PRINTER:LP)  (non-Windows)
-DELETE+4.0, -6.0 Delete the .SPF file after the .LIS file is created.
-E[file] Causes error messages to be recorded in the named or default file.
-EH_APPLETS+5.1 Specifies the directory for Enhanced HTML applets.
-EH_BQD+4.3.3 Create a (Report).bqd file (BrioQuery Data) from the data in the report and add a BQD icon to the HTML navigation bar.
-EH_BQD:file+6.0 Associate the BQD icon with the specified file.
-EH_BROWSER+5.1 ALL(default)+4.3.4 generates HTML that will auto-sense the browser being used. IE or NETSCAPE generates an HTML file designed for the specific browsers.
(see also SQR.INI - Enhanced HTML)
-EH_CSV+4.3.1 Create a (Report).csv file from the data in the report.
-EH_CSV:file+4.3.1 Associate the CSV icon with the specified file.
-EH_CSVONLY+5.1 Create a (Report).csv file from the data in the report, but no accompanying HTML file.
-EH_DEBUG[:opts]+6.2 Create a Report.dbg file. File will contain messages about both internal and compiler errors.  Possible enhanced HTML debugging opts...
Timing (Show elapsed time of EHTML execution.)
Memory (Show memory usage statistics.)
Help (Show these options.)
-EH_FULLHTML:level+5.1 When True, report generates HTML 3.2.   (Possible values are 30, 32, or 40. True generates HTML 4.0)+6.0
(see also SQR.INI - Enhanced HTML)
-EH_ICONS:dir+4.3.1 Set directory where referenced HTML icons are stored.
-EH_IMAGES:dir+6.0 Set directory where navigation bar .GIF images are stored.
-EH_KEEP+6.0 Causes -EH_ZIP to copy instead of move.
-EH_LANGUAGE+5.1 English (default), French, German, Portuguese, or Spanish. Language for the navigation bar.
(see also SQR.INI - Enhanced HTML)
-EH_PDF+4.3.3 Add a PDF icon to the HTML navigation bar (automatic with -PRINTER:EP).
-EH_SCALE:n+4.3.1 Set Enhanced HTML scale from 50 to 200.
-EH_XIMG+6.1.3 Prevents path changes and format conversions for images. If checking into Portal, added this to the “Burst Options”.
-EH_XML:file+6.0 Associate the XML icon with the specified file.
-EH_ZIP:file+6.0 Moves generated files to file, or Report.zip if file not specified.
-F{lib | lib/f(m) | f(m)}+4.3.2 Will override the default output file name LIS(Report) and use the named file.  (Library can also be specified. If only a library is specified, the default-named report will be placed there. The "new-report" command ignores all -F settings.)  (Multiple -F flags will apply to each of multiple reports in the order that they are "declare-report"ed.)  (AS400)
-F{path | pathfile | file} Will override the default output file name (Report).LIS and use the named file.  (Path can also be specified. If only a path is specified, the default-named report will be placed there. The "new-report" command ignores all -F settings.)  (Multiple -F flags will apply to each of multiple reports in the order that they are "declare-report"ed.)
-G{file_mode} Enables specification of report output file mode.  (VM)
-G{file_attr} Enables specification of report output file attributes.  (VMS) (OpenVMS)
-GPRINT={YES | NO}+4.0   If YES, ANSI control characters are written to the first column of each record of the file. NO omits the control characters.  (MVS)
-ID Displays the copyright banner on the console.  (non-Windows)
-O[file] Directs log messages to file. Defaults to report.log or to sqr.log in the current directory.  (Windows)
-P Directs output to the printer device.  (VM)
-P+4.3 Suppress printer control characters from column 1.  (MVS, AS400)
-PRINTER:{xx} Causes Printer type xx to be used when creating .LIS files. Valid values are LP, HP, HT+4.0 , EH+4.3.1 , EP+4.3.3 , PD+4.3.2.2 , PS, and WP (Windows only). WP output is sent to the printer without saving an output file. EP produces both EH and PD output. (EH is only available for limited platforms).
-PRINTER:WP:{unc}+6.0 Causes the printer with the UNC name unc to be used for printing. (Windows)
-XB Suppresses the SQR banner and the "SQR...End of Run" message.  (non-Windows)
-XLFF+6.0 Prevents SQR from generating a trailing form-feed.
-XNAV+4.1 Prevents creation of the navigation bar when a single HTML file is produced by a single report (multiple HTML files will still trigger the navigation bar creation)
-XTB Preserves the trailing blanks in a .LIS file.
-XTOC+4.1 Prevents the Table of Contents creation if the -PRINTER: flag is other than HT or EH.
-ZEN{name}+6.1.4 Set default encoding name
-ZIF{file}+4.0 Sets the full path & name of the SQR initialization file, SQR.INI.
-ZMF{file} Specifies the full path & name of the SQR Error Message file, sqrerr.dat.

 


SPECIAL CHARACTERS

(denoting data type)
& Begins a "bind" variable for a database column or expression, regardless of type.
$ Begins a text or date+4.0 variable.
# Begins a numeric variable. (Decimal+4.0 , Floating point, or Integer+4.0).
% Begins a list variable.+5.1 (DDO only)
@ Begins a marker location variable, used for identifying position fields inside BEGIN-DOCUMENT paragraphs.
' (Single Quote). Surrounds a text literal. For example, 'Ray Ontko & Co.'.
Double to include a quote inside a literal. For example, '''Yes!!'', he said.'.
NOTE: The exclamation mark must also be doubled or the rest of the line will be considered a comment.
! Begins a comment, everything after the mark will not be compiled.
- A dash at the end of a line continues the command onto the next line.
{} Encloses a substitution variable.
[] Encloses a dynamic SQL variable, dynamic query variable, or dynamic table name.  Or a dynamic column name+3.0
0X Begins a literal Hex number+6.1.4  It is case INsensitive. Examples:
let #num = 0x53e58d
let #num = '0x53e58d'
move '0X53E58D' to #num
move 0X53E58D to #num !-- (not valid)
while #i < 0x53E58d !-- (check against 5,498,253)

Variable names may be of any length and are case insensitive. Variable names are known globally throughout a report, except if used in a local procedure, in which case they are local. To reference a global variable from within a local procedure, put an underscore between the special character and the variable name.


DATA TYPES+4.0

DECIMAL
Numeric with a precision (total number of digits used to represent the number) from 1 to 38 (default 16). Valid decimal numbers are in the range -9.9999999999999999999999999999999999999E+4096 to +9.9999999999999999999999999999999999999E+4096
FLOAT
Double precision floating point numeric. Range and precision of these are machine dependent. Default type for numeric variables (this was the only numeric type in version 3.x and before).
INTEGER
Numeric integers with a range of -2,147,483,648 to +2,147,483,648.
DATE
Date in the range of January 1, 4713 BC to December 31, 9999 AD.
TEXT or CHAR
String. Length is limited by the memory of your computer.
LIST+5.1 (DDO)
A non-recursive ordered collection of SQR variables.
If not defined with "declare-variable", any variable beginning with a "$" is a string variable.  Any variable beginning with a "#" is the "default-numeric" type from "declare-variable" (defaults to float).

The "let", "move", "get" and "put" commands will auto-convert between some data types.  They will auto-convert string <-> numeric, and string <-> date.  They will not convert date <-> numeric.


PRE-DEFINED VARIABLES

#current-column The current column on the page.
$current-date +4.0 The current date-time on the local machine when SQR starts running the program.
#current-line Refers to the physical line number on the page.
#end-file Set to one (1) if end of file occurs on READ, otherwise zero (0).
#page-count The current page number.
#return-status Value to be returned to the operating system when SQR exits.
#sql-count The count of rows affected by a DML statement (insert, update and delete).
$sql-error The text message from the database explaining the most recent error.
#sql-status The status value from the database after each query is compiled or executed.
$sqr-database +3.0 The database type for which SQR was compiled. Valid values are:  ALLBASE-4.0    DB2    INFORMIX    INGRES-6.0    ODBC+4.0    ORACLE    RDB-4.0    REDBRICK+4.3, -6.0    SQLBASE-6.0    SYBASE   
{sqr-database} +3.0 see $sqr-database above
$sqr-dbcs +4.2 Will be "YES" when referenced from double-byte enabled executables.
{sqr-dbcs} +4.2 see $sqr-dbcs above
$sqr-encoding +4.2 Will hold the value of the ENCODING environment variable (see Encodings).
{sqr-encoding} +4.2 see $sqr-encoding above
$sqr-encoding-console +6.0 Will hold the value of the log file or console ENCODING environment variable (see Encodings).
{sqr-encoding-console} +6.0 see $sqr-encoding-console above
$sqr-encoding-database +5.1 Will hold the value of the database ENCODING environment variable (see Encodings).
{sqr-encoding-database} +5.1 see $sqr-encoding-database above
$sqr-encoding-file-input +5.1 Will hold the value of the input file ENCODING environment variable (see Encodings).
{sqr-encoding-file-input} +5.1 see $sqr-encoding-file-input above
$sqr-encoding-file-output +5.1 Will hold the value of the output file ENCODING environment variable (see Encodings).
{sqr-encoding-file-output} +5.1 see $sqr-encoding-file-output above
$sqr-encoding-report-output +5.1 Will hold the value of the database ENCODING environment variable (see Encodings).
{sqr-encoding-report-output} +5.1   see $sqr-encoding-report-output above
$sqr-encoding-source +6.0 Will hold the value of the source and include files ENCODING environment variable (see Encodings).
{sqr-encoding-source} +6.0   see $sqr-encoding-source above
$sqr-hostname +4.3.1 The name of the machine that this SQR is running on.
{sqr-hostname} +4.3.1 see $sqr-hostname above
$sqr-locale +4.0 The name of the current locale. A "+" at the end means a value has changed.
#sqr-max-columns +4.3.2 Maximum number of columns with the current layout. Is updated when a new report is selected.
#sqr-max-lines +4.3.2 Maximum number of lines with the current layout. Is updated when a new report is selected.
#sqr-pid +3.0 The process ID of the current SQR process. Unique for each run of SQR.
$sqr-platform +3.0 The hardware/operating system type for which SQR was compiled. Valid values are:  DOS-4.0   MVS   WINDOWS   WINDOWS-NT+4.0   UNIX   VM-6.0   VMS  
{sqr-platform} +3.0 see $sqr-platform above
$sqr-program +3.0 The name of the SQR program file.
$sqr-report +3.0 The name of the report output file. Reflects the actual name to be used (-F flag or NEW-REPORT command).
#sqr-toc-level +4.3.3 Level of current TOC entry.
#sqr-toc-page +4.3.3 Page number of current TOC entry.
$sqr-toc-text +4.3.3 Text of current TOC entry.
$sqr-ver +3.0 The text string shown with the -ID flag.
$username The database username specified on the command line.

ENVIRONMENT VARIABLES & SQR.INI +3.0.? for Windows   +4.0 for Unix

NOTES:
SQR.INI was introduced just after 3.0 for Windows platforms and in 4.0 for Unix flavors.
This is intended to be a reference of lesser known options and is not intended to be a comprehensive listing.
The "Environment-XXX" section contains values that may also be set as environment variables.
[Color Map] 
color_name +6.0 Define the (rgb) colors for this color_name (repeatable)
 
[Default-Settings] 
AllowDateAsChar +4.3 When TRUE (default is FALSE) date columns will be retrieved as characters (like pre-4.0).
AutoDetectUnicodeFiles +6.1.3 When TRUE (default is FALSE) SQR will read the first 2 bytes of a file to determine the encoding for the file (unless encoding was specified within the "open" command).
Default-Numeric +4.0 Specifies Default Numeric Type for numeric variables. Can be V30, INTEGER, FLOAT, or DECIMAL. To specify a DECIMAL precision, use parentheses. i.e. DECIMAL(20). (see also: Command Line Flag -DNT).
FixODBCAccuracy +4.3.2.2 When TRUE (default is FALSE) SQR will correct "float" column anomalies occuring with Microsost ODBC drivers greater than 2.65.240.
Locale +4.0 SYSTEM (default) or locale name to use as initial locale when an SQR starts.
NewGraphics +6.0 When TRUE (default is FALSE) SQR will allow many advanced chart features
Output-File-Mode +4.0 SHORT (default)-4.1 or LONG (default)+4.1 file names for HTML output. Ignored on 16-bit platforms.
OutputFormFeedWithDashD +4.3.1 When TRUE (default is FALSE) the -Dn flag will also output a Form-Feed character.
OutputTwoDigitYearWarningMsg +4.3.1 When TRUE (default) SQR will send a warning message to the error file when a YY or RR date edit mask is encountered when running program. This only effects SQR code that is processed.
PDFCompressionText +6.1.3 Sets the level of PDF text compression from 0 (no compression - fast) to 9 (max compression - slower). Default is 6.
PDFCompressionGraphics +6.1.3 Sets the level of PDF graphics compression from 0 (no compression - fast) to 9 (max compression - slower). Default is 6.
Substitution-Character +6.1.3 Allows defining the substitution character for undefined characters within a character set.  Format is
    XX  ENCODING_1 [, XX  ENCODING_2... [, XX  Default] ]
Where XX is the hexidecimal value of the substitution character. (see Encodings)
UseUnicodeInternal +6.1.3 When TRUE (default is FALSE) forces SQR to use Unicode internally. Allows any encoding combinations in a single SQR run (including ASCII and EBCDIC).
UseY2kCenturyAlgorithm +4.3.1 When TRUE (FALSE is default) SQR will treat the "YY" date edit mask as though it were an "RR" date edit mask.
 
[Enhanced-HTML] 
Browser +4.3.3 ALL(default)+4.3.4 generates HTML that will auto-sense the browser being used. IE or NETSCAPE generates an HTML file designed for the specific browsers.
FullHTML +4.3.1 When True, then report generates HTML 3.2.
Language +4.3.1 English (default), French, German+4.3.3 , Portuguese+4.3.3 , or Spanish+4.3.3 . Language for the navigation bar.
 
[Environment:Common]
[Environment:{DB2 | ODBC | Sybase | Oracle | Ingres-6.0 | SQLBase-6.0 | Informix | DDO+6.0}]
ENCODING +4.2 Encoding used by default. Default setting is ASCII. (see Encodings)
ENCODING-CONSOLE +5.1 Encoding used for console input and output. Default setting is ASCII. (see Encodings)
ENCODING-DATABASE +5.1 Encoding used for interfacing with the database. Default setting is ASCII. (see Encodings)
ENCODING-FILE-INPUT +5.1 Default encoding used for “OPEN” for-reading files and argument files. Default setting is ASCII. (see Encodings)
ENCODING-FILE-OUTPUT +5.1 Default encoding used for “OPEN” for-writing files. Default setting is ASCII. (see Encodings)
ENCODING-REPORT-OUTPUT +5.1 Default encoding used for report output, such as, SPF, LIS, HTM, etc. Default setting is ASCII. (see Encodings)
ENCODING-SQR-SOURCE +6.0 Encoding used for SQR source and include files. Default setting is ASCII. (see Encodings)
SQR_DB_DATE_FORMAT +4.0 Format for string comparison to date columns.
SQR_DB_DATE_ONLY_FORMAT +4.2 Format for string comparison to date columns that only have a date component.
SQR_DB_TIME_ONLY_FORMAT +4.2 Format for string comparison to date columns that only have a time component.
SQR_JRE_EXE +6.0 Path and name of the JRE executable.
SQR_JRE_FLAGS +6.0 Passes arbitrary flags to the "jre" when processing SPF files.
SQR_JRE_VER +6.0 Version of the JRE executable.
 
[Environment:DDO]+6.0
SQR_DDO_JRE_CLASS  Classpath for DDO drivers, support files.
SQR_DDO_JRE_CLASS{n}  Optional; additional entries to the classpath.
SQR_DDO_JRE_INIT_HEAP +6.2 (default: 4M) Size of the initial heap. Value may be set as N (bytes), NK (Kilobytes) or NM (Megabytes).
SQR_DDO_JRE_MAX_HEAP +6.2 (default: 32M) Maximum size of the heap. Value may be set as n (bytes), nK (Kilobytes) or nM (Megabytes).
SQR_DDO_JRE_NOCLASSGC +6.2 When TRUE (default is FALSE) will prevent Class Garbage Collection.
SQR_DDO_JRE_NOJIT +6.2 When TRUE (default is FALSE) will disable the JIT compiler.
SQR_DDO_JRE_PATH  Classpath information for the local JRE.
SQR_DDO_JRE_VERBOSE +6.2 When TRUE (default is FALSE) will run the JVM in Verbose mode. (Note: This creates a file in the current working directory called 'vm.out'.)
 
[Fonts] 
CharacterSet +4.3.3 (Windows Only) DEFAULT will emulate previous versions of SQR. AUTO will use the Windows default character set with -PRINTER:WP or when viewing SPF files. Alternately, you may set a specific character set with the following keywords:
ANSI  ARABIC  BALTIC  CHINESEBIG5  EASTEUROPE  GB2312  GREEK  HANGUL  HEBREW  JOHAB  MAC  OEM  RUSSIAN  SHIFTJIS  SYMBOL  THAI  TURKISH  VIETNAMESE 
 
[PDF Fonts]+4.3.2.2
font_number  Maps an SQR font number to an ADOBE font for PDF output. The assignment form is...
Typeface [ , CJK_Typeface , Charcter_Map]+6.1.4  (see Non-Roman PDF Fonts for possible values)
 
[HTML-Images] 
FIRST-PAGE +4.1 Graphic info for the navigation bar in the form Height,Width,Name (default is 60,60,firstpg.gif).
PREV-PAGE +4.1 Graphic info for the navigation bar in the form Height,Width,Name (default is 60,60,prevpg.gif).
NEXT-PAGE +4.1 Graphic info for the navigation bar in the form Height,Width,Name (default is 60,60,nextpg.gif).
LAST-PAGE +4.1 Graphic info for the navigation bar in the form Height,Width,Name (default is 60,60,lastpg.gif).
WALLPAPER +4.1 The "Wallpaper" graphic name (default is none).
 
[SQR Remote] 
PASSIVE +6.0 For Report Activator - a value of 1 causes the FTP passive method of username/password verification to be used.
 

POSITION SYNTAX

(a,b,c) where

Line position and column position values may be fixed, or relative.

Examples:

       print &name (10,15,30)
Will be printed on line 10, column 15.

       print &address (+1,15,30)
Will be printed directly below the name.

       print &city (,50)
Will be printed on the same line as address at column 50.


RGB SYNTAX

r,g,b where

Examples:

       declare-color-map
          red=(255,0,0)
          green=(0,255,0)
          blue=(0,0,255)
          white=(255,255,255)
          grey=(128,128,128)
          black=(0,0,0)
       end-declare
       
       SET-COLOR 
             PRINT-TEXT-FOREGROUND = (128,#green_level,&blue_level)
             PRINT-TEXT-BACKGROUND = ('black')


ARRAY DOT SYNTAX

Array elements may be referenced and altered within an expression (LET, IF, or WHILE commands) by using the special "dot" syntax in the form:

    array.field(element[,occurs])

Examples:

       if states.name(1) = 'Alabama'
          let states.abbrev(1) = 'AL'
          let $State_Bird    = states.things(2,1)
          let $State_Flower  = states.things(2,2)
          let chosen.bird(#curr) = states.things(2,1)
       end-if


COMMAND REFERENCE

KEY:
Date+4.0 Text Numeric List+5.1
$d Variable $t Variable #n Variable %l Variable 
&d Column &t Column &n Column  
£d Literal £t Literal £n Literal
~d Variable or Literal  ~t Variable or Literal  ~n Variable or Literal 
d Var, Lit, or Col  t Var, Lit, or Col  n Var, Lit, or Col 
 
v Any Variable value Any Variable, Literal, or Column
NOTES:
In some cases, the only significant portion of a numeric is its truncated integer value.  An "i" is used to designate these cases, but this does not mean that an integer data type is required.
Similarly, some values are returned as floating point and designated with an f, but they are not restricted to being stored into that data type.
"Round" parameter ranges depend on the data type. Float types rounded can be from 1 to 15, Decimal types can be from 1 to its precision.
ADD  n TO #n [ROUND= £i]
ALTER-COLOR-MAP +6.0  
{NAME= t_color_name}
{VALUE= (t_color_name | rgb)}
ALTER-CONNECTION +5.1 (DDO)  
{NAME= £t_connection_name}
[DSN= ~t_data_source_name]
[USER= ~t_username]
[PASSWORD= ~t_password]
[PARAMETERS= £t_keyword1=£t_value1;[£t_keyword2=£t_value2;[...]]]
[NO-DUPLICATE= {TRUE | FALSE}]+5.2
[SET-GENERATIONS= (£t_dimension1,£n_hierarchy1[,£t_dimension2,£n_hierarchy2[, ...]])] +6.0
[SET-LEVELS= (£t_dimension1,£n_level1[,£t_dimension2,£n_level2[, ...]])] +6.0
[SET-MEMBERS= (£t_dimension1,£t_level1[,£t_dimension2,£t_level2[, ...]])] +6.0
ALTER-LOCALE +4.0  
[LOCALE= {SYSTEM | DEFAULT | ~t_locale_name}]
[NUMBER-EDIT-MASK= {SYSTEM | DEFAULT | ~t_edit_mask}]
[MONEY-EDIT-MASK= {SYSTEM | DEFAULT | ~t_edit_mask}]
[DATE-EDIT-MASK= {SYSTEM | DEFAULT | ~t_edit_mask}]
[INPUT-DATE-EDIT-MASK= {SYSTEM | DEFAULT | ~t_edit_mask}]
[MONEY-SIGN= {SYSTEM | DEFAULT | ~t_money_sign}]
[MONEY-SIGN-LOCATION=
{SYSTEM | DEFAULT | LEFT | RIGHT | $t_location}]
[THOUSAND-SEPARATOR= {SYSTEM | DEFAULT | ~t_separator}]
[DECIMAL-SEPARATOR= {SYSTEM | DEFAULT | ~t_separator}]
[DATE-SEPARATOR= {SYSTEM | DEFAULT | ~t_separator}]
[TIME-SEPARATOR= {SYSTEM | DEFAULT | ~t_separator}]
[EDIT-OPTION-NA= {SYSTEM | DEFAULT | ~t_na_chars}]
[EDIT-OPTION-AM= {SYSTEM | DEFAULT | ~t_am_chars}]
[EDIT-OPTION-PM= {SYSTEM | DEFAULT | ~t_pm_chars}]
[EDIT-OPTION-BC= {SYSTEM | DEFAULT | ~t_bc_chars}]
[EDIT-OPTION-AD= {SYSTEM | DEFAULT | ~t_ad_chars}]
[DAY-OF-WEEK-CASE=
{SYSTEM | DEFAULT | EDIT | UPPER | LOWER | NO-CHANGE | $t}]
[DAY-OF-WEEK-FULL=(~t_day1, ... ~t_day7)]
[DAY-OF-WEEK-SHORT=(~t_day1, ... ~t_day7)]
[MONTHS-CASE=
{SYSTEM | DEFAULT | EDIT | UPPER | LOWER | NO-CHANGE | $t}]
[MONTHS-FULL=(~t_month1, ... ~t_month12)]
[MONTHS-SHORT=(~t_month1, ... ~t_month12)]
ALTER-PRINTER +3.0
[POINT-SIZE= n_points]
[FONT-TYPE= {PROPORTIONAL | FIXED | t_font-type_txt}]
[SYMBOL-SET= t_HP_defined_symbol_set]
[FONT= i_font]
[PITCH= n_pitch]
ALTER-REPORT +6.0
[HEADING= t_heading_name]
[HEADING-SIZE= n_new_size]
[FOOTING= t_footing_name]
[FOOTING-SIZE= n_new_size]
ARRAY-ADD  n... TO array_name(i_element) [field[(i_occurs)]...]
ARRAY-DIVIDE  n... INTO array_name(i_element) [field[(i_occurs)]...]
ARRAY-MULTIPLY  n... TIMES array_name(i_element) [field[(i_occurs)]...]
ARRAY-SUBTRACT  n... FROM array_name(i_element) [field[(i_occurs)]...]
ASK  substitution_variable [£t_prompt]
BEGIN-DOCUMENT  position
BEGIN-EXECUTE +5.1 (DDO)  
[CONNECTION= £t_connection_name]
[PROPERTIES= (~t_keyword1=value_1, [~t_keyword2=value_2, [...] ] )]
[ON-ERROR=procedure [(arg1,arg2,...argN)]]
[RSV= #n_row_set_variable]
[STATUS= {%l_stat | #n_stat | $t_stat}]
[SCHEMA= ~t_schema]
[PROCEDURE= ~t_proc
[PARAMETERS= ( {%l_arg | n_arg | t_arg} [IN|INOUT|NULL] [, ...] )]
    | COMMAND= ~t_command
    | GETDATA= ~t_ddo_getdata]
[BEGIN-SELECT
[BEFORE=sqr_procedure [(arg1,arg2,...argN)]]
[AFTER=sqr_procedure [(arg1,arg2,...argN)]]
col-name type={char|text|number|date} [edit-mask] [on-break] ...
{FROM ROWSETS= (x, x-y, x-, -y | ALL) | FROM PARAMETER = ~t }
END-SELECT]
END-EXECUTE
BEGIN-FOOTING  £i_footing_lines
[NAME=footing_name]+6.0
[FOR-REPORTS=(report_name1,...report_nameN)]+3.0
[FOR-TOCS=(toc_name1,...toc_nameN)]+4.1
BEGIN-HEADING  £i_heading_lines
[NAME=heading_name]+6.0
[FOR-REPORTS=(report_name1,...report_nameN)]+3.0
[FOR-TOCS=(toc_name1,...toc_nameN)]+4.1
BEGIN-PROCEDURE  procedure_name [LOCAL | (arg1,arg2,...argN)]
BEGIN-PROGRAM +3.0
BEGIN-REPORT * (alternative: Begin-Program)
BEGIN-SELECT
[DISTINCT]
[-C£n_buffer_size]   (Ingres-6.0,Oracle,SQLBase-6.0)
[-C£n_connection]+3.0, -4.0   (SYBASE DB-Lib)
[-B£n]   (Oracle,SYBASE CT-Lib) (ODBC)+4.3.2
[-XP]+3.0   (SYBASE)
[-NR]+3.0, -6.0   (SQLBase)
[-SORT£n]+3.0, -6.0   (SQLBase)
[-LOCK{RR | CS | RO | RL | XX}]+3.0, -6.0   (SQLBase)
[-DBdatabase_name]+3.0, -6.0   (SQLBase)
[-DBconnection_string]+4.0   (ODBC)
[LOOPS= £n]
[ON-ERROR=procedure [(arg1,arg2,...argN)]+3.0 ]
BEGIN-SETUP
(The following are used exclusively in the SETUP section, ASK, DECLARE-CHART, DECLARE-COLOR-MAP, DECLARE-CONNECTION, DECLARE-IMAGE, DECLARE-LAYOUT, DECLARE-PRINTER, DECLARE-PROCEDURE, DECLARE-REPORT, DECLARE-TOC NO-FORMFEED, PAGE-SIZE, PRINTER-DEINIT, PRINTER-INIT, USE)
BEGIN-SQL
[-C£n_buffer_size]   (Ingres-6.0,Oracle,SQLBase-6.0)
[-C£n_connection]+3.0, -4.0   (SYBASE DB-Lib)
[-XP]+3.0   (SYBASE)
[-NR]+3.0, -6.0   (SQLBase)
[-SORT£n]+3.0, -6.0   (SQLBase)
[-LOCK{RR | CS | RO | RL | XX}]+3.0, -6.0   (SQLBase)
[-DBdatabase_name]+3.0, -6.0   (SQLBase)
[-DBconnection_string]+4.0   (ODBC)
(in setup)  [ ON-ERROR=[STOP | WARN | SKIP] ]
(non-setup)  [ ON-ERROR=procedure [(arg1,arg2,...argN)]+3.0 ]
[CONNECTION=connection_string]+5.1   (DDO)
BREAK
CALL  subroutine USING value {$t | #n} [param]
CALL  SYSTEM USING t_command #n_status [NOWAIT | WAIT]+3.0.13 Windows NT  +4.0 VMS
CLEAR-ARRAY +3.0  NAME=array_name
CLOSE  {~i_file_num-4.0 | i_file_num+4.0}
COLUMNS +3.0  i...
COMMIT
(used with ORACLE, SQLBase-6.0 , ODBC+4.0 , DB2+4.0 , Informix+4.0 , RDB-4.0 , Ingres-6.0)
CONCAT  value WITH $t [{:$t_edit_mask | £t_edit_mask}]
CONNECT  t  [ON-ERROR=procedure [(arg1,arg2,...argN)]+3.0 ]
CREATE-ARRAY  NAME=array_name  SIZE= £i_elements
{FIELD=
name:{CHAR | NUMBER | TEXT+4.0 | DATE+4.0 | INTEGER+4.0 | FLOAT+4.0 | DECIMAL[£i_precision]+4.0}[:i_occurs][={£t|£n}]+3.0}
[FIELD...]
CREATE-COLOR-PALETTE +6.0  NAME=palette_name
{COLOR_1=(rgb | t_color_name)}
{COLOR_2=(rgb | t_color_name)}
[COLOR_3=(rgb | t_color_name)]
...
[COLOR_n=(rgb | t_color_name)]
DATE-TIME * position [date_format [&t]]  (alternative: DateNow())
DECLARE-CHART +3.0  chart_name
[DATA-LABELS= {NO | YES}]+6.0 (requires NewGraphics)
[COLOR-PALETTE= £t_palette_name]+6.0 (requires NewGraphics)
[ITEM-COLOR=
( {ChartBackground | ChartForeground | HeaderBackground | HeaderForeground | FooterBackground | FooterForeground | LegendBackground | LegendForeground | ChartAreaBackground | ChartAreaForeground | PlotAreaBackground}
, {(£rgb) | £t_color_name} ) ]+6.0 (requires NewGraphics)
[ITEM-SIZE=
( {Title | SubTitle | XAxisLabel | XAxisMarkers | YAxisLabel | YAxisMarkers | Y2AxisLabel | Y2AxisMarkers | LegendText | LegendTitle}
, £n_point_size ) ]+6.1.3 (requires NewGraphics)
[CHART-SIZE= (£i_width, £i_depth) ]
[TITLE= {NONE | £t}]
[SUB-TITLE= {NONE | £t}]
[FILL= {GRAYSCALE | COLOR | CROSSHATCH | NONE}]
[3D-EFFECTS= {NO | YES}]
[BORDER= {YES | NO}]
[POINT-MARKERS= {YES | NO}]
[TYPE=
{BAR | LINE | PIE | STACKED-BAR | 100%-BAR | OVERLAPPED-BAR | FLOATING-BAR | HISTOGRAM | AREA | STACKED-AREA | 100%-AREA | XY-SCATTER-PLOT | HIGH-LOW-CLOSE | BUBBLE+6.1.4}]
[Y2-TYPE=
{BAR | LINE | PIE | STACKED-BAR | 100%-BAR | OVERLAPPED-BAR | FLOATING-BAR | HISTOGRAM | AREA | STACKED-AREA | 100%-AREA | XY-SCATTER-PLOT | HIGH-LOW-CLOSE | BUBBLE+6.1.4} ]+6.1.3
[LEGEND= {YES | NO}]
[LEGEND-TITLE= {NONE | £t}]
[LEGEND-PLACEMENT=
{CENTER-RIGHT | CENTER-LEFT | UPPER-RIGHT | UPPER-LEFT | UPPER-CENTER | LOWER-RIGHT | LOWER-LEFT | LOWER-CENTER}]
[LEGEND-PRESENTATION= {OUTSIDE | INSIDE}]
[PIE-SEGMENT-QUANTITY-DISPLAY= {YES | NO}]
[PIE-SEGMENT-PERCENT-DISPLAY= {YES | NO}]
[PIE-SEGMENT-EXPLODE=
{NONE | MAX | MIN | USE-3RD-DATA-COLUMN}]
[X-AXIS-ROTATE= {£n_0_no_1_yes_N_only_if_more_than_N}]+6.1.3 (requires NewGraphics)
[{X | Y | Y2+6.1.3}-AXIS-LABEL= {NONE | £t}]
[{X | Y | Y2+6.1.3}-AXIS-MIN-VALUE= {AUTOSCALE | £n}]
[{X | Y | Y2+6.1.3}-AXIS-MAX-VALUE= {AUTOSCALE | £n}]
[{X | Y | Y2+6.1.3}-AXIS-SCALE= {LINEAR | LOG}]
[{X | Y | Y2+6.1.3}-AXIS-MAJOR-TICK-MARKS= {YES | NO}]
[{X | Y | Y2+6.1.3}-AXIS-MINOR-TICK-MARKS= {NO | YES}]
[{X | Y | Y2+6.1.3}-AXIS-MAJOR-INCREMENT= {AUTOSCALE | £n}]
[{X | Y | Y2+6.1.3}-AXIS-MINOR-INCREMENT= £n]
[{X | Y}-AXIS-TICK-MARK-PLACEMENT=
{OUTSIDE | INSIDE | BOTH}]
[{X | Y}-AXIS-GRID= {YES | NO}]
[{Y | Y2}-AXIS-MASK= {t_number_edit_mask}]+6.1.4 (requires NewGraphics)
END-DECLARE
DECLARE-COLOR_MAP +6.0
[color_name=(rgb)]
...
END-DECLARE
DECLARE-CONNECTION +5.1 connection_name (DDO)  
{DSN= £t_data_source_name}
[USER= £t_username]
[PASSWORD= £t_password]
[PARAMETERS= £t_keyword1=£t_value1;[£t_keyword2=£t_value2;[...]]]
[NO-DUPLICATE= {TRUE | FALSE}] +5.2
[SET-GENERATIONS= (£t_dimension1,£n_hierarchy1[,£t_dimension2,£n_hierarchy2[, ...]])] +6.0
[SET-LEVELS= (£t_dimension1,£n_level1[,£t_dimension2,£n_level2[, ...]])] +6.0
[SET-MEMBERS= (£t_dimension1,£t_level1[,£t_dimension2,£t_level2[, ...]])] +6.0
END-DECLARE
DECLARE-IMAGE +3.0  image_name
[TYPE= {EPS-FILE | HPGL-FILE | BMP-FILE | GIF-FILE+4.0 | JPEG-FILE+4.0}]
[IMAGE-SIZE= (£i_width, £i_height)]
[SOURCE= £t_file_name]
END-DECLARE
DECLARE-LAYOUT +3.0  layout_name
[PAPER-SIZE= ( { £n_width_in [uom]+4.0 , £n_height_in [uom]+4.0 | [paper_size_name] } )]
[FORMFEED= {YES | NO}]
[ORIENTATION= {PORTRAIT | LANDSCAPE}]
[LEFT-MARGIN= £n_in [uom]+4.0]
[TOP-MARGIN= £n_in [uom]+4.0]
[{RIGHT-MARGIN= £n_in [uom]+4.0 |
LINE-WIDTH= £n_in [uom]+4.0 |
MAX-COLUMNS= £n_columns_integer}]
[{BOTTOM-MARGIN= £n_in [uom]+4.0 |
PAGE-DEPTH= £n_in [uom]+4.0 |
MAX-LINES= £n_lines_integer}]
[CHAR-WIDTH= £n_pt [uom]+4.0]
[LINE-HEIGHT= £n_pt [uom]+4.0]
END-DECLARE
DECLARE PRINTER +2.20, *  (alternative: Declare-Printer & Declare-Layout)
[TYPE= {LINEPRINTER | POSTSCRIPT | HPLASERJET}]
[ORIENTATION= {PORTRAIT | LANDSCAPE}]
[LEFT-MARGIN= £n_inches]
[TOP-MARGIN= £n_inches]
[LINE-SIZE= £n_points]
[CHAR-SIZE= £n_points]
[LINES-INCH= £i_lines]
[CHARS-INCH= £n_characters]
[POINT-SIZE= £n_points]
[FONT= £i_font_number]
[FONT-STYLE= {PROPORTIONAL | FIXED}-3.0]
[FONT-TYPE= {PROPORTIONAL | FIXED}+3.0]
[SYMBOL-SET= £t_from_HP_defined_sets]
[STARTUP-FILE= £t_file_name]
[BEFORE-BOLD= £t_any_string]
[AFTER-BOLD= £t_any_string]
DECLARE-PRINTER +3.0  printer_name
[FOR-REPORTS= (report_name1,...report_nameN)]
[TYPE=
{LINEPRINTER | POSTSCRIPT | HPLASERJET | HTML+4.0 | PDF+6.1.3 | LP | PS | HP | HT+4.0| PD+6.1.3}]
[INIT-STRING= £t_any_string]
[RESET-STRING= £t_any_string]
[COLOR= {NO | YES}]
[POINT-SIZE= £n_points]
[FONT-TYPE= {PROPORTIONAL | FIXED}]
[SYMBOL-SET= £t_from_HP_defined_sets]
[STARTUP-FILE= £t_file_name]
[PITCH= £n_chars_per_inch]
[FONT= £i_font_number]
[BEFORE-BOLD= £t_any_string]
[AFTER-BOLD= £t_any_string]
END-DECLARE
DECLARE PROCEDURE +2.20, *  (alternative: Declare-Procedure)
[BEFORE-REPORT= procedure_name]
[AFTER-REPORT= procedure_name]
[BEFORE-PAGE= procedure_name]
[AFTER-PAGE= procedure_name]
DECLARE-PROCEDURE +3.0
[FOR-REPORTS= (report_name1,...report_nameN)]
[BEFORE-REPORT= procedure_name[(value_arg1,value_arg2,...value_argN)]]
[AFTER-REPORT= procedure_name[(value_arg1,value_arg2,...value_argN)]]
[BEFORE-PAGE= procedure_name[(value_arg1,value_arg2,...value_argN)]]
[AFTER-PAGE= procedure_name[(value_arg1,value_arg2,...value_argN)]]
END-DECLARE
DECLARE-REPORT +3.0  report_name
[TOC= toc_name]+4.1
[LAYOUT= layout_name]
[PRINTER-TYPE=
{LINEPRINTER | POSTSCRIPT | HPLASERJET | HTML+4.0 | LP | PS | HP | HT+4.0}]
END-DECLARE
DECLARE-TOC +4.1
[FOR-REPORTS= (report_name1,...report_nameN)]
[DOT-LEADER= {NO | YES}]
[INDENTATION= £n_indent_spaces]
[ENTRY= procedure_name[(value_arg1,value_arg2,...value_argN)]]+4.3.3
[BEFORE-TOC= procedure_name[(value_arg1,value_arg2,...value_argN)]]
[AFTER-TOC= procedure_name[(value_arg1,value_arg2,...value_argN)]]
[BEFORE-PAGE= procedure_name[(value_arg1,value_arg2,...value_argN)]]
[AFTER-PAGE= procedure_name[(value_arg1,value_arg2,...value_argN)]]
END-DECLARE
DECLARE-VARIABLE +4.0
[DEFAULT-NUMERIC= {DECIMAL[(£i_prec)] | FLOAT | INTEGER}]
[DECIMAL[(£i_prec)] decimal_var[(£i_prec)] [decimal_var[(£i_prec)]]...]
[FLOAT float_var [float_var]...]
[DATE date_var [date_var]...]
[INTEGER integer_var [integer_var]...]
[TEXT text_var [text_var]...]
END-DECLARE
DISPLAY
value [{:$t_edit_mask | £t_edit_mask | NUMBER+4.0 | MONEY+4.0 | DATE+4.0}] [NOLINE]
DIVIDE  n INTO #n [ON-ERROR={HIGH | ZERO}] [ROUND= £i]
DO  procedure_name [(value_arg1, value_arg2,...value_argN)]
DOLLAR-SYMBOL +3.0, *  new_single_char_dollar_symbol  (alternative: Alter-Locale)
ELSE
ENCODE  £t_code_string INTO $t
END-DECLARE +3.0
END-DOCUMENT
END-EVALUATE
END-FOOTING
END-HEADING
END-IF
END-PROCEDURE
END-PROGRAM +3.0
END-REPORT *
END-SELECT
END-SETUP
END-SQL
END-WHILE
EVALUATE  value
WHEN  {=!=<><><=>=}  value
[sqr code...]
[BREAK]
[WHEN  {=!=<><><=>=}  value] ...
[WHEN-OTHER]
END-EVALUATE
EXECUTE +3.0  
INGRES SYNTAX:-6.0
[ON-ERROR=procedure_name]
[#n_status=]stored_procedure_name
[(parameter_name=value [;...]) ]
SYBASE AND MICROSOFT SQLSERVER SYNTAX:
[-XC]+4.3   (SYBASE)
[-C£n_connection]-4.0
[ON-ERROR=procedure_name]
[DO=procedure_name[(value_arg1,value_arg2,...value_argN)]]
[@#n_status=]stored_procedure_name
[[@parameter_name=]value [OUT[PUT]] [,...]
[INTO any_column data_type [(£n_length)] [,...]
[WITH RECOMPILE]   (SYBASE and ODBC)
EXIT-SELECT
EXTRACT  {$t | $d} FROM {t | d} ~i_start_location ~i_length
FIND  {t | d} IN {t | d} ~i_start_loc #n_found_at_offset
GET  v... FROM array_name(i_element) [field[(i_occurs)]...]
GET-COLOR +6.0
[PRINT-TEXT-FOREGROUND = ($t)]
[PRINT-TEXT-BACKGROUND = ($t)]
GOTO  label
GRAPHIC () FONT +2.20, *  ~i_font [~i_point_size [1 | 0 [~i_pitch]]]  (alternative: Declare-Printer & Alter-Printer)
GRAPHIC position BOX +2.20  ~i_depth [~i_rulewidth [~i_shading_percent]]
GRAPHIC position HORZ-LINE +2.20  [~i_rulewidth]
GRAPHIC position VERT-LINE +2.20  [~i_rulewidth]
IF  logical_expression
INPUT
{$t-4.0 | v+4.0} [MAXLEN= £n] [£t_prompt] [TYPE={CHAR | TEXT+4.0 | NUMBER | INTEGER | DATE}] [STATUS= #n_status] [NOPROMPT] [BATCH-MODE]+4.0 [FORMAT={t_date_edit_mask | DATE}]+4.0
LAST-PAGE +3.0 position [£t_pre_text [£t_post_text] ]
LET  v = expression
LOAD-LOOKUP  
In the SETUP section
{NAME= lookup_table_name}
{TABLE= database_table}
{KEY= key_column_database_expression}
{RETURN_VALUE= return_column_database_expression}
{ROWS= £i_maximum_rows}-3.0
[ROWS= £i_initial_rows]+3.0
[EXTENT= £i_size_to_grow_by]+3.0
[WHERE= £t_where_clause]
[SORT= {DC | DI | SC | SI}]+3.0
[SCHEMA= £t_schema]+5.1
[PROCEDURE= £t_proc
[PARAMETERS= ( {%l_arg | £n_arg | £t_arg} [IN|INOUT|NULL] [, ...] )]
    | COMMAND= £t_command
    | GETDATA= £t_ddo_getdata]+5.1
{FROM ROWSETS= (x, x-y, x-, -y | ALL) | FROM PARAMETER = £t }+5.1
[QUIET]
In the body of the report+3.0
{NAME= lookup_table_name}
{TABLE= database_table}
{KEY= key_column_database_expression}
{RETURN_VALUE= return_column_database_expression}
[ROWS= i_initial_rows]
[EXTENT= i_size_to_grow_by]
[WHERE= t_where_clause]
[SORT= {DC | DI | SC | SI}]
[SCHEMA= ~t_schema]+5.1
[PROCEDURE= ~t_proc
[PARAMETERS= ( {%l_arg | n_arg | t_arg} [IN|INOUT|NULL] [, ...] )]
    | COMMAND= ~t_command
    | GETDATA= ~t_ddo_getdata]+5.1
{FROM ROWSETS= (x, x-y, x-, -y | ALL) | FROM PARAMETER = ~t }+5.1
[QUIET]
LOOKUP  lookup_table_name  value {$t_return_val | $d_return_val}
LOWERCASE  $t
MBTOSBS +4.2  $t_multi_byte_string_to_convert_to_single_byte  (Double-Byte version only)
MONEY-SYMBOL +3.0, *  new_single_char_money_symbol  (alternative: Alter-Locale)
MOVE  value TO v [{:$t_edit_mask | £t_edit_mask | NUMBER+4.0 | MONEY+4.0 | DATE+4.0}]
MULTIPLY  n TIMES #n [ROUND= £i]
NEW-PAGE  [i_erase_from_line]
NEW-REPORT  t_report_file_name
NEXT-COLUMN  [AT-END={NEWLINE | NEWPAGE}] [GOTO-TOP= i] [ERASE-PAGE= i]
NEXT-LISTING  [NO-ADVANCE]+2.13 [SKIPLINES= i] [NEED= i]
NO-FORMFEED *  (alternative: Declare-Layout)
OPEN
{~t_file_name-4.0 | t_file_name+4.0} AS {~i_file_num-4.0 | i_file_num+4.0} {FOR-READING | FOR-WRITING | FOR-APPEND+3.0} RECORD= £i_length[:{FIXED | FIXED_NOLF+3.0 | VARY}] [STATUS= #n] [ENCODING= {$t_encoding | &t_encoding | Unquoted_Encoding}]+6.1.3 (requires UseUnicodeInternal=True)
PAGE-NUMBER  position [£t_pre_text [£t_post_text] ]
PAGE-SIZE *  £i_page_depth £i_page_width  (alternative: Declare-Layout)
POSITION  position [@document_marker [COLUMNS i ...]]
PRINT  value position [format_commands]
PRINT-BAR-CODE +3.0 position
{TYPE= {i_bar_code_type_num}}
{HEIGHT= n_height}
{TEXT= t_bar_code_text}
[CAPTION= t_caption]
[CHECKSUM= {NO | YES}]
PRINT-CHART +3.0 [chart-name] position
{DATA-ARRAY= {array_name}}
{DATA-ARRAY-ROW-COUNT= i_row_count}
{DATA-ARRAY-COLUMN-COUNT= i_col_count}
[TYPE=
{BAR | LINE | PIE | STACKED-BAR | 100%-BAR | OVERLAPPED-BAR | FLOATING-BAR | HISTOGRAM | AREA | STACKED-AREA | 100%-AREA | XY-SCATTER-PLOT | HIGH-LOW-CLOSE | BUBBLE+6.1.4 | $t | &t}]
[DATA-ARRAY-COLUMN-LABELS= {NONE | array_name | (~t_label1,~t_label2,...)}]
[COLOR-PALETTE= t_palette_name]+6.0 (requires NewGraphics)
[Y2-TYPE=
{BAR | LINE | PIE | STACKED-BAR | 100%-BAR | OVERLAPPED-BAR | FLOATING-BAR | HISTOGRAM | AREA | STACKED-AREA | 100%-AREA | XY-SCATTER-PLOT | HIGH-LOW-CLOSE | BUBBLE+6.1.4 | $t | &t} ]+6.1.3
  {Y2-DATA-ARRAY= {array_name}}+6.1.3
  {Y2-DATA-ARRAY-ROW-COUNT= i_row_count}+6.1.3
  {Y2-DATA-ARRAY-COLUMN-COUNT= i_col_count}+6.1.3  ]
[Y2-DATA-ARRAY-COLUMN-LABELS= {NONE | array_name | (~t_label1,~t_label2,...)}]+6.1.3
[Y2-COLOR-PALETTE= t_palette_name]+6.1.3 (requires NewGraphics)
[DATA-LABELS= {NO | YES | $t | &t}]+6.0 (requires NewGraphics)
[ITEM-COLOR=
( {ChartBackground | ChartForeground | HeaderBackground | HeaderForeground | FooterBackground | FooterForeground | LegendBackground | LegendForeground | ChartAreaBackground | ChartAreaForeground | PlotAreaBackground}
, {(rgb) | t_color_name} ) ]+6.0 (requires NewGraphics)
[ITEM-SIZE=
( {Title | SubTitle | XAxisLabel | XAxisMarkers | YAxisLabel | YAxisMarkers | Y2AxisLabel | Y2AxisMarkers | LegendText | LegendTitle}
, ~n_point_size ) ]+6.1.3 (requires NewGraphics)
[CHART-SIZE= (~i_width, ~i_depth)]
[TITLE= {NONE | t}]
[SUB-TITLE= {NONE | t}]
[FILL= {GRAYSCALE | COLOR | CROSSHATCH | NONE | $t | &t}]
[3D-EFFECTS= {NO | YES | $t | &t}]
[BORDER= {YES | NO | $t | &t}]
[POINT-MARKERS= {YES | NO | $t | &t}]
[LEGEND= {YES | NO | $t | &t}]
[LEGEND-TITLE= {NONE | t}]
[LEGEND-PLACEMENT=
{CENTER-RIGHT | CENTER-LEFT | UPPER-RIGHT | UPPER-LEFT | UPPER-CENTER | LOWER-RIGHT | LOWER-LEFT | LOWER-CENTER | $t | &t}]
[LEGEND-PRESENTATION= {OUTSIDE | INSIDE | $t | &t}]
[PIE-SEGMENT-QUANTITY-DISPLAY= {YES | NO | $t | &t}]
[PIE-SEGMENT-PERCENT-DISPLAY= {YES | NO | $t | &t}]
[PIE-SEGMENT-EXPLODE=
{NONE | MAX | MIN | USE-3RD-DATA-COLUMN | $t | &t}]
[X-AXIS-ROTATE= {n_0_no_1_yes_N_only_if_more_than_N}]+6.1.3 (requires NewGraphics)
[{X | Y | Y2+6.1.3}-AXIS-LABEL= {NONE | t}]
[{X | Y | Y2+6.1.3}-AXIS-MIN-VALUE= {AUTOSCALE | n}]
[{X | Y | Y2+6.1.3}-AXIS-MAX-VALUE= {AUTOSCALE | n}]
[{X | Y | Y2+6.1.3}-AXIS-SCALE= {LINEAR | LOG | $t | &t}]
[{X | Y | Y2+6.1.3}-AXIS-MAJOR-TICK-MARKS= {YES | NO | $t | &t}]
[{X | Y | Y2+6.1.3}-AXIS-MINOR-TICK-MARKS= {NO | YES | $t | &t}]
[{X | Y | Y2+6.1.3}-AXIS-MAJOR-INCREMENT= {AUTOSCALE | n}]
[{X | Y | Y2+6.1.3}-AXIS-MINOR-INCREMENT= n]
[{X | Y}-AXIS-TICK-MARK-PLACEMENT=
{OUTSIDE | INSIDE | BOTH | $t | &t}]
[{X | Y}-AXIS-GRID= {YES | NO | $t | &t}]
[{Y | Y2}-AXIS-MASK= {t_number_edit_mask}]+6.1.4 (requires NewGraphics)
PRINT-DIRECT +2.20
[NOLF]+3.0
[PRINTER={LINEPRINTER | POSTSCRIPT | HPLASERJET | HTML+4.0 | LP | PS | HP | HT+4.0}]+3.0
{t} ...
PRINT-IMAGE +3.0 [image_name] position
[TYPE= {EPS-FILE | HPGL-FILE | BMP-FILE | GIF-FILE+4.0 | JPEG-FILE+4.0| $t | &t}]
[IMAGE-SIZE= (~i_width, ~i_height)]
[SOURCE= t_file_name]
PRINTER-DEINIT +2.20, *  reset_string  (alternative: Declare-Printer)
PRINTER-INIT *  initialization_string  (alternative: Declare-Printer)
PUT  value... INTO array_name(i_element) [field[(i_occurs)]...]
READ  {~i_file_num-4.0 | i_file_num+4.0} INTO v:£i_length... [STATUS= #n]+3.0
ROLLBACK
(used with ORACLE, SQLBase-6.0, ODBC+4.0 , DB2+4.0 , Informix+4.0 , RDB-4.0 , Ingres-6.0)
SBTOMBS +4.2  $t_single_byte_string_to_convert_to_multi_byte  (Double-Byte version only)
SECURITY +6.0
{MODE={ON | OFF | $t | &t}}
[SET=t_sid[,t_sid]...]
[APPEND=t_sid[,t_sid]...]
[REMOVE=t_sid[,t_sid]...]
SET-COLOR +6.0
[PRINT-TEXT-FOREGROUND = (rgb | t_color_name)]
[PRINT-TEXT-BACKGROUND = (rgb | t_color_name)]
SET-DELAY-PRINT +6.0 v_var_previously_printed_with_delay WITH value
SHOW
[cursor_position]  [CLEAR-SCREEN | CS | CLEAR-LINE | CL] 
[value]  [EDIT {edit_mask | NUMBER+4.0 | MONEY+4.0 | DATE+4.0}]
[BOLD]  [BLINK]  [UNDERLINE]  [REVERSE]  [NORMAL]  [BEEP]  [NOLINE] ...
STOP  [QUIET]+2.20
STRING  {t | d | n+4.3.2}... BY t_delim_txt INTO $t
SUBTRACT  n FROM #n [ROUND= £i]
TOC-ENTRY +4.1
TEXT= {t_toc_text}
[LEVEL= {n_toc_level}]
UNSTRING  {t | d} BY t_delim_txt INTO $t...
UPPERCASE  $t
USE  database  (SYBASE and SQL Server only)
USE-COLUMN  i_column_number
USE-PRINTER-TYPE +3.0
{LINEPRINTER | POSTSCRIPT | HPLASERJET | HTML+4.0 | LP | PS | HP | HT+4.0}
USE-PROCEDURE +3.0
[FOR-REPORTS= (report_name1,...report_nameN)]
[BEFORE-REPORT= procedure_name[(value_arg1,value_arg2,...value_argN)]]
[AFTER-REPORT= procedure_name[(value_arg1,value_arg2,...value_argN)]]
[BEFORE-PAGE= procedure_name[(value_arg1,value_arg2,...value_argN)]]
[AFTER-PAGE= procedure_name[(value_arg1,value_arg2,...value_argN)]]
USE-REPORT +3.0  t_report_name
WHILE  logical_expression
WRITE  {~i_file_num-4.0 | i_file_num+4.0} FROM value[:£i_length]... [STATUS= #n]+3.0


EXPRESSIONS

NOTE: Logical expressions can be numeric. 0 is considered false, and non-zero is considered true.

OPERATORS (In descending order of precedence)...
||
+    -    {sign prefixes}
^
*    /    %
+    -
<    >    >=   <=   <>   !=   =
not
and
or   xor
BIT-WISE OPERATORS+6.1.4 (In descending order of precedence)...
bitand
bitor   bitxor
FILE FUNCTIONS+3.0
DELETE(t_filename)   --> #n_error_code_or_zero
EXISTS(t_filename)   --> #n_error_code_or_zero
RENAME(t_oldname,t_newname)   --> #n_error_code_or_zero
NUMERIC FUNCTIONS
ABS(n)   --> #n_positive
ACOS(n)   --> #f_radians
ASIN(n)   --> #f_radians
ATAN(n)   --> #f_radians
CEIL(n)   --> #i_smallest_greater_than_n
COS(n_radians)   --> #f
COSH(n_radians)   --> #f
DEG(n_radians)   --> #f_degrees
E10(n_power)   --> #f_10_raised_to_power
EXP(n_power)   --> #f_log_base_e_raised_to_power
FLOOR(n)   --> #i_largest_less_than_n
LOG(n)   --> #f_natural_log_of_n
LOG10(n)   --> #f_base10_log_of_n
MOD(nx, ny)   --> #n_remainder_of_x_div_y
POWER(nx, ny)   --> #f_x_raised_to_power_of_y
RAD(n_degrees)   --> #f_radians
ROUND(nx, ny)   --> #n_x_rounded_to_y_decimal_places
SIGN(n)   --> #i_0_pos1_neg1
SIN(n_radians)   --> #f
SINH(n_radians)   --> #f
SQRT(n)   --> #f_squre_root_of_n
TAN(n_radians)   --> #f
TANH(n_radians)   --> #f
TRUNC(nx, ny)   --> #n_x_truncated_to_y_decimal_places
STRING FUNCTIONS
ARRAY+3.0(t_array_name,t_field_name)   --> $t_pointer
ASCII({t_str | d_str})   --> #i_ascii_val_of_first_char_in_str
CHR(i_ascii_val)   --> $t_char_of ascii_val
COND(n_logical, value_a, value_b)   --> v_if_nlogical_then_valuea_else_valueb
EDIT(v_source, t_edit_mask)   --> $t_source_edited_under_mask
GETENV+3.0(t_var_name)   --> $t_value_of_environent_var_name_or_null
HEX+6.1.4(n_num)   --> $t_lower_case_hex_notation
INSTR({t_source | d_source}, t_str, i_start_atoffset)   --> #i_position_of_str_in_source_or_0
ISBLANK+3.0({t_source | d_source})   --> #i_1_if_source_is_null_or_whitespace_else_0
ISNULL({t_source | d_source})   --> #i_1_if_source_is_null_else_0
LENGTH({t_source | d_source})   --> #i_num_of_chars_in_source
LOWER({t_source | d_source})   --> $t_lower_cased_source
LPAD({t_source | d_source}, i_len, t_str)   --> $t_source_padded_on_left_with_str_to_len
LTRIM({t_source | d_source}, t_char_set)   -->
      $t_source_with_all_leftmost_char_set_chars_removed
NVL(value_source, value_alt)   --> v_source_unless_null_then_alt
RANGE(value_source, value_low, value_high)   --> 
      #i_1_if_source_is_within_low_to_high_(inclusive)_else_0
REPLACE+6.0({t_source | d_source}, t_orig, t_repl)   -->
      $t_source_with_each_orig_str_replaced_with_repl_str
ROMAN+4.1(n_num)   --> $t_lower_case_roman_numerals
RPAD({t_source | d_source}, i_len, t_str)   --> $t_source_padded_on_right_with_str_to_len
RTRIM({t_source | d_source}, t_char_set)   -->
      $t_source_with_all_rightmost_char_set_chars_removed
SUBSTR({t_source | d_source}, i_start_pos, i_len)   -->
      $t_len_chars_from_source_starting_at_pos
TO_CHAR(n_num)   --> $t_digits
TO_NUMBER(t_digits)   --> #f_num
TRANSLATE({t_source | d_source}, t_orig, t_repl)   -->
      $t_source_with_each_orig_char_replaced_with_corresponding_repl_char 
UPPER({t_source | d_source})   --> $t_upper_cased_source
WRAPDEPTH+4.1(t_src_txt, n_wide, n_height, t_on_chars, t_strip_chars)   -->
      $n_lines_needed_to_print
ADDITIONAL DOUBLE-BYTE VERSION STRING FUNCTIONS+4.2
ASCIIC({t_str | d_str})   --> #i_ascii_val_of_first_char_(not_byte)_in_str
INSTRB({t_source | d_source}, t_str, i_start_atbyteoffset)   -->
      #i_byte_position_of_str_in_source_or_0
LENGTHB({t_source | d_source})   --> #i_num_of_bytes_in_source
SUBSTRB({t_source | d_source}, i_start_byte, i_byte_len)   -->
      $t_len_bytes_from_source_starting_at_byte_pos
TO_MULTI_BYTE({t_source | d_source})   --> $t_source_multi_byte_converted
TO_SINGLE_BYTE({t_source | d_source})   --> $t_source_single_byte_converted
UNICODE STRING FUNCTIONS+6.1.3  (requires UseUnicodeInternal=True)
LENGTHP({t_source | d_source})   --> #i_print_positions__half-width_chars_=_1_&_full-width_=_2
LENGTHT({t_source | d_source}, t_encoding)   --> #i_bytes_in_source_when_converted_to_encoding
SUBSTRP({t_source | d_source}, i_start_pos, i_len)   -->
      $t_len_print_positions_from_source_starting_at_pos__if_middle_of_full-width_start_rounded_up_&_len_rounded_down
SUBSTRT({t_source | d_source}, i_start_pos, i_len, t_encoding)   -->
      $t_len_bytes_from_source_converted_to_encoding_starting_at_pos_partial_chars_removed
TRANSFORM({t_source | d_source}, t_transform_code)   -->      $t_source_in_unicode_based_on_transform_code
Supported Transform Codes:
ToLowercase, ToUppercase, ToFullwidth, ToHalfwidth, ToHiragana, ToParagraphSeparator, ToKatakana, Decompose, Compose, ToCombiningMark, ToSpacingMark, ToLineSeparator, ToCanonical, ToTraditionalChinese, ToSimplifiedChinese, RomajiToHiragana, RomajiToKatakana, KanaToRomaji, KanaToKunrieRomaji, KanaToHebonRomaji, ToLatinNumber, HankakuKatakanaToZenkaku, ZenkakuKatakanaToHankaku
UNICODE({t_source_big-endian_hexidecimal_values})   --> $t_unicoded
DATE FUNCTIONS+4.0
("unit" is YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, or SECOND.)
 
DATEADD({$d_source | &d_source}, t_unit, n_amount)   -->
      $d_source_with_amount_units_added
DATEDIFF({$d_source2 | &d_source2}, {$d_source1 | &d_source1}, t_unit)   -->
      #n_source2_minus_source1_in_units
DATENOW()   --> $d_current_from_client_machine
DATETOSTR({$d_source | &d_source} [, t_edit_mask])   --> $t_source_formatted_with_mask
STRTODATE(t_source [, t_edit_mask])   --> $d_source_as_date


PRINT Format Commands

BACKGROUND +6.0 = (rgb | t_color_name)
BOLD +2.20
BOX +2.20
CENTER
CODE +2.20, *  (alternative: Code-Printer)
CODE-PRINTER +3.0 = {LINEPRINTER | POSTSCRIPT | HPLASERJET | HTML+4.0 | LP | PS | HP | HT+4.0}
DATE +4.0
DELAY +6.0
EDIT edit_mask
Text Mask Characters =
X | B | ~ | R[n]
Numeric Mask Characters =
8+3.0 | 9 | 0 | $ | B | E | V+3.0 | . | ,
Numeric Mask Suffix Characters =
C+3.0 | MI | PR | PS&