Compatibility Switch Matrix
The runtime behaviour of a DataBasic program or subroutine is determined by a combination of two factors:
- 
                        The compiler version embedded in the compiled code. This normally depends on the compiler used, but can be changed with the $OPTIONS statement. 
- 
                        The MultiValue compatibility mode (if any) set with $OPTIONS statement. 
These runtime settings are listed below (BCM) utility. On versions of Reality earlier than that stated below (under Introduced on) the option is not set.
 (BCM) utility. On versions of Reality earlier than that stated below (under Introduced on) the option is not set.
Note
The BCM utility alters the DataBasic runtime operations. This may cause existing applications to fail. Affected programs should be re-tested after changes. BCM should be used only under the guidance of NEC Software Solutions personnel.
 50BB.FORMAT
50BB.FORMAT
                    If set, causes user exit U50BB to behave as appropriate for the selected MultiValue compatibility mode (if any) set with the $OPTIONS statement.
Operation: See User Exit Conversions.
Introduced on: Reality V14.2.
 @
@
                    Enable vendor mapping of @(-n).
Operation: See @ function (MultiValue).
Introduced on: Reality V9.1.
 ACCESS
ACCESS
                    Special handling of ACCESS.
Operation: If set specifies that the ACCESS data-element is decoded via the relevant MultiValue table.
Introduced on: Reality V10.
 COMMA.CONT
COMMA.CONT
                    Allow commas to be used as line continuation characters.
Note
If line continuation is required immediately following a comma that is required by the syntax, two commas or a comma and an ellipsis must be used.
Operation: As on D3, mvEnterprise and UniVerse.
Introduced on: Reality V14.2.
 D3.SETTING
D3.SETTING
                        
                    Removed on: Reality V15.2.
 DCOUNT
DCOUNT
                    Allow DCOUNT to use a substring.
Operation: The DCOUNT function operates as on mvEnterprise.
Introduced on: Reality V14.0.
 ECHO.IN
ECHO.IN
                    Allow IN to echo printable characters.
Operation: The IN statement operates as on mvEnterprise.
Introduced on: Reality V14.0.
 EXT.MATCH
EXT.MATCH
                    Allow extended format of MATCH/MATCHES pattern matching.
Operation: The MATCH{ES} function operates as on mvEnterprise.
Introduced on: Reality V15.2.
 EXTERNAL.KEY
EXTERNAL.KEY
                    Position/Limit key literals are in external format.
Operation: Determines how indexes that were created from dictionary definitions that include output conversions are handled by the DataBasic POSITION and LIMIT.INDEX statements. Clear for compatibility with earlier versions of Reality.
Introduced on: Reality V14.1.
 FSCALE
FSCALE
                    Special handling of descale value in Format mask.
Operation: Controls the outcome of combining precision and scaling in a format string.
Introduced on: Reality V9.1.
 GLIST
GLIST
                    PERFORM to work with a GLOBAL active list.
Operation: Determines whether the default SELECT list is local or global.
Introduced on: Reality V9.1.
 MATCH.DELIM
MATCH.DELIM
                    Allow Multiple Pattern Separators.
Operation: Pattern matching functions as on mvEnterprise.
Introduced on: Reality V14.0.
 MSCALE
MSCALE
                    Skip PRECISION -> SCALE if not specified in ML or MR format.
Operation: If set do not use the specified precision as the scaling factor if scale value is omitted.
Introduced on: Reality V14.1.
 MV.SETTING and MV.FILTER
MV.SETTING and MV.FILTER
                    These options together determine how errors are returned by the SETTING/RETURNING clause of an EXECUTE statement.
Operation: If MV.SETTING is set but MV.FILTER is not, the EXECUTE statement operates as on D3; that is, only the error numbers are returned, separated by spaces.
If MV.SETTING and MV.FILTER are both set, the EXECUTE statement operates as on mvEnterprise; that is, both error numbers and parameters returned, separated by attribute marks.
If MV.SETTING is not set, MV.FILTER has no effect (Reality returns errors separated by attribute marks, with each error number and parameter separated by value marks).
Introduced on: Reality V15.2.
Note
These options effectively replace the D3.SETTING option.
 MVXOPENSEQ
MVXOPENSEQ
                    mvBase or mvEnterprise OPENSEQ mode.
Operation: If set OPENSEQ and DELETESEQ operates as on mvEnterprise.
Introduced on: Reality V11.
 NO.IO.ERR
NO.IO.ERR
                    Allow OPEN and READ statements to compile without THEN/ELSE.
Operation: Determines whether THEN/ELSE clauses are required in OPEN, READ, READU, READV, READVU, MATREAD and MATREADU statements.
When set, if the statement fails, the result (returned in the appropriate parameter) is null.
Introduced on: Reality V14.1.
 NO.NEW.FUNCS
NO.NEW.FUNCS
                    Exclude new DataBasic intrinsic functions when compiling.
Operation: Intrinsic functions that are new in the current version of the DataBasic compiler are not compiled; this avoids problems caused by existing arrays having the same names as these functions.
Note that this is only a temporary solution, since in the next version of the compiler the functions will no longer be new. The recommended solution is to rename the arrays concerned.
Introduced on: Reality V14.2.
 NOUPSCALE
NOUPSCALE
                    Set if no upscaling of precision in FORMAT.
Operation: Determines the outcome of combining precision and scaling in a format string.
Introduced on: Reality V14.0.
 ONE.FIELD
ONE.FIELD
                    Format to operate on 1st field only.
Operation: If set only apply the {M}L or {M}R format to the first field of a multivalued string.
Introduced on: Reality V14.1.
 REM.MOD
REM.MOD
                    If set REM()/MOD() = remainder else modulo.
Operation: Determines how the MOD and REM functions behave when used with negative numbers.
Introduced on: Reality V14.0.
 REMOVE.LAST
REMOVE.LAST
                    Return one instead of zero at end of string.
Operation: REMOVE operates as on mvEnterprise.
Introduced on: Reality V14.1.
 RT.LOCATE
RT.LOCATE
                    Use mvE right alignment mechanism.
Operation: Controls the behaviour of the LOCATE statement.
Introduced on: Reality V14.0.
 SELECTE
SELECTE
                    Convert SELECT to a SELECTE if list pending.
Operation: SELECT operates as on mvEnterprise and D3.
Introduced on: Reality V10.
 SMAP
SMAP
                    Map SYSTEM via vendor map.
Operation: Decode SYSTEM function as on MultiValue equivalent. Requires SYS to be enabled.
Introduced on: Reality V14.1.
 SUM.NULL
SUM.NULL
                    Allow zero to be returned in SUM.
Operation: Determines the SUM function's return value when passed an empty dynamic array.
Introduced on: Reality V14.0.
 SYMBOL.NUMBER
SYMBOL.NUMBER
                    Treat strings containing only arithmetic unary operators and decimal points as numeric.
Operation: Treat the strings "+", "-", ".", "+." and "-." as numeric.
Introduced on: Reality V14.2.
 SYS
SYS
                    Map SYSTEM through Reality map.
Operation: Used with SMAP. Controls SYSTEM function operation.
Introduced on: Reality V9.1.
 TRIM.R2M
TRIM.R2M
                    Convert TRIM 'M' to TRIM 'R'.
Operation: Controls the behaviour of the DataBasic TRIM function with type equals "R".
Introduced on: Reality V14.1.
 TRUE.BOOL
TRUE.BOOL
                    AND, OR to only return 1 or 0 as result.
Operation: Controls how arithmetic expressions are evaluated when used in logical expressions, and how complex logical expressions are evaluated.
Introduced on: Reality V14.1.
 TRUE.NONNULL
TRUE.NONNULL
                    Allow Non-null Non-numeric String to be seen as TRUE.
Operation: Determines whether non-numeric strings can be used in logical expressions.
Introduced on: Reality V14.0.
 UNIQUE.COUNT
UNIQUE.COUNT
                    Set if COUNT/DCOUNT matches characters only.
Operation: Controls whether the COUNT, COUNTS, DCOUNT and INDEX functions match only non-overlapping strings.
Introduced on: Reality V14.2.