@mcp-abap-adt/adt-clients 22.0.0 → 22.0.1
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/dist/core/transport/AdtRequest.d.ts +26 -3
- package/dist/core/transport/AdtRequest.d.ts.map +1 -1
- package/dist/core/transport/AdtRequest.js +26 -3
- package/dist/core/transport/objects.d.ts +27 -4
- package/dist/core/transport/objects.d.ts.map +1 -1
- package/dist/core/transport/objects.js +27 -4
- package/docs/usage/CLIENT_API_REFERENCE.md +24 -10
- package/package.json +1 -1
|
@@ -219,6 +219,11 @@ export declare class AdtRequest<R extends ITransportResults = typeof transportDo
|
|
|
219
219
|
* request/task."* That is a third lock flavour — not the enqueue lock, not
|
|
220
220
|
* the request-versus-task one — and it is the server's verdict to read,
|
|
221
221
|
* not a state this client checks for beforehand.
|
|
222
|
+
*
|
|
223
|
+
* **The same message, with longtext TK127, was also returned for an
|
|
224
|
+
* Unclassified task** on an on-premise system, 2026-09-25 — including one
|
|
225
|
+
* created explicitly through {@link createTask}. Classify it through
|
|
226
|
+
* {@link changeTaskType} before adding objects directly.
|
|
222
227
|
*/
|
|
223
228
|
addObject<E extends IAdtError = IAdtError>(transportNumber: string, object: IAbapObjectEntry, options?: IAdtOperationOptions<E>): Promise<IAdtResponse<ReturnType<NonNullable<R['addedObject']>>, E>>;
|
|
224
229
|
/**
|
|
@@ -256,9 +261,27 @@ export declare class AdtRequest<R extends ITransportResults = typeof transportDo
|
|
|
256
261
|
* **A task is born without one**, and passing a type to
|
|
257
262
|
* {@link createTask} does not change that: measured against BTP ABAP on
|
|
258
263
|
* 2026-09-23, `tm:type` on the creating call is accepted and ignored, and
|
|
259
|
-
* every task
|
|
260
|
-
*
|
|
261
|
-
*
|
|
264
|
+
* every task on that system read back as `Unclassified`. That system is a
|
|
265
|
+
* trial with no transport system configured, so the CTS edit flow never
|
|
266
|
+
* creates a request there and every request and task is made by hand. All
|
|
267
|
+
* of them came through `newtask`, from this library's tests and from
|
|
268
|
+
* mcp-abap-adt's, and until this member existed neither changed a task's
|
|
269
|
+
* type.
|
|
270
|
+
*
|
|
271
|
+
* **The creation path matters.** When locking an object starts the normal
|
|
272
|
+
* CTS flow and the user chooses to create a request, CTS creates both the
|
|
273
|
+
* request and its task and classifies that task correctly. It can likewise
|
|
274
|
+
* classify an existing Unclassified task selected in that flow. That is not
|
|
275
|
+
* what this client's direct `addobject` action does. A task created
|
|
276
|
+
* explicitly through {@link createTask} stays `Unclassified`, and
|
|
277
|
+
* {@link addObject} onto it was refused on an on-premise system, 2026-09-25,
|
|
278
|
+
* with `400 SCTS_ADT_MSG 009` / TK127, *"Changes to objects are only allowed
|
|
279
|
+
* in correction/repair"*. After `changeTaskType(task, 'S')` the same call
|
|
280
|
+
* answered 200. A caller that intends to add objects directly must
|
|
281
|
+
* therefore classify the task first. SAP states the same rule in
|
|
282
|
+
* [Changing a Task Type](https://help.sap.com/docs/ABAP_Cloud/bbcee501b99848bdadecd4e290db3ae4/36fa0d5b537d499ab361d862bcfa51ce.html):
|
|
283
|
+
* *"You cannot add any objects if the task type is Unclassified. You need
|
|
284
|
+
* to change the task type to Development/Correction or Repair."*
|
|
262
285
|
*
|
|
263
286
|
* ```ts
|
|
264
287
|
* await request.changeTaskType(task, ADT_TASK_TYPE.developmentCorrection);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtRequest.d.ts","sourceRoot":"","sources":["../../../src/core/transport/AdtRequest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AdtRequest.d.ts","sourceRoot":"","sources":["../../../src/core/transport/AdtRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -300,6 +300,11 @@ class AdtRequest {
|
|
|
300
300
|
* request/task."* That is a third lock flavour — not the enqueue lock, not
|
|
301
301
|
* the request-versus-task one — and it is the server's verdict to read,
|
|
302
302
|
* not a state this client checks for beforehand.
|
|
303
|
+
*
|
|
304
|
+
* **The same message, with longtext TK127, was also returned for an
|
|
305
|
+
* Unclassified task** on an on-premise system, 2026-09-25 — including one
|
|
306
|
+
* created explicitly through {@link createTask}. Classify it through
|
|
307
|
+
* {@link changeTaskType} before adding objects directly.
|
|
303
308
|
*/
|
|
304
309
|
async addObject(transportNumber, object, options) {
|
|
305
310
|
const connection = (0, callTimeout_1.withCallTimeout)(this.connection, options?.timeout);
|
|
@@ -350,9 +355,27 @@ class AdtRequest {
|
|
|
350
355
|
* **A task is born without one**, and passing a type to
|
|
351
356
|
* {@link createTask} does not change that: measured against BTP ABAP on
|
|
352
357
|
* 2026-09-23, `tm:type` on the creating call is accepted and ignored, and
|
|
353
|
-
* every task
|
|
354
|
-
*
|
|
355
|
-
*
|
|
358
|
+
* every task on that system read back as `Unclassified`. That system is a
|
|
359
|
+
* trial with no transport system configured, so the CTS edit flow never
|
|
360
|
+
* creates a request there and every request and task is made by hand. All
|
|
361
|
+
* of them came through `newtask`, from this library's tests and from
|
|
362
|
+
* mcp-abap-adt's, and until this member existed neither changed a task's
|
|
363
|
+
* type.
|
|
364
|
+
*
|
|
365
|
+
* **The creation path matters.** When locking an object starts the normal
|
|
366
|
+
* CTS flow and the user chooses to create a request, CTS creates both the
|
|
367
|
+
* request and its task and classifies that task correctly. It can likewise
|
|
368
|
+
* classify an existing Unclassified task selected in that flow. That is not
|
|
369
|
+
* what this client's direct `addobject` action does. A task created
|
|
370
|
+
* explicitly through {@link createTask} stays `Unclassified`, and
|
|
371
|
+
* {@link addObject} onto it was refused on an on-premise system, 2026-09-25,
|
|
372
|
+
* with `400 SCTS_ADT_MSG 009` / TK127, *"Changes to objects are only allowed
|
|
373
|
+
* in correction/repair"*. After `changeTaskType(task, 'S')` the same call
|
|
374
|
+
* answered 200. A caller that intends to add objects directly must
|
|
375
|
+
* therefore classify the task first. SAP states the same rule in
|
|
376
|
+
* [Changing a Task Type](https://help.sap.com/docs/ABAP_Cloud/bbcee501b99848bdadecd4e290db3ae4/36fa0d5b537d499ab361d862bcfa51ce.html):
|
|
377
|
+
* *"You cannot add any objects if the task type is Unclassified. You need
|
|
378
|
+
* to change the task type to Development/Correction or Repair."*
|
|
356
379
|
*
|
|
357
380
|
* ```ts
|
|
358
381
|
* await request.changeTaskType(task, ADT_TASK_TYPE.developmentCorrection);
|
|
@@ -57,6 +57,11 @@ export declare function removeObjectFromTransport(connection: IAbapConnection, t
|
|
|
57
57
|
* flavour, distinct from the enqueue lock and from the request-versus-task
|
|
58
58
|
* one, and it is the server's answer to read rather than a state this client
|
|
59
59
|
* checks for.
|
|
60
|
+
*
|
|
61
|
+
* On an on-premise system, 2026-09-25, the same `SCTS_ADT_MSG 009` also
|
|
62
|
+
* arrived, with longtext TK127, when the target was Unclassified — including
|
|
63
|
+
* a task created explicitly through `newtask`. Classify it first through
|
|
64
|
+
* {@link changeTransportTaskType}.
|
|
60
65
|
*/
|
|
61
66
|
export declare function addObjectToTransport(connection: IAbapConnection, transportNumber: string, object: IAbapObjectEntry): Promise<IAdtWireResponse>;
|
|
62
67
|
/**
|
|
@@ -115,10 +120,28 @@ export declare function readTransportObjects(connection: IAbapConnection, transp
|
|
|
115
120
|
* Give a task its type — `useraction="changetasktype"`.
|
|
116
121
|
*
|
|
117
122
|
* **A task is born without one.** Measured against BTP ABAP, 2026-09-23:
|
|
118
|
-
* every task
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* the
|
|
123
|
+
* every task on that system read back as `Unclassified`, and passing
|
|
124
|
+
* `tm:type` on the creating call changes nothing — the attribute is accepted
|
|
125
|
+
* and ignored. That system is a trial with no transport system configured,
|
|
126
|
+
* so the CTS edit flow never creates a request there and every request and
|
|
127
|
+
* task is made by hand. All of them came through `newtask`, from this
|
|
128
|
+
* library's tests and from mcp-abap-adt's, and until this function existed
|
|
129
|
+
* neither changed a task's type.
|
|
130
|
+
*
|
|
131
|
+
* **The creation path matters.** When locking an object starts the normal CTS
|
|
132
|
+
* flow and the user chooses to create a request, CTS creates both the request
|
|
133
|
+
* and its task and classifies that task correctly. It can likewise classify
|
|
134
|
+
* an existing Unclassified task selected in that flow. The direct `addobject`
|
|
135
|
+
* action here is not that flow. On an on-premise system, 2026-09-25,
|
|
136
|
+
* `addobject` onto a task made through `newtask` was refused with
|
|
137
|
+
* `400 SCTS_ADT_MSG 009` / TK127 — *"Changes to objects are only allowed in
|
|
138
|
+
* correction/repair"*. The same call answered 200 once
|
|
139
|
+
* {@link changeTransportTaskType} had given the task type `S`. A caller that
|
|
140
|
+
* intends to add objects directly must therefore classify the task first.
|
|
141
|
+
* SAP states the same rule in
|
|
142
|
+
* [Changing a Task Type](https://help.sap.com/docs/ABAP_Cloud/bbcee501b99848bdadecd4e290db3ae4/36fa0d5b537d499ab361d862bcfa51ce.html):
|
|
143
|
+
* *"You cannot add any objects if the task type is Unclassified. You need to
|
|
144
|
+
* change the task type to Development/Correction or Repair."*
|
|
122
145
|
*
|
|
123
146
|
* **The document nests, and that is the whole of the difficulty.** The type
|
|
124
147
|
* goes on a `tm:task` child, not on the root: six attribute spellings on the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../src/core/transport/objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAItC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAkDhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,gBAAgB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED
|
|
1
|
+
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../src/core/transport/objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAItC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAkDhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,gBAAgB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAU3B;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAa3B"}
|
|
@@ -107,6 +107,11 @@ async function removeObjectFromTransport(connection, transportNumber, object) {
|
|
|
107
107
|
* flavour, distinct from the enqueue lock and from the request-versus-task
|
|
108
108
|
* one, and it is the server's answer to read rather than a state this client
|
|
109
109
|
* checks for.
|
|
110
|
+
*
|
|
111
|
+
* On an on-premise system, 2026-09-25, the same `SCTS_ADT_MSG 009` also
|
|
112
|
+
* arrived, with longtext TK127, when the target was Unclassified — including
|
|
113
|
+
* a task created explicitly through `newtask`. Classify it first through
|
|
114
|
+
* {@link changeTransportTaskType}.
|
|
110
115
|
*/
|
|
111
116
|
async function addObjectToTransport(connection, transportNumber, object) {
|
|
112
117
|
return connection.makeAdtRequest({
|
|
@@ -196,10 +201,28 @@ async function readTransportObjects(connection, transportNumber) {
|
|
|
196
201
|
* Give a task its type — `useraction="changetasktype"`.
|
|
197
202
|
*
|
|
198
203
|
* **A task is born without one.** Measured against BTP ABAP, 2026-09-23:
|
|
199
|
-
* every task
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
* the
|
|
204
|
+
* every task on that system read back as `Unclassified`, and passing
|
|
205
|
+
* `tm:type` on the creating call changes nothing — the attribute is accepted
|
|
206
|
+
* and ignored. That system is a trial with no transport system configured,
|
|
207
|
+
* so the CTS edit flow never creates a request there and every request and
|
|
208
|
+
* task is made by hand. All of them came through `newtask`, from this
|
|
209
|
+
* library's tests and from mcp-abap-adt's, and until this function existed
|
|
210
|
+
* neither changed a task's type.
|
|
211
|
+
*
|
|
212
|
+
* **The creation path matters.** When locking an object starts the normal CTS
|
|
213
|
+
* flow and the user chooses to create a request, CTS creates both the request
|
|
214
|
+
* and its task and classifies that task correctly. It can likewise classify
|
|
215
|
+
* an existing Unclassified task selected in that flow. The direct `addobject`
|
|
216
|
+
* action here is not that flow. On an on-premise system, 2026-09-25,
|
|
217
|
+
* `addobject` onto a task made through `newtask` was refused with
|
|
218
|
+
* `400 SCTS_ADT_MSG 009` / TK127 — *"Changes to objects are only allowed in
|
|
219
|
+
* correction/repair"*. The same call answered 200 once
|
|
220
|
+
* {@link changeTransportTaskType} had given the task type `S`. A caller that
|
|
221
|
+
* intends to add objects directly must therefore classify the task first.
|
|
222
|
+
* SAP states the same rule in
|
|
223
|
+
* [Changing a Task Type](https://help.sap.com/docs/ABAP_Cloud/bbcee501b99848bdadecd4e290db3ae4/36fa0d5b537d499ab361d862bcfa51ce.html):
|
|
224
|
+
* *"You cannot add any objects if the task type is Unclassified. You need to
|
|
225
|
+
* change the task type to Development/Correction or Repair."*
|
|
203
226
|
*
|
|
204
227
|
* **The document nests, and that is the whole of the difficulty.** The type
|
|
205
228
|
* goes on a `tm:task` child, not on the root: six attribute spellings on the
|
|
@@ -496,14 +496,25 @@ had:
|
|
|
496
496
|
no capture of Eclipse showed the gap. This client cannot fill it in: the
|
|
497
497
|
connection does not say who is authenticated, and asking would cost a second
|
|
498
498
|
request.
|
|
499
|
-
- **A task
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
a
|
|
499
|
+
- **A task created explicitly through `createTask()` is born unclassified,
|
|
500
|
+
and the creating call cannot change that.** Measured against BTP ABAP on
|
|
501
|
+
2026-09-23: `tm:type` passed to `newtask` is accepted and ignored, and every
|
|
502
|
+
task on that system read back as `Unclassified`. That system is a trial with
|
|
503
|
+
no transport system configured, so the CTS edit flow never creates a request
|
|
504
|
+
there and every request and task is made by hand. All of them came through
|
|
505
|
+
`newtask`, from this library's tests and from mcp-abap-adt's, and until
|
|
506
|
+
`changeTaskType()` existed neither changed a task's type. When locking an object starts the normal CTS flow and
|
|
507
|
+
the user creates a request, CTS creates and correctly classifies its task; it
|
|
508
|
+
can also classify an existing task selected in that flow. The direct `addobject` action is not that flow. On premise, 2026-09-25,
|
|
509
|
+
`addObject()` onto a fresh Unclassified task was refused with
|
|
510
|
+
`SCTS_ADT_MSG 009` / TK127; after `changeTaskType(task, 'S')` the same call
|
|
511
|
+
answered 200. Classify a task before adding objects directly — SAP states
|
|
512
|
+
the same rule in [Changing a Task Type](https://help.sap.com/docs/ABAP_Cloud/bbcee501b99848bdadecd4e290db3ae4/36fa0d5b537d499ab361d862bcfa51ce.html):
|
|
513
|
+
*"You cannot add any objects if the task type is Unclassified. You need to
|
|
514
|
+
change the task type to Development/Correction or Repair."* The measured
|
|
515
|
+
vocabulary is `S` (Development/Correction), `R` (Repair) and `X` (back to
|
|
516
|
+
Unclassified); `Q` is a customizing type and is refused on a workbench
|
|
517
|
+
request, and `K`/`W` are *request* types, refused as unknown.
|
|
507
518
|
|
|
508
519
|
The type goes on a `tm:task` child of the document, not on its root — six
|
|
509
520
|
spellings on the root were each answered `400 "Specified request type or
|
|
@@ -516,8 +527,11 @@ had:
|
|
|
516
527
|
`SCTS_ADT_MSG 009` and a longtext naming the holder: *"There are no links to
|
|
517
528
|
this request/task."* That is a third lock flavour, distinct from the enqueue
|
|
518
529
|
lock and from the request-versus-task one, and it is the server's verdict to
|
|
519
|
-
read rather than a state the client checks for first.
|
|
520
|
-
|
|
530
|
+
read rather than a state the client checks for first. On premise,
|
|
531
|
+
2026-09-25, the same message with longtext TK127 was returned for an
|
|
532
|
+
Unclassified target task; classify it with `changeTaskType()` before adding
|
|
533
|
+
objects directly. `pgmid` defaults to `R3TR`,
|
|
534
|
+
and `obj_desc` is sent only when given.
|
|
521
535
|
|
|
522
536
|
`IAbapObjectEntry`, the type those two members take, comes from
|
|
523
537
|
`@mcp-abap-adt/interfaces` — import it from there, or from
|