Rules for coding Node.js profiles

Node.js profiles are text files encoded in EBCDIC when stored on the USS file system. When Node.js profiles are created in a CICS® bundle, they can be edited on a workstation using any text editor. They must be converted to EBCDIC when they are transferred to USS. CICS Explorer® performs this conversion automatically when exporting a CICS bundle project to USS. Follow these rules when coding your Node.js profiles.

Case sensitivity

All parameter keywords and operands are case-sensitive, and must be specified exactly as shown in Options for JVMs in a CICS environment, JVM system properties, or Node.js profile and command line options.

Comments

To add comments or to comment out an option instead of deleting it, begin each line of the comment with a # symbol. Comment lines are ignored when the file is read by the launcher.

Blank lines are also ignored. You can use blank lines as a separator between options or groups of options.

The profile parsing code removes inline comments. An inline comment is defined as follows:
  • The comment starts with a # symbol
  • It is preceded with one or more spaces (or tabs)
  • It is not contained in quoted text
Table 1. Inline comment examples
Code Result
MYVAR=myValue # Comment MYVAR=myValue
MYVAR=#myValue # Comment MYVAR=#myValue
MYVAR=myValue "# Quoted comment" # Comment MYVAR=myValue "# Quoted comment"
Continuation
For options the value is delimited by the end of the line in the text file. If a value that you are entering or editing is too long for an editor window, you can break the line to avoid scrolling. To continue on the next line, terminate the current line with the backslash character and a blank continuation character, as in this example:
STDERR=/example/a/long/path/which/you/would/like\
 /to/break/over/a/line

Do not put more than one option on the same line.

Including files

Use %INCLUDE=<file_path> to include a file in your profile. The file can contain common system-wide configuration that can be maintained separate to the profile. This enables configuration that is common to several profiles to be shared, giving more control and providing easier maintenance for profiles.

The following rules apply:
  • <file_path> must be a fully qualified file in zFS.
    • Avoid use of relative directories at the start of <file_path> such as . and ... They are interpreted by UNIX System Services as relative to the Language Environment® current working directory, which can change in processing.
    • If <file_path> does not exist, or if the CICS region user ID does not have read access to <file_path> message DFHSJ1308 is issued.
  • <file_path> can contain symbols, for example &USSCONFIG;.
    • Symbols &DATE; and &TIME; are not allowed due to the formatting for these being set via the time zone option (TZ) that can be before or after the %INCLUDE directive.
  • The contents of <file_path> replace the %INCLUDE directive.
  • A profile can contain any number of %INCLUDE directives.
  • Cyclic references result in message Skipping duplicate. For example, Profile-A can include Profile-B, and Profile-B include Profile-C; but if Profile-B includes Profile-A the directive is ignored.
Multiple instances of options

If more than one instance of the same option is included in a profile, the value for the last option found is used, and previous values are ignored.

UNIX System Services directory paths

Do not use quotation marks when specifying values for zFS files or directories in a profile.

Rules that are specific to Node.js profiles

Name of a profile
  • The name can be any name that is valid for a file in z/OS® UNIX System Services. Do not use a name beginning with DFH, because these characters are reserved for use by CICS.
  • Because profiles are UNIX files, case is important. When you specify the name in CICS, you must enter it using the same combination of uppercase and lowercase characters that is present in the z/OS UNIX file name.