kcml

General Form:

kcml [-gcdfnprwzv] [program] [param...]

This command invokes the KCML interpreter from the shared library kserver.dll (NT), kserver.sl (HP-UX) or kserver.so. It will read commands from the standard input, and will be interactive if this is a terminal. End of file will cause the system to exit and return to the operating system unless interactive, in which case the $END statement must be used. Refer to the appendix for a list of the values returned to the operating system when KCML is closed.

If the optional program argument is given, it should be the name of a file containing either a compiled KCML program, or a sequence of immediate statements in ASCII. In the former case, the program will be run before any commands read from the standard input. In the latter case, the commands and statements will be executed.

If the optional program argument is not given, but the environment variable START exists, and holds the name of a file, this file will be used as the start-up program in the same way.

Any other optional parameters after the start program are not used by KCML and are available for the application to inspect using the $ARG() function.

Any or all of the standard input, standard output, or error output may be redirected. The usage of these files is as follows:

stdinCI and INPUT
stdoutCO, PRINT and LIST
stderrTRACE

The switches are case sensitive.

The parameters available with the kcml utility are as follows
SwitchPurpose
-bAct as a SOAP server listening out for web service requests.
-cForces KCML to run in a batch compiling mode with the same functionality as compile. compile is not available as a separate program under DOS. This must be the first switch on the command line. Subsequent switches can be taken from the list of switches in the compile documentation.
-dDongle test. Only relevant on versions of KCML that are supported by dongles. Executing a CML -d returns information about the dongle, i.e. the maximum number of supported users, the KCML software license number, the #GOLDKEY value etc.
-e envvarSets an environment variable. This can be used for those variables that need to be set before KCML has started running, e.g. HEAPINIT or BCDPART. Three forms may be used:
-ename=valueSet the environment variable name to value
-enameSet the environment variable name to TRUE
-ename=Unset the environment variable name
-gKCML will load the specified program into a shared memory area and execute it as a global partition. See Background and Global partitions chapter.
-k lowPort,hiPort [,timeout]KCML will run persistently having reconnected to a port between loPort and hiPort. Timeout in seconds can optionally be set. This can be used in connection with Apache's mod_kcml to start persistent KCML SOAP servers.
-l Direct telnet support
-nEnables NPL compatibility mode at runtime. It disables the special treatment of global variables with an @ prefix, forces 24 lines for INPUT SCREEN on terminals with more than 24 lines and disables scrolling in PRINT AT(). This functionality can also be enabled and disabled with byte 33 of $OPTIONS RUN.
-p progStart KCML server and run the nominated program as a non-interactive kcml script. Each kcml -p process will consume a KCML licence.
-qStart KCML and connect to a Corba ORB, usually to act as a Corba server. ORB specific switches should follow this. If this instance is to act as a Corba server you must specify a program to run and that program should invoke the server.
-sSwitch to the directory of the command line directory program argument before starting execution. The default is to stay in the current directory.
-S serviceLoad the environment associated with the specified service using kconf.xml. This is performed automatically by the connection manager but can also be specified this way for direct connections.
-vDisplay the version and build information
-x lib.soSpecified a KCML shared library to be loaded for use in CALL. Multiple libraries are allowed by repeating this switch.
-yUse C runtime memory allocator. This has the same effect as setting the USEMALLOC environment variable.
-corelist coreNT only. Specifies a core file to be loaded and listed.
-coreeditor coreNT only. Specifies a core file to be loaded. The workbench will then be loaded displaying the program state at the time of the crash.

Examples:

 kcml -g -e BCDPART=99
or
 kcml -v
Could display
 kcml: release version 07.05.00.18311. Linux 2.6 x86
for a Linux version of KCML.

See also:

compile, START environment variable