Release Notes - 1.0


  • 1.0.22-funcrel

    1.0.22-funcrel
    Improves accuracy of 💎 8106 - Avoid empty IF-ENDIF blocks 📝 58034
  • 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
    Fixes false positives with 💎 8578 - Avoid using MODIFY without Authorization Check 📝 56694
    Fixes very long analysis of some SAP views files.
    Fixes missing links between some SAP Views and SAP Tables, or from foreign keys
    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.19-funcrel

    1.0.19-funcrel
    Improves accuracy of 💎 8134 - Avoid unsorted data after SELECT queries 📝 54830
    Improves documentation of 💎 8120 - Avoid using CALL FUNCTION without error handling 📝 52703
  • 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-Prepareanddeliverthesourcecodeexternal link. 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