After Basic Coordinated operations and Straightforward Money, would it be a good idea for us to coin this as Basic Code Quality Control ?
We expect that at this point all the SAP Specialized Experts know about “ABAP Test Cockpit” likewise curtailed as ATC. In the event that not, if it’s not too much trouble.
At any rate, as a boost, I might want to bring up a few critical parts of ATC.
- It is a Code Quality Control device from SAP.
- It is straightforwardly coordinated with ABAP workbench and accessible in Shroud as well.
- It is viable with Code Overseer, and that implies that the variations made in SCI can be utilized in ATC.
- It has more astounding elements than SCI viz. sifting, route and yet again really take a look at usefulness.
- It has an exclusion endorsement process folded over the whole ATC structure, which permits controlling the code quality with 4-eye guideline.
- It is firmly coordinated with the vehicle the executives. With this, you could design the ATC structure to permit/forbid transport demand discharge in view of the ATC gives abandoned in the specialized objects of that vehicle. Along these lines, you have some control over low quality code getting sneaked into higher frameworks in the stack.
- Last, yet not the least, it is energetically suggested code quality control device for all the HANA projects. It can likewise be utilized for deciding HANA influence appraisal for any client who wishes to move to HANA.
In any case, the blog is more to feature the new usefulness of “Gauge” that SAP has presented as a component of SAP NetWeaver Concerning ABAP 7.51 development bundle.
Why did SAP come up with functionality?
Utilizing ATC is a worth add for all new specialized protests yet on the off chance that the equivalent is applied to a code base which is being created and kept up with from past 1 twenty years, then you would concoct hundreds and thousands of ATC issues.
Settling those is very tedious and would require broad practical testing. It is likewise very conceivable that as opposed to settling ATC issues, we could wind up presenting a bug in the code which can go untested to creation. This is a significant gamble and consequently an obstructing point for the greater part of the clients from utilizing it.
What is Baselining?
With this usefulness, you can avoid all the ATC issues of the old code so they quit coming up again in the following ATC run as they would be treated as unique sort of excluded issues.
Along these lines, assuming you roll out a little improvement in the old code, and run the ATC once more, the ATC result will contain just those issues relating to the change that you made. Incredible, right?
How to Baseline the old code?
- Utilizing ATC exchange, you can plan an underlying RUN (Exchange ATC à Runs à Timetable Runs) with a particular item set, or a bundle or any lump of specialized objects for whom you need to standard the old ATC issues.
- The booked run can checked use “Screen and Control Runs” inside the ATC exchange.
- When the run is done, you can see the outcomes utilizing “Oversee Results” hub. In SAP ABAP 7.51, you would have the option to see another button called “Benchmark”. Pick the planned run record and snap on “Benchmark” button. It will additionally give the choices of whether these outcomes ought to be arranged as:
- Smothered discoveries
- Low need discoveries
- Excluded discoveries.
With it, you have fundamentally requested that the ATC system quit showing them in the ATC results, if at all you re-run the ATC apparatus for those specialized articles.
Presently, since the old heritage issues are treated as extraordinary exclusions, you can have much better command over the old arrangement in the higher stack frameworks.
Do we have any problem with Baselining?
All things considered, we do!
As I referenced that old heritage code is treated as extraordinary exclusions, yet just until the planning between the issue and the code line is kept up with. On the off chance that at all you present extra code in the middle between, the code lines are moved downwards and consequently the planning is upset. For all the upset planning (code lines), the baselining is annihilated and the issues fire coming up again in your ATC run results.
By the by, we actually have a widely decreased set of ATC issues contrasted with what we had already without baselining.
What if I am not yet on SAP ABAP 7.51?
Indeed, the worry for every one of the clients underneath SAP NetWeaver With respect to ABAP 7.51 is as yet not settled.
They actually should manage the extensive rundown of ATC issues that harvest up in each ATC run. In view of the experience that I have with ATC device, here is my idea for that large number of clients:
Make 2 SCI variations to be utilized in ATC apparatus.
One variation ought to be designed so that contains just static code checks which are simpler to fix and positively ought to get more vigor. For instance:
- Check of SY-SUBRC Taking care of
- Unstable utilization of FOR ALL Passages
- Look for Add and Supplement … Record in Arranged Tables
- Scan hazardous articulations for consequence of SELECT/OPEN CURSOR without Request BY
This variation ought to be utilized for every one of the fixes/CR’s which are finished in the old code.
The subsequent variation ought to be designed all the more forcefully including all exhibition checks, naming shows check and vigorous programming checks. This ought to be compulsorily utilized for every single new turn of events and ought to be stuck strictly.
Finally, in view of my involvement in ATC, I might want to specify that quality code conveyance is a discipline which should be taught regardless of how enormous or how little the change we are doing and ATC device is the method for getting such a discipline us. While utilizing it broadly, you will get adjusted to seeing quality code such a lot of that any low quality will get your attention in a split second ?
Appreciate coding.
YOU MAY BE INTERESTED IN
ABAP Applications for the Cloud: Modernizing for the Future
Advanced Concepts and Deployment Strategies
Troubleshooting Slow PowerShell Extension Loading in Visual Studio Code