Files
sap-cli-skill/assets/sapcli/commands/__init__.py
T
吴让宇 c06e350f6d
CI / test (3.10) (push) Waiting to run
CI / test (3.11) (push) Waiting to run
CI / test (3.12) (push) Waiting to run
feat: bgRFC/FM 支撑能力 + ADT 后缀剥离与 CLAS 激活修复(B1 配套)
新增能力:
- remote-enable 子命令:设置函数模块处理类型为远程启用(bgRFC/RFC 执行体必需)。
  实现要点均按实机验证:PUT fmodule:processingType="rfc"(枚举值仅小写 rfc 有效,
  remoteEnabled/remote/RFC 等均 400);lockHandle 走 query 参数(放 header 报
  ParameterNotFound);PUT 后 GET 复核回显;DDIC 结构参数才可远程启用(类本地类型
  报"针对 RFC 不允许使用类或接口的类型")。
- create --type functiongroup 透传 --package / --corr_nr(此前 package 被静默写成 $TMP,
  导致函数组无法归目标包)。

修复:
- activate 请求体补重复引用:ADT CLAS 激活端点对 objectReferences 只有 1 个引用时
  返回 HTTP 200 + 空 body 且不执行激活;引用数 ≥2 才真正激活(同对象重复亦可)。
- scanner 剥离 ADT 文件后缀(xxx.clas.abap 解析错误)。

守卫测试:
- tests/unit/test_bgrfc_support.py(17 例):函数组 package 透传、processingType 助手、
  remote-enable 命令(含 lockHandle 走 query/小写 rfc/错误透传/复核失配判失败)、
  函数 URI 组装不得用组名冒充模块名。
- test_activate.py 增加激活请求体引用数守卫;test_repo_guards.py 增加后缀剥离守卫。

测试:tests/unit 676 + tests/test_sapcli.py 69 = 745 全绿
(PYTHONPATH=assets python -m unittest discover -s tests/unit -t tests)
2026-09-15 22:51:35 +08:00

114 lines
2.1 KiB
Python

"""sapcli 命令模块包。
将原 commands.py 按功能拆分为多个子模块,保持统一的导出接口。
"""
from sapcli.commands.crud import (
cmd_create,
cmd_delete,
cmd_download,
cmd_info,
cmd_sync,
cmd_unlock,
)
from sapcli.commands.batch import (
cmd_init,
cmd_refresh,
cmd_sync_all,
)
from sapcli.commands.config_cmd import (
cmd_config,
)
from sapcli.commands.search import (
cmd_list,
cmd_whereused,
cmd_search,
)
from sapcli.commands.transport import (
cmd_transport,
)
from sapcli.commands.quality import (
cmd_check,
cmd_format,
)
from sapcli.commands.diff_cmd import (
cmd_diff,
)
from sapcli.commands.package_cmd import (
cmd_package,
)
from sapcli.commands.cds import (
cmd_cds,
)
from sapcli.commands.analyze import (
cmd_analyze,
)
from sapcli.commands.scaffold import (
cmd_scaffold,
)
from sapcli.commands.ddl_query import (
cmd_show_table,
cmd_read_table,
)
from sapcli.commands.program_run import (
cmd_run_program,
)
from sapcli.commands.activate import (
cmd_activate,
)
from sapcli.commands.upload import (
cmd_upload,
)
from sapcli.commands.syntax_check import (
cmd_syntax_check,
)
from sapcli.commands.unit_test import (
cmd_unit_test,
)
from sapcli.commands.history import (
cmd_history,
)
from sapcli.commands.clone import (
cmd_clone,
)
from sapcli.commands.enhancement import (
cmd_enhancement,
)
from sapcli.commands.remote_enable import (
cmd_remote_enable,
)
__all__ = [
"cmd_create",
"cmd_delete",
"cmd_unlock",
"cmd_download",
"cmd_info",
"cmd_init",
"cmd_refresh",
"cmd_sync",
"cmd_sync_all",
"cmd_config",
"cmd_list",
"cmd_whereused",
"cmd_search",
"cmd_transport",
"cmd_check",
"cmd_format",
"cmd_diff",
"cmd_package",
"cmd_cds",
"cmd_analyze",
"cmd_scaffold",
"cmd_show_table",
"cmd_read_table",
"cmd_run_program",
"cmd_activate",
"cmd_upload",
"cmd_syntax_check",
"cmd_unit_test",
"cmd_history",
"cmd_clone",
"cmd_enhancement",
"cmd_remote_enable",
]