API State: Compatibility Checks for Objects Released as APIs
Message type: E = Error
Message class: ARS_CMP_ATC - API Release: Compatibility Checks – ATC Messages
Message number: 000
Message text: API State: Compatibility Checks for Objects Released as APIs
What causes this issue?
SAP can release development objects like CDS views, classes or
interfaces as stable APIs for a dedicated purpose. Depending on the
purpose, these objects must comply to a corresponding compatibility
contract:
C0 (Add Custom Fields via Key User App)
This contract ensures stability at dedicated extension points in APIs.
These extension points are defined using transaction SCFD_REGISTRY and
must only be used for adding custom fields using app <ZK>Custom Fields
and Logic</>.
C1 (System-Internal Use)
This contract ensures a technically stable public interface for
system-internal use. Compatibility of the public interface includes all
its existing parameters, elements, associations to released targets, and
their technical data types. Further optional parameters, elements, or
associations might be added later, but existing parameters, elements, or
associations must not be changed or even removed. Alphanumeric elements
might be elongated but will never be shortened.
C2 (Use as Remote API)
This contract ensures a technically stable public interface for use as
remote API. Similar to contract C1, compatibility of the public
interface includes all its existing parameters, elements, associations
to released targets, and their technical data types. Further optional
parameters, elements, or associations might be added later, but existing
parameters, elements, or associations must not be changed or even
removed. But in addition to contract C1, to ensure that external
consumers of the API do not need to be adjusted after an upgrade, also
the elongation of its elements and parameters is not allowed.
C3 (Manage Configuration Content)
This contract ensures a stable persistence for own configuration content
that can be exported, imported, displayed and edited using dedicated
APIs and editors. Compatibility of the persistence includes its key
definition and all the fields. Optional non-key fields might be added
later, but existing fields must not be changed or even removed.
Alphanumeric fields might be elongated but will never be shortened.
Furthermore, the customer namespace reservations for a released table
must not be changed.
Released APIs must not be changed incompatibly, because
customer-specific objects based on these APIs would break. Therefore,
compatibility checks are executed to detect incompatible changes between
releases for such released APIs.
System Response
Each released API is checked for incompatible changes between releases
depending on the assigned compatibility contract (C0, C1, C2 and C3).
These checks comprise of <ZK>basic checks </>(e.g. detection of deleted
elements) and <ZK>domain-specific checks </>(e.g. detection of
annotation changes in CDS views) by different application components.
How to fix this error?
Each check message describes an incompatible change in a development
object which was released as API.
Depending on the severity of the incompatible change, an error, warning
or info is raised. Errors must be solved by undoing the detected
incompatible change.
<ZH>Note</>: If the checked development object is a package, the check
messages refer to objects which were formerly contained in this package
but were deleted although they have been released as APIs.
Undo this incompatible change by restoring the affected part of the API
in the way it was previously shipped to the customer.
Example
An element was removed from the projection list of a released CDS view.
If this element is used in a customer-specific CDS view based on the
released CDS view, this would cause ABAP dictionary activation errors
during the upgrade of the customer system.
<ZK>Check message</>: Element <ElementName> was removed.
<ZK>Remedy</>: Add this element to the projection list again, using the
same data type as before.
Procedure for System Administrators
The system issues an error message and will not allow you to continue with this transaction until the error is resolved.
Error message extract from SAP system. Copyright SAP SE.
Related Error Messages
ARS_CLASSIF_COMMON000 API Release contract &1 must only be changed via ADT (ABAP in Eclipse)
ARS_CLASSIF_C2002 Use of TA SCLAS_API_Cx is not allowed for objects in component &1.
ARS_CMP_ATC001 Changes in &3 for &4 in comparison with release &1, by component &2:
ARS_CMP_ATC002 Exceptions for &3 while comparing with release &1, by component &2: