abap-code-review-helpe…
Primary correctness and runtime-safety review guidance for ABAP reports, classes, function modules, enhancements, BAPIs,…
ABAP performance best practices for S/4HANA and HANA database systems.Use when writing or reviewing ABAP code on HANA-based systems.IMPORTANT: First use the SAP system info tool to check the system type — if the system is ECC or runs on a traditional database (Oracle, DB2,
$ npx -y skills add marcellourbani/vscode_abap_remote_fs --skill abap-performance-hana --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/abap-performance-hanaContext preview
The summary Claude sees to decide when to auto-load this skill.
ABAP performance best practices for S/4HANA and HANA database systems.Use when writing or reviewing ABAP code on HANA-based systems.IMPORTANT: First use the SAP system info tool to check the system type — if the system is ECC or runs on a traditional database (Oracle, DB2,
name: abap-performance-hana description: ABAP performance best practices for S/4HANA and HANA database systems.Use when writing or reviewing ABAP code on HANA-based systems.IMPORTANT: First use the SAP system info tool to check the system type — if the system is ECC or runs on a traditional database (Oracle, DB2, MSSQL), load the abap-performance-ecc skill instead. Covers code pushdown, CDS views, AMDP, advanced SQL, and HANA-optimized patterns. argument-hint: '[ABAP code to optimize on HANA]' user-invocable: true disable-model-invocation: false
These rules apply to SAP S/4HANA systems or any ABAP system running on HANA DB.
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 ECC on a traditional DB, use the `abap-performance-ecc` skill instead.
**Core philosophy on HANA:** Push data-intensive operations to the database. HANA is a columnar in-memory DB optimized for set-based operations, aggregations, and complex SQL. Let it do the heavy lifting. Keep ABAP for business logic, authorization, and exception handling.
---
**Move data-intensive operations to the database layer.**
---
SELECT matnr, maktx FROM mara INTO TABLE @DATA(itab).
SELECT m~matnr, t~maktx, p~werks, p~ekgrp
FROM mara AS m
INNER JOIN makt AS t ON t~matnr = m~matnr AND t~spras = @sy-langu
INNER JOIN marc AS p ON p~matnr = m~matnr
LEFT OUTER JOIN mvke AS s ON s~matnr = m~matnr
WHERE m~mtart = @material_type
INTO TABLE @DATA(materials). SELECT werks, SUM( labst ) AS total_stock, COUNT(*) AS item_count
FROM mard
WHERE matnr = @matnr
GROUP BY werks
INTO TABLE @DATA(stock_by_plant). SELECT matnr,
CASE mtart
WHEN 'FERT' THEN 'Finished'
WHEN 'ROH' THEN 'Raw Material'
ELSE 'Other'
END AS type_text
FROM mara
INTO TABLE @DATA(materials). SELECT matnr, CONCAT( matnr, CONCAT( ' - ', maktx ) ) AS display_text
FROM mara
INNER JOIN makt ON makt~matnr = mara~matnr AND makt~spras = @sy-langu
INTO TABLE @DATA(display_data). SELECT matnr, maktx FROM mara
WHERE matnr IN ( SELECT matnr FROM marc WHERE werks = @plant )
INTO TABLE @DATA(plant_materials).SELECT matnr, maktx FROM makt WHERE spras = @sy-langu INTO TABLE @DATA(texts). " later: READ TABLE texts WITH KEY matnr = current_matnr INTO DATA(text_line).
Buffering matters **less** on HANA than ECC because HANA is in-memory. But it still helps for:
" good — uses buffer SELECT SINGLE * FROM t001 WHERE bukrs = @bukrs INTO @DATA(company). " bad — bypasses buffer SELECT * FROM t001 UP TO 1 ROWS WHERE bukrs = @bukrs INTO @DATA(company).
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 ECC / traditional database systems (Oracle, DB2,MSSQL, MaxDB). Use when writing or reviewing…
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,…