@mcp-abap-adt/core 2.1.2 → 2.1.3
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 +10 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +0 -5
- package/dist/lib/utils.js.map +1 -1
- package/docs/README.md +1 -2
- package/docs/architecture/CONNECTION_ISOLATION.md +0 -1
- package/docs/architecture/README.md +1 -1
- package/docs/architecture/STATEFUL_SESSION_GUIDE.md +28 -717
- package/docs/deployment/DOCKER.md +1 -18
- package/docs/development/roadmaps/archive/test_locking_roadmap.md +0 -3
- package/docs/installation/CLINE_CONFIGURATION.md +1 -32
- package/docs/installation/platforms/INSTALL_LINUX.md +1 -1
- package/docs/installation/platforms/INSTALL_MACOS.md +1 -1
- package/docs/installation/platforms/INSTALL_WINDOWS.md +1 -1
- package/docs/user-guide/AVAILABLE_TOOLS.md +2 -2
- package/docs/user-guide/CLIENT_CONFIGURATION.md +1 -1
- package/docs/user-guide/HANDLERS_MANAGEMENT.md +2 -2
- package/docs/user-guide/README.md +0 -2
- package/package.json +1 -2
- package/bin/README.md +0 -125
- package/bin/lock-object.js +0 -240
- package/docs/user-guide/scenarios/COMMON_PATTERNS.md +0 -603
- package/docs/user-guide/scenarios/CREATING_CDS_VIEWS.md +0 -441
- package/docs/user-guide/scenarios/CREATING_CLASSES.md +0 -456
- package/docs/user-guide/scenarios/CREATING_FUNCTION_GROUPS.md +0 -582
- package/docs/user-guide/scenarios/README.md +0 -51
- package/docs/user-guide/scenarios/SESSION_MANAGEMENT.md +0 -335
- package/docs/user-guide/usage/README.md +0 -137
- package/docs/user-guide/usage/rap-business-objects/README.md +0 -28
- package/docs/user-guide/usage/rap-business-objects/creating-rap-bo.md +0 -189
- package/docs/user-guide/usage/rap-business-objects/deferred-activation.md +0 -82
- package/docs/user-guide/usage/simple-objects/README.md +0 -23
- package/docs/user-guide/usage/simple-objects/classes-high.md +0 -32
- package/docs/user-guide/usage/simple-objects/classes-low.md +0 -165
- package/docs/user-guide/usage/simple-objects/data-elements-high.md +0 -48
- package/docs/user-guide/usage/simple-objects/data-elements-low.md +0 -144
- package/docs/user-guide/usage/simple-objects/domains-high.md +0 -32
- package/docs/user-guide/usage/simple-objects/domains-low.md +0 -144
- package/docs/user-guide/usage/simple-objects/function-groups-high.md +0 -32
- package/docs/user-guide/usage/simple-objects/function-groups-low.md +0 -144
- package/docs/user-guide/usage/simple-objects/function-modules-high.md +0 -32
- package/docs/user-guide/usage/simple-objects/function-modules-low.md +0 -160
- package/docs/user-guide/usage/simple-objects/interfaces-high.md +0 -32
- package/docs/user-guide/usage/simple-objects/interfaces-low.md +0 -160
- package/docs/user-guide/usage/simple-objects/programs-high.md +0 -32
- package/docs/user-guide/usage/simple-objects/programs-low.md +0 -160
- package/docs/user-guide/usage/simple-objects/service-definitions-high.md +0 -32
- package/docs/user-guide/usage/simple-objects/service-definitions-low.md +0 -160
- package/docs/user-guide/usage/simple-objects/structures-high.md +0 -32
- package/docs/user-guide/usage/simple-objects/structures-low.md +0 -160
- package/docs/user-guide/usage/simple-objects/tables-high.md +0 -32
- package/docs/user-guide/usage/simple-objects/tables-low.md +0 -165
- package/docs/user-guide/usage/simple-objects/views-high.md +0 -32
- package/docs/user-guide/usage/simple-objects/views-low.md +0 -160
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# Deferred Group Activation
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Deferred group activation allows activating multiple related objects together in a single request, ensuring consistency and proper dependency resolution.
|
|
6
|
-
|
|
7
|
-
## Why Deferred Activation?
|
|
8
|
-
|
|
9
|
-
- Related objects have dependencies (domains → data elements → tables)
|
|
10
|
-
- Activating individually can cause errors
|
|
11
|
-
- Group activation ensures consistency
|
|
12
|
-
- Better error handling
|
|
13
|
-
|
|
14
|
-
## How to Use
|
|
15
|
-
|
|
16
|
-
### Step 1: Create All Objects Without Activation
|
|
17
|
-
|
|
18
|
-
Create all related objects with `activate: false`:
|
|
19
|
-
|
|
20
|
-
**Example:**
|
|
21
|
-
```json
|
|
22
|
-
{"domain_name":"ZDOMAIN_001","package_name":"ZOK_LAB","activate":false}
|
|
23
|
-
{"data_element_name":"ZDTEL_001","type_name":"ZDOMAIN_001","package_name":"ZOK_LAB","activate":false}
|
|
24
|
-
{"table_name":"ZT_TEST_001","ddl_code":"...","package_name":"ZOK_LAB","activate":false}
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Step 2: Collect Object References
|
|
28
|
-
|
|
29
|
-
Collect all object names and types:
|
|
30
|
-
|
|
31
|
-
```json
|
|
32
|
-
{
|
|
33
|
-
"objects": [
|
|
34
|
-
{"name": "ZDOMAIN_001", "type": "DOMA/DD"},
|
|
35
|
-
{"name": "ZDTEL_001", "type": "DTEL/DE"},
|
|
36
|
-
{"name": "ZT_TEST_001", "type": "TABL/DT"},
|
|
37
|
-
{"name": "ZCDS_TEST_001", "type": "DDLS/DF"}
|
|
38
|
-
]
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Step 3: Activate as Group
|
|
43
|
-
|
|
44
|
-
**Tool**: `ActivateObjectLow`
|
|
45
|
-
|
|
46
|
-
**Request**:
|
|
47
|
-
```json
|
|
48
|
-
{"objects":[{"name":"ZDOMAIN_001","type":"DOMA/DD"},{"name":"ZDTEL_001","type":"DTEL/DE"},{"name":"ZT_TEST_001","type":"TABL/DT"},{"name":"ZCDS_TEST_001","type":"DDLS/DF"}],"preaudit":true}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**Response**:
|
|
52
|
-
```json
|
|
53
|
-
{"success":true,"objects_count":4,"objects":[{"name":"ZDOMAIN_001","type":"DOMA/DD","uri":"/sap/bc/adt/ddic/domains/zdomain_001"},{"name":"ZDTEL_001","type":"DTEL/DE","uri":"/sap/bc/adt/ddic/dataelements/zdtel_001"},{"name":"ZT_TEST_001","type":"TABL/DT","uri":"/sap/bc/adt/ddic/tables/zt_test_001"},{"name":"ZCDS_TEST_001","type":"DDLS/DF","uri":"/sap/bc/adt/ddic/ddl/sources/zcds_test_001"}],"activation":{"activated":true,"checked":true,"generated":false},"messages":[],"warnings":[],"errors":[],"message":"Successfully activated 4 object(s)"}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Object Type Codes
|
|
57
|
-
|
|
58
|
-
| Object Type | Type Code |
|
|
59
|
-
|------------|-----------|
|
|
60
|
-
| Domain | `DOMA/DD` |
|
|
61
|
-
| Data Element | `DTEL/DE` |
|
|
62
|
-
| Table | `TABL/DT` |
|
|
63
|
-
| Structure | `STRU/DS` |
|
|
64
|
-
| CDS View | `DDLS/DF` |
|
|
65
|
-
| Behavior Definition | `BDEF/BD` |
|
|
66
|
-
| Behavior Implementation | `BDEF/BDO` |
|
|
67
|
-
| Metadata Extension | `DDLX/EX` |
|
|
68
|
-
| Service Definition | `SRVD/SRVD` |
|
|
69
|
-
| Class | `CLAS/OC` |
|
|
70
|
-
| Interface | `INTF/OI` |
|
|
71
|
-
| Program | `PROG/P` |
|
|
72
|
-
| Function Group | `FUGR` |
|
|
73
|
-
| Function Module | `FUGR/FF` |
|
|
74
|
-
|
|
75
|
-
## Best Practices
|
|
76
|
-
|
|
77
|
-
1. **Create without activation**: Always set `activate: false` when creating related objects
|
|
78
|
-
2. **Collect references**: Maintain list of all objects to activate
|
|
79
|
-
3. **Activate together**: Use single `ActivateObjectLow` call for all related objects
|
|
80
|
-
4. **Handle errors**: Check activation response for errors and warnings
|
|
81
|
-
5. **Order matters**: Activate in dependency order (domains → data elements → tables → views)
|
|
82
|
-
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Simple Objects - CRUD Operations
|
|
2
|
-
|
|
3
|
-
## Available Objects
|
|
4
|
-
|
|
5
|
-
| Object Type | High-Level | Low-Level |
|
|
6
|
-
|------------|------------|-------------|
|
|
7
|
-
| Classes | [classes-high.md](./classes-high.md) | [classes-low.md](./classes-low.md) |
|
|
8
|
-
| Tables | [tables-high.md](./tables-high.md) | [tables-low.md](./tables-low.md) |
|
|
9
|
-
| Domains | [domains-high.md](./domains-high.md) | [domains-low.md](./domains-low.md) |
|
|
10
|
-
| Data Elements | [data-elements-high.md](./data-elements-high.md) | [data-elements-low.md](./data-elements-low.md) |
|
|
11
|
-
| Interfaces | [interfaces-high.md](./interfaces-high.md) | [interfaces-low.md](./interfaces-low.md) |
|
|
12
|
-
| Programs | [programs-high.md](./programs-high.md) | [programs-low.md](./programs-low.md) |
|
|
13
|
-
| Structures | [structures-high.md](./structures-high.md) | [structures-low.md](./structures-low.md) |
|
|
14
|
-
| CDS Views | [views-high.md](./views-high.md) | [views-low.md](./views-low.md) |
|
|
15
|
-
| Function Groups | [function-groups-high.md](./function-groups-high.md) | [function-groups-low.md](./function-groups-low.md) |
|
|
16
|
-
| Function Modules | [function-modules-high.md](./function-modules-high.md) | [function-modules-low.md](./function-modules-low.md) |
|
|
17
|
-
| Service Definitions | [service-definitions-high.md](./service-definitions-high.md) | [service-definitions-low.md](./service-definitions-low.md) |
|
|
18
|
-
|
|
19
|
-
## Important Notes
|
|
20
|
-
|
|
21
|
-
- **High-level**: Single function call, automatic workflow
|
|
22
|
-
- **Low-level**: Step-by-step control, must check code before update
|
|
23
|
-
- **Group Activation**: Use `ActivateObjectLow` for related objects
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Creating and Updating ABAP Classes (High-Level)
|
|
2
|
-
|
|
3
|
-
## Create Class
|
|
4
|
-
|
|
5
|
-
**Tool**: `CreateClass`
|
|
6
|
-
|
|
7
|
-
**Request**:
|
|
8
|
-
```json
|
|
9
|
-
{"class_name":"ZCL_TEST_001","description":"Test class","package_name":"ZOK_LAB","transport_request":"E19K905635","source_code":"CLASS zcl_test_001 DEFINITION\n PUBLIC\n FINAL\n CREATE PUBLIC .\n\n PUBLIC SECTION.\n METHODS: constructor.\n PROTECTED SECTION.\n PRIVATE SECTION.\nENDCLASS.\n\nCLASS zcl_test_001 IMPLEMENTATION.\n METHOD constructor.\n ENDMETHOD.\nENDCLASS.","activate":true}
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
**Response**:
|
|
13
|
-
```json
|
|
14
|
-
{"success":true,"class_name":"ZCL_TEST_001","uri":"/sap/bc/adt/oo/classes/zcl_test_001","message":"Class ZCL_TEST_001 created and activated successfully","activation":{"activated":true,"checked":true,"generated":false},"hasActivationWarnings":false}
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Update Class
|
|
20
|
-
|
|
21
|
-
**Tool**: `UpdateClass`
|
|
22
|
-
|
|
23
|
-
**Request**:
|
|
24
|
-
```json
|
|
25
|
-
{"class_name":"ZCL_TEST_001","source_code":"CLASS zcl_test_001 DEFINITION\n PUBLIC\n FINAL\n CREATE PUBLIC .\n\n PUBLIC SECTION.\n METHODS: constructor,\n get_data RETURNING VALUE(result) TYPE string.\n PROTECTED SECTION.\n PRIVATE SECTION.\n DATA: mv_data TYPE string.\nENDCLASS.\n\nCLASS zcl_test_001 IMPLEMENTATION.\n METHOD constructor.\n mv_data = 'Initialized'.\n ENDMETHOD.\n\n METHOD get_data.\n result = mv_data.\n ENDMETHOD.\nENDCLASS.","activate":true}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Response**:
|
|
29
|
-
```json
|
|
30
|
-
{"success":true,"class_name":"ZCL_TEST_001","uri":"/sap/bc/adt/oo/classes/zcl_test_001","message":"Class ZCL_TEST_001 updated and activated successfully","activation":{"activated":true,"checked":true,"generated":false},"hasActivationWarnings":false}
|
|
31
|
-
```
|
|
32
|
-
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
# Creating and Updating ABAP Classes (Low-Level)
|
|
2
|
-
|
|
3
|
-
## Step 1: Get Session
|
|
4
|
-
|
|
5
|
-
**Tool**: `GetSession`
|
|
6
|
-
|
|
7
|
-
**Request**:
|
|
8
|
-
```json
|
|
9
|
-
{"force_new":false}
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
**Response**:
|
|
13
|
-
```json
|
|
14
|
-
{"success":true,"session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Step 2: Validate Class
|
|
20
|
-
|
|
21
|
-
**Tool**: `ValidateClassLow`
|
|
22
|
-
|
|
23
|
-
**Request**:
|
|
24
|
-
```json
|
|
25
|
-
{"class_name":"ZCL_TEST_001","package_name":"ZOK_LAB","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Response**:
|
|
29
|
-
```json
|
|
30
|
-
{"success":true,"valid":true,"message":"Class name ZCL_TEST_001 is valid and available"}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Step 3: Create Class
|
|
36
|
-
|
|
37
|
-
**Tool**: `CreateClassLow`
|
|
38
|
-
|
|
39
|
-
**Request**:
|
|
40
|
-
```json
|
|
41
|
-
{"class_name":"ZCL_TEST_001","description":"Test class","package_name":"ZOK_LAB","transport_request":"E19K905635","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Response**:
|
|
45
|
-
```json
|
|
46
|
-
{"success":true,"class_name":"ZCL_TEST_001","uri":"/sap/bc/adt/oo/classes/zcl_test_001","message":"Class created successfully"}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Step 4: Lock Class
|
|
52
|
-
|
|
53
|
-
**Tool**: `LockClassLow`
|
|
54
|
-
|
|
55
|
-
**Request**:
|
|
56
|
-
```json
|
|
57
|
-
{"class_name":"ZCL_TEST_001","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**Response**:
|
|
61
|
-
```json
|
|
62
|
-
{"success":true,"class_name":"ZCL_TEST_001","lock_handle":"LOCK_HANDLE_123456789","message":"Class locked successfully"}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Step 5: Check Code BEFORE Update (CRITICAL)
|
|
68
|
-
|
|
69
|
-
**Tool**: `CheckClassLow`
|
|
70
|
-
|
|
71
|
-
**Request**:
|
|
72
|
-
```json
|
|
73
|
-
{"class_name":"ZCL_TEST_001","source_code":"CLASS zcl_test_001 DEFINITION\n PUBLIC\n FINAL\n CREATE PUBLIC .\n\n PUBLIC SECTION.\n METHODS: constructor,\n get_data RETURNING VALUE(result) TYPE string.\n PROTECTED SECTION.\n PRIVATE SECTION.\n DATA: mv_data TYPE string.\nENDCLASS.\n\nCLASS zcl_test_001 IMPLEMENTATION.\n METHOD constructor.\n mv_data = 'Initialized'.\n ENDMETHOD.\n\n METHOD get_data.\n result = mv_data.\n ENDMETHOD.\nENDCLASS.","version":"inactive","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
**Response** (Passed):
|
|
77
|
-
```json
|
|
78
|
-
{"success":true,"checked":true,"messages":[],"errors":[],"warnings":[],"message":"Syntax check passed"}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**Response** (Failed):
|
|
82
|
-
```json
|
|
83
|
-
{"success":true,"checked":false,"messages":[{"type":"error","text":"Method 'GET_DATA' is not defined in class definition","line":15,"column":5}],"errors":[{"type":"error","text":"Method 'GET_DATA' is not defined in class definition","line":15,"column":5}],"warnings":[],"message":"Syntax check failed: 1 error(s)"}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Step 6: Update Class (Only if Check Passed)
|
|
89
|
-
|
|
90
|
-
**Tool**: `UpdateClassLow`
|
|
91
|
-
|
|
92
|
-
**Request**:
|
|
93
|
-
```json
|
|
94
|
-
{"class_name":"ZCL_TEST_001","source_code":"CLASS zcl_test_001 DEFINITION\n PUBLIC\n FINAL\n CREATE PUBLIC .\n\n PUBLIC SECTION.\n METHODS: constructor,\n get_data RETURNING VALUE(result) TYPE string.\n PROTECTED SECTION.\n PRIVATE SECTION.\n DATA: mv_data TYPE string.\nENDCLASS.\n\nCLASS zcl_test_001 IMPLEMENTATION.\n METHOD constructor.\n mv_data = 'Initialized'.\n ENDMETHOD.\n\n METHOD get_data.\n result = mv_data.\n ENDMETHOD.\nENDCLASS.","lock_handle":"LOCK_HANDLE_123456789","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
**Response**:
|
|
98
|
-
```json
|
|
99
|
-
{"success":true,"class_name":"ZCL_TEST_001","message":"Class updated successfully"}
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Step 7: Unlock Class
|
|
105
|
-
|
|
106
|
-
**Tool**: `UnlockClassLow`
|
|
107
|
-
|
|
108
|
-
**Request**:
|
|
109
|
-
```json
|
|
110
|
-
{"class_name":"ZCL_TEST_001","lock_handle":"LOCK_HANDLE_123456789","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
**Response**:
|
|
114
|
-
```json
|
|
115
|
-
{"success":true,"class_name":"ZCL_TEST_001","message":"Class unlocked successfully"}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
## Step 8: Check Inactive Version
|
|
121
|
-
|
|
122
|
-
**Tool**: `CheckClassLow`
|
|
123
|
-
|
|
124
|
-
**Request**:
|
|
125
|
-
```json
|
|
126
|
-
{"class_name":"ZCL_TEST_001","version":"inactive","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
**Response**:
|
|
130
|
-
```json
|
|
131
|
-
{"success":true,"checked":true,"messages":[],"errors":[],"warnings":[],"message":"Syntax check passed"}
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## Step 9: Activate Class
|
|
137
|
-
|
|
138
|
-
**Option A: Individual**
|
|
139
|
-
|
|
140
|
-
**Tool**: `ActivateClassLow`
|
|
141
|
-
|
|
142
|
-
**Request**:
|
|
143
|
-
```json
|
|
144
|
-
{"class_name":"ZCL_TEST_001","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
**Response**:
|
|
148
|
-
```json
|
|
149
|
-
{"success":true,"class_name":"ZCL_TEST_001","activation":{"activated":true,"checked":true,"generated":false},"messages":[],"warnings":[],"errors":[],"message":"Class activated successfully"}
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
**Option B: Group Activation**
|
|
153
|
-
|
|
154
|
-
**Tool**: `ActivateObjectLow`
|
|
155
|
-
|
|
156
|
-
**Request**:
|
|
157
|
-
```json
|
|
158
|
-
{"objects":[{"name":"ZCL_TEST_001","type":"CLAS/OC"},{"name":"ZCL_TEST_002","type":"CLAS/OC"}],"preaudit":true}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
**Response**:
|
|
162
|
-
```json
|
|
163
|
-
{"success":true,"objects_count":2,"objects":[{"name":"ZCL_TEST_001","type":"CLAS/OC","uri":"/sap/bc/adt/oo/classes/zcl_test_001"},{"name":"ZCL_TEST_002","type":"CLAS/OC","uri":"/sap/bc/adt/oo/classes/zcl_test_002"}],"activation":{"activated":true,"checked":true,"generated":false},"messages":[],"warnings":[],"errors":[],"message":"Successfully activated 2 object(s)"}
|
|
164
|
-
```
|
|
165
|
-
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# Creating and Updating ABAP Data Elements (High-Level)
|
|
2
|
-
|
|
3
|
-
## Create Data Element (Domain-based)
|
|
4
|
-
|
|
5
|
-
**Tool**: `CreateDataElement`
|
|
6
|
-
|
|
7
|
-
**Request**:
|
|
8
|
-
```json
|
|
9
|
-
{"data_element_name":"ZDTEL_TEST_001","description":"Test data element","package_name":"ZOK_LAB","transport_request":"E19K905635","type_kind":"domain","type_name":"ZDOMAIN_TEST_001","short_label":"Test DE","medium_label":"Test Data Element","long_label":"Test Data Element Label","heading_label":"Test Data Element Heading","activate":true}
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
**Response**:
|
|
13
|
-
```json
|
|
14
|
-
{"success":true,"data_element_name":"ZDTEL_TEST_001","uri":"/sap/bc/adt/ddic/dataelements/zdtel_test_001","message":"Data element ZDTEL_TEST_001 created and activated successfully"}
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Create Data Element (Predefined Type)
|
|
20
|
-
|
|
21
|
-
**Tool**: `CreateDataElement`
|
|
22
|
-
|
|
23
|
-
**Request**:
|
|
24
|
-
```json
|
|
25
|
-
{"data_element_name":"ZDTEL_TEST_002","description":"Test data element with predefined type","package_name":"ZOK_LAB","transport_request":"E19K905635","type_kind":"predefinedAbapType","data_type":"CHAR","length":10,"decimals":0,"short_label":"Test DE2","medium_label":"Test Data Element 2","long_label":"Test Data Element Label 2","activate":true}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Response**:
|
|
29
|
-
```json
|
|
30
|
-
{"success":true,"data_element_name":"ZDTEL_TEST_002","uri":"/sap/bc/adt/ddic/dataelements/zdtel_test_002","message":"Data element ZDTEL_TEST_002 created and activated successfully"}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Update Data Element
|
|
36
|
-
|
|
37
|
-
**Tool**: `UpdateDataElement`
|
|
38
|
-
|
|
39
|
-
**Request**:
|
|
40
|
-
```json
|
|
41
|
-
{"data_element_name":"ZDTEL_TEST_001","description":"Updated test data element","short_label":"Updated DE","medium_label":"Updated Data Element","long_label":"Updated Data Element Label","activate":true}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Response**:
|
|
45
|
-
```json
|
|
46
|
-
{"success":true,"data_element_name":"ZDTEL_TEST_001","uri":"/sap/bc/adt/ddic/dataelements/zdtel_test_001","message":"Data element ZDTEL_TEST_001 updated and activated successfully"}
|
|
47
|
-
```
|
|
48
|
-
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
# Creating and Updating ABAP Data Elements (Low-Level)
|
|
2
|
-
|
|
3
|
-
## Step 1: Get Session
|
|
4
|
-
|
|
5
|
-
**Tool**: `GetSession`
|
|
6
|
-
|
|
7
|
-
**Request**:
|
|
8
|
-
```json
|
|
9
|
-
{"force_new":false}
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
**Response**:
|
|
13
|
-
```json
|
|
14
|
-
{"success":true,"session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Step 2: Validate Data Element
|
|
20
|
-
|
|
21
|
-
**Tool**: `ValidateDataElementLow`
|
|
22
|
-
|
|
23
|
-
**Request**:
|
|
24
|
-
```json
|
|
25
|
-
{"data_element_name":"ZDTEL_TEST_001","package_name":"ZOK_LAB","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Response**:
|
|
29
|
-
```json
|
|
30
|
-
{"success":true,"valid":true,"message":"Data element name ZDTEL_TEST_001 is valid and available"}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Step 3: Create Data Element
|
|
36
|
-
|
|
37
|
-
**Tool**: `CreateDataElementLow`
|
|
38
|
-
|
|
39
|
-
**Request** (Domain-based):
|
|
40
|
-
```json
|
|
41
|
-
{"data_element_name":"ZDTEL_TEST_001","description":"Test data element","package_name":"ZOK_LAB","transport_request":"E19K905635","type_kind":"E","type_name":"ZDOMAIN_TEST_001","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Response**:
|
|
45
|
-
```json
|
|
46
|
-
{"success":true,"data_element_name":"ZDTEL_TEST_001","uri":"/sap/bc/adt/ddic/dataelements/zdtel_test_001","message":"Data element created successfully"}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Step 4: Lock Data Element
|
|
52
|
-
|
|
53
|
-
**Tool**: `LockDataElementLow`
|
|
54
|
-
|
|
55
|
-
**Request**:
|
|
56
|
-
```json
|
|
57
|
-
{"data_element_name":"ZDTEL_TEST_001","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**Response**:
|
|
61
|
-
```json
|
|
62
|
-
{"success":true,"data_element_name":"ZDTEL_TEST_001","lock_handle":"LOCK_HANDLE_123456789","message":"Data element locked successfully"}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Step 5: Check Data Element BEFORE Update (CRITICAL)
|
|
68
|
-
|
|
69
|
-
**Tool**: `CheckDataElementLow`
|
|
70
|
-
|
|
71
|
-
**Request**:
|
|
72
|
-
```json
|
|
73
|
-
{"data_element_name":"ZDTEL_TEST_001","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
**Response**:
|
|
77
|
-
```json
|
|
78
|
-
{"success":true,"checked":true,"messages":[],"errors":[],"warnings":[],"message":"Syntax check passed"}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Step 6: Update Data Element (Only if Check Passed)
|
|
84
|
-
|
|
85
|
-
**Tool**: `UpdateDataElementLow`
|
|
86
|
-
|
|
87
|
-
**Request**:
|
|
88
|
-
```json
|
|
89
|
-
{"data_element_name":"ZDTEL_TEST_001","properties":{"description":"Updated test data element","short_label":"Updated DE","medium_label":"Updated Data Element","long_label":"Updated Data Element Label"},"lock_handle":"LOCK_HANDLE_123456789","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
**Response**:
|
|
93
|
-
```json
|
|
94
|
-
{"success":true,"data_element_name":"ZDTEL_TEST_001","message":"Data element updated successfully"}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## Step 7: Unlock Data Element
|
|
100
|
-
|
|
101
|
-
**Tool**: `UnlockDataElementLow`
|
|
102
|
-
|
|
103
|
-
**Request**:
|
|
104
|
-
```json
|
|
105
|
-
{"data_element_name":"ZDTEL_TEST_001","lock_handle":"LOCK_HANDLE_123456789","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
**Response**:
|
|
109
|
-
```json
|
|
110
|
-
{"success":true,"data_element_name":"ZDTEL_TEST_001","message":"Data element unlocked successfully"}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## Step 8: Activate Data Element
|
|
116
|
-
|
|
117
|
-
**Option A: Individual**
|
|
118
|
-
|
|
119
|
-
**Tool**: `ActivateDataElementLow`
|
|
120
|
-
|
|
121
|
-
**Request**:
|
|
122
|
-
```json
|
|
123
|
-
{"data_element_name":"ZDTEL_TEST_001","session_id":"a1b2c3d4e5f6789012345678901234567890abcd","session_state":{"cookies":"SAP_SESSIONID_E19_100=xyz123abc; Path=/; HttpOnly","csrf_token":"AbCdEf123456","cookie_store":{}}}
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**Response**:
|
|
127
|
-
```json
|
|
128
|
-
{"success":true,"data_element_name":"ZDTEL_TEST_001","activation":{"activated":true,"checked":true,"generated":false},"messages":[],"warnings":[],"errors":[],"message":"Data element activated successfully"}
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
**Option B: Group Activation**
|
|
132
|
-
|
|
133
|
-
**Tool**: `ActivateObjectLow`
|
|
134
|
-
|
|
135
|
-
**Request**:
|
|
136
|
-
```json
|
|
137
|
-
{"objects":[{"name":"ZDOMAIN_TEST_001","type":"DOMA/DD"},{"name":"ZDTEL_TEST_001","type":"DTEL/DE"},{"name":"ZT_TEST_TABLE_001","type":"TABL/DT"}],"preaudit":true}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
**Response**:
|
|
141
|
-
```json
|
|
142
|
-
{"success":true,"objects_count":3,"objects":[{"name":"ZDOMAIN_TEST_001","type":"DOMA/DD","uri":"/sap/bc/adt/ddic/domains/zdomain_test_001"},{"name":"ZDTEL_TEST_001","type":"DTEL/DE","uri":"/sap/bc/adt/ddic/dataelements/zdtel_test_001"},{"name":"ZT_TEST_TABLE_001","type":"TABL/DT","uri":"/sap/bc/adt/ddic/tables/zt_test_table_001"}],"activation":{"activated":true,"checked":true,"generated":false},"messages":[],"warnings":[],"errors":[],"message":"Successfully activated 3 object(s)"}
|
|
143
|
-
```
|
|
144
|
-
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Creating and Updating ABAP Domains (High-Level)
|
|
2
|
-
|
|
3
|
-
## Create Domain
|
|
4
|
-
|
|
5
|
-
**Tool**: `CreateDomain`
|
|
6
|
-
|
|
7
|
-
**Request**:
|
|
8
|
-
```json
|
|
9
|
-
{"domain_name":"ZDOMAIN_TEST_001","description":"Test domain","package_name":"ZOK_LAB","transport_request":"E19K905635","datatype":"CHAR","length":10,"decimals":0,"lowercase":false,"sign_exists":false,"activate":true,"fixed_values":[{"low":"001","text":"Value 001"},{"low":"002","text":"Value 002"}]}
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
**Response**:
|
|
13
|
-
```json
|
|
14
|
-
{"success":true,"domain_name":"ZDOMAIN_TEST_001","uri":"/sap/bc/adt/ddic/domains/zdomain_test_001","message":"Domain ZDOMAIN_TEST_001 created and activated successfully"}
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Update Domain
|
|
20
|
-
|
|
21
|
-
**Tool**: `UpdateDomain`
|
|
22
|
-
|
|
23
|
-
**Request**:
|
|
24
|
-
```json
|
|
25
|
-
{"domain_name":"ZDOMAIN_TEST_001","description":"Updated test domain","datatype":"CHAR","length":20,"decimals":0,"activate":true}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Response**:
|
|
29
|
-
```json
|
|
30
|
-
{"success":true,"domain_name":"ZDOMAIN_TEST_001","uri":"/sap/bc/adt/ddic/domains/zdomain_test_001","message":"Domain ZDOMAIN_TEST_001 updated and activated successfully"}
|
|
31
|
-
```
|
|
32
|
-
|