Release Notes - 1.0

1.0.13-funcrel

Resolved Issues

Customer Ticket Id Details
45197 Fixes the unsupported syntax found - “SUBMIT with LANGUAGE option”.
45198 Fixes the unsupported syntax found - “Raise exception using message”.
45200 Fixes the unsupported syntax found - “FIELDS COUNT(*)”.
45206 Fixes the unsupported syntax found - Value - internal tables with FROM addition without TO.
45199 Fixes the unsupported syntax found for Reduce Operator with “INDEX INTO” addition, and/or “+=”.
45203 Fixes the unsupported syntax found - “+=”.
45205 Fixes the unsupported syntax found in “select single” statement with “bypassing buffer” addition.
45204 Fixes the unsupported syntax found for Enum declaration with STRUCTURE.
45202 Fixes the unsupported syntax found for “methods for read”.
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 - “CONCATE LINES”, “RAISE EXCEPTION”.
45258 Fixes the unsupported syntax found - Importing method / BUFFER RESTRICTION.
45262 Fixes the unsupported syntax found - Importing method / BUFFER RESTRICTION.
45267 Fixes the unsupported syntax found - “+=” / “WITHOUT MEMBERS” / “REDUCE”.
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 unsupported syntax found in many different locations.
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 - “NEXT”, “LOOP AT “, “OPEN CURSOR WITH HOLD @DATA”.
45271 Fixes the unsupported syntax found - “prefixlen” / “FIELDS”.
45270 Fixes the unsupported syntax found - “prefixlen” / “FIELDS”.
45271 Fixes the unsupported syntax found - “prefixlen” / “FIELDS”.
45266 Fixes the unsupported syntax found - “+=” / “WITHOUT MEMBERS” / “REDUCE”.
45269 Fixes the unsupported syntax found - “+=” / “WITHOUT MEMBERS” / “REDUCE”.

1.0.12-funcrel

Resolved Issues

Customer Ticket Id Details
43000 Fixes an unsupported syntax in ABAP file on “MOVE EXACT …” statement. After the fix, analysis completes without a syntax.

Other Updates

Details
Unsupported syntax on class definition with “RISK LEVEL CRITICAL” addition

1.0.11-funcrel

Resolved Issues

Customer Ticket Id Details
41979 Fixes an issue where objects resulting from ABAP files were erroneously set as “external” despite the most recent modification author value being “SAP”.

1.0.10-funcrel

Resolved Issues

Customer Ticket Id Details
1437 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).
41292 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.
41433 Fixes a false positive violation of the rule: “Avoid unchecked return code (SY-SUBRC) after OPEN SQL or READ statement” (7520).
41432 Fixes a false positive violation for the rule “Avoid using LOOP INTO, use LOOP ASSIGNING instead” (7894).

Rules

Rule Id New Rule Details
7878 FALSE 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).
7530 FALSE 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.
7520 FALSE Fixes a false positive violation of the rule: “Avoid unchecked return code (SY-SUBRC) after OPEN SQL or READ statement” (7520).
7894 FALSE Fixes a false positive violation for the rule “Avoid using LOOP INTO, use LOOP ASSIGNING instead” (7894).

1.0.9-funcrel

Resolved Issues

Customer Ticket Id Details
40211 Fixes a false violation on rule (7788): “Avoid empty catch block” (ABAP).

1.0.8-funcrel

Other Updates

Details
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.

New Support

Summary Details
Support for source stored in abapGit (beta) 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.

1.0.7-funcrel

Resolved Issues

Customer Ticket Id Details
38537 Fixed false positives for the ABAP rule (8428): “Autorization check should be done before calling a transactions”.

Rules

Rule Id New Rule Details
8428 FALSE Fixed false positives for the ABAP rule (8428): “Autorization check should be done before calling a transactions”.

1.0.6-funcrel

Resolved Issues

Customer Ticket Id Details
38428 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.

Other Updates

Details
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

Resolved Issues

Customer Ticket Id Details
37221 Fixed false positives for the ABAP rule (8134): “Avoid unsorted data after SELECT queries”.
37195 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.

1.0.4-funcrel

Resolved Issues

Customer Ticket Id Details
36809 Fixes false positives violations of the rule “Avoid unsorted data after SELECT queries” (8134).

Other Updates

Details
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.

Rules

Rule Id New Rule Details
7076 FALSE The scope of the rule “Avoid Programs/Includes with too many Forms” (7076) has been modified to include only programs/includes containing forms.
7592 FALSE The rule “Avoid using “ORDER BY” in SELECTS” (7592) has been modified and is no longer computed for SAP HANA projects.
7528 FALSE 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..
8134 FALSE Fixes false positives violations of the rule “Avoid unsorted data after SELECT queries” (8134).

1.0.3-funcrel

Other Updates

Details
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

Rules

Rule Id New Rule Details
8132 FALSE 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.
8114 FALSE 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.

1.0.1-funcrel

Rules

Rule Id New Rule Details
7544 FALSE 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.
7538 FALSE The rule “Avoid using SELECT … INTO CORRESPONDING FIELDS OF” has been deactivated and will no longer be computed.
7534 FALSE Correction of false positives for the rule “Avoid READ TABLE without BINARY SEARCH”. Violations are no longer returned when “WITH KEY” is present.
7520 FALSE 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.
7810 FALSE Correction of false negative violations for the rule “Avoid Artifacts with a Complex SELECT Clause”. Additional violations may now be found.
8134 FALSE Correction of false negative violations for the rule “Avoid unsorted data after SELECT queries”. Additional violations may now be found.
7820 FALSE Correction of false negative violations for the rule “Never use SQL queries with a cartesian product”. Additional violations may now be found.
7428 FALSE 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.

1.0.0-funcrel

Note

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.

Resolved Issues

Customer Ticket Id Details
34232 Fixed an issue where some files containing SQL scripts were taking a long time to analyze.

Rules

Rule Id New Rule Details
1104000 TRUE Prefer using associations instead “left outer join” in CDS Views (S4/HANA)
1104002 TRUE Prefer setting “many to one” cardinality for “left outer join” in CDS Views (S4/HANA)
1104004 TRUE Prefer setting cardinality for CDS view associations (S4/HANA)
1104006 TRUE CDS view association name should be defined according to the naming convention (S4/HANA)
1104008 TRUE CDS View AccessControl.authorizationCheck should not be set to ‘#NOT_REQUIRED’ (S4/HANA)