Summary of coding rules and checks
The following lists the violations that can be produced by SI-Precise while analyzing Sterling/Gertran code. They are broken down below into the categories standards, performance, correctness, seceurity and other.
Standards
Validate queue names against a naming standard
Queue names should comply to a set length, should be in uppercase, should not contain underscores, cannot start with SYSTEM. and should not contain blanks. Enforcing a queue names adds to consistency and prevents any issues at run time with MQ names that affect functionality.
No default error handler
No default error handler has been added to the workflow.
In process fault handler
An in process fault handler has been defined where the architecture prefers no handlers be setup.
Process, operation or sequence has no name
A process, operation or sequence has been found that does not have a name assigned.
Correctness
JDBC Table not defined
The code is referencing a table in a JDBC query that cannot be found in the development database. The table maybe missing from the deployment scripts.
Lock and Unlock do not match
A locked resource may not be unlocked which can cause deadlocks and performance issues.
Duplicate sequence found
2 or more sequences with the same name have been found.
Process called but defined
A process is being called/invoked that cannot be found.
Process invoking self
A process is invoking itself and may cause an infinite loop.
Dead code found
A process step has been found after an en exception is thrown and cannot be reached.
Case not defined
A rule has no CASE associated.
Case has no matching rule
A CASE has no matching rule.
Security
Prefer SFTP over FTP
Use SFTPClientBeginSession over FTPClientBeginSession in process flows.