abap-code-review-helpe…
Primary correctness and runtime-safety review guidance for ABAP reports, classes, function modules, enhancements, BAPIs,…
ABAP performance best practices for ECC / traditional database systems (Oracle, DB2,MSSQL, MaxDB). Use when writing or reviewing ABAP code on NON-HANA systems.IMPORTANT: First use the SAP system info tool to check the system type — if the system is S/4HANA or runs on HANA DB,
$ npx -y skills add marcellourbani/vscode_abap_remote_fs --skill abap-performance-ecc --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/abap-performance-eccContext preview
The summary Claude sees to decide when to auto-load this skill.
ABAP performance best practices for ECC / traditional database systems (Oracle, DB2,MSSQL, MaxDB). Use when writing or reviewing ABAP code on NON-HANA systems.IMPORTANT: First use the SAP system info tool to check the system type — if the system is S/4HANA or runs on HANA DB,
name: abap-performance-ecc description: ABAP performance best practices for ECC / traditional database systems (Oracle, DB2,MSSQL, MaxDB). Use when writing or reviewing ABAP code on NON-HANA systems.IMPORTANT: First use the SAP system info tool to check the system type — if the system is S/4HANA or runs on HANA DB, load the abap-performance-hana skill instead. Covers database access, buffering, internal table optimization, and ECC-specific patterns. argument-hint: '[ABAP code to optimize on ECC]' user-invocable: true disable-model-invocation: false
These rules apply to SAP ECC systems running on traditional databases (Oracle, DB2, MSSQL, MaxDB).
Before writing, optimizing, or reviewing ABAP code, read the `abap-code-review-helper` skill in full (skip if skill is unavailable), unless its complete contents are already available in your current context. Preserve its correctness safeguards; an optimization must not change result semantics. Keep passed checks internal.
**Before using this skill:** Call the SAP system info tool. If the system is S/4HANA or HANA DB, use the `abap-performance-hana` skill instead.
**Core philosophy on ECC:** Minimize database round-trips. Keep SQL simple — traditional DBs don't optimize complex expressions well. Buffer aggressively. Move complex logic to ABAP.
---
" good SELECT matnr maktx FROM mara INTO TABLE itab. " bad SELECT * FROM mara INTO TABLE itab.
" good — single round-trip
SELECT m~matnr t~maktx
FROM mara AS m
INNER JOIN makt AS t ON t~matnr = m~matnr
WHERE m~mtart = material_type
AND t~spras = sy-langu
INTO TABLE materials. IF itab[] IS NOT INITIAL.
SELECT matnr werks FROM marc
FOR ALL ENTRIES IN itab
WHERE matnr = itab-matnr
INTO TABLE plant_data.
ENDIF. " good — read from buffer
SELECT matnr maktx FROM makt WHERE spras = sy-langu INTO TABLE texts.
SORT texts BY matnr.
" later in a loop:
READ TABLE texts WITH KEY matnr = current_matnr BINARY SEARCH INTO text_line.
" bad — SELECT in every loop iteration
LOOP AT items INTO item.
SELECT SINGLE maktx FROM makt WHERE matnr = item-matnr AND spras = sy-langu INTO desc.
ENDLOOP.Buffering is **more important on ECC** than on HANA because traditional DBs are slower for small lookups.
" good — uses buffer SELECT SINGLE * FROM t001 WHERE bukrs = bukrs INTO company. " bad — bypasses buffer SELECT * FROM t001 UP TO 1 ROWS WHERE bukrs = bukrs INTO company.
---
Choose the right table type — this is the single biggest performance lever:
For lookup tables, **always use HASHED or SORTED**:
" good — O(1) lookup DATA materials TYPE HASHED TABLE OF mara WITH UNIQUE KEY matnr. READ TABLE materials WITH TABLE KEY matnr = input INTO mat. " bad — O(n) scan DATA materials TYPE STANDARD TABLE OF mara. READ TABLE materials WITH KEY matnr = input INTO mat.
A VS Code extension that gives AI assistants real, live access to your SAP system — reads actual code, queries live tables, runs tests, debugs, and understands your custom objects. Ask "How does BAPI_USER_GET_DETAIL work?"
Primary correctness and runtime-safety review guidance for ABAP reports, classes, function modules, enhancements, BAPIs,…
Structured process for building ABAP solutions. Use BEFORE writing any ABAP code — reports, classes, function modules,…
ABAP performance best practices for S/4HANA and HANA database systems.Use when writing or reviewing ABAP code on HANA-based…
Techniques for navigating and finding objects in SAP systems. Use when searching for transactions, programs, FMs, classes, error…
Investigate SAP ADT REST API endpoints. Use when the user asks about ADT API endpoints, request/response XML formats, content…
Clean ABAP style and maintainability guidance. Use when writing ABAP code or when a review explicitly asks for Clean ABAP style,…