sapbuddy-dsh 0.0.6 → 0.0.8
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/LICENSE +21 -21
- package/README.md +25 -4
- package/defaults/AGENTS.md +114 -114
- package/defaults/connections.example.json +21 -21
- package/defaults/prompts/Memory.md +21 -21
- package/defaults/prompts/SYSTEM.md +110 -110
- package/defaults/settings.example.json +3 -3
- package/dist/client.js +20 -5
- package/dist/index.js +85 -11
- package/dist/sap-tools/adtManager.d.ts +11 -1
- package/dist/sap-tools/adtManager.js +176 -9
- package/dist/sap-tools/connections-store.js +16 -3
- package/dist/sap-tools/execution.js +1 -1
- package/dist/tools.js +5 -3
- package/package.json +8 -3
- package/skills/abap-code-review/SKILL.md +75 -75
- package/skills/abap-code-review/assets/report-template.html +142 -142
- package/skills/abap-code-review/references/checklist.md +114 -114
- package/skills/abap-explain/SKILL.md +126 -126
- package/skills/abap-templates/SKILL.md +764 -764
- package/skills/abap-wiki/SKILL.md +104 -104
- package/skills/clean-abap/SKILL.md +91 -91
- package/skills/clean-abap/references/CleanABAP_zh.md +4309 -4309
- package/skills/dev-write/SKILL.md +137 -137
- package/skills/sap-abap-skills/README.md +205 -205
- package/skills/sap-abap-skills/SKILL.md +498 -498
- package/skills/sap-abap-skills/references/abap-dictionary.md +211 -211
- package/skills/sap-abap-skills/references/abap-sql.md +588 -588
- package/skills/sap-abap-skills/references/amdp.md +279 -279
- package/skills/sap-abap-skills/references/authorization.md +149 -149
- package/skills/sap-abap-skills/references/bits-bytes.md +92 -92
- package/skills/sap-abap-skills/references/builtin-functions.md +373 -373
- package/skills/sap-abap-skills/references/cds-views.md +412 -412
- package/skills/sap-abap-skills/references/cloud-development.md +299 -299
- package/skills/sap-abap-skills/references/constructor-expressions.md +458 -458
- package/skills/sap-abap-skills/references/date-time.md +415 -415
- package/skills/sap-abap-skills/references/design-patterns.md +292 -292
- package/skills/sap-abap-skills/references/dynamic-programming.md +426 -426
- package/skills/sap-abap-skills/references/exceptions.md +432 -432
- package/skills/sap-abap-skills/references/generative-ai.md +180 -180
- package/skills/sap-abap-skills/references/internal-tables.md +578 -578
- package/skills/sap-abap-skills/references/numeric-operations.md +219 -219
- package/skills/sap-abap-skills/references/object-orientation.md +518 -518
- package/skills/sap-abap-skills/references/performance.md +428 -428
- package/skills/sap-abap-skills/references/program-flow.md +302 -302
- package/skills/sap-abap-skills/references/rap-eml.md +549 -549
- package/skills/sap-abap-skills/references/released-classes.md +308 -308
- package/skills/sap-abap-skills/references/sap-luw.md +203 -203
- package/skills/sap-abap-skills/references/skill-reference-guide.md +98 -98
- package/skills/sap-abap-skills/references/sql-hierarchies.md +180 -180
- package/skills/sap-abap-skills/references/string-processing.md +488 -488
- package/skills/sap-abap-skills/references/table-grouping.md +150 -150
- package/skills/sap-abap-skills/references/tool-guide.md +285 -285
- package/skills/sap-abap-skills/references/unit-testing.md +512 -512
- package/skills/sap-abap-skills/references/where-conditions.md +223 -223
- package/skills/sap-abap-skills/references/xml-json.md +315 -315
- package/skills/translate-workflow/SKILL.md +69 -69
|
@@ -1,203 +1,203 @@
|
|
|
1
|
-
# SAP Logical Unit of Work (LUW) - Complete Reference
|
|
2
|
-
|
|
3
|
-
**Source**: [https://github.com/SAP-samples/abap-cheat-sheets/blob/main/17_SAP_LUW.md](https://github.com/SAP-samples/abap-cheat-sheets/blob/main/17_SAP_LUW.md)
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
SAP LUW ensures transactional consistency through all-or-nothing commits: either all changes commit together or all rollback.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## COMMIT and ROLLBACK
|
|
14
|
-
|
|
15
|
-
### COMMIT WORK
|
|
16
|
-
|
|
17
|
-
```abap
|
|
18
|
-
COMMIT WORK. " Asynchronous - returns immediately
|
|
19
|
-
COMMIT WORK AND WAIT. " Synchronous - waits for completion
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Effects:
|
|
23
|
-
- Closes current SAP LUW, opens new one
|
|
24
|
-
- Commits all change requests
|
|
25
|
-
- Processes registered update function modules
|
|
26
|
-
- Triggers database commit
|
|
27
|
-
|
|
28
|
-
### ROLLBACK WORK
|
|
29
|
-
|
|
30
|
-
```abap
|
|
31
|
-
ROLLBACK WORK.
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Effects:
|
|
35
|
-
- Closes current SAP LUW, opens new one
|
|
36
|
-
- Undoes all changes within current SAP LUW
|
|
37
|
-
- Removes previous registrations
|
|
38
|
-
- Triggers database rollback
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Update Function Modules
|
|
43
|
-
|
|
44
|
-
### Calling Update Functions
|
|
45
|
-
|
|
46
|
-
```abap
|
|
47
|
-
" Asynchronous (default)
|
|
48
|
-
CALL FUNCTION 'Z_UPDATE_FUNC' IN UPDATE TASK
|
|
49
|
-
EXPORTING values = data.
|
|
50
|
-
|
|
51
|
-
COMMIT WORK. " Returns immediately
|
|
52
|
-
|
|
53
|
-
" Synchronous
|
|
54
|
-
CALL FUNCTION 'Z_UPDATE_FUNC' IN UPDATE TASK
|
|
55
|
-
EXPORTING values = data.
|
|
56
|
-
|
|
57
|
-
COMMIT WORK AND WAIT. " Waits for completion
|
|
58
|
-
|
|
59
|
-
" Local update
|
|
60
|
-
SET UPDATE TASK LOCAL.
|
|
61
|
-
|
|
62
|
-
CALL FUNCTION 'Z_UPDATE_FUNC' IN UPDATE TASK
|
|
63
|
-
EXPORTING values = data.
|
|
64
|
-
|
|
65
|
-
COMMIT WORK. " Executes immediately in current work process
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Update Function Implementation
|
|
69
|
-
|
|
70
|
-
```abap
|
|
71
|
-
FUNCTION z_update_func
|
|
72
|
-
IMPORTING
|
|
73
|
-
VALUE(values) TYPE some_dbtab.
|
|
74
|
-
|
|
75
|
-
MODIFY some_dbtab FROM @values.
|
|
76
|
-
|
|
77
|
-
ENDFUNCTION.
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## Background RFC (bgRFC)
|
|
83
|
-
|
|
84
|
-
```abap
|
|
85
|
-
CALL FUNCTION 'Z_REMOTE_FUNC' IN BACKGROUND UNIT
|
|
86
|
-
EXPORTING param1 = value1.
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
Enables asynchronous execution in same or different ABAP systems.
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Subroutines (Deprecated)
|
|
94
|
-
|
|
95
|
-
```abap
|
|
96
|
-
" Register for commit
|
|
97
|
-
PERFORM some_subroutine ON COMMIT.
|
|
98
|
-
|
|
99
|
-
" Register for rollback
|
|
100
|
-
PERFORM some_subroutine ON ROLLBACK.
|
|
101
|
-
|
|
102
|
-
" Data transfer via ABAP memory
|
|
103
|
-
EXPORT data_var TO MEMORY ID 'KEY'.
|
|
104
|
-
IMPORT data_var FROM MEMORY ID 'KEY'.
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
## Implicit Database Commits
|
|
110
|
-
|
|
111
|
-
Triggered automatically by:
|
|
112
|
-
- Dialog step completion (dynpro PAI/PBO)
|
|
113
|
-
- Synchronous/asynchronous RFC calls
|
|
114
|
-
- HTTP/HTTPS/SMTP communication
|
|
115
|
-
- WAIT statements
|
|
116
|
-
- Sending messages (error, information, warning)
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
## ABAP Cloud Behavior
|
|
121
|
-
|
|
122
|
-
```abap
|
|
123
|
-
" Both behave identically in ABAP Cloud
|
|
124
|
-
COMMIT WORK.
|
|
125
|
-
COMMIT WORK AND WAIT.
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
In ABAP Cloud:
|
|
129
|
-
- Local updates always enforced implicitly
|
|
130
|
-
- Updates occur in same work process
|
|
131
|
-
- Always synchronous
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## RAP Integration
|
|
136
|
-
|
|
137
|
-
```abap
|
|
138
|
-
" RAP-specific commit
|
|
139
|
-
COMMIT ENTITIES. " Implicitly triggers COMMIT WORK
|
|
140
|
-
|
|
141
|
-
" RAP-specific rollback
|
|
142
|
-
ROLLBACK ENTITIES. " Resets all changes
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## Controlled SAP LUW
|
|
148
|
-
|
|
149
|
-
Enhanced transactional phase management:
|
|
150
|
-
|
|
151
|
-
```abap
|
|
152
|
-
" Activate modify phase
|
|
153
|
-
cl_abap_tx=>modify( ).
|
|
154
|
-
|
|
155
|
-
" Database modifications NOT allowed here
|
|
156
|
-
" Would throw BEHAVIOR_ILLEGAL_STMT_IN_CALL
|
|
157
|
-
|
|
158
|
-
" Activate save phase
|
|
159
|
-
cl_abap_tx=>save( ).
|
|
160
|
-
|
|
161
|
-
" Database modifications allowed here
|
|
162
|
-
MODIFY zdemo_table FROM TABLE @itab.
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## Transactional Phases
|
|
168
|
-
|
|
169
|
-
| Phase | Database Modifications |
|
|
170
|
-
|-------|----------------------|
|
|
171
|
-
| Modify | Not allowed |
|
|
172
|
-
| Save | Allowed |
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## Lock Objects
|
|
177
|
-
|
|
178
|
-
```abap
|
|
179
|
-
" Enqueue (lock)
|
|
180
|
-
CALL FUNCTION 'ENQUEUE_EZLOCK'
|
|
181
|
-
EXPORTING
|
|
182
|
-
mode_table = 'E'
|
|
183
|
-
key = value
|
|
184
|
-
EXCEPTIONS
|
|
185
|
-
foreign_lock = 1.
|
|
186
|
-
|
|
187
|
-
" Dequeue (unlock)
|
|
188
|
-
CALL FUNCTION 'DEQUEUE_EZLOCK'
|
|
189
|
-
EXPORTING
|
|
190
|
-
mode_table = 'E'
|
|
191
|
-
key = value.
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
## Best Practices
|
|
197
|
-
|
|
198
|
-
1. **Use COMMIT WORK AND WAIT** when immediate confirmation needed
|
|
199
|
-
2. **Avoid implicit commits** in transaction-critical code
|
|
200
|
-
3. **Use RAP** for modern transactional scenarios
|
|
201
|
-
4. **Bundle modifications** for consistency
|
|
202
|
-
5. **Handle locks** appropriately
|
|
203
|
-
6. **Test rollback scenarios** thoroughly
|
|
1
|
+
# SAP Logical Unit of Work (LUW) - Complete Reference
|
|
2
|
+
|
|
3
|
+
**Source**: [https://github.com/SAP-samples/abap-cheat-sheets/blob/main/17_SAP_LUW.md](https://github.com/SAP-samples/abap-cheat-sheets/blob/main/17_SAP_LUW.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
SAP LUW ensures transactional consistency through all-or-nothing commits: either all changes commit together or all rollback.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## COMMIT and ROLLBACK
|
|
14
|
+
|
|
15
|
+
### COMMIT WORK
|
|
16
|
+
|
|
17
|
+
```abap
|
|
18
|
+
COMMIT WORK. " Asynchronous - returns immediately
|
|
19
|
+
COMMIT WORK AND WAIT. " Synchronous - waits for completion
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Effects:
|
|
23
|
+
- Closes current SAP LUW, opens new one
|
|
24
|
+
- Commits all change requests
|
|
25
|
+
- Processes registered update function modules
|
|
26
|
+
- Triggers database commit
|
|
27
|
+
|
|
28
|
+
### ROLLBACK WORK
|
|
29
|
+
|
|
30
|
+
```abap
|
|
31
|
+
ROLLBACK WORK.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Effects:
|
|
35
|
+
- Closes current SAP LUW, opens new one
|
|
36
|
+
- Undoes all changes within current SAP LUW
|
|
37
|
+
- Removes previous registrations
|
|
38
|
+
- Triggers database rollback
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Update Function Modules
|
|
43
|
+
|
|
44
|
+
### Calling Update Functions
|
|
45
|
+
|
|
46
|
+
```abap
|
|
47
|
+
" Asynchronous (default)
|
|
48
|
+
CALL FUNCTION 'Z_UPDATE_FUNC' IN UPDATE TASK
|
|
49
|
+
EXPORTING values = data.
|
|
50
|
+
|
|
51
|
+
COMMIT WORK. " Returns immediately
|
|
52
|
+
|
|
53
|
+
" Synchronous
|
|
54
|
+
CALL FUNCTION 'Z_UPDATE_FUNC' IN UPDATE TASK
|
|
55
|
+
EXPORTING values = data.
|
|
56
|
+
|
|
57
|
+
COMMIT WORK AND WAIT. " Waits for completion
|
|
58
|
+
|
|
59
|
+
" Local update
|
|
60
|
+
SET UPDATE TASK LOCAL.
|
|
61
|
+
|
|
62
|
+
CALL FUNCTION 'Z_UPDATE_FUNC' IN UPDATE TASK
|
|
63
|
+
EXPORTING values = data.
|
|
64
|
+
|
|
65
|
+
COMMIT WORK. " Executes immediately in current work process
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Update Function Implementation
|
|
69
|
+
|
|
70
|
+
```abap
|
|
71
|
+
FUNCTION z_update_func
|
|
72
|
+
IMPORTING
|
|
73
|
+
VALUE(values) TYPE some_dbtab.
|
|
74
|
+
|
|
75
|
+
MODIFY some_dbtab FROM @values.
|
|
76
|
+
|
|
77
|
+
ENDFUNCTION.
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Background RFC (bgRFC)
|
|
83
|
+
|
|
84
|
+
```abap
|
|
85
|
+
CALL FUNCTION 'Z_REMOTE_FUNC' IN BACKGROUND UNIT
|
|
86
|
+
EXPORTING param1 = value1.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Enables asynchronous execution in same or different ABAP systems.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Subroutines (Deprecated)
|
|
94
|
+
|
|
95
|
+
```abap
|
|
96
|
+
" Register for commit
|
|
97
|
+
PERFORM some_subroutine ON COMMIT.
|
|
98
|
+
|
|
99
|
+
" Register for rollback
|
|
100
|
+
PERFORM some_subroutine ON ROLLBACK.
|
|
101
|
+
|
|
102
|
+
" Data transfer via ABAP memory
|
|
103
|
+
EXPORT data_var TO MEMORY ID 'KEY'.
|
|
104
|
+
IMPORT data_var FROM MEMORY ID 'KEY'.
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Implicit Database Commits
|
|
110
|
+
|
|
111
|
+
Triggered automatically by:
|
|
112
|
+
- Dialog step completion (dynpro PAI/PBO)
|
|
113
|
+
- Synchronous/asynchronous RFC calls
|
|
114
|
+
- HTTP/HTTPS/SMTP communication
|
|
115
|
+
- WAIT statements
|
|
116
|
+
- Sending messages (error, information, warning)
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## ABAP Cloud Behavior
|
|
121
|
+
|
|
122
|
+
```abap
|
|
123
|
+
" Both behave identically in ABAP Cloud
|
|
124
|
+
COMMIT WORK.
|
|
125
|
+
COMMIT WORK AND WAIT.
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
In ABAP Cloud:
|
|
129
|
+
- Local updates always enforced implicitly
|
|
130
|
+
- Updates occur in same work process
|
|
131
|
+
- Always synchronous
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## RAP Integration
|
|
136
|
+
|
|
137
|
+
```abap
|
|
138
|
+
" RAP-specific commit
|
|
139
|
+
COMMIT ENTITIES. " Implicitly triggers COMMIT WORK
|
|
140
|
+
|
|
141
|
+
" RAP-specific rollback
|
|
142
|
+
ROLLBACK ENTITIES. " Resets all changes
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Controlled SAP LUW
|
|
148
|
+
|
|
149
|
+
Enhanced transactional phase management:
|
|
150
|
+
|
|
151
|
+
```abap
|
|
152
|
+
" Activate modify phase
|
|
153
|
+
cl_abap_tx=>modify( ).
|
|
154
|
+
|
|
155
|
+
" Database modifications NOT allowed here
|
|
156
|
+
" Would throw BEHAVIOR_ILLEGAL_STMT_IN_CALL
|
|
157
|
+
|
|
158
|
+
" Activate save phase
|
|
159
|
+
cl_abap_tx=>save( ).
|
|
160
|
+
|
|
161
|
+
" Database modifications allowed here
|
|
162
|
+
MODIFY zdemo_table FROM TABLE @itab.
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Transactional Phases
|
|
168
|
+
|
|
169
|
+
| Phase | Database Modifications |
|
|
170
|
+
|-------|----------------------|
|
|
171
|
+
| Modify | Not allowed |
|
|
172
|
+
| Save | Allowed |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Lock Objects
|
|
177
|
+
|
|
178
|
+
```abap
|
|
179
|
+
" Enqueue (lock)
|
|
180
|
+
CALL FUNCTION 'ENQUEUE_EZLOCK'
|
|
181
|
+
EXPORTING
|
|
182
|
+
mode_table = 'E'
|
|
183
|
+
key = value
|
|
184
|
+
EXCEPTIONS
|
|
185
|
+
foreign_lock = 1.
|
|
186
|
+
|
|
187
|
+
" Dequeue (unlock)
|
|
188
|
+
CALL FUNCTION 'DEQUEUE_EZLOCK'
|
|
189
|
+
EXPORTING
|
|
190
|
+
mode_table = 'E'
|
|
191
|
+
key = value.
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Best Practices
|
|
197
|
+
|
|
198
|
+
1. **Use COMMIT WORK AND WAIT** when immediate confirmation needed
|
|
199
|
+
2. **Avoid implicit commits** in transaction-critical code
|
|
200
|
+
3. **Use RAP** for modern transactional scenarios
|
|
201
|
+
4. **Bundle modifications** for consistency
|
|
202
|
+
5. **Handle locks** appropriately
|
|
203
|
+
6. **Test rollback scenarios** thoroughly
|
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
# SAP ABAP Skill Reference Guide
|
|
2
|
-
|
|
3
|
-
This document provides a comprehensive guide to all reference materials available for the SAP ABAP skill.
|
|
4
|
-
|
|
5
|
-
## Core Language References
|
|
6
|
-
|
|
7
|
-
### Data Types and Declarations
|
|
8
|
-
- **Internal Tables**: `references/internal-tables.md` - Complete table operations, keys, grouping, table expressions
|
|
9
|
-
- **ABAP Dictionary**: `references/abap-dictionary.md` - Data elements, domains, structures, table types
|
|
10
|
-
- **Date and Time**: `references/date-time.md` - Type d, t, utclong, timestamps, XCO library
|
|
11
|
-
- **Numeric Operations**: `references/numeric-operations.md` - Math functions, big integers, decimal floating points
|
|
12
|
-
- **Bits and Bytes**: `references/bits-bytes.md` - Binary operations, CASTING, bit manipulation
|
|
13
|
-
- **String Processing**: `references/string-processing.md` - String functions, templates, FIND, REPLACE, regex
|
|
14
|
-
|
|
15
|
-
### Program Flow and Control
|
|
16
|
-
- **Program Flow**: `references/program-flow.md` - IF, CASE, LOOP, DO, WHILE, control statements
|
|
17
|
-
- **Constructor Expressions**: `references/constructor-expressions.md` - VALUE, NEW, CONV, CORRESPONDING, COND, REDUCE
|
|
18
|
-
- **Built-in Functions**: `references/builtin-functions.md` - String, numeric, table, logical functions
|
|
19
|
-
|
|
20
|
-
### ABAP SQL and Database Access
|
|
21
|
-
- **ABAP SQL**: `references/abap-sql.md` - SELECT, INSERT, UPDATE, DELETE, JOINs, CTEs, aggregate functions
|
|
22
|
-
- **SQL Hierarchies**: `references/sql-hierarchies.md` - CTE hierarchies, HIERARCHY descendants/ancestors
|
|
23
|
-
- **WHERE Conditions**: `references/where-conditions.md` - SQL and table WHERE patterns, operators
|
|
24
|
-
- **SAP LUW**: `references/sap-luw.md` - Logical Unit of Work, COMMIT, ROLLBACK, database transactions
|
|
25
|
-
|
|
26
|
-
### Object-Oriented Programming
|
|
27
|
-
- **Object Orientation**: `references/object-orientation.md` - Classes, interfaces, inheritance, polymorphism
|
|
28
|
-
- **Design Patterns**: `references/design-patterns.md` - Factory, Singleton, Strategy, Observer patterns
|
|
29
|
-
- **Dynamic Programming**: `references/dynamic-programming.md` - RTTI, RTTC, field symbols, data references
|
|
30
|
-
|
|
31
|
-
### Modern ABAP and RAP
|
|
32
|
-
- **RAP and EML**: `references/rap-eml.md` - RESTful Application Programming Model, EML statements
|
|
33
|
-
- **CDS Views**: `references/cds-views.md` - Core Data Services, view entities, associations
|
|
34
|
-
- **ABAP Cloud**: `references/cloud-development.md` - Cloud-ready development, released APIs
|
|
35
|
-
- **Released Classes**: `references/released-classes.md` - Released API catalog for ABAP Cloud
|
|
36
|
-
- **AMDP**: `references/amdp.md` - ABAP Managed Database Procedures, SQLScript integration
|
|
37
|
-
|
|
38
|
-
### Testing and Error Handling
|
|
39
|
-
- **Unit Testing**: `references/unit-testing.md` - ABAP Unit framework, test classes, assertions
|
|
40
|
-
- **Exception Handling**: `references/exceptions.md` - TRY/CATCH, exception classes, error handling
|
|
41
|
-
- **Authorization**: `references/authorization.md` - AUTHORITY-CHECK, DCL, access control
|
|
42
|
-
|
|
43
|
-
### Performance and Optimization
|
|
44
|
-
- **Performance**: `references/performance.md` - Database access optimization, internal table performance
|
|
45
|
-
- **Table Grouping**: `references/table-grouping.md` - GROUP BY loops, aggregation patterns
|
|
46
|
-
|
|
47
|
-
### Data Exchange and Integration
|
|
48
|
-
- **XML/JSON Processing**: `references/xml-json.md` - iXML, sXML, CALL TRANSFORMATION
|
|
49
|
-
- **Generative AI**: `references/generative-ai.md` - AI SDK, LLM integration, Joule
|
|
50
|
-
|
|
51
|
-
## Source Documentation
|
|
52
|
-
|
|
53
|
-
All content based on official SAP ABAP Cheat Sheets:
|
|
54
|
-
- **Repository**: [https://github.com/SAP-samples/abap-cheat-sheets](https://github.com/SAP-samples/abap-cheat-sheets)
|
|
55
|
-
- **SAP Help**: [https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm](https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm)
|
|
56
|
-
|
|
57
|
-
## How to Use This Guide
|
|
58
|
-
|
|
59
|
-
1. **Quick Reference**: Look at SKILL.md for commonly used patterns
|
|
60
|
-
2. **Detailed Information**: Navigate to specific reference files using this guide
|
|
61
|
-
3. **Examples**: Each reference file contains practical code examples
|
|
62
|
-
4. **Best Practices**: All references include performance tips and common pitfalls
|
|
63
|
-
|
|
64
|
-
## Skill Structure
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
sap-abap/
|
|
68
|
-
├── SKILL.md # Quick reference and common patterns
|
|
69
|
-
├── README.md # Skill overview and auto-trigger keywords
|
|
70
|
-
└── references/ # Detailed reference files (28 files)
|
|
71
|
-
├── skill-reference-guide.md # This file - complete guide to references
|
|
72
|
-
├── internal-tables.md # Table operations (562 lines)
|
|
73
|
-
├── abap-sql.md # SQL reference (563 lines)
|
|
74
|
-
├── string-processing.md # String functions (563 lines)
|
|
75
|
-
... and 25 more specialized references
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Last Updated
|
|
79
|
-
|
|
80
|
-
- **Skill Version**: 1.1.0
|
|
81
|
-
- **Last Updated**: 2026-04-02
|
|
82
|
-
- **ABAP Release**: 7.40 SP08+ / 7.50+ / ABAP Cloud
|
|
83
|
-
- **Reference Files**: 28
|
|
84
|
-
- **Total Lines**: ~25,000 across all reference files
|
|
85
|
-
|
|
86
|
-
## Version Compatibility
|
|
87
|
-
|
|
88
|
-
This skill targets ABAP 7.40 SP08 and above. Features requiring higher releases are
|
|
89
|
-
annotated in individual reference files. Key boundaries:
|
|
90
|
-
|
|
91
|
-
- **7.40 SP02**: Inline declarations, constructor expressions, table expressions, string templates
|
|
92
|
-
- **7.40 SP05**: `@` host variables, comma syntax, SQL expressions, `CORRESPONDING`, `LET`, `FOR`
|
|
93
|
-
- **7.40 SP08**: `REDUCE`, `FILTER`, `BASE`, `GROUP BY` for internal tables, CDS parameters
|
|
94
|
-
- **7.50**: `FINAL(...)`, host expressions `@(...)`, `UNION`, `IS INSTANCE OF`, CDS table functions
|
|
95
|
-
- **7.51**: CTEs (`WITH`), `OFFSET`, `UPPER`/`LOWER` in SQL, enumerated types
|
|
96
|
-
- **7.52**: `FROM @itab`, `WITH PRIVILEGED ACCESS`, virtual sort
|
|
97
|
-
|
|
98
|
-
See the Version Compatibility table in SKILL.md for the complete feature matrix.
|
|
1
|
+
# SAP ABAP Skill Reference Guide
|
|
2
|
+
|
|
3
|
+
This document provides a comprehensive guide to all reference materials available for the SAP ABAP skill.
|
|
4
|
+
|
|
5
|
+
## Core Language References
|
|
6
|
+
|
|
7
|
+
### Data Types and Declarations
|
|
8
|
+
- **Internal Tables**: `references/internal-tables.md` - Complete table operations, keys, grouping, table expressions
|
|
9
|
+
- **ABAP Dictionary**: `references/abap-dictionary.md` - Data elements, domains, structures, table types
|
|
10
|
+
- **Date and Time**: `references/date-time.md` - Type d, t, utclong, timestamps, XCO library
|
|
11
|
+
- **Numeric Operations**: `references/numeric-operations.md` - Math functions, big integers, decimal floating points
|
|
12
|
+
- **Bits and Bytes**: `references/bits-bytes.md` - Binary operations, CASTING, bit manipulation
|
|
13
|
+
- **String Processing**: `references/string-processing.md` - String functions, templates, FIND, REPLACE, regex
|
|
14
|
+
|
|
15
|
+
### Program Flow and Control
|
|
16
|
+
- **Program Flow**: `references/program-flow.md` - IF, CASE, LOOP, DO, WHILE, control statements
|
|
17
|
+
- **Constructor Expressions**: `references/constructor-expressions.md` - VALUE, NEW, CONV, CORRESPONDING, COND, REDUCE
|
|
18
|
+
- **Built-in Functions**: `references/builtin-functions.md` - String, numeric, table, logical functions
|
|
19
|
+
|
|
20
|
+
### ABAP SQL and Database Access
|
|
21
|
+
- **ABAP SQL**: `references/abap-sql.md` - SELECT, INSERT, UPDATE, DELETE, JOINs, CTEs, aggregate functions
|
|
22
|
+
- **SQL Hierarchies**: `references/sql-hierarchies.md` - CTE hierarchies, HIERARCHY descendants/ancestors
|
|
23
|
+
- **WHERE Conditions**: `references/where-conditions.md` - SQL and table WHERE patterns, operators
|
|
24
|
+
- **SAP LUW**: `references/sap-luw.md` - Logical Unit of Work, COMMIT, ROLLBACK, database transactions
|
|
25
|
+
|
|
26
|
+
### Object-Oriented Programming
|
|
27
|
+
- **Object Orientation**: `references/object-orientation.md` - Classes, interfaces, inheritance, polymorphism
|
|
28
|
+
- **Design Patterns**: `references/design-patterns.md` - Factory, Singleton, Strategy, Observer patterns
|
|
29
|
+
- **Dynamic Programming**: `references/dynamic-programming.md` - RTTI, RTTC, field symbols, data references
|
|
30
|
+
|
|
31
|
+
### Modern ABAP and RAP
|
|
32
|
+
- **RAP and EML**: `references/rap-eml.md` - RESTful Application Programming Model, EML statements
|
|
33
|
+
- **CDS Views**: `references/cds-views.md` - Core Data Services, view entities, associations
|
|
34
|
+
- **ABAP Cloud**: `references/cloud-development.md` - Cloud-ready development, released APIs
|
|
35
|
+
- **Released Classes**: `references/released-classes.md` - Released API catalog for ABAP Cloud
|
|
36
|
+
- **AMDP**: `references/amdp.md` - ABAP Managed Database Procedures, SQLScript integration
|
|
37
|
+
|
|
38
|
+
### Testing and Error Handling
|
|
39
|
+
- **Unit Testing**: `references/unit-testing.md` - ABAP Unit framework, test classes, assertions
|
|
40
|
+
- **Exception Handling**: `references/exceptions.md` - TRY/CATCH, exception classes, error handling
|
|
41
|
+
- **Authorization**: `references/authorization.md` - AUTHORITY-CHECK, DCL, access control
|
|
42
|
+
|
|
43
|
+
### Performance and Optimization
|
|
44
|
+
- **Performance**: `references/performance.md` - Database access optimization, internal table performance
|
|
45
|
+
- **Table Grouping**: `references/table-grouping.md` - GROUP BY loops, aggregation patterns
|
|
46
|
+
|
|
47
|
+
### Data Exchange and Integration
|
|
48
|
+
- **XML/JSON Processing**: `references/xml-json.md` - iXML, sXML, CALL TRANSFORMATION
|
|
49
|
+
- **Generative AI**: `references/generative-ai.md` - AI SDK, LLM integration, Joule
|
|
50
|
+
|
|
51
|
+
## Source Documentation
|
|
52
|
+
|
|
53
|
+
All content based on official SAP ABAP Cheat Sheets:
|
|
54
|
+
- **Repository**: [https://github.com/SAP-samples/abap-cheat-sheets](https://github.com/SAP-samples/abap-cheat-sheets)
|
|
55
|
+
- **SAP Help**: [https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm](https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm)
|
|
56
|
+
|
|
57
|
+
## How to Use This Guide
|
|
58
|
+
|
|
59
|
+
1. **Quick Reference**: Look at SKILL.md for commonly used patterns
|
|
60
|
+
2. **Detailed Information**: Navigate to specific reference files using this guide
|
|
61
|
+
3. **Examples**: Each reference file contains practical code examples
|
|
62
|
+
4. **Best Practices**: All references include performance tips and common pitfalls
|
|
63
|
+
|
|
64
|
+
## Skill Structure
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
sap-abap/
|
|
68
|
+
├── SKILL.md # Quick reference and common patterns
|
|
69
|
+
├── README.md # Skill overview and auto-trigger keywords
|
|
70
|
+
└── references/ # Detailed reference files (28 files)
|
|
71
|
+
├── skill-reference-guide.md # This file - complete guide to references
|
|
72
|
+
├── internal-tables.md # Table operations (562 lines)
|
|
73
|
+
├── abap-sql.md # SQL reference (563 lines)
|
|
74
|
+
├── string-processing.md # String functions (563 lines)
|
|
75
|
+
... and 25 more specialized references
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Last Updated
|
|
79
|
+
|
|
80
|
+
- **Skill Version**: 1.1.0
|
|
81
|
+
- **Last Updated**: 2026-04-02
|
|
82
|
+
- **ABAP Release**: 7.40 SP08+ / 7.50+ / ABAP Cloud
|
|
83
|
+
- **Reference Files**: 28
|
|
84
|
+
- **Total Lines**: ~25,000 across all reference files
|
|
85
|
+
|
|
86
|
+
## Version Compatibility
|
|
87
|
+
|
|
88
|
+
This skill targets ABAP 7.40 SP08 and above. Features requiring higher releases are
|
|
89
|
+
annotated in individual reference files. Key boundaries:
|
|
90
|
+
|
|
91
|
+
- **7.40 SP02**: Inline declarations, constructor expressions, table expressions, string templates
|
|
92
|
+
- **7.40 SP05**: `@` host variables, comma syntax, SQL expressions, `CORRESPONDING`, `LET`, `FOR`
|
|
93
|
+
- **7.40 SP08**: `REDUCE`, `FILTER`, `BASE`, `GROUP BY` for internal tables, CDS parameters
|
|
94
|
+
- **7.50**: `FINAL(...)`, host expressions `@(...)`, `UNION`, `IS INSTANCE OF`, CDS table functions
|
|
95
|
+
- **7.51**: CTEs (`WITH`), `OFFSET`, `UPPER`/`LOWER` in SQL, enumerated types
|
|
96
|
+
- **7.52**: `FROM @itab`, `WITH PRIVILEGED ACCESS`, virtual sort
|
|
97
|
+
|
|
98
|
+
See the Version Compatibility table in SKILL.md for the complete feature matrix.
|