@mcp-abap-adt/interfaces-adt 21.0.0 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +83 -0
- package/README.md +61 -3
- package/dist/adt/AdtTypeTables.d.ts +117 -22
- package/dist/adt/AdtTypeTables.d.ts.map +1 -1
- package/dist/adt/AdtTypeTables.js +15 -20
- package/dist/adt/AdtUtilityCodes.d.ts +146 -0
- package/dist/adt/AdtUtilityCodes.d.ts.map +1 -0
- package/dist/adt/AdtUtilityCodes.js +73 -0
- package/dist/adt/IAdtShared.d.ts +60 -6
- package/dist/adt/IAdtShared.d.ts.map +1 -1
- package/dist/adt/IAdtUtilities.d.ts +96 -2
- package/dist/adt/IAdtUtilities.d.ts.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,89 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [22.0.0] - 2026-10-28
|
|
11
|
+
|
|
12
|
+
A major for one change: the ABAP cloud table loses the program and include
|
|
13
|
+
operations the cloud refuses (see "Changed (breaking)"). Everything else is
|
|
14
|
+
added beside 21.0.0's types: each keeps its meaning, and a type parameter
|
|
15
|
+
added to an existing type has the 21.0.0 type as its default.
|
|
16
|
+
|
|
17
|
+
### Changed (breaking)
|
|
18
|
+
|
|
19
|
+
- **`ADT_TYPES_CLOUD`: a program and an include change nothing.** ABAP cloud
|
|
20
|
+
refuses to create either (`403`, S_DEVELOP, measured on the BTP trial
|
|
21
|
+
2026-10-28), so `PROG/P` and `PROG/I` no longer list `create`, `update`,
|
|
22
|
+
`lock`, `unlock`, `activate`, `validate`, `deletionCheck` or `delete`.
|
|
23
|
+
What a delivered one answers stays: `read`, `source` and `readMetadata`
|
|
24
|
+
(measured on both), `check` and `versions` for a program (measured),
|
|
25
|
+
and the operations not measured — the enhancement reads, `transport`,
|
|
26
|
+
`run`, `profile` and the unit-test runs — as the release's `typestructure`
|
|
27
|
+
lists them. Leaving out the change operations beyond `create` is an
|
|
28
|
+
inference from the refusal: S_DEVELOP is the change authorization, and an
|
|
29
|
+
object nobody can create has nothing of one's own to change. A function
|
|
30
|
+
include (`FUGR/I`) is unchanged: the cloud creates one (`200`, measured).
|
|
31
|
+
`AdtTypeCodeWith<'cloud', Op>` and `AdtCodeWith<AdtModernVariant, Op>` no
|
|
32
|
+
longer name `PROG/P` or `PROG/I` for those operations, and the cloud table
|
|
33
|
+
is no longer the on-premise one in operations.
|
|
34
|
+
|
|
35
|
+
### Added
|
|
36
|
+
|
|
37
|
+
- **`updateMetadata`** on `CLAS/OC`, `INTF/OI`, `FUGR/FF` and `DDLS/DF` in
|
|
38
|
+
`ADT_TYPES_ONPREM` and `ADT_TYPES_CLOUD`, and on `PROG/P` in
|
|
39
|
+
`ADT_TYPES_ONPREM`: the object's whole metadata document, written back with
|
|
40
|
+
the media type it was read with, answers `200` on S/4HANA 2025 and on ABAP
|
|
41
|
+
cloud (measured 2026-10-27). 7.40 is not measured yet and keeps none.
|
|
42
|
+
|
|
43
|
+
- **Intersecting helpers.** `AdtCodeOf<V>` and `AdtCodeWith<V, Op>`: the codes
|
|
44
|
+
every variant of `V` lists (with `Op`) — the default modern variant,
|
|
45
|
+
`AdtModernVariant` (`'onprem' | 'cloud'`), gets what both newer tables
|
|
46
|
+
serve. `AdtCodeOfIn<Tables, V>` and `AdtCodeWithIn<Tables, V, Op>` are the
|
|
47
|
+
same over any set of tables; `AdtServingVariantsIn<Tables, A>` and
|
|
48
|
+
`AdtPerformingVariantsIn<Tables, A, Op>` name the variants whose table
|
|
49
|
+
serves an API, or one of its codes an operation. `AdtTypeCodeOf`,
|
|
50
|
+
`AdtTypeCodeWith`, `AdtApiWith` and `AdtApiWithIn` are unchanged; their docs
|
|
51
|
+
now state what they answer for a union of variants — the APIs all of them
|
|
52
|
+
serve, and for those the codes and operations any of them lists.
|
|
53
|
+
- **Utility code tables**, `ADT_UTILITY_CODES_ONPREM`, `_CLOUD`,
|
|
54
|
+
`_BASIS_740` (`IAdtUtilityCodeTables`, `AdtUtilityCodeTable<R>`,
|
|
55
|
+
`IAdtUtilityCodeFacts<R>`, `AdtUtilityOperation`, `AdtUtilityCodeWith<V,
|
|
56
|
+
Op>`, `AdtUtilityCode`): the codes `getUtils()` takes beyond the API tables,
|
|
57
|
+
each with its operations, whether they were measured, and its evidence.
|
|
58
|
+
- `VIEW/DV`, a DDIC database view, on every release: group activation,
|
|
59
|
+
group deletion and where-used, under `/sap/bc/adt/ddic/views`. No API
|
|
60
|
+
serves it — a **group-only code**, `AdtGroupOnlyCode`,
|
|
61
|
+
`AdtGroupOnlyCodeOf<V>`. Sent, unmeasured.
|
|
62
|
+
- `DEVC/K` in a group activation on the newer releases — sent, unmeasured.
|
|
63
|
+
- `DEVC/K` in `fetchNodeStructure` on 7.40 — measured (the legacy
|
|
64
|
+
`UtilsReaders` cycle). A table of its own rather than a package entry on
|
|
65
|
+
7.40, because an entry would gate `getPackage()` open where every package
|
|
66
|
+
member is refused, and a new `AdtOperation` word would break a 21.0.0
|
|
67
|
+
consumer's exhaustive map over the vocabulary.
|
|
68
|
+
- `IObjectReference<C>`, `IGetWhereUsedParams<C>` and
|
|
69
|
+
`IGetWhereUsedScopeParams<C>` take a group-only code as their type
|
|
70
|
+
argument (`IObjectReference<'VIEW/DV'>`). Their defaults are 21.0.0's: a
|
|
71
|
+
bare `IObjectReference` still admits `AdtTypeCode` alone.
|
|
72
|
+
- **What each group operation is given:** `AdtGroupActivationCode<V>`,
|
|
73
|
+
`AdtGroupDeletionCheckCode<V>`, `AdtGroupDeletionCode<V>` (no `MSAG/NN`,
|
|
74
|
+
which has no address of its own), `AdtWhereUsedCode<V>` (no `FUGR/I` or
|
|
75
|
+
`MSAG/NN`), and the references over them, `IAdtGroupActivationReference<V>`,
|
|
76
|
+
`IAdtGroupDeletionCheckReference<V>`, `IAdtGroupDeletionReference<V>`,
|
|
77
|
+
`IAdtWhereUsedParamsOf<V>`, `IAdtWhereUsedScopeParamsOf<V>`, built by
|
|
78
|
+
`IAdtCodedReference<C>`: `parentName` required for each parented code, and
|
|
79
|
+
a reference from a code known only by its set compiles when it names its
|
|
80
|
+
parent — inside TypeScript's 25-combination limit.
|
|
81
|
+
- `IAdtTypedGroupLifecycle<TActivation, TDeletionCheck, TDeletion, V>` and
|
|
82
|
+
`IAdtTypedWhereUsed<TWhereUsed, TScope, V>`: the group and where-used members
|
|
83
|
+
over those references. New atoms beside `IAdtGroupLifecycle` and
|
|
84
|
+
`IAdtWhereUsed`, with the same member names: an implementation declaring
|
|
85
|
+
both offers both signatures, and a caller passing `IObjectReference[]` is
|
|
86
|
+
unaffected. Adding the signatures to the 21.0.0 atoms instead would have
|
|
87
|
+
made every implementation of them stop compiling.
|
|
88
|
+
- `IAdtTypeStructure<TTypeStructure>`: `getTypeStructure({ headers })`,
|
|
89
|
+
`POST /sap/bc/adt/repository/typestructure`, an atom of its own like
|
|
90
|
+
`IAdtObjectProperties`, and `IUtilResults.typeStructure`, its reading —
|
|
91
|
+
optional, so a 21.0.0 result set is still one.
|
|
92
|
+
|
|
10
93
|
## [21.0.0] - 2026-10-27
|
|
11
94
|
|
|
12
95
|
### Added
|
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ ADT contracts: object operations, runtime analysis, execution, feeds and service
|
|
|
11
11
|
- Since 14.0.0 `IDebuggerIdentity` is a union by `debuggingMode` (required), `attach` takes the identity, `condition` is for line breakpoints only, and `IAbapDebugger` gains `TSettings` and five members. The CHANGELOG has the migration note.
|
|
12
12
|
- Since 15.0.0 `skipCount` is gone from breakpoints (the server ignores it) and `clientId` pairs an answer row with its request. The CHANGELOG has the migration note.
|
|
13
13
|
- Since 15.1.0 the plain class and program run take `debuggee` (`IDebuggeeIds`): the terminal id and IDE id a terminal-mode listener catches the run by.
|
|
14
|
+
- Since 22.0.0, the ABAP cloud table creates and changes no program or include (`403`, S_DEVELOP; see "Migrating to 22.0.0"), and `updateMetadata` is listed where it was measured. Beside that, additions only: intersecting helpers (`AdtCodeOf<V>`, `AdtCodeWith<V, Op>`, `AdtServingVariantsIn`, `AdtPerformingVariantsIn`; the default `AdtModernVariant` gets what both newer tables serve), utility code tables per variant (`ADT_UTILITY_CODES_*`: the group-only `VIEW/DV`, `DEVC/K` in a modern group activation and in 7.40's node structure), group references per operation with the typed atoms `IAdtTypedGroupLifecycle` and `IAdtTypedWhereUsed`, and `IAdtTypeStructure` with its `IUtilResults.typeStructure` slot. See "Intersections, group-only codes and group references".
|
|
14
15
|
- Since 21.0.0 the object type codes are the library's own tables — `ADT_TYPES_ONPREM` (S/4HANA 2025), `ADT_TYPES_CLOUD` (ABAP cloud), `ADT_TYPES_BASIS_740` (SAP_BASIS 7.40 SP04), keyed by API — and every code in a contract is an `AdtTypeCode` drawn from them. `AdtObjectTypeLower`, `AdtObjectType`, `AdtSourceObjectTypeLower` and `AdtSourceObjectType` are removed, and with them the codes no release lists. An identifying atom takes the parent's field as its last type parameter (`TParent`, default `never`, which leaves the config `Partial<TConfig>` as before), and `IObjectReference<C>` requires `parentName` for a code with a parent. A code read from an answer is an `IAdtAnsweredObject`. See "The ADT type tables" and "Migrating to 21.0.0".
|
|
15
16
|
- Since 20.2.0 every object's result-set contract (`IClassResults`, `IProgramResults`, … 30 in all, `IMessageClassMessageResults<TRead, TWritten, TDeleted>` among them) and `IServiceBindingPublicationConfig` are declared here, in the object's own `IAdtX.ts`: the slot map an implementation is constructed with, each slot an `IResultStrategy<unknown>`. A consumer composes its client contract from these and the atoms. Additions only.
|
|
16
17
|
- Since 20.1.0 `IAdtObjectProperties` reads one repository object's properties from `/informationsystem/objectproperties/values?uri=`, any object uri (a transaction by its `vit` workbench uri); its own atom, not part of `IAdtInformationSystem`.
|
|
@@ -31,14 +32,14 @@ npm install @mcp-abap-adt/interfaces-adt
|
|
|
31
32
|
|
|
32
33
|
| directory | files | what |
|
|
33
34
|
|---|---|---|
|
|
34
|
-
| `adt/` |
|
|
35
|
+
| `adt/` | 42 | the object contracts: capability atoms, the object types, the ADT type tables and their entry shape, `IAdtResponse`, `IAdtError`, the error codes, the transport request's object list |
|
|
35
36
|
| `runtime/` | 14 | runtime analysis: the debuggers (`IAbapDebugger`, `IAmdpDebugger`) and `IMemorySnapshots`, `IProfiler`, the trace contracts (`ITraceListing`/`ITraceReading`, `ICrossTrace`, `ISt05Trace`), `IApplicationLog`, `IAtcLog` and the ATC run (`IAtcRunOptions`, `IAtcFindings`), `IDdicActivation`, `IGatewayErrorLog`, `IRuntimeDumps`, `ISystemMessages` |
|
|
36
37
|
| `execution/` | 3 | class and program execution, with profiling |
|
|
37
38
|
| `feeds/` | 2 | the ADT feed contracts |
|
|
38
39
|
| `service/` | 1 | service definitions and bindings |
|
|
39
40
|
| `shared/` | 1 | what more than one object type needs |
|
|
40
41
|
|
|
41
|
-
Six directories, all ADT. `connection/` left for `interfaces-adt-connection` in 11.0.0. `sap/`, `auth/`, `token/`, `session/`, `serviceKey/`, `store/`, `validation/` and `Headers.ts` were here until 9.0.0 and are listed above under what left; `__typechecks__/` holds
|
|
42
|
+
Six directories, all ADT. `connection/` left for `interfaces-adt-connection` in 11.0.0. `sap/`, `auth/`, `token/`, `session/`, `serviceKey/`, `store/`, `validation/` and `Headers.ts` were here until 9.0.0 and are listed above under what left; `__typechecks__/` holds 30 files that compile shapes this contract must and must not accept, and ships in no tarball.
|
|
42
43
|
|
|
43
44
|
The contract rules — what a member answers, how a strategy is supplied, how a contract is built — are in [`docs/architecture/ARCHITECTURE.md`](../../docs/architecture/ARCHITECTURE.md). Domain-by-domain documentation with examples used to sit in the facade's README; the facade is deleted, and each package documents its own contracts.
|
|
44
45
|
|
|
@@ -94,7 +95,8 @@ library reads; `AdtSourceTypeCode` is drawn from it.
|
|
|
94
95
|
**What is not in a table is not served.** An API whose every member the 7.40
|
|
95
96
|
client refuses is absent from `ADT_TYPES_BASIS_740`, and an operation it
|
|
96
97
|
refuses is absent from its code — 7.40 has no `deletionCheck`, no `transport`,
|
|
97
|
-
no `run`.
|
|
98
|
+
no `run`. On ABAP cloud a program and an include list no operation that
|
|
99
|
+
changes an object, since the cloud refuses to create either. The entry shape (`AdtApiTable<R>`) refuses a misspelt field, an
|
|
98
100
|
operation outside the vocabulary, an API with no factory and another release's
|
|
99
101
|
evidence at compile time.
|
|
100
102
|
|
|
@@ -158,6 +160,46 @@ when `[C] extends [AdtParentedTypeCode]` — `IObjectReference<'FUGR/FF'>` —
|
|
|
158
160
|
and leaves it optional otherwise, the default included, so a reference built
|
|
159
161
|
from a code typed `AdtTypeCode` compiles and an interface can extend it.
|
|
160
162
|
|
|
163
|
+
### Intersections, group-only codes and group references (22.0.0)
|
|
164
|
+
|
|
165
|
+
**A union of variants.** `AdtTypeCodeOf<V>`, `AdtTypeCodeWith<V, Op>` and
|
|
166
|
+
`AdtApiWith<V, Op>` read a union of variants as one union table: the APIs all
|
|
167
|
+
of them serve, and for those the codes and operations any of them lists. The
|
|
168
|
+
intersecting helpers ask every variant: `AdtCodeOf<V>` and `AdtCodeWith<V, Op>`
|
|
169
|
+
are the codes every variant of `V` lists (with `Op`), and
|
|
170
|
+
`AdtServingVariantsIn<IAdtTypeTables, A>` and
|
|
171
|
+
`AdtPerformingVariantsIn<IAdtTypeTables, A, Op>` name the variants that serve
|
|
172
|
+
an API or perform an operation on one of its codes — what a client's gates
|
|
173
|
+
need. For `AdtModernVariant`, `'onprem' | 'cloud'`, that is what both tables
|
|
174
|
+
serve. `AdtCodeOfIn` and `AdtCodeWithIn` take any set of tables.
|
|
175
|
+
|
|
176
|
+
**Utility codes.** `ADT_UTILITY_CODES_ONPREM`, `_CLOUD` and `_BASIS_740` hold
|
|
177
|
+
what `getUtils()` takes beyond the API tables, with its operations
|
|
178
|
+
(`AdtUtilityOperation`), whether they were measured, and the evidence:
|
|
179
|
+
|
|
180
|
+
| code | where | operations | measured |
|
|
181
|
+
|---|---|---|---|
|
|
182
|
+
| `VIEW/DV` | every release, `/sap/bc/adt/ddic/views` | group activation, group deletion, where-used | no |
|
|
183
|
+
| `DEVC/K` | S/4HANA 2025, ABAP cloud | group activation | no |
|
|
184
|
+
| `DEVC/K` | SAP_BASIS 7.40 SP04 | node structure | yes |
|
|
185
|
+
|
|
186
|
+
`VIEW/DV` is a **group-only code** (`AdtGroupOnlyCode`): no API serves it, so
|
|
187
|
+
it is no `AdtTypeCode`. `IObjectReference<'VIEW/DV'>` and
|
|
188
|
+
`IGetWhereUsedParams<'VIEW/DV'>` name it; the defaults do not.
|
|
189
|
+
|
|
190
|
+
**Group references.** `IAdtGroupActivationReference<V>`,
|
|
191
|
+
`IAdtGroupDeletionCheckReference<V>`, `IAdtGroupDeletionReference<V>` and
|
|
192
|
+
`IAdtWhereUsedParamsOf<V>` take only the codes their operation sends on `V`
|
|
193
|
+
— no message class in an activation, no package in a 7.40 one, no function
|
|
194
|
+
include in where-used — and require `parentName` for `FUGR/FF` and `FUGR/I`.
|
|
195
|
+
`IAdtTypedGroupLifecycle` and `IAdtTypedWhereUsed` declare the members over
|
|
196
|
+
them, beside `IAdtGroupLifecycle` and `IAdtWhereUsed`: a contract composed of
|
|
197
|
+
both takes typed references and the 21.0.0 `IObjectReference[]` alike.
|
|
198
|
+
|
|
199
|
+
**The type structure.** `IAdtTypeStructure.getTypeStructure({ headers })`
|
|
200
|
+
posts to `/sap/bc/adt/repository/typestructure`; its reading is
|
|
201
|
+
`IUtilResults.typeStructure`, optional so a 21.0.0 set is still one.
|
|
202
|
+
|
|
161
203
|
## Enhancements and their hosts
|
|
162
204
|
|
|
163
205
|
`EnhancementType` accepts `enhoxhb` (BAdI implementation, ENHO/XHB), `enhoxhh`
|
|
@@ -231,6 +273,22 @@ The field is on each member's own options, not on `IAdtAnalyseOptions` or
|
|
|
231
273
|
`IAdtOperationOptions`. `src/__typechecks__/headersOnEveryMember.ts` holds this
|
|
232
274
|
for every member and every overload.
|
|
233
275
|
|
|
276
|
+
## Migrating to 22.0.0
|
|
277
|
+
|
|
278
|
+
- **ABAP cloud: no program or include of one's own.** `ADT_TYPES_CLOUD` no
|
|
279
|
+
longer lists `create`, `update`, `lock`, `unlock`, `activate`, `validate`,
|
|
280
|
+
`deletionCheck` or `delete` for `PROG/P` and `PROG/I`: the cloud refuses to
|
|
281
|
+
create either (`403`, S_DEVELOP). Code gated on the cloud variant, or on
|
|
282
|
+
the intersecting helpers over `AdtModernVariant` (`AdtCodeWith`,
|
|
283
|
+
`AdtPerformingVariantsIn` — what both newer tables serve), that creates or
|
|
284
|
+
changes a program or an include stops compiling; on ABAP cloud the system
|
|
285
|
+
would have refused it. The union helpers (`AdtApiWith`, `AdtTypeCodeWith`)
|
|
286
|
+
over `AdtModernVariant` still name the program, since on-premise creates
|
|
287
|
+
one. Reading, checking and versioning a delivered program
|
|
288
|
+
compile as before. A function include (`FUGR/I`) is unchanged.
|
|
289
|
+
- Nothing else breaks: every other change is an addition (see the
|
|
290
|
+
CHANGELOG).
|
|
291
|
+
|
|
234
292
|
## Migrating to 21.0.0
|
|
235
293
|
|
|
236
294
|
Every break is a type error; nothing a correct call sends changes.
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
* Constants and types only: the tables are `as const` and `satisfies` the
|
|
18
18
|
* entry shape of `IAdtTypeTable.ts`, and everything below them is derived.
|
|
19
19
|
*/
|
|
20
|
-
import type { AdtCheckedTable, AdtOperation, IAdtCodelessApiEntry } from './IAdtTypeTable';
|
|
20
|
+
import type { AdtApiName, AdtCheckedTable, AdtOperation, IAdtCodelessApiEntry } from './IAdtTypeTable';
|
|
21
21
|
/**
|
|
22
22
|
* What the library serves on **S/4HANA 2025 on-premise**, API by API.
|
|
23
23
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* The library has no on-premise or cloud branch; the two tables differ where
|
|
25
|
+
* the releases do — `SRVD/SRV` takes 40 characters here and 30 on ABAP
|
|
26
|
+
* cloud, and a program or an include is created and changed only here.
|
|
27
27
|
*/
|
|
28
28
|
export declare const ADT_TYPES_ONPREM: {
|
|
29
29
|
readonly class: {
|
|
@@ -33,7 +33,7 @@ export declare const ADT_TYPES_ONPREM: {
|
|
|
33
33
|
readonly 'CLAS/OC': {
|
|
34
34
|
readonly parent: null;
|
|
35
35
|
readonly nameMaxLength: 30;
|
|
36
|
-
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "readEnhancementElements", "readEnhancementOptions", "activateTestClasses", "run", "profile", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
36
|
+
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "updateMetadata", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "readEnhancementElements", "readEnhancementOptions", "activateTestClasses", "run", "profile", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
37
37
|
readonly evidence: "system-description-s4-2025--07-typestructure";
|
|
38
38
|
};
|
|
39
39
|
};
|
|
@@ -45,7 +45,7 @@ export declare const ADT_TYPES_ONPREM: {
|
|
|
45
45
|
readonly 'INTF/OI': {
|
|
46
46
|
readonly parent: null;
|
|
47
47
|
readonly nameMaxLength: 30;
|
|
48
|
-
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport"];
|
|
48
|
+
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "updateMetadata", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport"];
|
|
49
49
|
readonly evidence: "system-description-s4-2025--07-typestructure";
|
|
50
50
|
};
|
|
51
51
|
};
|
|
@@ -57,7 +57,7 @@ export declare const ADT_TYPES_ONPREM: {
|
|
|
57
57
|
readonly 'PROG/P': {
|
|
58
58
|
readonly parent: null;
|
|
59
59
|
readonly nameMaxLength: 40;
|
|
60
|
-
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "readEnhancementElements", "readEnhancementOptions", "run", "profile", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
60
|
+
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "updateMetadata", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "readEnhancementElements", "readEnhancementOptions", "run", "profile", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
61
61
|
readonly evidence: "system-description-s4-2025--07-typestructure";
|
|
62
62
|
};
|
|
63
63
|
};
|
|
@@ -93,7 +93,7 @@ export declare const ADT_TYPES_ONPREM: {
|
|
|
93
93
|
readonly 'FUGR/FF': {
|
|
94
94
|
readonly parent: "functionGroup";
|
|
95
95
|
readonly nameMaxLength: 30;
|
|
96
|
-
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
96
|
+
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "updateMetadata", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
97
97
|
readonly evidence: "system-description-s4-2025--07-typestructure";
|
|
98
98
|
};
|
|
99
99
|
};
|
|
@@ -129,7 +129,7 @@ export declare const ADT_TYPES_ONPREM: {
|
|
|
129
129
|
readonly 'DDLS/DF': {
|
|
130
130
|
readonly parent: null;
|
|
131
131
|
readonly nameMaxLength: 30;
|
|
132
|
-
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "checkCdsTestDoubles"];
|
|
132
|
+
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "updateMetadata", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "checkCdsTestDoubles"];
|
|
133
133
|
readonly evidence: "system-description-s4-2025--07-typestructure";
|
|
134
134
|
};
|
|
135
135
|
};
|
|
@@ -433,7 +433,9 @@ export declare const ADT_TYPES_ONPREM: {
|
|
|
433
433
|
/**
|
|
434
434
|
* What the library serves on **ABAP cloud** (measured on the BTP trial), API by
|
|
435
435
|
* API. The same operations as {@link ADT_TYPES_ONPREM}, and this release's
|
|
436
|
-
* name lengths
|
|
436
|
+
* name lengths, but for a program (`PROG/P`) and an include (`PROG/I`): the
|
|
437
|
+
* cloud refuses to create either (`403`, S_DEVELOP), so they list only what a
|
|
438
|
+
* delivered one answers — nothing that changes an object.
|
|
437
439
|
*/
|
|
438
440
|
export declare const ADT_TYPES_CLOUD: {
|
|
439
441
|
readonly class: {
|
|
@@ -443,7 +445,7 @@ export declare const ADT_TYPES_CLOUD: {
|
|
|
443
445
|
readonly 'CLAS/OC': {
|
|
444
446
|
readonly parent: null;
|
|
445
447
|
readonly nameMaxLength: 30;
|
|
446
|
-
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "readEnhancementElements", "readEnhancementOptions", "activateTestClasses", "run", "profile", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
448
|
+
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "updateMetadata", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "readEnhancementElements", "readEnhancementOptions", "activateTestClasses", "run", "profile", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
447
449
|
readonly evidence: "system-description-abap-cloud--07-typestructure";
|
|
448
450
|
};
|
|
449
451
|
};
|
|
@@ -455,7 +457,7 @@ export declare const ADT_TYPES_CLOUD: {
|
|
|
455
457
|
readonly 'INTF/OI': {
|
|
456
458
|
readonly parent: null;
|
|
457
459
|
readonly nameMaxLength: 30;
|
|
458
|
-
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport"];
|
|
460
|
+
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "updateMetadata", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport"];
|
|
459
461
|
readonly evidence: "system-description-abap-cloud--07-typestructure";
|
|
460
462
|
};
|
|
461
463
|
};
|
|
@@ -467,7 +469,7 @@ export declare const ADT_TYPES_CLOUD: {
|
|
|
467
469
|
readonly 'PROG/P': {
|
|
468
470
|
readonly parent: null;
|
|
469
471
|
readonly nameMaxLength: 40;
|
|
470
|
-
readonly operations: readonly ["
|
|
472
|
+
readonly operations: readonly ["read", "source", "readMetadata", "check", "versions", "transport", "readEnhancementElements", "readEnhancementOptions", "run", "profile", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
471
473
|
readonly evidence: "system-description-abap-cloud--07-typestructure";
|
|
472
474
|
};
|
|
473
475
|
};
|
|
@@ -479,7 +481,7 @@ export declare const ADT_TYPES_CLOUD: {
|
|
|
479
481
|
readonly 'PROG/I': {
|
|
480
482
|
readonly parent: null;
|
|
481
483
|
readonly nameMaxLength: 40;
|
|
482
|
-
readonly operations: readonly ["
|
|
484
|
+
readonly operations: readonly ["read", "source", "readMetadata", "readEnhancementElements", "readEnhancementOptions"];
|
|
483
485
|
readonly evidence: "system-description-abap-cloud--07-typestructure";
|
|
484
486
|
};
|
|
485
487
|
};
|
|
@@ -503,7 +505,7 @@ export declare const ADT_TYPES_CLOUD: {
|
|
|
503
505
|
readonly 'FUGR/FF': {
|
|
504
506
|
readonly parent: "functionGroup";
|
|
505
507
|
readonly nameMaxLength: 30;
|
|
506
|
-
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
508
|
+
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "updateMetadata", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "unitTestRun", "unitTestRunSync", "unitTestStatus", "unitTestResult"];
|
|
507
509
|
readonly evidence: "system-description-abap-cloud--07-typestructure";
|
|
508
510
|
};
|
|
509
511
|
};
|
|
@@ -539,7 +541,7 @@ export declare const ADT_TYPES_CLOUD: {
|
|
|
539
541
|
readonly 'DDLS/DF': {
|
|
540
542
|
readonly parent: null;
|
|
541
543
|
readonly nameMaxLength: 30;
|
|
542
|
-
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "checkCdsTestDoubles"];
|
|
544
|
+
readonly operations: readonly ["create", "read", "source", "readMetadata", "update", "updateMetadata", "lock", "unlock", "activate", "check", "validate", "versions", "deletionCheck", "delete", "transport", "checkCdsTestDoubles"];
|
|
543
545
|
readonly evidence: "system-description-abap-cloud--07-typestructure";
|
|
544
546
|
};
|
|
545
547
|
};
|
|
@@ -1016,6 +1018,12 @@ export declare const ADT_TYPES_BASIS_740: {
|
|
|
1016
1018
|
* `basis740` SAP_BASIS 7.40 SP04. Declared by the consumer, never detected.
|
|
1017
1019
|
*/
|
|
1018
1020
|
export type AdtVariant = 'onprem' | 'cloud' | 'basis740';
|
|
1021
|
+
/**
|
|
1022
|
+
* A system of SAP_BASIS 7.50 or later, on premise or ABAP cloud — the variant
|
|
1023
|
+
* a client serves when none is named. Read with the intersecting helpers
|
|
1024
|
+
* below, it gets what **both** tables serve.
|
|
1025
|
+
*/
|
|
1026
|
+
export type AdtModernVariant = Exclude<AdtVariant, 'basis740'>;
|
|
1019
1027
|
/** The table of each variant, by its name. */
|
|
1020
1028
|
export interface IAdtTypeTables {
|
|
1021
1029
|
readonly onprem: AdtCheckedTable<typeof ADT_TYPES_ONPREM>;
|
|
@@ -1043,9 +1051,20 @@ type ParentedCodesOf<E> = E extends {
|
|
|
1043
1051
|
readonly parent: null;
|
|
1044
1052
|
} ? never : K;
|
|
1045
1053
|
}[keyof C] & string : never;
|
|
1046
|
-
/**
|
|
1054
|
+
/**
|
|
1055
|
+
* The APIs — the client's factories — variant `V` serves. For a union of
|
|
1056
|
+
* variants this is already the intersection: `keyof` a union of tables names
|
|
1057
|
+
* the APIs every one of them holds.
|
|
1058
|
+
*/
|
|
1047
1059
|
export type AdtApi<V extends AdtVariant> = keyof TableOf<V>;
|
|
1048
|
-
/**
|
|
1060
|
+
/**
|
|
1061
|
+
* The type codes variant `V` serves.
|
|
1062
|
+
*
|
|
1063
|
+
* **Union semantics within the shared APIs.** For a union of variants it
|
|
1064
|
+
* reads the tables as one union table: the APIs every one of them serves
|
|
1065
|
+
* (`keyof` a union), and for those the codes *any* of them lists.
|
|
1066
|
+
* {@link AdtCodeOf} is the intersection.
|
|
1067
|
+
*/
|
|
1049
1068
|
export type AdtTypeCodeOf<V extends AdtVariant> = {
|
|
1050
1069
|
[A in AdtApi<V>]: CodesOf<TableOf<V>[A]>;
|
|
1051
1070
|
}[AdtApi<V>];
|
|
@@ -1055,19 +1074,34 @@ export type AdtTypeCode = {
|
|
|
1055
1074
|
}[AdtVariant];
|
|
1056
1075
|
/**
|
|
1057
1076
|
* The APIs of table `T` one code of which performs every operation of `Op` —
|
|
1077
|
+
* for a union of tables, **union semantics within the shared APIs**: an API
|
|
1078
|
+
* every table holds qualifies when one table's entry does (see
|
|
1079
|
+
* {@link AdtPerformingVariantsIn} for the intersecting question) —
|
|
1058
1080
|
* or, for a codeless API, whose entry does. Operations spread across two codes
|
|
1059
1081
|
* do not count: no single object of the API could be asked for all of them.
|
|
1060
1082
|
*/
|
|
1061
1083
|
export type AdtApiWithIn<T, Op extends AdtOperation> = {
|
|
1062
1084
|
[A in keyof T]: EntryHas<T[A], Op> extends true ? A : never;
|
|
1063
1085
|
}[keyof T];
|
|
1064
|
-
/**
|
|
1086
|
+
/**
|
|
1087
|
+
* {@link AdtApiWithIn} over variant `V`'s table — for a union of variants,
|
|
1088
|
+
* **union semantics within the shared APIs**: an API all of them serve
|
|
1089
|
+
* qualifies when one variant's table has it so.
|
|
1090
|
+
*/
|
|
1065
1091
|
export type AdtApiWith<V extends AdtVariant, Op extends AdtOperation> = AdtApiWithIn<TableOf<V>, Op>;
|
|
1066
|
-
/**
|
|
1092
|
+
/**
|
|
1093
|
+
* The codes of variant `V` whose facts list every operation of `Op` — for a
|
|
1094
|
+
* union of variants, **union semantics within the shared APIs**: a code of an
|
|
1095
|
+
* API all of them serve, listed with `Op` by any of them. {@link AdtCodeWith}
|
|
1096
|
+
* is the intersection.
|
|
1097
|
+
*/
|
|
1067
1098
|
export type AdtTypeCodeWith<V extends AdtVariant, Op extends AdtOperation> = {
|
|
1068
1099
|
[A in AdtApi<V>]: CodesWith<TableOf<V>[A], Op>;
|
|
1069
1100
|
}[AdtApi<V>];
|
|
1070
|
-
/**
|
|
1101
|
+
/**
|
|
1102
|
+
* Every kind of any table — the tools' one vocabulary for objects. A union
|
|
1103
|
+
* over all variants by design.
|
|
1104
|
+
*/
|
|
1071
1105
|
export type AdtObjectKind = {
|
|
1072
1106
|
[V in AdtVariant]: {
|
|
1073
1107
|
[A in AdtApi<V>]: TableOf<V>[A] extends {
|
|
@@ -1075,7 +1109,11 @@ export type AdtObjectKind = {
|
|
|
1075
1109
|
} ? K : never;
|
|
1076
1110
|
}[AdtApi<V>];
|
|
1077
1111
|
}[AdtVariant];
|
|
1078
|
-
/**
|
|
1112
|
+
/**
|
|
1113
|
+
* The codes, of any table, whose API reads a source there (`source`) — a union
|
|
1114
|
+
* over all variants by design. A variant's own, intersected for a union of
|
|
1115
|
+
* variants, is `AdtCodeWith<V, 'source'>`.
|
|
1116
|
+
*/
|
|
1079
1117
|
export type AdtSourceTypeCode = {
|
|
1080
1118
|
[V in AdtVariant]: AdtTypeCodeWith<V, 'source'>;
|
|
1081
1119
|
}[AdtVariant];
|
|
@@ -1088,5 +1126,62 @@ export type AdtParentedTypeCode = {
|
|
|
1088
1126
|
[A in AdtApi<V>]: ParentedCodesOf<TableOf<V>[A]>;
|
|
1089
1127
|
}[AdtApi<V>];
|
|
1090
1128
|
}[AdtVariant];
|
|
1129
|
+
type CodesOfTable<T> = {
|
|
1130
|
+
[A in keyof T]: CodesOf<T[A]>;
|
|
1131
|
+
}[keyof T];
|
|
1132
|
+
type CodesWithInTable<T, Op extends AdtOperation> = {
|
|
1133
|
+
[A in keyof T]: CodesWith<T[A], Op>;
|
|
1134
|
+
}[keyof T];
|
|
1135
|
+
/** The variants, among `Tables`' keys, whose table lists code `C`. */
|
|
1136
|
+
type VariantsListingIn<Tables, C> = {
|
|
1137
|
+
[W in keyof Tables]: C extends CodesOfTable<Tables[W]> ? W : never;
|
|
1138
|
+
}[keyof Tables];
|
|
1139
|
+
/** The variants, among `Tables`' keys, whose table lists `Op` for code `C`. */
|
|
1140
|
+
type VariantsWhereCodeHasIn<Tables, C, Op extends AdtOperation> = {
|
|
1141
|
+
[W in keyof Tables]: C extends CodesWithInTable<Tables[W], Op> ? W : never;
|
|
1142
|
+
}[keyof Tables];
|
|
1143
|
+
/**
|
|
1144
|
+
* The variants, among `Tables`' keys, whose table serves API `A`. Each key is
|
|
1145
|
+
* read on its own table, so nothing distributes over a union of tables.
|
|
1146
|
+
*/
|
|
1147
|
+
export type AdtServingVariantsIn<Tables, A extends AdtApiName> = {
|
|
1148
|
+
[W in keyof Tables]: A extends keyof Tables[W] ? W : never;
|
|
1149
|
+
}[keyof Tables];
|
|
1150
|
+
/**
|
|
1151
|
+
* The variants, among `Tables`' keys, one code of whose API `A` lists every
|
|
1152
|
+
* operation of `Op` (or, for a codeless API, whose entry does).
|
|
1153
|
+
*/
|
|
1154
|
+
export type AdtPerformingVariantsIn<Tables, A extends AdtApiName, Op extends AdtOperation> = {
|
|
1155
|
+
[W in keyof Tables]: [A] extends [AdtApiWithIn<Tables[W], Op>] ? W : never;
|
|
1156
|
+
}[keyof Tables];
|
|
1157
|
+
/** The codes any table of `V` lists — the candidates, each table read alone. */
|
|
1158
|
+
type CandidateCodes<Tables, V extends keyof Tables> = {
|
|
1159
|
+
[W in V]: CodesOfTable<Tables[W]>;
|
|
1160
|
+
}[V];
|
|
1161
|
+
/** The codes any table of `V` lists `Op` for, each table read alone. */
|
|
1162
|
+
type CandidateCodesWith<Tables, V extends keyof Tables, Op extends AdtOperation> = {
|
|
1163
|
+
[W in V]: CodesWithInTable<Tables[W], Op>;
|
|
1164
|
+
}[V];
|
|
1165
|
+
/** The codes every table of `V` among `Tables` lists: the intersection. */
|
|
1166
|
+
export type AdtCodeOfIn<Tables, V extends keyof Tables> = {
|
|
1167
|
+
[C in CandidateCodes<Tables, V>]: [V] extends [VariantsListingIn<Tables, C>] ? C : never;
|
|
1168
|
+
}[CandidateCodes<Tables, V>];
|
|
1169
|
+
/** The codes for which every table of `V` among `Tables` lists `Op`. */
|
|
1170
|
+
export type AdtCodeWithIn<Tables, V extends keyof Tables, Op extends AdtOperation> = {
|
|
1171
|
+
[C in CandidateCodesWith<Tables, V, Op>]: [V] extends [
|
|
1172
|
+
VariantsWhereCodeHasIn<Tables, C, Op>
|
|
1173
|
+
] ? C : never;
|
|
1174
|
+
}[CandidateCodesWith<Tables, V, Op>];
|
|
1175
|
+
/**
|
|
1176
|
+
* The codes every variant of `V` lists — for the default modern variant, the
|
|
1177
|
+
* codes both newer tables list. The intersecting counterpart of
|
|
1178
|
+
* {@link AdtTypeCodeOf}.
|
|
1179
|
+
*/
|
|
1180
|
+
export type AdtCodeOf<V extends AdtVariant> = AdtCodeOfIn<IAdtTypeTables, V>;
|
|
1181
|
+
/**
|
|
1182
|
+
* The codes for which every variant of `V` lists every operation of `Op` —
|
|
1183
|
+
* the intersecting counterpart of {@link AdtTypeCodeWith}.
|
|
1184
|
+
*/
|
|
1185
|
+
export type AdtCodeWith<V extends AdtVariant, Op extends AdtOperation> = AdtCodeWithIn<IAdtTypeTables, V, Op>;
|
|
1091
1186
|
export {};
|
|
1092
1187
|
//# sourceMappingURL=AdtTypeTables.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtTypeTables.d.ts","sourceRoot":"","sources":["../../src/adt/AdtTypeTables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,YAAY,EACZ,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"AdtTypeTables.d.ts","sourceRoot":"","sources":["../../src/adt/AdtTypeTables.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,9 +23,9 @@ exports.ADT_TYPES_BASIS_740 = exports.ADT_TYPES_CLOUD = exports.ADT_TYPES_ONPREM
|
|
|
23
23
|
/**
|
|
24
24
|
* What the library serves on **S/4HANA 2025 on-premise**, API by API.
|
|
25
25
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
26
|
+
* The library has no on-premise or cloud branch; the two tables differ where
|
|
27
|
+
* the releases do — `SRVD/SRV` takes 40 characters here and 30 on ABAP
|
|
28
|
+
* cloud, and a program or an include is created and changed only here.
|
|
29
29
|
*/
|
|
30
30
|
exports.ADT_TYPES_ONPREM = {
|
|
31
31
|
class: {
|
|
@@ -41,6 +41,7 @@ exports.ADT_TYPES_ONPREM = {
|
|
|
41
41
|
'source',
|
|
42
42
|
'readMetadata',
|
|
43
43
|
'update',
|
|
44
|
+
'updateMetadata',
|
|
44
45
|
'lock',
|
|
45
46
|
'unlock',
|
|
46
47
|
'activate',
|
|
@@ -77,6 +78,7 @@ exports.ADT_TYPES_ONPREM = {
|
|
|
77
78
|
'source',
|
|
78
79
|
'readMetadata',
|
|
79
80
|
'update',
|
|
81
|
+
'updateMetadata',
|
|
80
82
|
'lock',
|
|
81
83
|
'unlock',
|
|
82
84
|
'activate',
|
|
@@ -104,6 +106,7 @@ exports.ADT_TYPES_ONPREM = {
|
|
|
104
106
|
'source',
|
|
105
107
|
'readMetadata',
|
|
106
108
|
'update',
|
|
109
|
+
'updateMetadata',
|
|
107
110
|
'lock',
|
|
108
111
|
'unlock',
|
|
109
112
|
'activate',
|
|
@@ -195,6 +198,7 @@ exports.ADT_TYPES_ONPREM = {
|
|
|
195
198
|
'source',
|
|
196
199
|
'readMetadata',
|
|
197
200
|
'update',
|
|
201
|
+
'updateMetadata',
|
|
198
202
|
'lock',
|
|
199
203
|
'unlock',
|
|
200
204
|
'activate',
|
|
@@ -276,6 +280,7 @@ exports.ADT_TYPES_ONPREM = {
|
|
|
276
280
|
'source',
|
|
277
281
|
'readMetadata',
|
|
278
282
|
'update',
|
|
283
|
+
'updateMetadata',
|
|
279
284
|
'lock',
|
|
280
285
|
'unlock',
|
|
281
286
|
'activate',
|
|
@@ -956,7 +961,9 @@ exports.ADT_TYPES_ONPREM = {
|
|
|
956
961
|
/**
|
|
957
962
|
* What the library serves on **ABAP cloud** (measured on the BTP trial), API by
|
|
958
963
|
* API. The same operations as {@link ADT_TYPES_ONPREM}, and this release's
|
|
959
|
-
* name lengths
|
|
964
|
+
* name lengths, but for a program (`PROG/P`) and an include (`PROG/I`): the
|
|
965
|
+
* cloud refuses to create either (`403`, S_DEVELOP), so they list only what a
|
|
966
|
+
* delivered one answers — nothing that changes an object.
|
|
960
967
|
*/
|
|
961
968
|
exports.ADT_TYPES_CLOUD = {
|
|
962
969
|
class: {
|
|
@@ -972,6 +979,7 @@ exports.ADT_TYPES_CLOUD = {
|
|
|
972
979
|
'source',
|
|
973
980
|
'readMetadata',
|
|
974
981
|
'update',
|
|
982
|
+
'updateMetadata',
|
|
975
983
|
'lock',
|
|
976
984
|
'unlock',
|
|
977
985
|
'activate',
|
|
@@ -1008,6 +1016,7 @@ exports.ADT_TYPES_CLOUD = {
|
|
|
1008
1016
|
'source',
|
|
1009
1017
|
'readMetadata',
|
|
1010
1018
|
'update',
|
|
1019
|
+
'updateMetadata',
|
|
1011
1020
|
'lock',
|
|
1012
1021
|
'unlock',
|
|
1013
1022
|
'activate',
|
|
@@ -1030,19 +1039,11 @@ exports.ADT_TYPES_CLOUD = {
|
|
|
1030
1039
|
parent: null,
|
|
1031
1040
|
nameMaxLength: 40,
|
|
1032
1041
|
operations: [
|
|
1033
|
-
'create',
|
|
1034
1042
|
'read',
|
|
1035
1043
|
'source',
|
|
1036
1044
|
'readMetadata',
|
|
1037
|
-
'update',
|
|
1038
|
-
'lock',
|
|
1039
|
-
'unlock',
|
|
1040
|
-
'activate',
|
|
1041
1045
|
'check',
|
|
1042
|
-
'validate',
|
|
1043
1046
|
'versions',
|
|
1044
|
-
'deletionCheck',
|
|
1045
|
-
'delete',
|
|
1046
1047
|
'transport',
|
|
1047
1048
|
'readEnhancementElements',
|
|
1048
1049
|
'readEnhancementOptions',
|
|
@@ -1065,17 +1066,9 @@ exports.ADT_TYPES_CLOUD = {
|
|
|
1065
1066
|
parent: null,
|
|
1066
1067
|
nameMaxLength: 40,
|
|
1067
1068
|
operations: [
|
|
1068
|
-
'create',
|
|
1069
1069
|
'read',
|
|
1070
1070
|
'source',
|
|
1071
1071
|
'readMetadata',
|
|
1072
|
-
'update',
|
|
1073
|
-
'lock',
|
|
1074
|
-
'unlock',
|
|
1075
|
-
'activate',
|
|
1076
|
-
'validate',
|
|
1077
|
-
'deletionCheck',
|
|
1078
|
-
'delete',
|
|
1079
1072
|
'readEnhancementElements',
|
|
1080
1073
|
'readEnhancementOptions',
|
|
1081
1074
|
],
|
|
@@ -1126,6 +1119,7 @@ exports.ADT_TYPES_CLOUD = {
|
|
|
1126
1119
|
'source',
|
|
1127
1120
|
'readMetadata',
|
|
1128
1121
|
'update',
|
|
1122
|
+
'updateMetadata',
|
|
1129
1123
|
'lock',
|
|
1130
1124
|
'unlock',
|
|
1131
1125
|
'activate',
|
|
@@ -1207,6 +1201,7 @@ exports.ADT_TYPES_CLOUD = {
|
|
|
1207
1201
|
'source',
|
|
1208
1202
|
'readMetadata',
|
|
1209
1203
|
'update',
|
|
1204
|
+
'updateMetadata',
|
|
1210
1205
|
'lock',
|
|
1211
1206
|
'unlock',
|
|
1212
1207
|
'activate',
|