90 Rules
| ID | Name | Severity |
|---|---|---|
| 1001008 | Avoid having multiple artifacts inserting data on the same SQL table (PLI) |
medium
|
| 1001010 | Avoid having multiple artifacts deleting data on the same SQL table (PLI) |
medium
|
| 1001012 | Avoid having multiple artifacts updating data on the same SQL table (PLI) |
medium
|
| 1001014 | Avoid having multiple artifacts inserting data on the same SQL table (PLC) |
medium
|
| 1001016 | Avoid having multiple artifacts deleting data on the same SQL table (PLC) |
medium
|
| 1001018 | Avoid having multiple artifacts updating data on the same SQL table (PLC) |
medium
|
| 1001020 | Avoid PLI Procedures & Functions with a High Fan-out (PL1) |
medium
|
| 1001022 | Avoid PLC Procedures & Functions with a High Fan-out (PL1) |
medium
|
| 1001024 | Avoid PLI Procedures & Functions with a High Fan-in (PL1) |
medium
|
| 1001026 | Avoid PLC Procedures & Functions with a High Fan-in (PL1) |
medium
|
| 1001028 | Avoid duplicated Main Procedures (PL1) |
medium
|
| 1001030 | Avoid PLI Main Proc with High Cyclomatic Complexity (PL1) |
medium
|
| 1001032 | Avoid PLC Copybook with High Cyclomatic Complexity (PL1) |
medium
|
| 1001034 | Avoid PLI Procedures & Functions with High Cyclomatic Complexity (PL1) |
medium
|
| 1001036 | Avoid PLC Procedures & Functions with High Cyclomatic Complexity (PL1) |
medium
|
| 1001038 | Avoid PLI Functions and Procedures declared as RECURSIVE (PL1) |
medium
|
| 1001040 | Avoid PLC Includes having recursive PLC procedures (PL1) |
medium
|
| 1001042 | Avoid Functions and Procedures having multiple statements on the same line (PL1) |
medium
|
| 1001044 | Avoid Procedures using RETURN statements (PL1) |
medium
|
| 1001046 | Avoid Functions and Procedures using logical operators (or, and) in the "WHEN" clause of the SELECT statement (PL1) |
medium
|
| 1001048 | Avoid excessive number of successive nested Procedure calls and limit it to two (PL1) |
medium
|
| 1001050 | Avoid Procedures and Functions using the ITERATE statement (PL1) |
medium
|
| 1001052 | Avoid Programs having modules declared as external entries and unused (PL1) |
medium
|
| 1001054 | Avoid unreferenced PLI Procedures & Functions (PL1) |
medium
|
| 1001056 | Avoid unreferenced PLC Procedures & Functions (PL1) |
medium
|
| 1001058 | Avoid unreferenced PLC Copybooks (PL1) |
medium
|
| 1001060 | Avoid duplicate Programs in different files (PL1) |
medium
|
| 1001062 | Avoid unreferenced Main procedures (PL1) |
medium
|
| 1001064 | Avoid unreferenced DB2 tables (PL1) |
medium
|
| 1001066 | Avoid unreferenced PLC DB2 tables (PL1) |
medium
|
| 1001070 | Avoid using Main Procedures not having the same name as the file name (PL1) |
medium
|
| 1001072 | Avoid Functions and Procedures having bad naming convention (PL1) |
medium
|
| 1001074 | Avoid Main Procedures having in the same statement the combination of two words among : INDEX, SUBSTR, REPEAT, TRANSLATE (PL1) |
medium
|
| 1001078 | Avoid having Copybooks with reserved prefix (PL1) |
medium
|
| 1001080 | Avoid Functions and Procedures having qualified variables having spaces in the name (PL1) |
medium
|
| 1001082 | Avoid Programs mixing usage of do-while or (and) do-until (PL1) |
medium
|
| 1001084 | Avoid Main Procedures having the FETCH statement not followed by the word "TITLE" (PL1) |
medium
|
| 1001086 | Avoid programs with SQL queries using old style join convention instead of ANSI-Standard joins |
medium
|
| 1001088 | Avoid undocumented PLI Programs (PL1) |
medium
|
| 1001090 | Avoid undocumented PLC Copybook (PL1) |
medium
|
| 1001092 | Avoid undocumented PLI Procedures and Functions (PL1) |
medium
|
| 1001094 | Avoid undocumented PLC Procedures and Functions (PL1) |
medium
|
| 1001096 | Avoid PLI Programs with a very low comment/code ratio (PL1) |
medium
|
| 1001098 | Avoid PLC Copybook with a very low comment/code ratio (PL1) |
medium
|
| 1001100 | Avoid PLC Procedures & Functions with a very low comment/code ratio (PL1) |
medium
|
| 1001102 | Avoid PLI Procedures & Functions with a very low comment/code ratio (PL1) |
medium
|
| 1001104 | Avoid PLI Main procedures using variables with ALLOCATE and without FREE (PL1) |
medium
|
| 1001106 | Avoid using PLI Main Procedures using FIXED variable type declaration (PL1) |
medium
|
| 1001108 | Avoid PLC Copybooks using variables with ALLOCATE and without FREE (PL1) |
medium
|
| 1001110 | Avoid PLC Copybooks using FIXED variable type declaration (PL1) |
medium
|
| 1001112 | Avoid Functions and Procedures not using the REORDER option (PL1) |
medium
|
| 1001114 | Avoid Functions and Procedures using BLKSIZE or RECSIZE (PL1) |
medium
|
| 1001116 | Avoid Function and Procedures using Builtin Function "String" (PL1) |
medium
|
| 1001118 | Avoid Programs not using explicitly OPEN and CLOSE files (PL1) |
medium
|
| 1001120 | Avoid Functions and Procedures having subscripts used in arrays or in do loops and not declared as BINARY FIXED(31) (PL1) |
medium
|
| 1001122 | Avoid Functions and Procedures using BIN FIXED(15) instead of BIN FIXED(31) for all local variables (PL1) |
medium
|
| 1001124 | Avoid Main Procedures having SQL queries using NOT IN (PL1) |
high
|
| 1001126 | Avoid Main Procedures having SQL queries using NOT EXISTS (PL1) |
medium
|
| 1001128 | Avoid Main Procedures having queries with joins on more than 4 Tables (PL1) |
medium
|
| 1001130 | Avoid Main Procedures with High Raw SQL Complexity (SQL complexity greater than X) (PL1) |
medium
|
| 1001132 | Avoid Main Procedures having complex queries (PL1) |
medium
|
| 1001134 | Avoid Main Procedures using GROUP BY statement (PL1) |
medium
|
| 1001136 | Avoid Main Procedures having "SELECT * FROM ..." clause (PL1) |
high
|
| 1001138 | Avoid Functions and Procedures having cursors declared with "FOR FETCH ONLY" clause not having "WITH ROWSET POSITIONING" also specified (PL1) |
high
|
| 1001140 | Avoid Functions and Procedures with DB2 SQL containing the builtin function UPPER, LOWER or SUBSTR in the WHERE clause (PL1) |
high
|
| 1001142 | Avoid Functions and Procedures with DB2 SQL containing "UNION" clause without "ALL" option (PL1) |
medium
|
| 1001144 | Avoid Functions and Procedures with "OR" logical operator in DB2 queries and in cursor definitions (PL1) |
medium
|
| 1001146 | Avoid Programs having cursors that doesn't contain the "FOR UPDATE" clause and not containing the "FOR READ ONLY" or "FOR FETCH ONLY" clause (PL1) |
medium
|
| 1001148 | Avoid Main Procedures not having an ON ERROR clause (PL1) |
high
|
| 1001150 | Avoid Functions and Procedures having a SELECT without the default OTHERWISE clause (PL1) |
medium
|
| 1001152 | Avoid Programs having files declared as RECORD INPUT or RECORD UPDATE and not having the ON EOF or ON ENDFILE statement (PL1) |
medium
|
| 1001154 | Avoid Programs having files declared and not having the ON UNDF or ON UNDEFINEDFILE statement except SYSPRINT and SYSIN (PL1) |
medium
|
| 1001156 | Avoid PL1 Errors Blocks having ON ERROR SYSTEM blocks and not containing and displaying ONCODE and ONLOC (PL1) |
medium
|
| 1001158 | Avoid Functions and Procedures not testing the SQLCODE return code after each SQL statement (PL1) |
high
|
| 1001160 | Avoid PLI Main procedures, PL1 function and PL1 Procedures using GOTO statement (PL1) |
high
|
| 1001162 | Avoid PLC Copybook using GOTO statement (PL1) |
high
|
| 1001164 | Avoid Main procedures using the DATE builtin function (PL1) |
medium
|
| 1001166 | Avoid Main procedures using the DATE builtin Function via include PLC (PL1) |
medium
|
| 1001168 | Avoid Functions and Procedures not having variable declared on a separate line (PL1) |
medium
|
| 1001170 | Avoid Main Procedures having LEAVE statement (PL1) |
medium
|
| 1001172 | Avoid Programs overriding the *PROCESS statement (PL1) |
medium
|
| 1001174 | Avoid Programs declaring STATIC variables (PL1) |
medium
|
| 1001176 | Avoid Programs having FIXED without BIN or BINARY or DEC or DECIMAL.The character "(" is mandatory. (PL1) |
medium
|
| 1001178 | Avoid PLI Programs with more then XX Procedures (PL1) |
medium
|
| 1001180 | Avoid PLI Programs with more then 5 internal File structures (PL1) |
medium
|
| 1001182 | Avoid PLI Programs with more then 500 LoC and less then 5 Procedures (PL1) |
medium
|
| 1001184 | Avoid PLI Programs with more than XX lines of code (PL1) |
medium
|
| 1001186 | Avoid PLC Copybook with more than XX lines of code (PL1) |
medium
|
| 1001188 | Avoid PLI Procedures & Functions with more than 100 lines of code (PL1) |
medium
|
| 1001190 | Avoid PLC Procedures & Functions with more than 100 lines of code (PL1) |
medium
|