Comments (5)
Hi FD1899,
thanks for opening this. Hm, could you give an example of the (original and changed) READ TABLE / ASSIGN statement that triggers this issue? If the changed code compiles without errors, I wonder whether this could be an issue in CL_CI_TEST_SELECT_BIN_SEARCH itself (i.e. a syntax of the ASSIGN statement which is not correctly considered by this check)?
From what I can see in the documentation, the possible syntax of ASSIGN has not changed too much since ABAP 7.50 (except for the addition ELSE UNASSIGN and assignment of dynamic components { struc-(comp) } | { dref->(comp_name) } | { COMPONENT comp OF STRUCTURE struc }).
If I understand the check CL_CI_TEST_SELECT_BIN_SEARCH correctly, it searches for READ ... BINARY SEARCH statements which wrongly rely on the result of SELECT statements to be sorted; and doing that, it analyzes other statements on the way, including in this case ASSIGN statements. The CL_CI_TEST_SELECT_BIN_SEARCH->ANALYZE_PROC code seems similar up to ABAP 7.52, then changes with ABAP 7.53 (where ANALYZE_PROC is not redefined anymore by CL_CI_TEST_SELECT_BIN_SEARCH, and the inherited implementation does not have a specific section on ASSIGN statements).
Kind regards,
Jörg-Michael
from abap-cleaner.
Hi FD1899,
I just learned that the check CL_CI_TEST_SELECT_BIN_SEARCH is obsolete, including in ABAP 7.50. Instead, you can use CL_CI_TEST_NO_ORDER_BY ("Robust Programming -> Search problematic statements for result of SELECT/OPEN CURSOR without ORDER BY").
Kind regards,
Jörg-Michael
from abap-cleaner.
Hi Jörg-Michael,
that's interesting. Can you give me the source for that information? So the reason for the dump is, that the ATC-check CL_CI_TEST_SELECT_BIN_SEARCH doesn't know the new syntax for reading internal tables? Unfortunately this test is still activated in our default check variant. So I have to talk the responsible person in my company.
Kind regards!
from abap-cleaner.
Hi,
the source is me - I'm the product owner for the ABAP Test Cockpit and the Code Inspector at SAP.
Note that CL_CI_TEST_SELECT_BIN_SEARCH is assigned to the category of internal tests in SAP_BASIS release 7.50 (the folder in transaction SCI it's in is named "Internal Tests"). Checks in this category should not be used by customers to begin with (and you must have done some modifcation or workaround to even include a check from this category in your check variant).
The officially supported, non-internal successor of CL_CI_TEST_SELECT_BIN_SEARCH is CL_CI_TEST_NO_ORDER_BY. This newer check is superior in every respect.
from abap-cleaner.
Hi,
thank you very much. So we can close that issue here.
Kind Regards,
FD
from abap-cleaner.
Related Issues (20)
- Add 'insert empty line before ANY statement' option to rule "Standardize empty lines within methods" HOT 1
- fyi: Referential Integrity Problem HOT 4
- String template is proposed for JSON string without any need HOT 4
- Feature Request: Point out NULL-reference HOT 1
- Packaging: Jar file contains resources twice HOT 4
- CORRESPONDING ... EXCEPT and LOOP AT ... GROUP BY indentation HOT 6
- variable is assigned but never used not working correctly HOT 3
- Align SELECT...FROM...JOIN HOT 2
- Delete unused variables HOT 2
- ABAP Cleaner Menu greyed out for one system but not for another HOT 1
- Wrong formatting a line comment within type declaration in class HOT 7
- Feature Request: Captions for Read-Only Code Preview HOT 2
- Option: Align Parameters and Components - Issue HOT 2
- CLI parameter `--version` to show version
- Update from 1.16.2 to newer version deinstalled ABAP Cleaner and now i am not able to install ABAP Cleaner HOT 1
- Installation with Eclipse & ADT 2024-06 (4.32)
- Adjustion alignment of parameters and conditional expressions HOT 2
- Alignment of select-options and parameters
- Feature Request: ABAP cleaner on an entire package
- perhaps interesting for ABAP Cleaner too: Sort combined DATA statements (ABAP Quick Fixes 1.1.5)?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from abap-cleaner.