code pal for ABAP — Cloud Edition
The same Clean ABAPClean ABAPSAP's open, versioned style guide for ABAP: the answer to how a piece of ABAP should be written, an agreement a team adopts rather than anything to install.sap official, abap check set for ABAP Cloud, where the legacy editioncode pal for ABAPATC and Code Inspector checks for the parts of Clean ABAP a static analyser can actually check, installed into a system with [abapGit](artifact:abapgit-abapgit) rather than delivered with it.sap official, abap cannot run.
ATC checks that execute in a Steampunk environment rather than on an on-premise system. Installed with [abapGitabapGitmaintains 1 entrycommunity org](artifact:abapgit-abapgit), and the README warns that the plugin will report NSPC and SCO2 errors on a Steampunk system which are a difference between the two ABAP environments and can be ignored.
Facts
Where it sits
Who is behind it
In the atlas: maintains 137, wrote 14@SAPmaintainerAjinkya PatilContributes to this
In the atlas: contributes to 112@ajinkyapatil8190Björn JüligerContributes to this
In the atlas: contributes to 5@bjoern-jueliger-sapJosia KempfContributes to this
In the atlas: contributes to 1@D074020Daniel BerndContributes to this
In the atlas: contributes to 1@DanielBernd75DerGuteWolfContributes to this
In the atlas: maintains 1, contributes to 5@DerGuteWolfFelixteUhleContributes to this
In the atlas: contributes to 1@FelixteUhleLars HvamContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1@larshpMarc BernardContributes to this
In the atlas: contributes to 26@mbtoolsNilsABCDContributes to this
In the atlas: contributes to 2@NilsABCDJan WichmannContributes to this
In the atlas: contributes to 1@wichijan10 contributors
What it declares
Every artifact
- Type
- Package
- Origin
- By SAP
As a package
- Where it runs
- Inside its host
- Distributed through
- does not say
Connections
Whether code can run in ABAP Cloud, and what to do when it cannot
Naming, structure and language-subset conventions for readable code
Git client written in ABAP that runs inside the system
Download
README
quoted from SAP/code-pal-for-abap-cloud under Apache-2.0, readCode Pal for ABAP - Cloud Edition
About this Project
Code Pal is a project that provides ATC checks to assist ABAP programmers in adhering to the Clean ABAP style guide. This is a version of that project that provides ATC checks that can be executed in an ABAP Cloud ("Steampunk") environment. The legacy version for SAP_BASIS releases starting at 7.40 is here.
Requirements and Setup
Install via abapGit Eclipse plugin on ABAP cloud systems and abapGit for SAPGUI on systems with SAP_BASIS 7.58 or higher. Since Code Pal is developed in English, logon language EN is required during installation. In a Steampunk system, the abapGit plugin may report errors related to the object types NSPC and SCO2. These are caused by differences between the on Premise and cloud ABAP environments and can be ignored as these object types are only relevant when the project is imported into an on Premise environment.
It's recommended to install the project into a package named /CC4A/CODE_PAL. You can choose the superpackage of this package arbitrarily, e.g. the default root package ZLOCAL for custom development. The namespace /CC4A/ comes pre-installed in all Steampunk systems. It is currently unavailable in S/4 Public Cloud systems, but SAP is working on enabling it there, too.
Compatibility of the most recent version is only guaranteed for the current version of ABAP for Cloud Development. For the SAP_BASIS 7.58-compatible version, use the SAP_BASIS-7.58-compatible branch.
Features
Our main functional goals that differ from the legacy version are:
- Providing automated quick fixes for many findings in ADT
- Enabling all checks to run in a remote check scenario.
- All code lives in the
/CC4A/(Clean Code for ABAP) namespace so collisions with Y*/Z* objects from other projects are avoided. You can get namespace keys at SAP for Me to use that namespace in an on Premise customer ABAP enviroment.
The project contains an ABAP Test Cockpit variant called /CC4A/CODE_PAL_FULL that includes all currently available checks. For general information on how to use the ABAP Test Cockpit, see the official SAP documentation.
The check migration list shows the current migration status of checks from the legacy version. Use that list to navigate to the documentation of the checks.
Feedback and Support
Please submit feedback and bug reports as a GitHub issue on this project.
Contributing
We welcome all contributions to this project, no matter whether you fixed a typo, repaired a bug or wrote a new check. See our contributor guide for details.
Code of Conduct
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its Code of Conduct at all times.
Licensing
Copyright 2022 SAP SE or an SAP affiliate company and Code Pal for ABAP Cloud contributors. Please see our license for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.
Others providing
- FORMfactorFORMfactorA report that generates local classes with static methods from an old FORM-based ABAP program, as code to paste in by hand, without support for 740 constructs, TABLES parameters or INCLUDEs.independent, abapGenerates local classes from FORM-based ABAP programsfrom ABAP
- code pal for ABAPcode pal for ABAPATC and Code Inspector checks for the parts of Clean ABAP a static analyser can actually check, installed into a system with [abapGit](artifact:abapgit-abapgit) rather than delivered with it.sap official, abapATC and Code Inspector checks for Clean ABAPfrom ABAP
- Clean ABAPClean ABAPSAP's open, versioned style guide for ABAP: the answer to how a piece of ABAP should be written, an agreement a team adopts rather than anything to install.sap official, abapOpen, versioned style guide for ABAPfrom ABAP
- abap-cloud-guiabap-cloud-guiA report-style programming model for abap2UI5: one class produces a selection screen with a WRITE list or an ALV grid, running as a UI5 app on ABAP Cloud as well as on NetWeaver 7.02.independent, abapReport-style programming model for abap2UI5 on ABAP Cloudfrom ABAP
- codepagecodepageA polyfill class, ZCL_ABAP_CODEPAGE, that converts strings to binary and back behind one interface, where Clean Core blocks CL_ABAP_CODEPAGE and older systems lack CL_ABAP_CONV_CODEPAGE.independent, abapPolyfill for CL_ABAP_CODEPAGE under Clean Corefrom ABAP
- Modernization Agents for SAP on AWSModernization Agents for SAP on AWSAWS's suite of agents for SAP modernisation work: custom ABAP converted for S/4HANA, PI/PO interfaces moved to Integration Suite, BW objects moved to SAP Datasphere, deployed into a customer's own AWS account and reached only after registration.partner, abapAWS agents for ABAP, PI/PO and BW modernisation workfrom ABAP
- ROSAROSAAnswers whether an SAP object is released for ABAP Cloud, and what to use instead when it is not — served from SAP's own Cloudification Repository over MCP and over plain REST.independent, abapMCP server answering whether SAP objects are released for ABAP Cloudfrom ABAP
- Cloudification RepositoryCloudification RepositorySAP's list of released APIs for SAP Cloud ERP, with the successors of the objects that are not released — the content the ABAP test cockpit's cloud readiness and clean core checks are pointed at.sap official, abapSAP's list of released APIs for SAP Cloud ERP with successorsfrom ABAP
- Clean-Core.ioClean-Core.ioA free hosted workspace that reads one piece of custom ABAP, redraws its business process as BPMN with a line anchor on every element, grades the SAP objects it uses Level A–D and ends in a keep, rebuild, move-to-standard or retire decision.independent, abapHosted workspace redrawing custom ABAP as BPMN and grading itfrom ABAP
- Clean Core MeasurementClean Core MeasurementAn ABAP application for a central ATC system that imports Clean Core check results and reports them per system as Level A to D KPIs, technical debt scores and documented assignments.independent, abapReports Clean Core ATC results per system as Level A to D KPIsfrom ABAP
- ABAP Select ConverterABAP Select ConverterConverts a classic Open SQL SELECT against dictionary tables to the equivalent statement against released Core Data Services entities and their fields.independent, abapConverts classic Open SQL SELECTs to released CDS entitiesfrom ABAP
- abap-system-fieldsabap-system-fieldsAn ABAP Cloud class that wraps SY system fields and calendar-date functions behind an injectable instance, so code that reads them stays stable under unit tests.independent, abapInjectable wrapper for SY fields and date functions in ABAP Cloudfrom ABAP
- Cloudification Repository ViewerCloudification Repository ViewerA browser form over the Cloudification Repository, the list SAP publishes of which standard objects are released for ABAP Cloud and what replaces the ones that are not.independent, abapBrowser form over SAP's Cloudification Repository for ABAP Cloudfrom ABAP
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Flavors
“This is a version of that project that provides ATC checks that can be executed in an ABAP Cloud (["Steampunk"](https://blogs.sap.com/2019/08/20/its-steampunk-now/)) environment.” — SAP/code-pal-for-abap-cloud — README
“For the SAP_BASIS 7.58-compatible version, use the `SAP_BASIS-7.58-compatible` branch.” — SAP/code-pal-for-abap-cloud — README
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:sap-code-pal-for-abap-cloud- JSON
- /artifacts/sap-code-pal-for-abap-cloud.json
- MCP
- Connecting an agent