System Processes
Certain CGI Advantage processes require exclusive access to identified application database tables while they are running. One or more of the table update actions (Insert, Update, Delete) may be protected for the identified table(s). At the same time one or more of the transaction actions (Create, Validate, Submit, Approve/Bypass Approval, Reject, Reject All) may be protected for identified transactions. The System Processes table allows you to configure a process to have exclusive access to one or more tables and transactions.
The System Processes table has three tabs in Edit or Create Mode:
System ProcessesSystem Processes
Process ID – This field is a unique identification for each process to be configured.
Short Description – This is a required field that captures a short description for the process.
Long Description – This is an optional field to capture a long description for the process.
In Progress – This check box ‘locks’ the reference tables and the specified action. When done manually by the System Administrator, it prevents any updates made through any CGI Advantage application code. This mode is used to reserve the tables and transactions for external processes as the ‘locking’ does not involve database locks. This secures the tables for updates and/or transactions for specified actions by that job only.
Lock Resources on Process Fail – When a system process is associated with a batch process and if the batch process fails, this check box will prevent ‘releasing’ of the resources for online users for actions defined to be ‘locked’ in situations when the batch process fails. When this check box along with the Process Failed check box is checked the dependent resources will be ‘locked’ as defined by the In Progress check box.
Process Failed – This check box denotes that the job process failed. This along with the Lock Resources on Process Fail check box will lock the resources when the batch process fails. The system will set and reset this check box when the batch process fails processing or completes successfully.
Reference Table ResourcesReference Table Resources
This tab allows you to provide a list of tables for each process along with associated actions to be protected/allowed for the duration of the process run. All tables chosen here must already be registered as application resources of type Reference Table. For example, you may choose to allow updates on a specific table while the Payroll Process is running, but not allow deletions or inserts while the Payroll Process is running.
Transaction ResourcesTransaction Resources
This tab allows you to provide a list of transactions for each process along with associated actions to be protected/allowed for the duration of the process run. All transactions chosen here must already be registered as application resources of type Transaction. For example, you may choose to allow creation of Timesheet transactions while the Payroll Process is running, but not allow Submission while the Payroll Process is running.
Associating Batch Process with System Process
The System Process can be associated with a batch process using batch parameters. While scheduling a batch job, the batch administrator can define a batch parameter, SYSTEM_PROCESS_ID, with the value as the System Process Id. If the System Process needs to be associated with an entire chain job then the parameter should be defined in the chain job parameter list. Since the batch parameters are hierarchical, if the parameter is provided at both the chain and job step level then the job step level parameter will be used (chain job level parameter will be overridden). Only one System Process Id can be associated with a batch process.
Associating System Processes to Batch Processes using batch parameters and adding Transaction Type resources to the System Process is a feature flag driven feature. The onlineBatchProcesses feature flag in the feature.conf file must be enabled to turn on this feature.