Technology Blog Posts by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
36,864
As you probably already know, you can analyze your ABAP custom code for the SAP Business Technology Platform (BTP) ABAP Environment – formerly known as SAP Cloud Platform ABAP Environment – using the Remote ABAP Test Cockpit with the ATC central check system on the SAP_BASIS 7.52 and Cloud readiness checks.

You can also analyze your ABAP custom code for SAP S/4HANA readiness using the SAP Fiori Custom Code Migration App in an SAP S/4HANA 1809 system based on the same remote ABAP Test Cockpit infrastructure.

Often SAP customers experience the problem, that they have neither SAP_BASIS 7.52 nor SAP S/4HANA 1809 system in their landscapes, and therefore the custom code analysis was not even possible.

Therefore, starting with the SAP BTP ABAP Environment 1908 we have offered an option in the Cloud to execute custom code analysis for your on-premise SAP systems. You can now use the SAP Fiori App Custom Code Migration in the Cloud to analyze your ABAP custom code for both use cases: SAP S/4HANA conversion and Cloud readiness.

The advantages of the Cloud-based offering for custom code analysis are apparent. You don’t need to install and maintain an additional SAP system in your landscape. Beyond this you can immediately consume the newest innovations of the ABAP stack and the newest custom code checks because of quarterly shipment schedule, and delegate all infrastructure, lifecycle management and operational tasks to cloud operation.

The SAP Fiori App Custom Code Migration runs in the SAP BTP ABAP Environment and performs remotely, depending on your use case, SAP S/4HANA or Cloud readiness checks for the custom code in your on-premise SAP system. The App provides the analytical presentation of the ABAP Test Cockpit check results with comprehensive filtering and navigation capabilities. During custom code analysis the App identifies, which custom code can be adapted in a semi-automated way using the Quick Fixes in ABAP Development Tools (ADT).

Technical Setup


After the setup the SAP Fiori App Custom Code Migration will run in SAP BTP ABAP Environment and will check custom code in your on-premise SAP system using the remote ATC infrastructure with RFC through SAP Cloud Connector:


 






NOTE: For the custom code analysis the standard configuration of the SAP BTP, ABAP environment should be sufficient with 1 block Runtime (16GB) and 2 blocks Persistency (2 x 16GB = 32GB)

SAP recommends to use for the setup of the Custom Code Migration app the Cloud Integration Automation Service (CIAS), which provides a guided workflow for simpler and faster setup and configuration. See also for more details the blog Start a scenario integration workflow with Could Integration Automation Service on Cloud Foundry (BT..., containing the Custom Code Migration app as a chosen scenario.

The procedure for setting up the SAP Fiori App Custom Code Migration in the SAP Business Technology Platform without CIAS is as following (these steps will be automatically executed when using CIAS):

  1. First for your on-premise SAP system you need to apply the SAP Notes mentioned in SAP Note 2364916 for the Checked System (Recommended SAP Notes for using ATC to perform remote analysis)and apply the SAP Note 2599695 (Custom Code Migration Fiori App: Remote Stubs for the Checked System).

  2. You need to purchase the entitlement to SAP BTP ABAP Environment. For more details see SAP BTP, ABAP environment in SAP Cloud Platform Discovery Center or SAP BTP, ABAP environment in the SAP Store.

  3. After that you have to set up your SAP BTP ABAP Environment. Use a Booster to Automate the Setup of the ABAP Environment.

  4. Then you need to get a user in the SAP BTP ABAP Environment Connect to the ABAP System.

  5. Afterwards you must enable the SAP Fiori App Custom Code Migration in the Cloud to check your SAP on-premise system. Use SAP documentation on SAP Help Portal Enable Usage of the Custom Code Migration App.

  6. Now you can start the SAP Fiori App Custom Code Migration on your SAP Fiori Launchpad in the Cloud and create your first Custom Code Migration Project.


 

ABAP custom code analysis for SAP S/4HANA


For detailed step-by-step guidance on how to use the SAP Fiori App Custom Code Migration to analyze your custom code for SAP S/4HANA readiness please refer to the blog Custom code analysis for SAP S/4HANA with SAP Fiori App Custom Code Migration.

ABAP custom code analysis for Cloud


For detailed step-by-step guidance on how to analyze your custom code for Cloud readiness with SAP Fiori App Custom Code Migration please refer to the blog How to check your ABAP code for SAP BTP ABAP Environment.
84 Comments
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Michał,

the Quick Fixes for SAP S/4HANA are available only on the SAP S/4HANA >=1809 system, as you correctly noticed. The Custom Code Migration app is capable to identify custom code, which can be adapted with Quick Fixes, but to apply them you need the SAP S/4HANA system and ADT in Eclipse.

Kind Regards,

Olga.
Praveen_Varriam
Product and Topic Expert
Product and Topic Expert
0 Kudos
Great Blog Olga!

I could follow the steps mentioned and enable CCA in our productive BTP ABAP env.

The CCA app shows all the details from S/4 1909 OP through the cloud connector.

The app shows Project Application log with an error.

I was trying to see the list of errored objects from Analysis tab --> Analysis Failures section.


 

The failure sections show 'No Data Found'.


 

Do you have any pointers for me to fix this issue and see the list of failure objects?

Thanks in advance.

Praveen V.
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Praveen,

unfortunately it is not possible to fix this simply or get the list of failure objects. We need to understand what went wrong on your system. Please open the ticket to SAP.

Thanks and Regards,

Olga.
Praveen_Varriam
Product and Topic Expert
Product and Topic Expert
0 Kudos
Thank you Olga for your response.

I will raise a ticket as suggested.

 

Thank you,

Praveen V.
itmfru01
Explorer
0 Kudos
Hi Olga,

is it possible, to run the Customer Code Check App on the BTP-ABAP Free-Tier runtime (CPEA or Pay-as-you-go) connected to a S/4 Sandbox to check it out?

Thanks in advance.

Best regards
Norbert
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Norbert,

yes, it is possible.

Best Regards,

Olga.
itmfru01
Explorer
0 Kudos
Great, thanks for answering in lightspeed mode 🙂
pc22
Explorer
0 Kudos
Hello Olga,

From your blogs I understand that CCM FIORI App shows objects 'In Scope' based on SUSG Usage Data that is given as input to CCM App for analysis.

Readiness Check 2.0 also has feature to show objects 'In Scope' under 'Custom Code analysis' section.

How is the 'In Scope' of Readiness Check, different from CCM App?

Regards,

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

the scope information is just the takeover from the CCM app custom code analysis results (which can be downloaded from the CCM app and uploaded to the SAP Readiness Check).

Kind Regards,

Olga.
pc22
Explorer
0 Kudos
Hello Olga,

Thanks for your quick reply.

I wanted to clarify that in my scenario the input for the 'Custom Code Analysis' in Readiness Check is the zip file output from 'SYCM_DOWNLOAD_REPOSITORY_INFO' (which I assume does not consider SUSG).

In this scenario what does the 'In Scope' of Readiness Check 2.0 refer to for Custom Code analysis?

Regards,

Prathap
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Prathap,

SYCM_DOWNLOAD_REPOSITORY_INFO are the old custom code analysis results, collected with SYCM, not ATC or CCM app.

Scope information is only available in SAP Readiness Check if you used the CCM app for analysis. You may also check the explanation in the side panel (“learn more” button) for further information:

Kind Regards,

Olga.

StevenDeSaeger
Contributor
Hi olga.dolinskaja,

We have been using the scanning app for a couple of times now already - including S/4HANA migration and custom code CVA scanning projects -  and we found the app very usefulll.

We have a couple of obserations though:

  • We find it 'weird' that a new project gets the status 'ready for scoping' but then automatically starts an analysis before we have the chance to adjust the scope.  This is potentially fine for a 'migration' project but not for a custom code scanning project in our opinion as there we want potentially do a very limited scope scan (and also see next point).

  • It seems a bit 'dramatic' to set a project into a 'severe error' state when you try to create a new project and then it cannot start (it's automatic analysis) because another project is currently executing an analysis.


That brings us to our whishlist:

  • We were surprised that you cannot do any kind of job planning and for example plan a weekly custom CVA scan on one or more backend systems.  We would love to be able to do regular scans on limited scope.

  • The previous point brings also up that you cannot perform multiple analysis as the same time to different backend systems ( the same system I can understand ).

  • Scopes - it would be nice to be able to store 'scopes' so these can be easily 'reused' in a new future project creation ( or job planning 😛 ).


Kind regards,

Steven

 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Steven,

thank you very much for your observations and the valuable wishlist. The parallel ATC analysis on different backend systems will be possible as soon as dynamic scaling of the SAP BTP ABAP Environment system will be delivered. Our colleagues are currently working on it with a high priority. After that the scheduling of ATC runs on different systems can be implemented. The outsourcing of scopes is also in our development backlog.

Thanks and Regards,

Olga.
StevenDeSaeger
Contributor
0 Kudos
Thanks Olga for your insights.

Is there an online  'roadmap' available for this product ?

Kind Regards,

Steven
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Steven,

in the SAP Roadmap Explorer there is the roadmap for SAP BTP ABAP Environment: https://roadmaps.sap.com/board?PRODUCT=73555000100800001164&range=CURRENT-LAST#Q2%202022

Kind Regards,

Olga.
IanStubbings
Active Participant
0 Kudos
Hi Olga

Following up on this topic as I have just checked the roadmap.

I believe I mentioned before about our wish to replace our on premise Central ATC system (7.52) with a BTP ABAP system. Do you have any indication when there will be feature parity between the 2 versions? I am specifically thinking of the on-premise developer flow i.e. transport release/block where ATC is triggered, rather than just the scan of on premise systems. (on-premise to BTP rather than BTP to on-premise).

We are keen to decide if we should focus our efforts on a Central ATC in BTP ABAP or whether we should upgrade our current on-premise system from S/4 HANA 1909 to an S/4HANA 2022 system.

Thanks

Ian
jathinvarma11
Explorer
0 Kudos
Hello Olga,

We are planning to migrate from ECC BASIS 750 to BTP's ABAP Environment. We are following your blog for Custom Code Analysis and intend to use CIAS to set up the Custom Code Migration App. Although we have a trial account in BTP with a Subaccount Region of US East (VA), we are unable to locate CIAS in the Service Marketplace. Can you suggest an alternative approach?

Thanks and Regards,

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

CIAS is not available in BTP trial account, therefore just follow the installation steps without CIAS provided in the "Technical Setup" chapter of this blog.

Kind Regards,

Olga.
lauraquinterosa
Participant
0 Kudos
Hi Olga,

 

We are planning to migrate from ECC BASIS 731 to S/4HANA.

We want to use the Fiori App Custom Code Migration in BTP ABAP Environment to do the analysis.

We have a few questions after reading all your blogs on this topic that we hop you can help us with:

Can we run the analysis using the Fiori App in BTP for when the ECC system is such an old SP (BASIS 731)? The SAP note 2436688 seems to imply that the minimun BASIS component version should be 751 to be able to use custom code checks in Custom Code Migration app for the analysis. Do we need this note applied in the ECC system for the Fiori app in BTP to run using the aggregared data we have in ECC (tcode SUSG)?

If we can use the Fiori app in BTP, and we want to use CIAS for the setup, do we need to buy this service in our corporate BTP account? or is it already included?

 

Thanks and kind regards,

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

yes, surely, you can use the Custom Code Migration app in SAP BTP to analyze your SAP_BASIS 7.31 system (the minimum release of the ERP system is SAP_BASIS 7.00). The SAP note 2436688 lists the recommended SAP notes for the central ATC check system (where also Custom Code Migration app runs), not for the checked (ERP) systems.

CIAS is available for free if you have the SAP BTP account. Just follow the instructions in the blog: if you use CIAS, all required SAP notes will be applied to your on-premise system within the CIAS guided workflow. I also recommend the SAP Discovery Center mission Use SAP Fiori Custom Code Migration App to Analyze Your ABAP Custom Code for SAP S/4HANA Readiness for guided setup and analysis.

Kind Regards,

Olga.
lauraquinterosa
Participant
0 Kudos
Hi Olga,

Thanks for you quick reply 🙂

If we don't really need (at this stage) to perform custom code checks with ATC, can we skip note 2436688 and run the custom code migration Fiori app from BTP? My customer does not have a central ATC system from which to perform checks but is mostly interested in the feature to identify unused custom code using the Fiori app.

Is the above feasable? and, do we need to apply any SAP notes to their old ECC system (checked system) in that scenario?

Also, I went through the Discovery Centre mission but I'm confused on the amount of hours requred to run BTP ABAP environment service, it states 730 hrs of each persistency and memory which ad up to 2K per month.

Do we really need that many hrs if we are only to use the Fiori app in BTP to only upload the snapshot files produed in SUSG (aggregated data) from the said checked ECC system?

 

Thanks and kind regards,

Laura

 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert

Hi Laura,

the primary use case of the Custom Code Migration app is the analysis of custom code. Therefore ATC check run will be always executed after you create a custom code analysis project in the app. If your customer just wants to use the app for the identification of unused code, then I would suggest the workaround to use a custom ATC check variant which contains a very simple remote-enabled check. In this case ATC check run will be also executed, but the analysis will be completed very quickly, what will shorten the usage time of the Custom Code Migration app and consequently the costs for the SAP BTP, ABAP environment.

Regarding the pricing for the SAP BTP, ABAP environment for this customer use case I would recommend the Pay-As-You-Go model, and please note, that we also plan to offer the suspend mode (expected for Q4/2023), which will make possible to pay only for the active usage and suspend the SAP BTP, ABAP environment instance for the time when it is not used.

Regarding the note 2436688 I would recommend at least to provide the systems connected to the Custom Code Migration app with the notes for the checked systems. These are mainly ATC-relevant remote stubs, and the connection that is also needed for the Custom Code Migration app. The Note Analyzer can be used on the checked systems to inspect which notes are still missing.

Kind Regards,

Olga.

rcsilva
Discoverer
0 Kudos

Very useful information Olga.  So does it mean SAP is no longer recommending the use of SYCM_DOWNLOAD_REPOSITORY_INFO for SAP S/4 HANA transformation assessments and scoping?

OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi @rcsilva ,

yes, custom code analysis approach based on SYCM_DOWNLOAD_REPOSITORY_INFO is obsolete, Custom Code Migration app (based on remote ATC) should be used instead.

See also this Q&A https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/custom-code-adaptation-for-sa... for more details.

Kind Regards,
Olga.

AnthonyBrussels
Discoverer
0 Kudos

Hello Olga,

Thanks for all those very useful blogs, can we use the Custom Code Migration app with a custom ATC check instead of the standard checks available? I would like to build my own variant and call it from BTP in our on premise systems (from the central instance in the on premise and not the opposite) following your blog: How to create and use your own ATC check variant i... - SAP Community

Is it feasible?

Thanks in advance

OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi @AnthonyBrussels,

yes, it is possible to create your custom check variant (as described in the "How to create and use your own ATC check variant....." blog) and use it in the Custom Code Migration app on SAP BTP to check an on-premise system.

Kind Regards,
Olga.

AnthonyBrussels
Discoverer
0 Kudos

Hello Olga,

Thanks for the quick reply. 
Is it feasible to use the method described in the tutorial to build quick fixes on DDIC objects? All the examples I found are always on programs and not DDIC objects (se11). I would like to fix a structure using quick fixes. 
Thanks in advance 

OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi @AnthonyBrussels,

you can build custom quick fixes only for ABAP source code (not for DDIC objects).

Kind Regards,
Olga.

mainak-aich
Participant
0 Kudos

Hello @OlgaDolinskaja , 

Currently I have setup ATC in BTP ABAP environment. As per developer scenario, I am running ATC check for a custom program inside an on-premise SAP ECC System (NW 7.5). The custom program calls the SAP standard FMs. But the ATC check result contains findings from the standard FMs. How to configure ATC to stop scanning standard objects?

Thanks,

Mainak

OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi @mainak-aich ,

ATC on SAP BTP does not check any standard SAP code. Are you sure, that the FM with the ATC findings is a standard SAP object? Please verify.

Kind Regards,
Olga.

mainak-aich
Participant
0 Kudos

Hi @OlgaDolinskaja ,

Yes, I am sure it is standard SAP object. In fact, I raised the same to SAP using case Case 296546/2025 - ATC error coming from standard SAP objects - SAP For Me

But I was informed that ATC will check all the unreleased SAP objects. But this is not expected from ATC. As a customer, different SAP released/non-released objects are used by custom program. I wonder why it is not possible to exclude SAP object from ATC code check. In fact, this is also mentioned by you in your FAQ blog post below Remote Code Analysis in ABAP Test Cockpit (ATC) – ... - SAP Community

Thanks,
Mainak

OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi @mainak-aich,

could you please provide me more context: screenshot of the ATC error and which ATC checks you are using. Please send me via e-mail.

Kind Regards,
Olga.

mainak-aich
Participant
0 Kudos

Hi @OlgaDolinskaja 

I don't have your email address. Could you please send me an email to me at mainakaich@gmail.com so that I can reply you back with the needed information.

Thanks,
Mainak

JRefka
Discoverer
0 Kudos

Hello, 

I am currently using BTP Custom Code Migration and have created a project for our ECC production system. We have been using Solution Manager to collect data for the last 6-7 years.  I have set up the project to use the usage data from solution manager, but I don't get an usage.  From what I see the FM AGS_CC_UPL_GET_LUSG_4_OBJECT in Solution Manager is called from the custom code migration application.  It looks like it is ultimately trying to get the data from  ODS Object 0SM_UPLLD ( /BI0/ASM_UPLLD00 ) . Currently there are no records in this table.  Any idea what could be missing?  When using the Solution Manager Cust Code Management I can see "Last Used" data.  

Thanks .