Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert

This is the third blog of the blog series about Remote Code Analysis in ABAP Test Cockpit (ATC).

See also blogs:

 
Remote Code Analysis in ATC – One central check system for multiple systems on various releases
Remote Code Analysis in ATC – Technical Setup step by step
Remote Code Analysis in ATC for Developers
Remote Code Analysis in ATC – Working with Exemptions
Remote Code Analysis in ATC Scanning customer extensions
Remote Code Analysis in ATC – Working efficiently with ATC Result List
Remote Code Analysis in ATC – How to write an ATC check
Remote Code Analysis in ATC – How to check Smart Forms and Adobe Forms
Remote Code Analysis in ATC – Browse Central ATC Result in Developer Systems
Remote Code Analysis in ATC – Maintain exemptions approvers according to their responsibilities
Remote Code Analysis in ATC – FAQ


Working with Baseline - Live Demo

If you are interested in the live demonstration of working with baseline watch this YouTube Video on abap channel


Baseline concept - Focus on new or recently changed code

This problem knows almost everybody, who takes care of code quality in the SAP system landscape. At the latest you get in touch with this problem as soon as you run ATC for your whole custom code. Then you will namely get very many findings especially if you apply all standard checks like naming conventions, SLIN checks, performance checks, security checks and so on:



What to do with this long list of findings? Actually you have a lot of legacy custom code in your landscape and want now to focus your quality assurance efforts only on the new or recently changed code.

The baseline concept (available with SAP NetWeaver AS for ABAP 7.51 innovation package) offers you a solution. With baseline you can exclude after the first ATC run your well-known or legacy findings from the ATC result list (add the ATC results to the baseline) so that at the second ATC run they will be treated as a special kind of exemption and will not appear in your ATC result list. Of course you can anytime change the scope of the baseline (add or remove findings) and in this way you can always very flexible decide which findings you want to take care of.

The setup of the baseline is quite simple. You need to logon to the ATC system as administrator. In the transaction ATC under ATC Administration -> Runs double-click the Manage Results entry. In the ATC: Browse Results screen you can specify the query for ATC run series and visibility of results and press Execute button or F8. The ATC result list displays the results according to your specified query settings.

Now you can add (or remove) findings to baseline after selecting the relevant finding from the results (Baseline -> Add to Baseline to…) and by choosing the appropriate option for it (suppress, exempt, assign low priority).


After this the ATC check result gets added to the baseline (this is indicated by column Is in Baseline😞


After this you can schedule a new ATC check run, and you will see, that the ATC result contains no findings (double-click the result to see the findings list):



Optionally you can still display the suppressed findings (findings which are now in the baseline):


NOTE: as long as you only change coding that does not affect the exempted finding (for example you change something in line 20 of an INCLUDE and the finding marks code in line 200), the exempted finding is still recognized as the same.

If you now for example change the source code and schedule the ATC check run again, the new ATC result will contain only the new findings:

Further information

Further details on the baseline concept are available in the documentation on SAP Help Portal: Working with the Baseline in ATC.

 

80 Comments
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Alok Sharma,

baseline should exclude the findings (which you've taken over into baseline) from ATC Result List at the next ATC run. If it doesn't work so for you, then the OSS ticket is the way to go.

Regards,

Olga.
0 Kudos

Hi Olga,

I would like to implement the baseline concept on a ATC central system and I have a question for you.

If a developer executes an atc run on 7.50  development system, is the baseline(defined in central system) considered?And 7.52?

About setting up atc transport checking, I couldn’t find documentation related to 1909 . Where can I Find the documentation?

Thank you in advance

Laura

OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Laura,

baseline is the feature of the central ATC system >=7.51. If your developer system 7.50 is connected to the central ATC system with RFC and your quality expert executes ATC run over it on the central ATC system, then the findings in the code on 7.50 system can be considered for the baseline. But a developer on a 7.50 (or any other system) cannot use baseline.

Setting Up ATC Transport Checking: https://help.sap.com/viewer/DRAFT/ba879a6e2ea04d9bb94c7ccd7cdac446/201909.003/en-US/40c14df0a883467b...

Kind Regards,

Olga.
0 Kudos
Hi  Olga,

I have the following scenarios:

Scenario A.
- ATC Central System (>7.51) >> QE used Baseline features to suppress findings for legacy code
- Satellite System (7.50) >> Developer launch ATC for legacy code




Scenario B.
- ATC Central System (>7.51) >> QE used Baseline features to suppress findings for legacy code
- Satellite System (7.53) >> Developer launch ATC for legacy code




Question:
1. Does Developer see findings for legacy code (in scenario A and B)?
2. Can ATC be integrated in satellite system setting blocking behavior at release for priority 1 errors only (in scenario A and B)?








About  Setting Up ATC Transport Checking documentation:  I have the following message error :"you don't have rights to view this page"


Thank you in advance Laura
BaerbelWinkler
Active Contributor
0 Kudos
Hi Laura,

at a guess, Olga meant to link to her blog post about ATC-baseline: https://blogs.sap.com/2016/12/13/remote-code-analysis-in-atc-working-with-baseline-to-suppress-findi...

When I set up our central ATC-system (NW 7.52) two years ago, I followed the outlined steps and it worked for our NW 7.50 satellite systems (write-up here)

Cheers

Bärbel
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Laura,

please follow instructions given in Baerbel‘s blog.

Here is the valid SAP Help Documentation link for setting up ATC Transport Checking: https://help.sap.com/viewer/ba879a6e2ea04d9bb94c7ccd7cdac446/201909.002/en-US/40c14df0a883467bb90ef5...

Regards,

Olga.
0 Kudos
Hi Barbel,

Thank you for your  answer.

I read your useful blog and I have two questions for you:

about point number 1 : If I understand ( for both scenarios A and B ) the atc executed locally by developer doesn't consider the baseline defined in the central system. is it correct?

Also I read  your blog  https://answers.sap.com/questions/576953/how-best-to-define-check-variants-to-be-eventually.html .

My question is :

If I define a variant  with s4 checks in the central system and I use this variant in a ECC satellite system (No S4)  are these checks considered during transport release?

Best Regards

Laura

 
0 Kudos
Thank you Olga!
BaerbelWinkler
Active Contributor
0 Kudos
jacopo_0

Hi Laura,

when you create the variant in the central system with at least NW 7.52 you can "tell it" to take a defined baseline into account and you can also include S/4HANA Readiness checks. If the check-variant in the satellite-system then references this central variant, the checks will be executed based on the information in the central system but for the code in the satellite system. Developers can therefore make good use of them.

With regards to S/4HANA Readiness checks we haven't done this yet for the variant used during transport release as we have set it up with blocking the release in case of priority 1 or 2 errors. As most S/4HANA issues cannot yet be really fixed in a NW 7.50 system it doesn't really make much sense to inconvenience the developers with these types of messages. It's different for a separate variant which can be "offered" to developers if they are curious to see how well their code would do under S/4HANA!

Hope this helps!

Cheers

Bärbel

P.S.: I may be slow to reply to further comments/questions as I'll be on vacation for the next two weeks and may not see notifications regularly.
CreyJ
Participant
0 Kudos
Dear Olga,

when we started using remote ATC, we put many objects to baseline reducing the priority.

Now I wanted to remove one development object from baseline.

I ran a check for that object and afterwards I tried to remove the results from the baseline.

But the system refused to remove from baseline. I looked in the coding and it seems to be like this, that only results of an ATC run which is in baseline are used to remove from baseline.

Therefore I put the results to baseline reducing the priority and deleted it afterwards again. But the low priority is still assigned to the findings. Could it be that the baseline is based on object and ATC run?

 

Is there a possibility to remove findings of a single object from the baseline?

 

Regards

Jürgen
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Jürgen,

baseline is based on the ATC run. But if you use this feature of the ATC Result Browser: Adding ATC Findings to the Baseline in the ATC Result Browser then you could create a new ATC result (e.g. containing only the findings for a particular object) and take it to or remove from the baseline.

Regards,

Olga.

 
CreyJ
Participant
0 Kudos
Hi Olga,

that was my idea, but I get:

None of the selected check results is part of the baseline


Message no. SATC_ABAP_CHECK505.

Looking at the code, it ehecks in satc_ac_bsh (Baseline Header) if the ATC run is in the baseline, and not the objects.

Regards

Jürgen

 

 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Jürgen,

yes, baseline is based on ATC runs, not the objects. I've looked into our internal systems and have got the same error.

It works as following: only specific results that have been before added to the baseline (these are then marked accordingly in the results overview) can also be removed again. Any results cannot be removed because they are not part of the baseline in this form (the findings may be, but the result is not). If you add individual findings to the baseline, a separate (artificial) ATC result is generated for this selection of findings. This is then actively assigned to the baseline and can also be removed again accordingly.

Regards,

Olga.

 

 
Dinesh
Participant
0 Kudos
Hi Olga,

I understand Baseline concept is available from SAP NETWEAVER 7.51 onwards, Customers like us who are in EHP8 SPS11 ( Backend ) will not be able use 7.51 ( we are stuck with 7.50 for now ).

my question is , we have a central hub model for frontend development .

where gateway is separate instance , can we upgrade it to SAP NETWEAVER 7.51 and use it as central system for ATC baseline ??

is the approach feasible or totally i didn't get the concept right?

Regards,

Dinesh R

 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Dinesh,

from the technical perspective it is feasible but from a system load point of view it is not recommendable, because if e.g. an ATC mass run is currently running, the SAP Fiori UIs on the SAP Fiori Frontend Server may no longer perform.

Kind Regards,

Olga.
Dinesh
Participant
0 Kudos
Thanks for the clarification Olga.
Dinesh
Participant
0 Kudos
Hi Olga,

we have made one of our GRC system ( SAP BASIS 752 ) as central system and made our DEV ( SAP BASIS 750 ) as satellite system.

Baseline functionality works fine when we schedule runs from master system , however if a developer releases a transport in DEV  ATC error pops up for legacy code ( whereas baseline is already applied for the same object in master system for legacy code ).

is there a way to recognize baseline results  in DEV system ( 7.50 ) ? so that only the delta change is reviewed while releasing the transport?

we are connecting DEV using Trusted RFC ( object provider ) in master system.

Regards,

Dinesh R
BaerbelWinkler
Active Contributor
0 Kudos
dinesh.ravisekaran2

Hi Dinesh,

we had a similar situation a while ago with comparable system version setups as you have. I had asked a question in Q&A then and also opened an OSS incident with SAP which led to this OSS note: 2752191 ATC: Duplicate ATC Findings for Function Module Exits. It resolved the issue for us.

Hope this helps!

Cheers

Bärbel

 
Dinesh
Participant
0 Kudos
Hi Bärbel,

Thanks for the OSS note, i was able to apply on my system however issue is not resolved.

Exempted in Master System:

 


i can able to see the exempted object in master system under (exempted findings ).


however it Prevents Transport Release in Satellite system:



let me know if i am missing any configuration.

Regards,

Dinesh R
Dinesh
Participant
0 Kudos
I was able to resolve the issue. Variant which i was using in Satellite system was different than centrally defined one ( My Bad ).

Once i change the variant, it started to recognize the baseline results in satellite system  and transport release works as expected.
former_member616631
Discoverer
0 Kudos
Dear SAP Guru,

please tell me the methodology for prioritizing the results of cheks.

BG, Alexey
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Alexey,

the priority of the ATC check is set automatically by SAP (1 - Error, 2- Warning, 3- Information). The priority shows how severe is the problem. Your organization should set the policy for fixing ATC findings.

Kind Regards,

Olga.
BaerbelWinkler
Active Contributor
0 Kudos

Hi Alexey,

if need be you can update message priorities as needed via transaction SCI (or via ATC):

You can find more information in my blog post about setting up a central ATC-system in the section "Tweaking the message priorities".

Hope this  helps!

Cheers

Bärbel

 

danielwz
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Olga Dolinskaja,

May I ask how to exit the baseline mode?

Thank you!

Regards,

Daniel Wang
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Daniel,

you can delete a result from the baseline by selecting the table row and using "Delete" button, or use "Delete entire Baseline" context menu under "Maintain Baseline" (in the buttons row over the table).

Kind Regards,

Olga.
danielwz
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Olga,

It turns out that the baseline entry cannot be deleted.


Where can I find the "Maintain Baseline"?

Regards,

Daniel
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Daniel,

you can select the table row and use context menu (right-mouse button) "Delete" to delete the result from the baseline or use the "Delete" button from the button row. In your release you can delete the whole baseline under the "Baseline" button.

Kind Regards,

Olga.

 
danielwz
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Olga,

Thanks for your reply!

I tried but it told me that it cannot be deleted. Have you ever confronted with such situation?

Regards,

Daniel
danielwz
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Olga,

Thanks for your reply!

I tried but it told me that it cannot be deleted.

Have you ever confronted with such situation?

Regards,

Daniel
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Daniel,

just send me the screenshots of the error message via email together with description what you have done so far: delete an ATC result from the baseline or/and delete the whole baseline.

Kind Regards,

Olga.
Labels in this area