Release Notes - 1.0
-
1.0.21-funcrel
1.0.21-funcrel
Updates documentation of rules about classes/interfaces: 1104010 - Avoid Classes with a very low comment/code ratio (ABAP) 1104012 - Avoid Interfaces with a low comment/code ratio (ABAP) 1104014 - Avoid undocumented Classes (ABAP) 1104016 - Avoid undocumented Interfaces (ABAP) Updates documentation of rule 📝 57505 7518 - Avoid missing WHEN OTHERS in CASE statements -
1.0.20-funcrel
1.0.20-funcrel
Adds new rules: 📝 55834 1104010 - Avoid Classes with a very low comment/code ratio (ABAP) 1104012 - Avoid Interfaces with a low comment/code ratio (ABAP) 1104014 - Avoid undocumented Classes (ABAP) 1104016 - Avoid undocumented Interfaces (ABAP) Adds “ABAP Processing Screen” as entry point Updates paths of ABAP files used for bookmark when they contain double path separators (\\) 1.0.18-funcrel
1.0.18-funcrel
Improves accuracy of rule : 8578 - Avoid using MODIFY without Authorization Check. 📝 52995 Improves accuracy of rule : 7544 - Avoid using SELECT … ENDSELECT statement" when “ORDER BY” addition is before “UP TO n ROWS”. 📝 53573 Improves accuracy of rule : 8586 - Avoid Insecure dynamic call of a function module through variable P_NAME 1.0.17-funcrel
1.0.17-funcrel
Fixes an causing only one object to be resolved if more than three objects with same type/name exist in the same file (may also be the case for macros). Fixes an issue causing SAP tables and views which are called from SQLScript procedures to fail to be resolved. Fixes an issue causing tables/views/CDS objects to not be saved if several of these objects have the same name. 1.0.16-funcrel
1.0.16-funcrel
Fixes an issue causing missing links when an expression is used in the “VALUE” part of a constant. NEW Avoid Calling RFC Function Module Without Authorization Check 💎 8570 NEW Avoid DYNAMIC CALL Function/Method Without Authorization 💎 8582 NEW Avoid using GENERATE SUBROUTINE POOL statement Without Authorization Check 💎 8580 NEW Avoid using OPEN DATASET Without Authorization Check 💎 8576 NEW Avoid using SUBMIT statement with another user permission 💎 8572 NEW Avoid using statement CALL TRANSACTION through variable P_TCODE 💎 8574 NEW Prefer using OPEN DATASET statement with file Path instead of file name 💎 8584 NEW Avoid using MODIFY Without Authorization Check 💎 8578 NEW Avoid Insecure dynamic call of a function module through variable P_NAME 💎 8586 Fixes an issue causing false violations of the rule “Authorization check should be done before calling a transaction”. 💎 8428 Missing violations for “Avoid using hard-coded paths” when path is defined in a constant 💎 7526 1.0.15-funcrel
1.0.15-funcrel
Fixes a typo on the word “HANA” in the name of the rule 8566 “Avoid cyclic references in the definition of CDS views (S4/HANA)”. 📝 44528 Fixes an issue causing missing violations for the rule 1104008: “CDS View AccessControl.authorizationCheck should not be set to ‘#NOT_REQUIRED’ (S4/HANA)”. 📝 49468 Fixes an issue causing a missing link between an ABAP program (YACUEP012) and ab ABAP form (create_and_init_tree). 📝 49877 Fixes a typo on the word “HANA” in the name of the rule 8566 “Avoid cyclic references in the definition of CDS views (S4/HANA)”. 💎 8566 Fixes an issue causing missing violations for the rule 1104008: “CDS View AccessControl.authorizationCheck should not be set to ‘#NOT_REQUIRED’ (S4/HANA)”. 💎 1104008 1.0.14-funcrel
1.0.14-funcrel
A change in behaviour has been implemented where unresolved table objects (Missing Table) will be created even ifthe SAP ‘Tables extraction’ has not been delivered. Fixes an issue where links from views to dependent tables were missing. 1.0.13-funcrel
1.0.13-funcrel
Fixes the unsupported syntax found - “SUBMIT with LANGUAGE option”. 📝 45197 Fixes the unsupported syntax found - “Raise exception using message”. 📝 45198 Fixes the unsupported syntax found - “FIELDS COUNT(*)”. 📝 45200 Fixes the unsupported syntax found - Value - internal tables with FROM addition without TO. 📝 45206 Fixes the unsupported syntax found for Reduce Operator with “INDEX INTO” addition, and/or “+=”. 📝 45199 Fixes the unsupported syntax found - “+=”. 📝 45203 Fixes the unsupported syntax found in “select single” statement with “bypassing buffer” addition. 📝 45205 Fixes the unsupported syntax found for Enum declaration with STRUCTURE. 📝 45204 Fixes the unsupported syntax found for “methods for read”. 📝 45202 Fixes the unsupported syntax found - “CONCATE LINES”, “RAISE EXCEPTION”. 📝 45259 Fixes the unsupported syntax found - “CONCATE LINES”, “RAISE EXCEPTION”. 📝 45261 Fixes the unsupported syntax found - “CONCATE LINES”, “RAISE EXCEPTION”. 📝 45260 Fixes the unsupported syntax found - Importing method / BUFFER RESTRICTION. 📝 45258 Fixes the unsupported syntax found - Importing method / BUFFER RESTRICTION. 📝 45262 Fixes the unsupported syntax found - “+=” / “WITHOUT MEMBERS” / “REDUCE”. 📝 45267 Fixes unsupported syntax found in many different locations. 📝 45272 Fixes unsupported syntax found in many different locations. 📝 45273 Fixes unsupported syntax found in many different locations. 📝 45275 Fixes unsupported syntax found in many different locations. 📝 45276 Fixes the unsupported syntax found - “NEXT”, “LOOP AT “, “OPEN CURSOR WITH HOLD @DATA”. 📝 45277 Fixes the unsupported syntax found - “NEXT”, “LOOP AT “, “OPEN CURSOR WITH HOLD @DATA”. 📝 45278 Fixes the unsupported syntax found - “NEXT”, “LOOP AT “, “OPEN CURSOR WITH HOLD @DATA”. 📝 45284 Fixes the unsupported syntax found - “prefixlen” / “FIELDS”. 📝 45271 Fixes the unsupported syntax found - “prefixlen” / “FIELDS”. 📝 45270 Fixes the unsupported syntax found - “prefixlen” / “FIELDS”. 📝 45271 Fixes the unsupported syntax found - “+=” / “WITHOUT MEMBERS” / “REDUCE”. 📝 45266 Fixes the unsupported syntax found - “+=” / “WITHOUT MEMBERS” / “REDUCE”. 📝 45269 1.0.12-funcrel
1.0.12-funcrel
Fixes an unsupported syntax in ABAP file on “MOVE EXACT …” statement. After the fix, analysis completes without a syntax. 📝 43000 Unsupported syntax on class definition with “RISK LEVEL CRITICAL” addition 1.0.11-funcrel
1.0.11-funcrel
Fixes an issue where objects resulting from ABAP files were erroneously set as “external” despite the most recent modification author value being “SAP”. 📝 41979 1.0.10-funcrel
1.0.10-funcrel
Fixes a false violation of the rule “Avoid Open SQL SELECT queries without WHERE condition” (7878). Now a violation is triggered only when a SELECT statement has no WHERE or JOIN clause (as previously) and where the “max” function is not used (new in this release). 📝 1437 Fixes a false positive violation of the rule “Avoid select * or select single *” (7530). In previous releases the statement “SELECT count(*)” triggered a violation: this is no longer the case. 📝 41292 Fixes a false positive violation of the rule: “Avoid unchecked return code (SY-SUBRC) after OPEN SQL or READ statement” (7520). 📝 41433 Fixes a false positive violation for the rule “Avoid using LOOP INTO, use LOOP ASSIGNING instead” (7894). 📝 41432 Fixes a false violation of the rule “Avoid Open SQL SELECT queries without WHERE condition” (7878). Now a violation is triggered only when a SELECT statement has no WHERE or JOIN clause (as previously) and where the “max” function is not used (new in this release). 💎 7878 Fixes a false positive violation of the rule “Avoid select * or select single *” (7530). In previous releases the statement “SELECT count(*)” triggered a violation: this is no longer the case. 💎 7530 Fixes a false positive violation of the rule: “Avoid unchecked return code (SY-SUBRC) after OPEN SQL or READ statement” (7520). 💎 7520 Fixes a false positive violation for the rule “Avoid using LOOP INTO, use LOOP ASSIGNING instead” (7894). 💎 7894 1.0.9-funcrel
1.0.9-funcrel
Fixes a false violation on rule (7788): “Avoid empty catch block” (ABAP). 📝 40211 1.0.8-funcrel
1.0.8-funcrel
Fixes an issue where function pools with a testing part (files whose name ends with ==CCAU.ABAP) are badly parsed. An update was made to ensure that all custom SAP tables and views must be created, even when they are not referenced by ABAP code. It is now possible to package and deliver source code directly from an abapGit source code repository. See https://doc.castsoftware.com/display/TECHNOS/SAP+ABAP+Analyzer+-+1.0#SAPABAPAnalyzer1.0-Prepareanddeliverthesourcecode . This method of source code delivery is in addition to packaging the results of a CAST SAP Extractor NG extraction. In this release, support for abapGit is in beta. Support for source stored in abapGit (beta) 1.0.7-funcrel
1.0.7-funcrel
Fixed false positives for the ABAP rule (8428): “Autorization check should be done before calling a transactions”. 📝 38537 Fixed false positives for the ABAP rule (8428): “Autorization check should be done before calling a transactions”. 💎 8428 1.0.6-funcrel
1.0.6-funcrel
To prevent erroneous quality rule results, CDS View objects that do NOT begin with /, Y and Z are no longer analyzed. This change will impact analysis results: less objects will be analyzed and the number of violations returned by quality rules that include CDS Views in their scope will be reduced. 📝 38428 To improve overall analysis robustness, the current single analysis task has been split into two sub tasks: analysis and result saving. Added support for AMT saving optimized mode (technical). 1.0.5-funcrel
1.0.5-funcrel
Fixed false positives for the ABAP rule (8134): “Avoid unsorted data after SELECT queries”. 📝 37221 Fixed an issue where even though the rule (7538): “Avoid using SELECT … INTO CORRESPONDING FIELDS OF” was manually re-enabled after an upgrade, the rule was still not triggered during an analysis. 📝 37195 1.0.4-funcrel
1.0.4-funcrel
Fixes false positives violations of the rule “Avoid unsorted data after SELECT queries” (8134). 📝 36809 Provided a fix for syntax errors generated with internal test application. Provided a fix for a memory error due to a stack overflow in the treatment of SAP CDS Views. The scope of the rule “Avoid Programs/Includes with too many Forms” (7076) has been modified to include only programs/includes containing forms. 💎 7076 The rule “Avoid using “ORDER BY” in SELECTS” (7592) has been modified and is no longer computed for SAP HANA projects. 💎 7592 The Sample and Remediation Sample documentation fields for the rule “Never use the ON CHANGE OF statement” (7528) conflict with the rule “Avoid using LOOP INTO, use LOOP ASSIGNING instead” (7894) and have therefore been updated.. 💎 7528 Fixes false positives violations of the rule “Avoid unsorted data after SELECT queries” (8134). 💎 8134 1.0.3-funcrel
1.0.3-funcrel
Fixed an issue causing an error “UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xc2 in position 0: unexpected end of data” when loading CDS views containing unusual characters. 1.0.2-funcrel
1.0.2-funcrel
The rule 8132 “Avoid using CHECK, EXIT, or RETURN in SELECT…ENDSELECT loops” was causing false positive violations when the statement was located inside an inner loop. This issue has now been fixed. 💎 8132 The rule 8144 has been renamed from “Avoid numerical data corruption during incompatible mutation (ABAP)” to “Avoid data corruption during incompatible mutation (ABAP)” and the rule’s description, rationale, sample, remediation and remediation sample entries have been updated to provide better information. 💎 8114 1.0.1-funcrel
1.0.1-funcrel
Correction of false positives for the rule “Avoid using SELECT … ENDSELECT statement”. Violations are no longer returned when the option “UP TO n ROWS” is present, or if the loop contains a “RETURN” statement. 💎 7544 The rule “Avoid using SELECT … INTO CORRESPONDING FIELDS OF” has been deactivated and will no longer be computed. 💎 7538 Correction of false positives for the rule “Avoid READ TABLE without BINARY SEARCH”. Violations are no longer returned when “WITH KEY” is present. 💎 7534 Correction of false positives for the rule “Avoid unchecked return code (SY-SUBRC) after OPEN SQL or READ statement”. Violations are no longer returned when “INTO TABLE” is present. 💎 7520 Correction of false negative violations for the rule “Avoid Artifacts with a Complex SELECT Clause”. Additional violations may now be found. 💎 7810 Correction of false negative violations for the rule “Avoid unsorted data after SELECT queries”. Additional violations may now be found. 💎 8134 Correction of false negative violations for the rule “Never use SQL queries with a cartesian product”. Additional violations may now be found. 💎 7820 Correction of false negative violations for the rule “Avoid SQL queries not using the first column of a composite index in the WHERE clause”. Additional violations may now be found. 💎 7428 1.0.0-funcrel
1.0.0-funcrel
This is the first release of the SAP ABAP Analyzer as a standalone extension. The SAP ABAP Analyzer has been externalised as an extension to give the feature more flexibility to future development. The SAP ABAP Analyzer embedded in AIP Core will continue to exist and will be shipped “out of the box” with AIP Core, but no bugs will be fixed and no new features or functionality will be added. 5 new quality rules will be added in the first release of the “standalone” SAP ABAP Analyzer extension, but otherwise the extension will have the same features and functionality on release as the SAP ABAP Analyzer embedded in AIP Core. The new SAP ABAP Analyzer is compatible with AIP Core ≥ 8.3.43. All future development of the SAP ABAP Analyzer (bug fixes, new features, functionality etc.) will be completed in the SAP ABAP Analyzer extension only. The behaviour is as follows: Nothing is automatic - for both AIP Console and “legacy” CAST AIP deployments, the SAP ABAP Analyzer extension must be manually downloaded and installed in order to use it If the extension is installed, CAST AIP Console/CAST Management Studio will automatically detect that it exists and will use the extension rather than the analyzer embedded in AIP Core. Once the extension has been installed and used to produce analysis results, it is not possible to reverse this choice by removing the extension and re-analyzing the source code again.Fixed an issue where some files containing SQL scripts were taking a long time to analyze. 📝 34232 NEW Prefer using associations instead “left outer join” in CDS Views (S4/HANA) 💎 1104000 NEW Prefer setting “many to one” cardinality for “left outer join” in CDS Views (S4/HANA) 💎 1104002 NEW Prefer setting cardinality for CDS view associations (S4/HANA) 💎 1104004 NEW CDS view association name should be defined according to the naming convention (S4/HANA) 💎 1104006 NEW CDS View AccessControl.authorizationCheck should not be set to ‘#NOT_REQUIRED’ (S4/HANA) 💎 1104008