SAP publishes two files that answer two different questions. The level is a merge of both, and the order the merge happens in decides the answer for 22 objects where the two files disagree. That order is written out here, in the sequence the code checks it, with every count taken from the catalog rather than typed in.
The release file. If SAP will not release an object for ABAP Cloud but has named a successor for it, the level is not B — level B means 'acceptable where no level A path exists', and a named successor is that path. This affects 22 objects, including CL_BCS and CL_HTTP_CLIENT.
Both come from SAP’s Cloudification Repository. They are near-disjoint: 180 of 32,103 objects appear in both, so the second file is additional coverage rather than a second opinion on the first.
Can ABAP Cloud use this object?
States released, deprecated and notToBeReleased, and the successors SAP names for the objects it is retiring.
23,696
objects
What does classic ABAP using it count as?
States classicAPI and noAPI — whether SAP considers the object fair game for classic extensions, or not for customer use at all.
8,587
objects
Synced from the repository; catalog as of 2026-08-26.
Each row is one branch. The first one that matches decides, so a row only sees the objects the rows above it did not claim — which is what makes the order a decision rather than a formatting choice.
| # | SAP state | Level | Why |
|---|---|---|---|
| 1 | released | A | SAP has released it for ABAP Cloud. This wins outright, including for the objects the classic file also names. |
| 2 | notToBeReleased | D | SAP will not release it. There is no level A path through this object, and in almost every case SAP names what to use instead. |
| 3 | deprecated + successor | C | On its way out, but SAP has named the replacement — usable while you migrate, with a deadline attached. |
| 4 | deprecated, no successor | D | On its way out with nothing named to replace it. Anything built on it has to be re-thought, not re-pointed. |
| 5 | classicAPI | B | SAP classifies it as fair game for classic ABAP, and no release-file state has claimed it above. |
| 6 | noAPI | D | SAP classifies it as not intended for customer use. |
| 7 | listed in neither file | C | An SAP object with no published classification is what the level C definition describes — internal, usable with a changelog check before each upgrade. |
A customer object (Z*, Y*) carries no SAP classification at all, and neither does a namespaced object SAP does not list — those fall through to the engine’s own evidence and are labelled as estimated rather than looked up.
Every pairing that occurs in the data, with the level it produces. Computed from the artifacts when this page was built — not maintained by hand.
| Pairing | Level | Objects |
|---|---|---|
| released | A | 22,981 |
| classicAPI | B | 7,936 |
| noAPI | D | 471 |
| notToBeReleased | D | 284 |
| deprecated | D | 183 |
| released + classicAPI | A | 158 |
| deprecated | C | 68 |
| notToBeReleased + classicAPI files disagree | D | 21 |
| deprecated + classicAPI files disagree | C | 1 |
Take CL_BCS, the classic class for sending mail. The classification file calls it classicAPI — an API classic ABAP may use, which on its own is level B. The release file calls it notToBeReleased and names CL_BCS_MAIL_MESSAGE as its successor. We publish D.
That reads as the release state wrongly overruling SAP’s own classification, and it is the reading two independent code reviews of this project arrived at in September 2026. The answer is in what level B means: acceptable where no level A path exists. Where SAP has named a successor, a level A path does exist, and calling the old object “SAP-recommended” would tell you to keep writing against something SAP has already replaced. Of the 22 objects in this position, 21 carry an explicit successor and one does not.
Reasonable people can disagree with that call — it is an interpretation of SAP’s level definitions, not a quotation of them. What should not happen is disagreeing with it by accident, which is why the object pages now show both files side by side and why this page exists at all.