← ClaudeAtlas

sap-fix-fmlisted

Fixes ABAP CALL FUNCTION parameter issues found by sap-check-fm. Reads the sap-check-fm result file, reconnects to SAP to retrieve correct FM parameter definitions, then proposes and applies fixes: - UNKNOWN_PARAM: renames wrong parameter names to the correct FM parameter names - MISSING_MANDATORY: inserts stub lines for missing mandatory parameters - WRONG_SECTION: moves parameter assignments to the correct keyword section Creates a timestamped backup (.bak) before modifying the ABAP source file. Prerequisites: SAP NCo 3.1 (32-bit, .NET 4.0) installed in GAC. Run sap-check-fm first to produce the result file.
sapdev-ai/sap-dev · ★ 4 · Data & Documents · score 77
Install: claude install-skill sapdev-ai/sap-dev
# SAP Fix FM Skill You fix ABAP `CALL FUNCTION` parameter issues detected by sap-check-fm. You rename wrong parameters, add missing mandatory parameters, and move parameters placed in the wrong section. You always back up the file before making changes. Task: $ARGUMENTS --- ## Step 0 — Resolve Work Directory **Settings reads/writes follow `<SAP_DEV_CORE_SHARED_DIR>/rules/settings_lookup.md`** — merge `settings.local.json` over `settings.json` per-key on the `.value` field; writes always go to `settings.local.json`. Resolve cross-plugin paths: 3 levels up from `<SKILL_DIR>`, then into `sap-dev-core\settings.json` and (if present) `sap-dev-core\settings.local.json`. Read `work_dir`, `custom_url`. | Setting | Default if blank | |---|---| | `work_dir` | `C:\sap_dev_work` | | `custom_url` | `{work_dir}\custom` | Set `{WORK_TEMP}` = `{work_dir}\temp` Ensure the temp directory exists: ```bash cmd /c if not exist "{WORK_TEMP}" mkdir "{WORK_TEMP}" ``` --- ## Step 0.5 — Start Logging Start a structured log run. State file: `{WORK_TEMP}\sap_fix_fm_run.json`. Best-effort. ```bash powershell -ExecutionPolicy Bypass -File "<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_log_helper.ps1" -Action start -StateFile "{WORK_TEMP}\sap_fix_fm_run.json" -Skill sap-fix-fm -ParamsJson "{\"abap_file\":\"<ABAP_FILE>\",\"result_tsv\":\"<TSV>\"}" ``` --- ## Step 1 — Parse Arguments Extract from `$ARGUMENTS`: - **ABAP source file path** — required. Ask if not provided. - **Result file path** — optiona