# CLAUDE.md sap-cli 是一个 Python CLI 工具,通过 SAP ADT REST API 在本地编辑器编写 ABAP 代码并同步到 SAP 系统。 **版本**: 2.3.0 | **命令数**: 26 | **对象类型**: 16 ## 运行方式 ```bash cd D:/Codespace/sap-cli python main.py [options] # 或 python -m sapcli [options] ``` ## 规则体系(必须遵守) | 规则文件 | 核心内容 | |----------|----------| | [`sap-tool-constraints.md`](.claude/rules/sap-tool-constraints.md) | 🚫 禁止绕过 sap-cli 直接操作 SAP、禁止修改标准对象、禁止操作系统表 | | [`error-handling.md`](.claude/rules/error-handling.md) | 命令失败时的诊断流程和处理原则 | > ⚠️ **这些规则由 Hooks 强制执行**,违反会被直接拦截。 ## 命令速查 ### CRUD(对象生命周期) ```bash python main.py create --name ZMY_CLASS --type class --corr_nr DEVK901XXX python main.py delete --name ZMY_CLASS --type class python main.py download --name ZMY_CLASS --type class --path ./out python main.py info --name ZMY_CLASS --type class python main.py sync --name ZMY_CLASS --type class --path ./src/classes/zmy_class.abap --corr_nr DEVK901XXX python main.py activate --name ZMY_CLASS --type class ``` ### 批量操作 ```bash python main.py init --path D:/Codespace/SAPilot/src python main.py refresh --path D:/Codespace/SAPilot/src python main.py sync --all --path D:/Codespace/SAPilot/src --corr_nr DEVK901362 python main.py sync --all --path D:/Codespace/SAPilot/src --corr_nr DEVK901362 --dry-run ``` ### 数据查询 ```bash python main.py show-table --name ZSAPILOT_OBJ # 表结构(字段列表) python main.py read-table --name ZSAPILOT_OBJ # 表数据(freestyle SQL) python main.py read-table --name ZSAPILOT_OBJ --max-rows 50 python main.py list --type class --package ZSAPILOT # 列出对象 python main.py whereused --name ZMY_CLASS --type class # Where-Used python main.py search --pattern "sapilot" --type class # 源码搜索 ``` ### 远程执行 ```bash python main.py run-program --name ZSAPILOT_SETUP # 执行 ABAP 程序 python main.py diff --name ZMY_CLASS --type class --path ./src/classes/zmy_class.abap ``` ### 传输请求 ```bash python main.py transport list python main.py transport info --corr_nr DEVK901362 python main.py transport release --corr_nr DEVK901362 python main.py transport objects --corr_nr DEVK901362 ``` ### 配置与认证 ```bash python main.py config show python main.py config list-profiles python main.py config set host s4h.example.com python main.py auth login python main.py auth status ``` ### 其他 ```bash python main.py check --name ZMY_CLASS --type class # ATC 代码检查 python main.py format --name ZMY_CLASS --type class # Pretty Printer python main.py package info --name ZSAPILOT python main.py cds download --name ZMY_CDS python main.py analyze --path ./src # 依赖分析 python main.py scaffold --type alv-report --name ZMY_RPT # 项目模板 ``` ## 支持的对象类型(16 种) `report` `class` `interface` `function` `functiongroup` `domain` `dataelement` `table` `structure` `tabletype` `include` `cdsview` `messageclass` `view` `searchhelp` `lockobject` ## 关键参数 | 参数 | 说明 | |------|------| | `--corr_nr DEVK901XXX` | 传输请求号(必带,否则触发交互提示) | | `--path ` | 本地文件或项目目录路径 | | `--dry-run` | 预览不执行 | | `--definition ` | DDIC 对象创建定义(JSON 文件) | | `--profile ` | 使用指定配置 profile | | `--verify-ssl` | 启用 SSL 验证(默认关闭) | ## 批量同步依赖排序 ``` domain(10) → dataelement(20) → table(30) → tabletype(40) → interface(50) → class(60) → function(70) → report(80) ``` ## 配置文件 - `config.ini` — SAP 连接配置(host, client, user, password) - 测试环境配置复用此文件 ## 文档索引 | 文档 | 用途 | |------|------| | `README.md` | 价值说明、快速开始 | | `FEATURES.md` | 命令矩阵、对象类型全景 | | `docs/guide.md` | 详细命令用法、参数、输出示例 | | `docs/adt/` | ADT REST API 学习笔记 | | `docs/NW740-COMPATIBILITY.md` | NW 7.40 真实系统兼容性矩阵 | | `docs/dev/` | 开发者文档 |