v2.3.0: info 新增开发包/传输请求字段 (纯只读 E071)

- info 输出新增「开发包」(packageRef)、「传输请求」(纯只读查 E071)

- 优雅降级: 无请求/查询失败/非独立传输对象, 不中断 info

- bump 2.2.1 -> 2.3.0

- pack 从源码同步 (含 parser/transport 最新代码)
This commit is contained in:
WuRangyu
2026-08-06 11:57:36 +08:00
parent 607445b338
commit 02bc2c5165
7 changed files with 381 additions and 193 deletions
+29
View File
@@ -227,6 +227,35 @@ def all_type_keys() -> list[str]:
return list(_OBJECT_TYPE_REGISTRY.keys())
# sap-cli 类型 → SAP 传输系统 R3TR 对象代码(用于查 E071 表)。
# None 表示该类型非独立 R3TR 对象,查 E071 无意义。
_R3TR_OBJECT_CODE: dict[str, str | None] = {
"report": "PROG",
"class": "CLAS",
"interface": "INTF",
"function": None, # 函数模块属函数组(FUGR),非独立 R3TR
"functiongroup": "FUGR",
"domain": "DOMA",
"dataelement": "DTEL",
"table": "TABL",
"structure": "TABL",
"tabletype": "TTYP",
"include": None, # Include 属所属程序,非独立 R3TR
"cdsview": "DDLS",
"messageclass": "MSAG",
"view": "VIEW",
"searchhelp": "SHLP",
"lockobject": "ENQU",
"dcl": "DCLS",
"ddlX": "DDLX",
}
def get_r3tr_object_code(key: str) -> str | None:
"""返回对象类型对应的 SAP R3TR 传输对象代码;无独立代码返回 None。"""
return _R3TR_OBJECT_CODE.get(key)
@dataclass(frozen=True)
class ParsedName:
obj_uri: str