SYSOPTS Syntax

SYSOPTS (system operations) are a specialized type of parameter used by every IBM® Connect:Direct® platform. SYSOPTS specify platform-specific commands to perform during a Process. For example, when transferring a file from a mainframe system to a Microsoft Windows system, you use SYSOPTS to specify that the file be translated from EBCDIC to ASCII and that any trailing blanks be removed.

All IBM Connect:Direct platforms use SYSOPTS on the Copy statement. Some platforms also use SYSOPTS on the Run Job and Run Task statements to pass parameters to the external program.

Because of operating system differences, SYSOPTS parameters and syntax vary by platform. This can be confusing when you create Processes with a text editor. (However, the IBM Connect:Direct Requester and the Connect:Direct Browser User Interface Process Builder both automatically handle Process syntax.)

You must use the SYSOPTS syntax for the platform that is performing the work. For example, if you are copying a file from z/OS to HP NonStop, then performing a Run Task on the copied file, you use the Run Task’s SYSOPTS syntax for HP NonStop.

If you are sending files to B2B Integrator and want to use SYSOPTS parameters to customize the format of those files, see Specifying File Formats using SYSOPTS.

Note: Depending on how you use a variable string, you may need to include bracketing characters. This situation is often required when a SYSOPTS string is sent as a symbolic parameter and must be enclosed in quotation marks.

For example, to transfer a file to a UNIX system using a symbolic variable, you would type the SYSOPTS clause as follows:

&SYSOPTS=\":datatype=text:xlate=yes:"\

In this example, what the Process states:

SYSOPTS=&SYSOPTS

resolves to:

SYSOPTS=":datatype=text:xlate=yes:"

The following list explains the SYSOPTS syntax differences between platforms. Remember, IBM Connect:Direct Requester and the Connect:Direct Browser User Interface Process Builder handle Process syntax automatically, so you do not need to worry about these conventions if you use those tools.

Processes Submitted from HP NonStop

Copy Statement: Copy statement SYSOPTS are expressed as HP NonStop SET commands. Enclose each SYSOPTS string in double quotation marks except when copying from Microsoft Windows to HP NonStop. For example:

SYSOPTS=("SET parameter")

When copying from Microsoft Windows to HP NonStop, enclose each SET parameter in single quotation marks and enclose the entire SYSOPTS string in double quotation marks. For example:

SYSOPTS="’SET parameter’ ’SET parameter’ ’SET parameter’"

There are two ways to express multiple SET command parameters:

  • SET precedes each parameter. For example:
    SYSOPTS=("SET parameter" "SET parameter")
  • SET precedes the first parameter, and commas separate subsequent parameters. For example:
    SYSOPTS=("SET parameter, parameter")

Do not use continuation marks.

Run Task Statement: Enclose a Run Task statement’s SYSOPTS string in either single or double quotation marks. Enclose any literal parameter values to be passed in single quotation marks. Enclose any symbolic values (&value) in double quotation marks

Processes Submitted from z/OS

Enclose the complete SYSOPTS string in double quotation marks. Separate individual SYSOPTS parameters with spaces and use the delimiter appropriate to the platform. For example, if you are copying to Microsoft Windows, you would enclose keyword values in parentheses:

SYSOPTS = "DATATYPE(BINARY) XLATE(YES) STRIP.BLANKS(NO)"

Use backslashes (\) and concatenation characters (||) to continue the SYSOPTS string over multiple lines when the Process. For example:

SYSOPTS=\"TYPE(MBR)\
        \TEXT(’CREATED BY PROC#001’)\
         \RCDLEN(133)"\

Processes Submitted from i5/OS

Copy Statement: Enclose all SYSOPTS parameter values in parentheses. Enclose the entire SYSOPTS string in double quotation marks. Separate subparameters with blanks. For example:

SYSOPTS="TYPE(FILE) PRECMPR(*YES) XTRAN(EBCXKSC) XTRANLDATA(MIXED)"

Run Job Statement: Enclose the string to be passed in double quotation marks. For example:

SYSOPTS = "string"

Run Task Statement: Enclose the CL command in parentheses. Enclose the entire SYSOPTS string in double quotation marks. For example:

SYSOPTS = "cmd(CL command)"

Processes Submitted from OpenVMS

Copy Statement: Enclose the SYSOPTS string in double quotation marks. Enclose each subparameter string in single quotation marks. Separate the subparameters by blanks. For example:

SYSOPTS="MOUNT=’MUA0 TAPELABEL’ NODISMOUNT"

Run Job Statement: Enclose the SYSOPTS string in double quotation marks. Enclose each subparameter string in single quotation marks. Separate the subparameters by blanks. For example:

SYSOPTS ="KEEP LOG=‘log-name’ NOPRINT"

Run Task Statement: Enclose the entire SYSOPTS string in double quotation marks. Enclose each subparameter string in single quotation marks. Separate the subparameters by blanks. For example:

SYSOPTS="[OUTPUT=‘file specification’]

If you are calling a DCL command procedure that contains embedded blanks and quotation marks, replace the embedded blanks with underscores and remove the quotation marks. For example, specify the DCL command MAIL/SUBJECT “two words” filename as:

SYSOPTS="CMD=‘MAIL/SUBJECT=two_words filename’"

Processes Submitted from UNIX

Copy Statement: Enclose the SYSOPTS string in double quotes. For example:

sysopts=":datatype=text:xlate=no:pipe=yes:"

Run Job and Run Task Statements: Enclose the SYSOPTS string in double quotes. Separate the UNIX commands with semicolons. For example:

sysopts = "unix command;unix command;unix command"

Processes Submitted from VM

Enclose the SYSOPTS string in single or double quotes. For example:

SYSOPTS='!SPOOL CLASS B DIST VM1500'

or

SYSOPTS="!SPOOL CLASS B DIST VM1500"

Processes Submitted from VSE

Enclose each SYSOPTS parameter string in double quotation marks. For example:

SYSOPTS = "DBCS=(tablename,so,si,PAD)" "parameter1,parameter2"

Processes Submitted from Microsoft Windows

Enclose the entire string in double quotation marks. Separate the parameters by spaces. For example:

"xlate(yes) xlate.tbl(tbl)"