OPTION

Top  Previous  Next

 

The OPTION command sets, clears or displays configurable options.

 

To ease application portability, options that are not meaningful on a particular QM platform are ignored.

 

 

Format

 

OPTION {option.name {ON | OFF | DISPLAY | LPTR {unit}} }

OPTION ALL OFF

 

 

The OPTION command, normally only used in the LOGIN or MASTER.LOGIN paragraphs, sets options that determine how the system behaves for that user session.

 

The ON keyword is used to set an option and is the default action if no keyword is present. The OFF keyword is used to clear an option. The DISPLAY keyword is used to display the current setting of an option.

 

The OPTION command with no qualifying information displays the settings of all options. The LPTR keyword directs this report to the specified print unit, printer zero if unit is omitted.

 

The OPTION ALL OFF syntax turns off all options. It is useful in LOGIN paragraphs to ensure that all options are off before turning on those that are required in applications that may use LOGTO to move between accounts.

 

Option settings are not automatically inherited by phantom processes.

 

 

The available options are:

AMPM.UPCASECauses the am/pm suffix displayed by some time conversions to appear in uppercase instead of the default lowercase.
ASSOC.UNASSOC.MVTreats all multivalued fields for which no association is defined in the dictionary as being associated together. This provides close compatibility with Pick style systems but may lead to unintentional association of unrelated fields.
CHAIN.KEEP.COMMONRetains the unnamed common block and command processor level on use of CHAIN.
CRDB.UPCASECauses the cr/db suffix displayed by some decimal conversions to appear in uppercase instead of the default lowercase.
DEBUG.REBIND.KEYSCauses the QMBasic debugger to rebind the function keys on entry, replacing any user defined bindings with those specified in the terminfo entry for the current terminal type.
DIV.ZERO.WARNINGAttempts to divide by zero in QMBasic programs should report a warning rather than a fatal error. The division will return a zero result. This option should only be used during application development as it may cause faulty applications to appear to work correctly.
DUMP.ON.ERRORCauses generation of a process dump file at a process abort such as a run time fatal error.
ED.NO.QUERY.FDSuppresses the confirmation prompt in the ED editor when using the FD command or its synonym DELETE.
INHERITPhantom processes will inherit the option settings of the parent process. Use of an OPTION command in the MASTER.LOGIN or LOGIN paragraphs of the phantom process may modify these settings.
LOCK.BEEPEmits a beep at the terminal once per second while waiting for a record or file lock.
NO.DATE.WRAPPINGSuppresses rolling of dates with overlarge day numbers into the following month on input conversion.
NO.SEL.LIST.QUERYSuppresses display of the confirmation prompt in commands that take an optional select list of records to process. This is equivalent to use of the NO.QUERY option to those commands.
NO.USER.ABORTSSuppresses all options that allow a user to generate an abort event. These are: the "Press return to continue" prompt, the pagination prompt when using the SCROLL keyword of the query processor, and the break key options.
NON.NUMERIC.WARNINGQMBasic programs attempting to use a non-numeric value where a number is required should use zero and report a warning rather than a fatal error. The operation will return a zero result. This option should only be used during application development as it may cause faulty applications to appear to work correctly.
PICK.BREAKPOINTCauses the query processor to recognise Pick style syntax for the BREAK.ON and  BREAK.SUP keywords where the optional text qualifier follows the field name rather than appearing before it.
PICK.BREAKPOINT.UCauses the query processor to handle the U breakpoint option differently. See the BREAK.ON and  BREAK.SUP keywords for further details.
PICK.EXPLODEWhen using BY.EXP, if an associated field has only one value, do not explode this field.
PICK.IMPLIED.EQCauses the query processor to handle a selection clause that has no operator between the field name and a literal value enclosed in double quotes as though there was an EQ operator.
PICK.GRAND.TOTALCauses the query processor to display the text of the GRAND.TOTAL keyword on the same line as the total values.
PICK.NULLCauses the ML and MR conversion codes and format expressions that use options applicable to numeric data to return a null string for null data instead of zero.
PICK.WILDCARDCauses the query processor to recognise Pick style wildcards in equality tests as an alternative to the LIKE operator.
PROC.ACauses the Proc A(n,m) command not to terminate copying data at the end of the field.
QUALIFIED.DISPLAYCauses the query processor to recognise Pick style qualified display clauses.
QUERY.NO.CASECauses the query processor to perform selection operations and sorting in a case insensitive manner.
QUERY.PRIORITY.ANDCauses the AND operator to take priority over the OR operator in query processor commands. This does not affect the behaviour of these operators in QMBasic programs.
RUN.NO.PAGECauses the RUN and  DEBUG commands to start the program with screen pagination disabled. This is equivalent to use of the NO.PAGE option. This option also affects user catalogued programs.
SELECT.KEEP.CASECauses QM to preserve the case of record ids when building a select list from a directory file on an operating system that uses case insensitive file names. This currently only affects Windows systems.
SHOW.STACK.ON.ERRORDisplays the call stack at a fatal program error, showing the program name, line number (where available), and object code address.
SPACE.MCTModifies the behaviour of the MCT conversion code such that only the first character and letters immediately after a space are converted to uppercase.
SUPPRESS.ABORT.MSGSuppresses display of program location diagnostic information when a QMBasic ABORT statement is executed.
UNASS.WARNINGUnassigned variables in QMBasic programs should report a warning rather than a fatal error. This option should only be used during application development as it may cause faulty applications to appear to work correctly.
WITH.IMPLIES.ORIn a query containing multiple WITH clauses, there is an implied OR rather than the default implied AND between these clauses.

 

 

Special short form options:

PICKThis option sets ASSOC.UNASSOC.MV, PICK.BREAKPOINT, PICK.BREAKPOINT.U, PICK.EXPLODE, PICK.GRAND.TOTAL, PICK.NULL, PICK.WILDCARD, QUALIFIED.DISPLAY and WITH.IMPLIES.OR options. It cannot be used with ON, OFF or DISPLAY. Note that this option brings QM closer to the Pick database model but does not provide complete compatibility.
QMBASIC.WARNINGSThis option sets DIV.ZERO.WARNING, NON.NUMERIC.WARNING and UNASS.WARNING options. It cannot be used with ON, OFF or DISPLAY.