Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ATC Checks and Baseline

manishgupta03
Product and Topic Expert
Product and Topic Expert
0 Likes
4,907

Hi,

We have enabled ATC checks in our organisation and activated the baseline functionality as well to make sure only the new code changes are scanned going forward.

But we are facing a challenge, if we make any minor change in already baselined code, ATC starts scanning the old baselined code as well.

Anyway we can avoid it?

9 REPLIES 9
Read only

Former Member
0 Likes
3,944

I've faced this issue and I doubt there is a standard way to overcome that.

ATC findings are assigned with a hash generated by the context of the finding (e.g.scope of a method or function module). The finding is only hidden via the baseline as long as the hash is unchanged.

As far as I understand the baseline it is for the purpose to ignore (untouched) legacy code in a system which is continuously being monitored by ATC, but as soon as you modify something you have to clean-up the "surroundings" of the spot you altered. The effort required heavily depends on how the existing source code is structured.

Read only

FredericGirod
Active Contributor
0 Likes
3,944

We have made a custom change in a previous company on ATC.

We used the version history of the code to filter the issus find by ATC.

I have no the source code, but it worked.

Read only

manishgupta03
Product and Topic Expert
Product and Topic Expert
0 Likes
3,944

Thanks for a prompt reply, could you provide more details, may be I can try implementing the same.

Read only

0 Likes
3,944
Read only

0 Likes
3,944

I remember checking the implicit enhancement spot suggested by the blog, but found out that it had gone due to refactoring of internal ATC code.

The solution I used to to detect new finding only is to execute ATC simultaneously in DEV and Q&A for the same objects, and determine the difference between the two result set (comparing object, test class, and test code). I did it from Solution Manager, but I guess it can be integrated into the development system itself. ATC has a public API available in package SATC_CI_API.

Read only

UweFetzer_se38
Active Contributor
0 Likes
3,944

It depends as always...

In most of the cases the baseline works as designed: only new or changed lines are checked. But if you change for example a function mudule interface or data definitions with ":" in it, the whole definition will be checked, because ATC sees this as a changed statement.

Read only

0 Likes
3,944

... and before I forget: baselines have an End date (default only 21 days). This was previously also my fault and I thought that the baseline didn't work.
Since than I'm creating baselines with 180 or even 365 days lifespan.

Read only

KavitaMane
Participant
0 Likes
3,944

To start with we are Baselining the entire transport layer Before roll out ATC to developer. Just a question, do we need to Baseline SAP transport layer as well.

Regards

Kavita

Read only

yasz
Explorer
0 Likes
3,944

Hello

we have implemented the ATC in the project from 6 months, on each satellite server. It is working fine.

Currently we are implementing the ATC server to centralize the ATC checks.

Managing the baseline is interesting but I would like to propose an idea in order to improve the current working way.

Please say me if it is possible, not already existing (:))

- baseline is managed centrally

- all updates in the baseline may come from the jobs or the exemptions validated

BUT

if we want to force the system to remove the exemptions given on a specific package, we cannot do it from a job.

if I have a package called ZOBSOLETE, I would like to remove anytime the exemptions than could be given to the objects contained by the package. Approvers can do some errors.

Must I create a specific check in my ATC variant? is it better to use a job to do it?

there is no checks between jobs when they are added in the baseline, if I am thinking correctly.