Appendix C

Appendix C

Command Line Parameters #

SICS Command Line Parameters #

NOTE:
This information does not apply to SICS API Server. Please see separate installation documentation for SICS API Server.

This appendix describes the command line parameters that can be specified in the shortcut that starts the SICS system. SICS command lines follow this template with 6 elements:

<Path to JRE><JRE arguments><Main class><Target type><Product><SICS application command line arguments>
Element Description
<Path to JRE> Path to the Java runtime.
The SICS installation contains a JRE distribution, installed in the <installation_root>/jre subfolder.
<JRE arguments> See Java Runtime Environment (JRE) Arguments.
<Main class> The SICS main startup class = com.csc.sics.launcher.Main
<Target type> = workstation / sysadmin
<Product> = pc / lf
<SICS application command line arguments> See SICS Application Command Line Arguments

Example:

<installation_root>\jre\bin\javaw.exe
    -classpath "conf;lib\sics.launcher.jar;lib\sics.classloader.jar" 
    -Xss2000k
    -Xms128m
    -Xmx512m
    -Djava.lang.Integer.IntegerCache.high=1200
    -Dswt.autoScale=quarter
    -splash:inc/sics4splashLF.png 
    com.csc.sics.launcher.Main
    sysadmin 
    lf 
"   -duJSMITH -dpJX12BC -dnPDEV -deCOMMON"

Java Runtime Environment (JRE) Arguments #

For a list of the JRE’s standard command line options, simply enter the path to the JRE (javaw.exe) in a command shell. For a list of non standard options, type the path to the JRE followed by -X. For complete documentation regarding JRE options, refer to the JRE’s documentation.

The SICS installation contains a JRE distribution, installed in the jre\bin subfolder.

Some required/useful JRE options for SICS are:

  • -Xmx

    • Required: YES
    • Format: -Xmx<size>[g|G|m|M|k|K]
    • Default: 500m
    • Example: -Xmx500m
    • Sets the maximum Java heap size. This setting may be used to specify how much data a Java application is allowed to store in memory. If repeated OutOfMemoryError errors occur, it is a sign that the Java process does not allocate enough memory to properly run the SICS application. Please see more information in the separate document Memory Settings.
  • -Xms

    • Required: YES
    • Format: -Xms<size>[g|G|m|M|k|K]
    • Default: 100m
    • Example: -Xms100m
    • Sets the initial and minimum Java heap size. The JRE will gradually allocate memory as the application’s request up to the limit given by -Xmx described above. It is also possible to allocate a portion of the maximum memory right at startup by the option -Xms. Note that the initial heap size will default to a value larger of 1/64th of the machine’s physical memory or some reasonable minimum if not overridden using the -Xms command-line option. A large -Xms may be useful for SICS installations that perform memory intensive tasks, such as scheduled job processors.
  • -Xss

    • Required: YES
    • Format: -Xss<size>[g|G|m|M|k|K]
    • Default: 2000k
    • Example: -Xss2000k
    • Sets the thread stack size. Java thread stacks are memory areas allocated for each Java thread for their internal use, it is where the thread stores its local execution state.
  • -XX:MinHeapFreeRatio

    • Required: NO
    • Format: -XX:MinHeapFreeRatio=<percentage>
    • Default: 10
    • Example: -XX:MinHeapFreeRatio=10
    • Sets the minimum percentage of heap free after garbage collection to avoid expansion.
  • -XX:MaxHeapFreeRatio

    • Required: NO
    • Format: -XX:MaxHeapFreeRatio=<percentage>
    • Default: 20
    • Example: -XX:MaxHeapFreeRatio=20
    • Sets the maximum percentage of heep free after garbage collection to avoid shrinking.
  • -XX:+UseSerialGC

    • Required: NO
    • Enables the use of the serial garbage collector
  • -XX:+UseParallelGC

    • Required: NO
    • Enables the use of the the parallel garbage collector. This will improve the performance of the application but uses more memory than the serial garbage collector.
  • -splash

    • Required: NO
    • Format: -splash:<image>
    • Default: inc/sics4splashPC.png
    • Example: -splash:inc/sics4splashLF.png
    • This setting is used to show the splash screen at application startup. There are two splash screens provided with the SICS installation in the /inc subfolder: sics4splashPC.png for SICS P&C and sics4splashLF.png for SICS Life.
  • -Dswt.autoScale=quarter

    • Required for proper scaling in increments of 25% under the Windows operating system.
  • -Djava.lang.Integer.IntegerCache.high=1200

    • Required for improved performance.
  • -Dparameter=value

    • Required: NO
    • -D - Options may be used to specify properties as exemplified here:
      • -Dsics.user.home=S:\
      • -Dsics.global.resource.registry.path=S:\
      • -Duser.home=W:\TEMP\%USERNAME%
      • -Dsics.runtime=false
      • -Dsics.graphics.text.font.name="MS Sans Serif"
      • -Dsics.graphics.text.font.size=8
    • sics.user.home and sics.global.resource.registry.path are mentioned in Resource Registry Settings.
    • user.home is normally defaulted by Java to the user’s profile folder. Note that SICS uses the SWT widget set, which needs to extract the graphic dll from the swt jar. The extracted dll will be written to a sub-folder of the path indicated in the system property user.home. If the default user.home path is not writeable (could happen e.g. under Citrix), you need to set an alternative writeable path using -Duser.home=... as examplified above. If using the SicsJavaLauncher for starting SICS, then user.home must be set as described in the SicsJavaLauncher.inifile.
    • sics.runtime defaults to true and should only be set to false for debugging purposes. Additional debugging options are CnuPresentOptionToHaltOnValidationErrorGlobal (defaults to false) and sics.abend.on.error (GUI exception handling; defaults to true). Debugging options should only be used when instructed by DXC.
    • sics.graphics.text.font.name is the font name used by various graphics text drawing operations in e.g. Custom Desktop configuration and Claim Snapshot screen. It defaults to the system font name. In one unusual case where font substitution (in the Windows registry) was applied, the SICS graphics text drawing would only show correct text if the font name was explicitly provided.
    • sics.graphics.text.font.size is the font size/height used by various graphics text drawing operations. It defaults to 8.
  • -classpath

    • Required: YES
    • The classpath is required for the JRE to launch the SICS application. Do NOT change this setting.

SICS Application Command Line Arguments #

As indicated by the template given above, there are certain requirements on how SICS application arguments may be given. These limitations may be removed in future versions, but the current format will still be supported. In order to interpret the options correctly, workstation/sysadmin followed by pc/lf must be specified prior to the SICS command line arguments.

These arguments must be entered as a single string enclosed by double-quotes (").

Within the string, the arguments must be separated by a single space. The arguments must no themselves contain spaces.
(See -l below for how to handle such a case).
Examples are given below.

Argument Description Example
-w The directory for walkback files -wD:\walkbacks
-ds Single Sign On, please see the System Administration Guide for details.  
-du The user’s logon id.

Using this command line argument will override the USER setting from the ini file (see Ini File Settings).
-duJSMITH
-dp The user’s password.

The password can be encrypted, please see Appendix F - Password Encryption.
Using this command line argument will override the PASSWORD setting from the ini file (see Ini File Settings).
-dpHTiMSj
-dn The database (data source) name (drop down in login screen).

Using this command line argument will override the DATABASE setting from the ini file (see Ini File Settings).
-dnPROD
-do Use OS Authentication (no further parameter value needed).

Using this command line argument will override the OS_AUTHENTICATION setting from the ini file (see Ini File Settings).

NOTE: Even if a user id and password is not needed when using OS authentication, it is still necessary to provide the -du and -dp parameters (with no further value) and the -dn parameter (with proper database name) if you want an automatic login to SICS (i.e. you do not want the login window).

NOTE: Some database types (RDBMSs) may require special configuration in the database and/or the JDBC datasource before OS authentication can be used. See the relevant chapters on Using Database Remote OS Authentication above.
 
-de The environment to use.

Using this command line argument will override the ENVIRONMENT setting from the ini file (see Ini File Settings).

The environment represents the database schema you want to use. Because one database may contain several SICS schemas (for example, several tests schemas), it is usually necessary to indicate which one to use. NOTE: Use the schema owner name, NOT the environment name that is normally shown to the end-users when they log on.
-deSICSTEST
-b Starts SICS Scheduler in batch (unattended) mode.

NB: This command line argument is only valid for “sysadmin”.

This command line argument will start a SICS Scheduler with the scheduler name DEFAULT (in uppercase). Please see the System Admin Guide for details on how to set up named schedulers and how to assign batch jobs to specific named schedulers.

Templates and actual jobs with activation type ‘Active’ will be considered for processing. Activation type ‘On Call Only’ and ‘Suspended’ will NOT be considered. When the -b switch is used, the various -d switches must be provided as well. A job will be selected for processing, according to the following steps (all the time limited to ‘Active’ jobs):
1. For each job template that has a schedule that is due, an actual job is generated.
2. Get a list of pending actual jobs, except those with desired start time in the future. Sort by priority. Within the same priority, sort by desired start time. From this list, select the first job. That is, the one with highest priority and lowest desired start time (not in the future).
3. If a job was selected in step 2, process it. If no job was selected, go idle (wait) for 60 seconds.
4. Refresh cached reference data, job templates, jobs, etc. Repeat from step 1.

NB: Use at most one of the options -b, -bn:<scheduler>, -b<jobname>. Do not mix.
 
-b:r Starts SICS Scheduler in batch (unattended) mode, using a light refresh between jobs.

NB: This command line argument is only valid for “sysadmin”.

This option may be used together with any of the options -b, -bn:<scheduler> and -b<jobname>.
Note that -b -b:r and just -b:r has the same effect.

NOTE: When used, the -b:r option MUST be the LAST option on the command line.

By default, the scheduler will do a full refresh of all data (including base data such as reference data) between each job. By starting the scheduler with the -b:r option, a light refresh will be used instead. The light refresh will remove all business data (Business, Claim, Accounting, etc) from the scheduler memory, which means such data will be read again from the database when needed. This is an important measure to guard against issues with concurrent update (also know as ‘write lock errors’). However, the light refresh will not remove/reload base data (reference data, currencies, base companies, countries, etc). As a result, the light refresh executes several seconds faster than the full refresh.

When running the scheduler with the light refresh option, it is still possible to force a full refresh, if desired. Just issue a job containing a job step of type ‘Full Refresh’.
 
-bn:<scheduler> Starts SICS Scheduler in batch (unattended) mode.
NB: This command line argument is only valid for “sysadmin”.

NB: Use at most one of the options -b, -bn:<scheduler>, -b<jobname>. Do not mix.

This command line argument will start a SICS Scheduler with the given scheduler name. Please see the System Admin Guide for details on how to set up named schedulers and how to assign batch jobs to specific named schedulers.

Apart from the scheduler’s name, this command line argument works in the same manner as the plain -b command line argument documented above.
 
-b<jobname> Starts SICS Scheduler in batch (unattended) mode, for the specified job. The scheduler will terminate after processing the job.

NB: This command line argument is only valid for “sysadmin”.
NB: Use at most one of the options -b, -bn:<scheduler>, -b<jobname>. Do not mix.

This command line argument will start a SICS Scheduler with the scheduler name DEFAULT (in uppercase). Please see the System Admin Guide for details on how to set up named schedulers and how to assign batch jobs to specific named schedulers.

Only jobs (pending actual jobs or job templates) with the specified name and activation type ‘On Call Only’ will be considered for processing. The job-name must not contain any spaces.

When the -b<jobname> switch is used, the various -d switches must be provided as well. A job will be selected for processing, according to the following steps (all the time limited to ‘On Call Only’ jobs):

1. For each job template with the given name, which has a schedule that is due, an actual job is generated.
2. Get a list of pending actual jobs with the given name. Sort by priority. Within the same priority, sort by desired start time. Select the first job in the list after sorting, that is, the one with highest priority and lowest desired start time. Note: No test whether desired start time is in the future or not.
3.
1. If a job was selected in step 2: Process the job. The SICS Scheduler will terminate with return code 0 if processing was successful, 1 otherwise.
2. If a job was NOT selected in step 2: The SICS Scheduler will terminate with return code 1.
-bWeekly_Acct_Order
-p<filename> Parameters for certain kinds of batch jobs.

Run a specific job (see -b<jobname> above) with override parameters taken from the specified file. This feature is limited to certain kinds of jobs. See Batch Job Parameter Overrides for details.
 
-l<filename> Redirect application output (java standard ‘out’ and ’err’) to <filename>.

SICS writes some information to System.out and System.err. Normally, ‘out’ and ’err’ goes to the console. With the -l option, the output can be redirected to a file.

If filename contains space characters e.g. C:\documents and settings\..., the option should be specified by -Dl="<filename>" among the Java runtime arguments described in the previous chapter.
 

Example for running batch mode:

<installation_root>\jre\bin\javaw.exe 
-classpath "conf;lib\sics.launcher.jar;lib\sics.classloader.jar" 
-Xss2000k
-Xmx512m
-Djava.lang.Integer.IntegerCache.high=1200
-Dswt.autoScale=quarter
-splash:inc/sics4splashLF.png 
com.csc.sics.launcher.Main
sysadmin 
lf 
"-ds -duTECHUSER -dp%51DBEA0344D3031D12FB15B49069A199 
-dnPDEV -deCOMMON -b"

NOTE:
If an encrypted password is provided in the command line password field in a .bat/.cmd file, it will usually be necessary to double the % sign.