Optional Variables

This topic lists the optional environment variables for defining the 3DSpace environment.

The following variables are not required to be set for 3DSpace to function. When a variable is not explicitly set in the environment, 3DSpace uses the default values. If required, these values should be added to the [matrix] section of the .ini file (or for Linux, the startup script).

Note: The NFS protocol for store/location is no longer supported. The FILE protocol should be used instead to serve files with an FCS server. The FILE protocol may still use Network File System (NFS) and CIFS to access a shared disk on the network.

Variable Description
USER Can be used with another optional variable, MX_HOME_VAULT, to let you set a default context for 3DSpace for Windows. USER is the default user name and MX_HOME_VAULT is your default vault. If you are using Windows, when an Studio Modeling Platform app is opened, the context window comes up with the user name as it appears in SYSTEM.INI, unless the USER variable is set here.
HOME Your default home directory
FINDLIMIT Sets the default limit field in 3DSpace Find window. Defaults to 0 or no limit. Does not affect MQL queries. The results of some queries will load faster in the details view if a limit is specified. Setting FINDLIMIT allows you to establish a default value to optimize performance in case no limit is set in the query. When limits are set in the query, this value is ignored, and the new value does not change this setting. To optimize performance, but still find all objects that meet the criteria, you may want to make this value very large, for example, FINDLIMIT=1000000.
MQLWINDOWDISPLAY When TRUE, displays an MQL window when running eMatrixMQL that may be used to diagnose and debug these programs and apps. The default is FALSE, which means that the MQL session appears as a button on the Windows task bar for eMatrixMQL, matrix -wizard, matrix -c, and openedit, but cannot be opened.
MX_ANNOTATION_TYPE Sets the non-English word used for Annotations. A business object type of the name specified here must be defined for the Annotation function to operate properly when used in a non-English setting. The default is Annotation.
MX_ATTACHMENT_TYPE Sets the non-English word used for Attachments. A business object type of the name specified here must be defined for the Attachment function to operate properly when used in a non-English setting. The default is Attachment.
MX_REPORT_TYPE Sets the non-English word used for Reports. A business object type of the name specified here must be defined for the Report function to operate properly when used in a non-English setting. The default is Report.
MX_ABORT_DANGLING_TRANSACTION When TRUE, tells a top-level program to abort any uncommitted transactions upon exiting, as long as the transaction was not already open when the program was started. This prevents transactions from being left hanging, with its table locks intact, until the 3DSpace Service or Studio Modeling Platform app is shut down and restarted. On the 3DSpace Service, this is set to TRUE by the default installations.
MX_ACCESS_TRACE Access logging may be enabled by setting this variable to TRUE. Access logging provides auditing of all access right grants and denials. Linux systems make use of the Linux syslog(3) interface to log, write, or forward messages to designated files or users; on Windows systems, the Application Event Log is used. The default is FALSE, meaning logging of access is off. Refer to the MQL Concepts for more information on access logging.
MX_ACL_TRACE Accesslist tracing is enabled by setting this variable to TRUE; the default is FALSE. You can also specify MX_ACL_TRACE=FILENAME to enable accesslist tracing and specify a file destination for the trace results.
MX_BACKGROUND_OPEN Allows background processes to be launched (for example, Open for Edit or View) while still allowing the Studio Modeling Platform to operate. The default is true, but may be disabled by setting this value to FALSE. You may wish to set this to FALSE while debugging Open for Edit or View programs.
MX_CHARSET Can be set to enable multiple double-byte languages through the same 3DSpace instance on a server machine with an English O/S. When needed, set to UTF-8. At this time, if you want to run two or more languages other than English concurrently you need to run an on an English O/S. (Other language O/S’s can run English and that language.) For apps that display Japanese characters with a WebLogic server, set this to either MS932 for Windows apps or csWindows31j for UNIX apps.
MX_JAVA_DEBUG When TRUE, allows the thick client to attach to a JPDA-enabled Java IDE, such as NetBeans or Eclipse. When true, this sets JAVAC_FLAGS=G, which will compile Java classes with debug information. When true, the libjdwp.so file needs to be in the path specified in the library path variable for the specific platform, as given below:
Solaris - LD_LIBRARY_PATH
AIX - LIBPATH
Windows - PATH
For example, on Solaris:
LD_LIBRARY_PATH=/usr/lib/lwp;/usr/java/lib/sparc
.
MX_JAVAC_FLAGS Allows the passing of extra flags to the Java compiler. For example, when set to “G”, Java classes are compiled with debug information.
MX_JAVA_OPTIONS Sets Java options for desktop use of JPOs. For example:
MX_JAVA_OPTIONS="-Xss512k [-Xmso768k (IBM JDK on AIX)]
-Xmx256m -Xms256m -XX:NewSize=128m -XX:MaxNewSize=128m
-XX:MaxPermSize=128m -XX:SurvivorRatio=3"
When the 3DSpace Service is installed, recommended Java options are set by default. Refer to JVM Options in the Live Collaboration Server Troubleshooting and Diagnostics Guide for more information.
MX_JIT_TRIGGER_MACROS Should be set to TRUE if you want environment variables looked up dynamically (Just In Time) as needed in triggers. The default is FALSE, which means that macros are static, defined before any trigger program is executed, and the same values are passed into all trigger types (check override action). Refer to "Appendix: Macros" in the Studio Modeling - Configuration Guide for more information.
MX_NESTED_TRIGGER_MACROS Set to TRUE to enable programs to save their local RPE settings (that is, trigger macros) when they start, and restore them when they exit. The default is FALSE in order to leave user-defined RPE variable definitions alone, and thereby minimizing the impact on legacy programs. MX_NESTED_TRIGGER_MACROS is intended to be used in concert with the environment variable MX_JIT_TRIGGER_MACRO; for optimum performance of trigger programs, both values must be set to true. The 3DSpace trigger manager relies on the true setting to dramatically improve app performance.
MX_TCL_ANSI_NUMERIC May be set to true on desktop systems only when 3DSpace should override the LC_NUMERIC setting during execution of Tcl programs to establish a period (.) as the decimal setting. This causes operating system utilities to return floating point values in a form that is suitable for performing arithmetic using the Tcl “expr” procedure. Values obtained from MQL commands continue to be returned using the character defined as MX_DECIMAL_SYMBOL. If FALSE, (the default) the setting for LC_NUMERIC is used and Tcl calls to the operating system will return floating point values according to this setting. This setting is designed for use in a thick client tcl environment only. Do not use this setting in the 3DSpace Service environment, as it changes the process locale across all threads.

For more information, seeTroubleshooting | Localized Decimal Character Settings.

The setup for supporting the viewing of multiple languages and cultural symbol conventions is also discussed in the Oracle documentation.

MX_TCL_STRIP_NEWLINE Allows you to change the default behavior for MQL commands issued from within Tcl. By default, output requested from MQL does not have a carriage return at the end of the output string. Setting this variable to FALSE adds a carriage return at the end of the output for MQL commands called from Tcl mode only. The default setting is TRUE, which means that a new line is not generated.
MX_TCL_SHLIB Set to reflect the tcl path and library file name (without the extension), when a non-default tcl version is used. For example, for Windows:
MX_TCL_SHLIB=ENOVIA_INSTALL\win_b64\code\bin\tcl85
For UNIX:
MX_TCL_SHLIB=ENOVIAHOME/<platform>/code/bin/tcl85
When setting this variable, you must also reset the TCL_LIBRARY and TK_LIBRARY settings to reflect the path to the new library versions.
MX_EXPAND_ALL When TRUE, displays checked in files beneath formats when the Formats browser is displayed. If many files are typically checked in, this may be set to FALSE to improve performance. The default is TRUE.
MX_EDITOR Code can be entered into the Code tab of program and command objects using the user interface, or it can be written in an external editor and automatically imported into the program object by adding MX_EDITOR and MX_EDITOR_PATH settings in the enovia initialization file. The button text is the value of MX_EDITOR.
MX_EDITOR=Notepad
MX_EDITOR_PATH The external editor button is included on the Code tab of program and command objects only when MX_EDITOR and MX_EDITOR_PATH are set in the enovia initialization (.ini) file. Use MX_EDITOR_PATH to point to the editing program.
MX_EDITOR_PATH=c:\winnt\system32\notepad.exe
When specifying WordPad, use wordpad.exe instead of write.exe.
MX_FCS_ENABLED When TRUE, enables the apps to use the File Collaboration Server (FCS) for checkin/checkout. When FALSE, the FCS is not used.
MX_ALIASNAME_PREFERENCE Determines the alias to use. An alias refers to the different names that can be given to the same administrative objects according to the audience. These are defined via MQL. This setting must match the alias name. The alias preference takes precedence over the language preference if both are specified. Refer to the MQL Concepts for information on defining aliases.
MX_LANGUAGE_PREFERENCE Determines the language to use. A language applies to all words presented to the user through a GUI: buttons, labels, messages, etc. It will also refer to an alternate language for schema, if an alias of this name exists. Schema aliases are defined via MQL. Refer to the MQL Concepts for more information.
MX_PROGRAM_POOL_SIZE Sets the initial size of the interpreter pool used by Tcl programs. This setting is also used to extend the pool size when all the interpreters in the pool are allocated and another is requested. The default is 10.
MX_QUERY_PAGE_SIZE Enables system-wide streaming of queries and expands and sets the number of objects per page of returned items. The data is returned when the first page is available, resulting in improvements in performance and potentially in memory consumption as well.

Streaming can be enabled for all queries and expands through this environment variable either through classes in the Studio Customization Toolkit or at runtime by using the size clause in MQL temporary query or expand business object commands. Some operations, such as expression evaluation operations, use the expand operation internally and the only way to enable streaming for these operations is through this variable. You can override any value set for streaming in temporary queries and expands by using the size clause. Enabling streaming through the Java classes usually provides the greatest improvement in performance and memory consumption. See "About Streaming Query and Expand" in the Studio Modeling - Configuration Guide.

When processing selectables in a streaming query, memory consumption is not necessarily reduced versus non-streaming queries. Although paging is used when the selectables are processed, the entire result set is still buffered in memory, for example:

temp query bus T N R size 1000 select to.from;

This retrieves business objects 1000 at a time, and only 1000 will ever be held in memory at one time. However, the evaluation of to.from for ALL of the found objects will be held in memory until the query has completed.

Starting with V6R2010, the streaming function is on by default. To disable it, you must set MX_QUERY_PAGE_SIZE=0. Otherwise, it will be ON with a default value of 10000.

MX_RESTORE_CONTEXT Used to disable the security mechanism that ensures that if context is changed during program execution, it is restored to the original setting when finished. The default is TRUE, which enables the security mechanism, but may be set to FALSE, if required.
MX_RESTORE_TRIGGERS Set to FALSE by default. However, when TRUE, whenever a program is finished executing, 3DSpace will set triggers to on. This provides protection from failure in a program that turns triggers off before terminating.
MX_RESTRICT_EXPAND Set to TRUE by default. If users attempt a full expand on an object in an indented browser (shift+click with no filters on to or from) an error message is generated. This is because full expands in both directions are extremely time consuming, and it will often seem as if the system has stopped responding. However, full expands may be enabled and the error suppressed by setting this variable to FALSE.
MX_SERVER_DST Used to tell 3DSpace to override its current algorithm for converting times to GMT. You should set this value to TRUE if you are using GMT or a GMT offset value in your server’s timezone setting, and your Oracle server takes DST into account when determining the current time. Set this to FALSE for those rare Oracle servers that do not take DST into account. When this setting is not in place at all, 3DSpace will use the default algorithm that uses the timezone setting in the 3DSpace database to determine whether or not the times provided by the Oracle server take DST into account.
MX_SET_SORT_KEY Sets any number of basic select items (type, name, revision, owner, locker, originated, modified, current, and policy) by which objects in sets will be presented. By default the value is type|name|revision. You can specify ascending or descending order by prefixing the select with + or - (ascending (+) is the default.) To disable sorting, you can set this variable to a single '|' character. Disabling sorting improves response time of loading the first page of a set. Can be disabled in conjunction with programming techniques to improve performance. Refer to the Programming Guide for more information.
MX_SHOW_HIDDEN_TYPE_OBJECTS For display of objects and connections whose business type or relationship is marked hidden. The default is FALSE, which means that hidden objects and connections are not returned by Studio Customization Toolkit query/expand methods. When TRUE, objects with hidden business types and connections of hidden relationships are displayed when found or navigated to, and they are returned by the original Studio Customization Toolkit query/expand methods. Additional expand methods are also available to override this system setting and retrieve all objects/relationships, including those whose type is marked hidden. In MQL, regardless of this setting, hidden type objects and connections are always listed.
MX_SMTP_HOST Must be specified on each client (UNIX or PC), including the 3DSpace Service, in order to send e-mail via 3DSpace from all machines. The named host must be setup as an SMTP server (not POP). This setting is important for use with the Collaboration and Approvals and other apps, for business process notifications to be sent.
MX_SMTP_TIMEOUT Sets the time allowed for connecting to the SMTP server when sending e-mail. The default is 60 seconds.
MX_SMTP_CONTINUE Used to tell 3DSpace how to establish communication with the SMTP server. The default is TRUE, which means 3DSpace checks for a continuation character, “-”, in the current line, allowing multiline messages. If FALSE, no check for a continuation character is done, which means that the current line is assumed to be the only line in the message.
MX_TRACE_FILE_PATH Location of the 3DSpace error log file. If this variable is not set, the default location is the ENOVIAHOME directory.
MX_TRIGGER_RECURSION_DETECTION The system should employ MX_TRIGGER_RECURSION_DETECTION to check for recursion of trigger programs. Most recursion is not a single program calling itself (indirectly through triggers firing) but more of a ping pong effect where a program calls another program, which calls back to the original eventually (again, through the firing of triggers). The default is “name”, which means that the system does not allow a program to be executed if it is already executing. The variable may also be set to “signature”, which checks for the uniqueness of five properties of the program: Program Name, Input arguments, Trigger event, Trigger type, and Target object ID; or “none” to turn off detection altogether. You must use “signature” when configuring for use with apps.

This setting is used with MX_TRIGGER_RECURSION_LIMIT.

MX_TRIGGER_RECURSION_LIMIT Set to an integer to indicate the maximum number of trigger programs that can be placed on the trigger stack, helping to avoid server crashes due to the host system running out of stack space. The default value is 30. When the limit is reached, a warning is added to the trigger trace file, and the trigger stack is unwound. The limit is used with MX_TRIGGER_RECURSION_DETECTION, no matter what its value is, but it is particularly important to set an appropriate limit for your server when trigger recursion is disabled with the “none” setting.
MX_USE_SCHEMA_NAMES When TRUE, improves performance when multiple 3DSpace Servers are defined that point to different schemas in the same Oracle Instance (that is, different Oracle Users.) Default is FALSE.
MX_WHERE_MAX_COUNT Controls how complex a where clause can be. This setting approximately corresponds to the number of operands allowed in any where clause. 3DSpace produces an error if it reaches the limit specified. The default is 512, which shouldn’t need changing in a server environment, since it is comparable to the stack size used by the server's JVM. However, when using the Studio Modeling Platform to run JPOs, which use the default JVM setting for stack size, you may want to lower the value of MX_WHERE_MAX_COUNT (to correspond with the JVM size) if very complex where clauses are used on the Studio Modeling Platform system.
MX_WIN_APP_WAIT Controls how long the Studio Modeling Platform waits for the launched app’s primary window to appear. The value assigned is the number of seconds to wait. The default value is zero.
MX_WIN_MIN_ON_LAUNCH Used to minimize all Studio Modeling Platform windows during the execution of a launched app. The default is FALSE. When TRUE, the Studio Modeling Platform windows are minimized, and when the launched app terminates, the Studio Modeling Platform windows are restored.
MX_LEGACY_RELRULE=FALSE FALSE by default. To revert to pre-V6R2009 rule behavior on relationships, set to TRUE.
MX_CHECK_TRUSTED_PROGRAM Allows the addition of trusted/not trusted program. This variable can be set to:
  • OFF by default: Trusted program check mechanism will not be applied.
  • WARNING: It will give warning when non-trusted programs executed as part of an expression. Warning will be sent to trace, not to stdout.
  • ERROR: It will throw an error when non-trusted programs executed as part of an expression.
MX_ENFORCE_TRUSTED_PROGRAM_CHECK To state "ERROR"