149 Rules
ID | Name | Severity |
---|---|---|
7050 | Function naming convention |
medium
|
7054 | Avoid large Programs - too many Lines of Code (ABAP) |
medium
|
7056 | Avoid Programs/Includes including large Includes |
medium
|
7058 | Avoid Programs with too many includes |
medium
|
7060 | Avoid undocumented Programs (ABAP) |
medium
|
7062 | Avoid undocumented Includes |
medium
|
7066 | Avoid Programs with low comment/code ratio |
medium
|
7068 | Avoid Includes with low comment/code ratio |
medium
|
7072 | Program naming convention |
medium
|
7074 | Include naming convention |
medium
|
7076 | Avoid Programs/Includes with too many Forms |
medium
|
7082 | Avoid Function pools with too many functions |
medium
|
7088 | Processing Screen Naming Convention |
medium
|
7092 | Avoid Include Circular references |
medium
|
7094 | Avoid Programs with too many levels of inclusion |
medium
|
7420 | Avoid SQL queries with implicit conversions in the WHERE clause |
medium
|
7512 | Avoid empty Functions, Forms and Modules |
medium
|
7514 | Avoid empty Includes |
medium
|
7516 | Avoid empty Programs |
medium
|
7518 | Avoid missing WHEN OTHERS in CASE statements |
medium
|
7520 | Avoid unchecked return code (SY-SUBRC) after OPEN SQL or READ statement |
high
|
7524 | Avoid using BREAK or BREAK-POINT statement |
high
|
7526 | Avoid using hard-coded paths |
medium
|
7528 | Never use the ON CHANGE OF statement |
medium
|
7530 | Avoid "SELECT *" or "SELECT SINGLE *" queries |
medium
|
7532 | Avoid nested SELECT ... ENDSELECT statements |
high
|
7534 | Avoid READ TABLE without BINARY SEARCH |
high
|
7536 | Avoid using AT Events in combination of LOOP AT .... WHERE constructs |
high
|
7538 | DEPRECATED: Avoid using SELECT ... INTO CORRESPONDING FIELDS OF |
high
|
7540 | Avoid unreferenced Includes |
medium
|
7542 | Avoid using FOR ALL ENTRIES IN without emptiness check |
medium
|
7544 | Avoid using SELECT ... ENDSELECT statement |
medium
|
7568 | Avoid undocumented User-exits |
medium
|
7570 | Avoid User-Exits with low comment/code ratio |
medium
|
7572 | Avoid accessing multiple times the same SAP Table or View in an SAP include (DELETE) |
medium
|
7576 | Avoid accessing multiple times the same SAP Table or View in an SAP include (INSERT) |
medium
|
7578 | Avoid accessing multiple times the same SAP Table or View in an SAP include (UPDATE) |
medium
|
7580 | Avoid accessing multiple times the same SAP Table or View in an SAP Program (DELETE) |
medium
|
7582 | Avoid accessing multiple times the same SAP Table or View in an SAP Program (INSERT) |
medium
|
7584 | Avoid accessing multiple times the same SAP Table or View in an SAP Program (UPDATE) |
medium
|
7586 | Avoid cyclic calls between Event and its handled Method |
medium
|
7592 | Avoid using "ORDER BY" in SELECTS |
medium
|
7594 | Avoid using "SELECT DISTINCT", use DELETE-ADJACENT |
medium
|
7596 | Avoid Classes implementing too many Interfaces (ABAP) |
medium
|
7598 | Class naming convention |
medium
|
7602 | Transaction naming convention |
medium
|
7612 | Avoid Interfaces with a low comment/code ratio |
medium
|
7624 | Class members should be declared as Private |
medium
|
7626 | Avoid large Classes - too many Methods (ABAP) |
medium
|
7628 | Avoid large Classes - too many Data Members (ABAP) |
medium
|
7630 | Avoid large Interfaces - too many Methods (ABAP) |
medium
|
7660 | Never use SQL queries with a cartesian product on XXL Tables |
high
|
7662 | Avoid SQL queries on XXL Tables with implicit conversions in the WHERE clause |
high
|
7664 | Avoid using FOR ALL ENTRIES IN without emptiness check on XXL Tables |
medium
|
7666 | Avoid using SELECT ... ENDSELECT statement on XXL Tables |
medium
|
7670 | Avoid accessing SAP standard Tables in modification from custom code |
high
|
7672 | Avoid using EXIT statement in Include |
medium
|
7680 | Declare as Final all classes that will not be sub-classed |
medium
|
7766 | Avoid Artifacts with High Cyclomatic Complexity |
medium
|
7768 | Avoid Artifacts with High Depth of Code |
medium
|
7772 | Avoid Artifacts with High Essential Complexity |
medium
|
7774 | Avoid Artifacts with High Integration Complexity |
medium
|
7776 | Avoid Artifacts with High Fan-In |
medium
|
7778 | Avoid Artifacts with High Fan-Out |
medium
|
7780 | Avoid Classes with a very low comment/code ratio |
medium
|
7788 | Avoid empty catch blocks |
high
|
7792 | Avoid Classes with a High Number Of Children |
medium
|
7796 | Avoid Classes with a High Lack of Cohesion - variant |
medium
|
7798 | Avoid Classes with a High Lack of Cohesion |
medium
|
7802 | Avoid Classes with a High Depth of Inheritance Tree |
medium
|
7806 | Avoid Artifacts with Group By |
medium
|
7808 | Avoid Artifacts with SQL statement including subqueries |
medium
|
7810 | Avoid Artifacts with a Complex SELECT Clause |
medium
|
7818 | Avoid Functions having a very low Comment/Code ratio |
medium
|
7820 | Never use SQL queries with a cartesian product |
medium
|
7822 | Avoid Artifacts with queries on more than 4 Tables |
medium
|
7828 | Avoid Artifacts with High RAW SQL Complexity |
medium
|
7830 | Avoid unreferenced Interfaces |
medium
|
7832 | Avoid unreferenced Classes |
medium
|
7834 | Avoid undocumented Interfaces |
medium
|
7836 | Avoid undocumented Functions |
medium
|
7838 | Avoid undocumented Methods |
medium
|
7842 | Avoid large Artifacts - too many Lines of Code |
medium
|
7844 | Avoid undocumented Classes |
medium
|
7846 | Avoid Methods with a very low comment/code ratio |
medium
|
7848 | Interface naming convention - prefix |
medium
|
7850 | Avoid raising an exception in a Web Dynpro Supply Function or in a Method called by a Supply Function |
medium
|
7858 | Avoid passing parameter by value |
medium
|
7860 | Avoid unreferenced Functions and Procedures |
medium
|
7864 | BAPIs must not cause the Program to abort or terminate |
high
|
7866 | Avoid SELECT ... BYPASSING BUFFER |
medium
|
7868 | Avoid Open SQL queries in loops |
critical
|
7870 | Avoid using the NOT LIKE operator in WHERE clauses |
medium
|
7872 | Avoid using IS [NOT] NULL in WHERE condition |
medium
|
7874 | Avoid using dynamic queries |
critical
|
7876 | Avoid using SELECT ... FOR UPDATE |
medium
|
7878 | Avoid Open SQL SELECT queries without WHERE condition |
high
|
7880 | Avoid nested loops |
medium
|
7882 | Avoid using Native SQL |
critical
|
7884 | Avoid disabling source code inspection |
medium
|
7886 | Avoid using SYSTEM-CALL |
medium
|
7888 | Web Dynpro - Never use direct calls to routine via "me->", use "wd_This->" instead |
medium
|
7890 | Web Dynpro - Never use INCLUDE statement |
high
|
7892 | Web Dynpro - Avoid changing the program flow |
high
|
7894 | Avoid using LOOP INTO, use LOOP ASSIGNING instead |
medium
|
7902 | Avoid SQL queries that no index can support |
medium
|
7904 | Avoid SQL queries on XXL tables that no index can support |
high
|
7906 | Avoid testing specific values for SY-UNAME |
high
|
7908 | Avoid unreferenced Methods |
medium
|
7912 | Avoid unreferenced Data Members |
medium
|
7934 | Avoid Superclass (or Interface) knowing Subclass (or Interface) |
medium
|
7944 | Avoid High Response for Classes |
medium
|
8012 | Avoid unchecked return code (SY-SUBRC) after opening and reading dataset |
medium
|
8014 | Avoid unchecked return code (SY-SUBRC) after AUTHORITY-CHECK |
high
|
8106 | Avoid empty IF-ENDIF blocks |
high
|
8114 | Avoid data corruption during incompatible mutation (ABAP) |
medium
|
8116 | Avoid calling system function (CALL 'cfunc') |
critical
|
8118 | Avoid using the RFC_ABAP_INSTALL_AND_RUN function |
high
|
8120 | Avoid using CALL FUNCTION without error handling |
medium
|
8122 | Avoid using CALL METHOD without error handling |
medium
|
8124 | Do not use function module DB_EXISTS_INDEX (HANA) |
medium
|
8126 | Avoid using empty SELECT ... ENDSELECT loop |
high
|
8130 | Avoid using database hints |
medium
|
8132 | Avoid using CHECK, EXIT,or RETURN in SELECT ... ENDSELECT loops |
critical
|
8134 | Avoid unsorted data after SELECT queries |
high
|
8412 | "CX_ROOT" should not be used in TRY .. CATCH.. ENDTRY block |
high
|
8422 | Avoid Using COMMIT WORK or ROLLBACK WORK during update work process |
high
|
8426 | Avoid calling database commands directly using system functions as "C_DB_EXECUTE" and "C_DB_FUNCTION" |
critical
|
8428 | Authorization check should be done before calling a transaction |
critical
|
8430 | Avoid using hard-coded seed or no seed at all for random values generation |
high
|
8432 | Avoid Cross-Client Database Access using Open SQL statements with CLIENT SPECIFIED/USING CLIENT addition |
high
|
8464 | Avoid Open SQL SELECT queries without WHERE condition on XXL Tables |
high
|
8546 | Avoid using ABAP command CALL 'SYSTEM' |
critical
|
8548 | Avoid using ABAP command INSERT REPORT |
critical
|
8550 | Avoid using ABAP command GENERATE SUBROUTINE POOL |
critical
|
8552 | Avoid using ABAP command OPEN DATASET with the FILTER addition |
critical
|
8570 | Avoid Calling RFC Function Module without Authorization Check |
high
|
8572 | Avoid using SUBMIT statement with another user permission |
high
|
8574 | Avoid using statement CALL TRANSACTION through variable P_TCODE |
high
|
8576 | Avoid using OPEN DATASET without Authorization Check |
high
|
8578 | Avoid using MODIFY without Authorization Check |
high
|
8580 | Avoid using GENERATE SUBROUTINE POOL statement without Authorization Check |
high
|
8582 | Avoid Dynamic Function/Method call without Authorization Check |
high
|
8584 | Prefer using OPEN DATASET statement with file Path instead of file name |
high
|
1060020 | Avoid empty catch blocks for methods with high fan-in |
critical
|
1101018 | Avoid using the GROUP BY clause |
medium
|
1101024 | Avoid using dynamic SQL in SQL Artifacts |
medium
|
1101030 | Avoid Artifacts with queries on too many Tables and/or Views |
medium
|
1101062 | Avoid using multiple statements per line (SQL) |
medium
|