@qwe8652591/abap-recursive-query 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +223 -0
- package/dist/cli/consumer-cli.d.ts +8 -0
- package/dist/cli/consumer-cli.d.ts.map +1 -0
- package/dist/cli/consumer-cli.js +180 -0
- package/dist/cli/producer-cli.d.ts +8 -0
- package/dist/cli/producer-cli.d.ts.map +1 -0
- package/dist/cli/producer-cli.js +249 -0
- package/dist/cli/query-object.d.ts +3 -0
- package/dist/cli/query-object.d.ts.map +1 -0
- package/dist/cli/query-object.js +486 -0
- package/dist/common/FilterCache.d.ts +62 -0
- package/dist/common/FilterCache.d.ts.map +1 -0
- package/dist/common/FilterCache.js +119 -0
- package/dist/common/RedisQueueManager.d.ts +170 -0
- package/dist/common/RedisQueueManager.d.ts.map +1 -0
- package/dist/common/RedisQueueManager.js +663 -0
- package/dist/common/abapStructures.d.ts +391 -0
- package/dist/common/abapStructures.d.ts.map +1 -0
- package/dist/common/abapStructures.js +2 -0
- package/dist/common/config.d.ts +66 -0
- package/dist/common/config.d.ts.map +1 -0
- package/dist/common/config.js +56 -0
- package/dist/common/index.d.ts +13 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +38 -0
- package/dist/common/recursiveQueryConfig.d.ts +77 -0
- package/dist/common/recursiveQueryConfig.d.ts.map +1 -0
- package/dist/common/recursiveQueryConfig.js +129 -0
- package/dist/common/tableStructures.d.ts +176 -0
- package/dist/common/tableStructures.d.ts.map +1 -0
- package/dist/common/tableStructures.js +10 -0
- package/dist/common/types.d.ts +104 -0
- package/dist/common/types.d.ts.map +1 -0
- package/dist/common/types.js +31 -0
- package/dist/common/utils.d.ts +57 -0
- package/dist/common/utils.d.ts.map +1 -0
- package/dist/common/utils.js +300 -0
- package/dist/consumer/FileDownloadConsumer.d.ts +127 -0
- package/dist/consumer/FileDownloadConsumer.d.ts.map +1 -0
- package/dist/consumer/FileDownloadConsumer.js +1003 -0
- package/dist/consumer/generators/baseGenerator.d.ts +38 -0
- package/dist/consumer/generators/baseGenerator.d.ts.map +1 -0
- package/dist/consumer/generators/baseGenerator.js +103 -0
- package/dist/consumer/generators/domainGenerator.d.ts +78 -0
- package/dist/consumer/generators/domainGenerator.d.ts.map +1 -0
- package/dist/consumer/generators/domainGenerator.js +241 -0
- package/dist/consumer/generators/guiStatusGenerator.d.ts +16 -0
- package/dist/consumer/generators/guiStatusGenerator.d.ts.map +1 -0
- package/dist/consumer/generators/guiStatusGenerator.js +48 -0
- package/dist/consumer/generators/guiTitleGenerator.d.ts +16 -0
- package/dist/consumer/generators/guiTitleGenerator.d.ts.map +1 -0
- package/dist/consumer/generators/guiTitleGenerator.js +48 -0
- package/dist/consumer/generators/index.d.ts +14 -0
- package/dist/consumer/generators/index.d.ts.map +1 -0
- package/dist/consumer/generators/index.js +38 -0
- package/dist/consumer/generators/messageGenerator.d.ts +16 -0
- package/dist/consumer/generators/messageGenerator.d.ts.map +1 -0
- package/dist/consumer/generators/messageGenerator.js +73 -0
- package/dist/consumer/generators/metadataGenerator.d.ts +29 -0
- package/dist/consumer/generators/metadataGenerator.d.ts.map +1 -0
- package/dist/consumer/generators/metadataGenerator.js +135 -0
- package/dist/consumer/generators/screenGenerator.d.ts +173 -0
- package/dist/consumer/generators/screenGenerator.d.ts.map +1 -0
- package/dist/consumer/generators/screenGenerator.js +859 -0
- package/dist/consumer/generators/structureGenerator.d.ts +36 -0
- package/dist/consumer/generators/structureGenerator.d.ts.map +1 -0
- package/dist/consumer/generators/structureGenerator.js +131 -0
- package/dist/consumer/generators/textElementGenerator.d.ts +16 -0
- package/dist/consumer/generators/textElementGenerator.d.ts.map +1 -0
- package/dist/consumer/generators/textElementGenerator.js +70 -0
- package/dist/consumer/handlers/handleGetClass.d.ts +8 -0
- package/dist/consumer/handlers/handleGetClass.d.ts.map +1 -0
- package/dist/consumer/handlers/handleGetClass.js +18 -0
- package/dist/consumer/handlers/handleGetFunction.d.ts +8 -0
- package/dist/consumer/handlers/handleGetFunction.d.ts.map +1 -0
- package/dist/consumer/handlers/handleGetFunction.js +19 -0
- package/dist/consumer/handlers/handleGetFunctionGroup.d.ts +8 -0
- package/dist/consumer/handlers/handleGetFunctionGroup.d.ts.map +1 -0
- package/dist/consumer/handlers/handleGetFunctionGroup.js +19 -0
- package/dist/consumer/handlers/handleGetInclude.d.ts +8 -0
- package/dist/consumer/handlers/handleGetInclude.d.ts.map +1 -0
- package/dist/consumer/handlers/handleGetInclude.js +18 -0
- package/dist/consumer/handlers/handleGetProgram.d.ts +8 -0
- package/dist/consumer/handlers/handleGetProgram.d.ts.map +1 -0
- package/dist/consumer/handlers/handleGetProgram.js +27 -0
- package/dist/consumer/handlers/handleZTableQuery.d.ts +8 -0
- package/dist/consumer/handlers/handleZTableQuery.d.ts.map +1 -0
- package/dist/consumer/handlers/handleZTableQuery.js +20 -0
- package/dist/consumer/handlers/index.d.ts +10 -0
- package/dist/consumer/handlers/index.d.ts.map +1 -0
- package/dist/consumer/handlers/index.js +27 -0
- package/dist/consumer/index.d.ts +9 -0
- package/dist/consumer/index.d.ts.map +1 -0
- package/dist/consumer/index.js +24 -0
- package/dist/consumer/utils/download.d.ts +13 -0
- package/dist/consumer/utils/download.d.ts.map +1 -0
- package/dist/consumer/utils/download.js +38 -0
- package/dist/consumer/utils/index.d.ts +5 -0
- package/dist/consumer/utils/index.d.ts.map +1 -0
- package/dist/consumer/utils/index.js +20 -0
- package/dist/handlers/handleGetClass.d.ts +8 -0
- package/dist/handlers/handleGetClass.d.ts.map +1 -0
- package/dist/handlers/handleGetClass.js +19 -0
- package/dist/handlers/handleGetFunction.d.ts +8 -0
- package/dist/handlers/handleGetFunction.d.ts.map +1 -0
- package/dist/handlers/handleGetFunction.js +20 -0
- package/dist/handlers/handleGetFunctionGroup.d.ts +8 -0
- package/dist/handlers/handleGetFunctionGroup.d.ts.map +1 -0
- package/dist/handlers/handleGetFunctionGroup.js +19 -0
- package/dist/handlers/handleGetInclude.d.ts +8 -0
- package/dist/handlers/handleGetInclude.d.ts.map +1 -0
- package/dist/handlers/handleGetInclude.js +19 -0
- package/dist/handlers/handleGetInterface.d.ts +8 -0
- package/dist/handlers/handleGetInterface.d.ts.map +1 -0
- package/dist/handlers/handleGetInterface.js +19 -0
- package/dist/handlers/handleGetPackage.d.ts +8 -0
- package/dist/handlers/handleGetPackage.d.ts.map +1 -0
- package/dist/handlers/handleGetPackage.js +42 -0
- package/dist/handlers/handleGetProgram.d.ts +8 -0
- package/dist/handlers/handleGetProgram.d.ts.map +1 -0
- package/dist/handlers/handleGetProgram.js +19 -0
- package/dist/handlers/handleGetStructure.d.ts +8 -0
- package/dist/handlers/handleGetStructure.d.ts.map +1 -0
- package/dist/handlers/handleGetStructure.js +19 -0
- package/dist/handlers/handleGetTable.d.ts +8 -0
- package/dist/handlers/handleGetTable.d.ts.map +1 -0
- package/dist/handlers/handleGetTable.js +19 -0
- package/dist/handlers/handleGetTableContents.d.ts +8 -0
- package/dist/handlers/handleGetTableContents.d.ts.map +1 -0
- package/dist/handlers/handleGetTableContents.js +22 -0
- package/dist/handlers/handleGetTransaction.d.ts +8 -0
- package/dist/handlers/handleGetTransaction.d.ts.map +1 -0
- package/dist/handlers/handleGetTransaction.js +19 -0
- package/dist/handlers/handleGetTypeInfo.d.ts +8 -0
- package/dist/handlers/handleGetTypeInfo.d.ts.map +1 -0
- package/dist/handlers/handleGetTypeInfo.js +32 -0
- package/dist/handlers/handleSearchObject.d.ts +8 -0
- package/dist/handlers/handleSearchObject.d.ts.map +1 -0
- package/dist/handlers/handleSearchObject.js +20 -0
- package/dist/handlers/handleZObjectQuery.d.ts +8 -0
- package/dist/handlers/handleZObjectQuery.d.ts.map +1 -0
- package/dist/handlers/handleZObjectQuery.js +25 -0
- package/dist/handlers/handleZTableQuery.d.ts +8 -0
- package/dist/handlers/handleZTableQuery.d.ts.map +1 -0
- package/dist/handlers/handleZTableQuery.js +20 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/lib/download.d.ts +49 -0
- package/dist/lib/download.d.ts.map +1 -0
- package/dist/lib/download.js +78 -0
- package/dist/lib/index.d.ts +9 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +23 -0
- package/dist/lib/utils.d.ts +31 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +272 -0
- package/dist/producer/RecursiveQueryProducer.d.ts +92 -0
- package/dist/producer/RecursiveQueryProducer.d.ts.map +1 -0
- package/dist/producer/RecursiveQueryProducer.js +496 -0
- package/dist/producer/handlers/handleZObjectQuery.d.ts +8 -0
- package/dist/producer/handlers/handleZObjectQuery.d.ts.map +1 -0
- package/dist/producer/handlers/handleZObjectQuery.js +24 -0
- package/dist/producer/handlers/index.d.ts +6 -0
- package/dist/producer/handlers/index.d.ts.map +1 -0
- package/dist/producer/handlers/index.js +21 -0
- package/dist/producer/index.d.ts +7 -0
- package/dist/producer/index.d.ts.map +1 -0
- package/dist/producer/index.js +22 -0
- package/dist/recursive/abapStructures.d.ts +377 -0
- package/dist/recursive/abapStructures.d.ts.map +1 -0
- package/dist/recursive/abapStructures.js +2 -0
- package/dist/recursive/generate/baseGenerator.d.ts +34 -0
- package/dist/recursive/generate/baseGenerator.d.ts.map +1 -0
- package/dist/recursive/generate/baseGenerator.js +112 -0
- package/dist/recursive/generate/domainGenerator.d.ts +26 -0
- package/dist/recursive/generate/domainGenerator.d.ts.map +1 -0
- package/dist/recursive/generate/domainGenerator.js +128 -0
- package/dist/recursive/generate/functionGroupGenerator.d.ts +30 -0
- package/dist/recursive/generate/functionGroupGenerator.d.ts.map +1 -0
- package/dist/recursive/generate/functionGroupGenerator.js +90 -0
- package/dist/recursive/generate/index.d.ts +12 -0
- package/dist/recursive/generate/index.d.ts.map +1 -0
- package/dist/recursive/generate/index.js +34 -0
- package/dist/recursive/generate/messageGenerator.d.ts +16 -0
- package/dist/recursive/generate/messageGenerator.d.ts.map +1 -0
- package/dist/recursive/generate/messageGenerator.js +73 -0
- package/dist/recursive/generate/screenGenerator.d.ts +173 -0
- package/dist/recursive/generate/screenGenerator.d.ts.map +1 -0
- package/dist/recursive/generate/screenGenerator.js +858 -0
- package/dist/recursive/generate/structureGenerator.d.ts +22 -0
- package/dist/recursive/generate/structureGenerator.d.ts.map +1 -0
- package/dist/recursive/generate/structureGenerator.js +88 -0
- package/dist/recursive/generate/textElementGenerator.d.ts +16 -0
- package/dist/recursive/generate/textElementGenerator.d.ts.map +1 -0
- package/dist/recursive/generate/textElementGenerator.js +68 -0
- package/dist/recursive/handleRecursiveObjectQuery.d.ts +94 -0
- package/dist/recursive/handleRecursiveObjectQuery.d.ts.map +1 -0
- package/dist/recursive/handleRecursiveObjectQuery.js +219 -0
- package/dist/recursive/recursiveObjectQuery.d.ts +159 -0
- package/dist/recursive/recursiveObjectQuery.d.ts.map +1 -0
- package/dist/recursive/recursiveObjectQuery.js +1358 -0
- package/dist/recursive/recursiveQueryConfig.d.ts +129 -0
- package/dist/recursive/recursiveQueryConfig.d.ts.map +1 -0
- package/dist/recursive/recursiveQueryConfig.js +133 -0
- package/dist/recursive/tableStructures.d.ts +196 -0
- package/dist/recursive/tableStructures.d.ts.map +1 -0
- package/dist/recursive/tableStructures.js +10 -0
- package/package.json +47 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 递归查询配置文件
|
|
3
|
+
*/
|
|
4
|
+
export interface RecursiveQueryConfig {
|
|
5
|
+
/** 最大递归深度 */
|
|
6
|
+
maxRecursionDepth: number;
|
|
7
|
+
/** 下载根路径 */
|
|
8
|
+
downloadRootPath: string;
|
|
9
|
+
/** 是否下载include文件 */
|
|
10
|
+
downloadIncludes: boolean;
|
|
11
|
+
/** 是否下载结构体 */
|
|
12
|
+
downloadStructures: boolean;
|
|
13
|
+
/** 是否递归查询类 */
|
|
14
|
+
recursiveClasses: boolean;
|
|
15
|
+
/** 是否递归查询函数 */
|
|
16
|
+
recursiveFunctions: boolean;
|
|
17
|
+
/** 是否递归查询程序 */
|
|
18
|
+
recursivePrograms: boolean;
|
|
19
|
+
/** 循环引用检测 */
|
|
20
|
+
enableCircularReferenceCheck: boolean;
|
|
21
|
+
/** 并发请求限制 */
|
|
22
|
+
concurrentRequestLimit: number;
|
|
23
|
+
/** 请求间隔时间(毫秒) */
|
|
24
|
+
requestInterval: number;
|
|
25
|
+
/** 递归过滤规则 - 匹配的对象不进行递归查询 */
|
|
26
|
+
recursionFilters?: {
|
|
27
|
+
/** 排除的对象名称列表(精确匹配) */
|
|
28
|
+
excludeNames?: string[];
|
|
29
|
+
/** 排除的对象名称模式(支持通配符 * 和 ?) */
|
|
30
|
+
excludeNamePatterns?: string[];
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 默认过滤规则
|
|
35
|
+
* 这些是推荐的通用过滤规则,可以避免递归查询大量标准 SAP 对象
|
|
36
|
+
* 主要过滤与业务逻辑无关的 SAP 框架、系统工具和技术组件
|
|
37
|
+
*/
|
|
38
|
+
export declare const defaultFilters: {
|
|
39
|
+
excludeNames: string[];
|
|
40
|
+
excludeNamePatterns: string[];
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* 默认配置
|
|
44
|
+
*/
|
|
45
|
+
export declare const defaultConfig: RecursiveQueryConfig;
|
|
46
|
+
/**
|
|
47
|
+
* 递归查询结果
|
|
48
|
+
*/
|
|
49
|
+
export interface RecursiveQueryResult {
|
|
50
|
+
/** 原始查询对象 */
|
|
51
|
+
originalObject: any;
|
|
52
|
+
/** 递归查询的所有对象映射 */
|
|
53
|
+
allObjects: Map<string, any>;
|
|
54
|
+
/** 递归统计信息 */
|
|
55
|
+
statistics: {
|
|
56
|
+
totalObjects: number;
|
|
57
|
+
totalClasses: number;
|
|
58
|
+
totalFunctions: number;
|
|
59
|
+
totalPrograms: number;
|
|
60
|
+
totalIncludes: number;
|
|
61
|
+
totalStructures: number;
|
|
62
|
+
totalDomains: number;
|
|
63
|
+
downloadedIncludes: number;
|
|
64
|
+
downloadedStructures: number;
|
|
65
|
+
downloadedDomains: number;
|
|
66
|
+
maxDepthReached: number;
|
|
67
|
+
circularReferences: number;
|
|
68
|
+
};
|
|
69
|
+
/** 错误信息 */
|
|
70
|
+
errors: string[];
|
|
71
|
+
/** 总对象数 */
|
|
72
|
+
totalObjects: number;
|
|
73
|
+
/** 成功下载对象数 */
|
|
74
|
+
downloadedObjects: number;
|
|
75
|
+
/** 失败对象数 */
|
|
76
|
+
failedObjects: number;
|
|
77
|
+
/** 跳过对象数 */
|
|
78
|
+
skippedObjects: number;
|
|
79
|
+
/** 总文件数 */
|
|
80
|
+
totalFiles: number;
|
|
81
|
+
/** 成功下载文件数 */
|
|
82
|
+
downloadedFilesCount: number;
|
|
83
|
+
/** 失败文件数 */
|
|
84
|
+
failedFiles: number;
|
|
85
|
+
/** 对象详情列表 */
|
|
86
|
+
objectDetails: Array<{
|
|
87
|
+
objectType: string;
|
|
88
|
+
objectName: string;
|
|
89
|
+
status: 'success' | 'failed';
|
|
90
|
+
error?: string;
|
|
91
|
+
timestamp: Date;
|
|
92
|
+
}>;
|
|
93
|
+
/** 下载的文件信息 */
|
|
94
|
+
downloadedFiles: Array<{
|
|
95
|
+
objectName: string;
|
|
96
|
+
objectType: string;
|
|
97
|
+
filePath: string;
|
|
98
|
+
success: boolean;
|
|
99
|
+
error?: string;
|
|
100
|
+
metadata?: any;
|
|
101
|
+
}>;
|
|
102
|
+
/** 被过滤的对象信息 */
|
|
103
|
+
filteredObjects: Array<{
|
|
104
|
+
objectType: string;
|
|
105
|
+
objectName: string;
|
|
106
|
+
reason: string;
|
|
107
|
+
filterType: 'exact' | 'pattern';
|
|
108
|
+
filterRule?: string;
|
|
109
|
+
timestamp: Date;
|
|
110
|
+
}>;
|
|
111
|
+
/** 开始时间 */
|
|
112
|
+
startTime: Date;
|
|
113
|
+
/** 结束时间 */
|
|
114
|
+
endTime: Date;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* 递归查询上下文
|
|
118
|
+
*/
|
|
119
|
+
export interface RecursiveQueryContext {
|
|
120
|
+
/** 当前递归深度 */
|
|
121
|
+
currentDepth: number;
|
|
122
|
+
/** 已访问的对象路径(用于循环引用检测) */
|
|
123
|
+
visitedPaths: Set<string>;
|
|
124
|
+
/** 对象依赖关系图 */
|
|
125
|
+
dependencyGraph: Map<string, Set<string>>;
|
|
126
|
+
/** 查询配置 */
|
|
127
|
+
config: RecursiveQueryConfig;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=recursiveQueryConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recursiveQueryConfig.d.ts","sourceRoot":"","sources":["../../src/recursive/recursiveQueryConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultConfig = exports.defaultFilters = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 默认过滤规则
|
|
6
|
+
* 这些是推荐的通用过滤规则,可以避免递归查询大量标准 SAP 对象
|
|
7
|
+
* 主要过滤与业务逻辑无关的 SAP 框架、系统工具和技术组件
|
|
8
|
+
*/
|
|
9
|
+
exports.defaultFilters = {
|
|
10
|
+
excludeNames: [
|
|
11
|
+
// 常见的系统程序
|
|
12
|
+
'SAPLSMTR',
|
|
13
|
+
'SAPLSMTR_NAVIGATION',
|
|
14
|
+
'SAPLSTRD',
|
|
15
|
+
'SAPLSLVC',
|
|
16
|
+
'SAPLSLVC_FULLSCREEN',
|
|
17
|
+
'SAPLSBAL',
|
|
18
|
+
'SAPLSPOL',
|
|
19
|
+
'SAPLSTXB',
|
|
20
|
+
'SAPMSSY0',
|
|
21
|
+
'SAPMSSY1',
|
|
22
|
+
'SAPMSSY3',
|
|
23
|
+
'SAPMSSYD'
|
|
24
|
+
],
|
|
25
|
+
excludeNamePatterns: [
|
|
26
|
+
// ============ SAP 标准对象和命名空间 ============
|
|
27
|
+
'SAP*', // SAP 标准程序和对象
|
|
28
|
+
'/SAP/*', // SAP 命名空间
|
|
29
|
+
'/1*', // SAP 内部命名空间
|
|
30
|
+
// ============ Repository 和系统工具 ============
|
|
31
|
+
'RS*', // Repository 工具 (SE80, SE11等)
|
|
32
|
+
'RM*', // 报表管理器
|
|
33
|
+
'SE*', // 系统编辑器相关
|
|
34
|
+
'SY*', // 系统相关
|
|
35
|
+
'RSSCD*', // 变更文档
|
|
36
|
+
'RSTS*', // 测试工具
|
|
37
|
+
// ============ GUI 和 ALV 框架 ============
|
|
38
|
+
'CL_GUI_*', // GUI 控制类
|
|
39
|
+
'CL_ALV_*', // ALV 表格类
|
|
40
|
+
'CL_SALV_*', // 新版 ALV 类
|
|
41
|
+
'SAPLSALV*', // ALV 函数组
|
|
42
|
+
// ============ ABAP 基础框架类 ============
|
|
43
|
+
'CL_ABAP_*', // ABAP 基础类(类型描述、反射等)
|
|
44
|
+
'CL_SYSTEM_*', // 系统类
|
|
45
|
+
'CL_OS_*', // 操作系统相关类
|
|
46
|
+
// ============ Web Dynpro 框架 ============
|
|
47
|
+
'CL_WD_*', // Web Dynpro 类
|
|
48
|
+
'CL_WDR_*', // Web Dynpro Runtime
|
|
49
|
+
'/IWBEP/*', // Gateway Business Enablement
|
|
50
|
+
'/IWFND/*', // Gateway Foundation
|
|
51
|
+
'/IWCOR/*', // Gateway Core
|
|
52
|
+
// ============ OData 和 REST 框架 ============
|
|
53
|
+
'CL_REST_*', // REST 框架
|
|
54
|
+
'/IWMB/*', // Model Builder
|
|
55
|
+
'/IWSRV/*', // Service 相关
|
|
56
|
+
// ============ UI5 和 Fiori 框架 ============
|
|
57
|
+
'/UI2/*', // UI2 框架
|
|
58
|
+
'/UI5/*', // UI5 框架
|
|
59
|
+
'/NEPTUNE/*', // Neptune (低代码平台)
|
|
60
|
+
// ============ HTTP、网络和通信框架 ============
|
|
61
|
+
'CL_HTTP_*', // HTTP 客户端/服务器
|
|
62
|
+
'CL_PROXY_*', // 代理类
|
|
63
|
+
'CL_SOAP_*', // SOAP 框架
|
|
64
|
+
'CL_REST_*', // REST 框架
|
|
65
|
+
// ============ XML、JSON 数据处理框架 ============
|
|
66
|
+
'CL_XML_*', // XML 处理
|
|
67
|
+
'CL_JSON_*', // JSON 处理
|
|
68
|
+
'CL_IXML_*', // iXML 处理
|
|
69
|
+
'CL_SXML_*', // Simple XML
|
|
70
|
+
'CL_XSLT_*', // XSLT 处理
|
|
71
|
+
// ============ BCS 邮件和消息框架 ============
|
|
72
|
+
'CL_BCS*', // Business Communication Services (邮件)
|
|
73
|
+
'CL_CAM_*', // Communication Application
|
|
74
|
+
'CL_SWF_*', // 工作流
|
|
75
|
+
// ============ 数据库和持久化框架 ============
|
|
76
|
+
'CL_SQL_*', // SQL 相关
|
|
77
|
+
'CL_OSQL_*', // Open SQL
|
|
78
|
+
// ============ Dynpro (经典屏幕) 框架 ============
|
|
79
|
+
'CL_DYNP_*', // Dynpro 相关
|
|
80
|
+
// ============ BAPI 和标准接口框架 ============
|
|
81
|
+
'BAPI_*', // 标准 BAPI (如果只关注自定义业务)
|
|
82
|
+
// ============ 日志和监控框架 ============
|
|
83
|
+
'CL_LOGGER*', // 日志框架
|
|
84
|
+
'CL_SLG*', // Application Log
|
|
85
|
+
'CL_ATRA*', // Application Trace
|
|
86
|
+
// ============ 安全和授权框架 ============
|
|
87
|
+
'CL_AUTH*', // 权限检查
|
|
88
|
+
'CL_SEC*', // 安全相关
|
|
89
|
+
// ============ 打印和输出框架 ============
|
|
90
|
+
'CL_SMARTFORM*', // Smartforms
|
|
91
|
+
'CL_SSF_*', // SSF (Smart Style)
|
|
92
|
+
'CL_FP_*', // Forms (Adobe Forms等)
|
|
93
|
+
// ============ 工具和实用类 ============
|
|
94
|
+
'CL_DEMO_*', // 演示类
|
|
95
|
+
'CL_PROGRESS_*', // 进度指示器
|
|
96
|
+
'CL_DD_*', // Data Dictionary
|
|
97
|
+
// ============ 批处理和后台处理 ============
|
|
98
|
+
'CL_BP_*', // 批处理相关
|
|
99
|
+
'CL_BATCH*', // 批处理
|
|
100
|
+
// ============ BASIS 技术组件 ============
|
|
101
|
+
'CL_SPOOL*', // Spool 系统
|
|
102
|
+
'CL_BATCH*', // 批处理输入
|
|
103
|
+
// ============ 标准函数组 (SAP 系统层面) ============
|
|
104
|
+
'SAPL*', // 大多数 SAP 标准函数组以 SAPL 开头
|
|
105
|
+
// ============ 标准表和结构 (系统级别) ============
|
|
106
|
+
'STANDARD', // 标准表类型
|
|
107
|
+
'SYSUUID*', // 系统 UUID
|
|
108
|
+
'DD*', // Data Dictionary 对象
|
|
109
|
+
// ============ 旧版本兼容性对象 ============
|
|
110
|
+
'*_LEGACY',
|
|
111
|
+
'*_COMPAT',
|
|
112
|
+
'*_DEPRECATED'
|
|
113
|
+
]
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* 默认配置
|
|
117
|
+
*/
|
|
118
|
+
exports.defaultConfig = {
|
|
119
|
+
maxRecursionDepth: 1,
|
|
120
|
+
downloadRootPath: './downloads',
|
|
121
|
+
downloadIncludes: true,
|
|
122
|
+
downloadStructures: true,
|
|
123
|
+
recursiveClasses: true,
|
|
124
|
+
recursiveFunctions: true,
|
|
125
|
+
recursivePrograms: true,
|
|
126
|
+
enableCircularReferenceCheck: true,
|
|
127
|
+
concurrentRequestLimit: 10,
|
|
128
|
+
requestInterval: 100,
|
|
129
|
+
recursionFilters: {
|
|
130
|
+
excludeNames: [],
|
|
131
|
+
excludeNamePatterns: []
|
|
132
|
+
}
|
|
133
|
+
};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 数据库表结构定义
|
|
3
|
+
* 对应 table.json 文件的结构定义
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* 此文件包含了 SAP 数据库表、字段、索引的完整结构定义
|
|
7
|
+
* 用于解析和处理从 SAP 系统导出的表结构信息
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* 数据库表信息结构
|
|
11
|
+
* 对应 table.json 中的 GT_TABLES 节点
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* {
|
|
16
|
+
* IDX: 1,
|
|
17
|
+
* TABNAME: "EKKO",
|
|
18
|
+
* TABCLASS: "TRANSP",
|
|
19
|
+
* DDTEXT_ZH: "采购凭证抬头",
|
|
20
|
+
* DDTEXT_EN: "Purchasing Document Header"
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export interface TableInfo {
|
|
25
|
+
/** 索引序号 */
|
|
26
|
+
IDX?: number;
|
|
27
|
+
/** 表名 */
|
|
28
|
+
TABNAME: string;
|
|
29
|
+
/** 表类别 (如 TRANSP: 透明表, POOL: 池表, CLUSTER: 簇表) */
|
|
30
|
+
TABCLASS?: string;
|
|
31
|
+
/** 中文描述 */
|
|
32
|
+
DDTEXT_ZH?: string;
|
|
33
|
+
/** 英文描述 */
|
|
34
|
+
DDTEXT_EN?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 数据库表字段信息结构
|
|
38
|
+
* 对应 table.json 中的 GT_FIELDS 节点
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* {
|
|
43
|
+
* IDX: 1,
|
|
44
|
+
* TABNAME: "EKKO",
|
|
45
|
+
* FIELDNAME: "OIC_DCITYC",
|
|
46
|
+
* DDTEXT_ZH: "目的地城市代码",
|
|
47
|
+
* DDTEXT_EN: "Destination city code",
|
|
48
|
+
* POSITION: 153,
|
|
49
|
+
* DATATYPE: "CHAR",
|
|
50
|
+
* LENG: 4,
|
|
51
|
+
* DECIMALS: 0,
|
|
52
|
+
* KEYFLAG: "",
|
|
53
|
+
* CHECKTABLE: "T005G",
|
|
54
|
+
* DOMNAME: "CITYC",
|
|
55
|
+
* ROLLNAME: "OIC_DCITYC"
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export interface TableField {
|
|
60
|
+
/** 索引序号 */
|
|
61
|
+
IDX?: number;
|
|
62
|
+
/** 表名 */
|
|
63
|
+
TABNAME: string;
|
|
64
|
+
/** 字段名 */
|
|
65
|
+
FIELDNAME: string;
|
|
66
|
+
/** 中文描述 */
|
|
67
|
+
DDTEXT_ZH?: string;
|
|
68
|
+
/** 英文描述 */
|
|
69
|
+
DDTEXT_EN?: string;
|
|
70
|
+
/** 字段在表中的位置 */
|
|
71
|
+
POSITION?: number;
|
|
72
|
+
/** 数据类型 (如 CHAR, NUMC, DATS, CUKY, QUAN等) */
|
|
73
|
+
DATATYPE?: string;
|
|
74
|
+
/** 字段长度 */
|
|
75
|
+
LENG?: number;
|
|
76
|
+
/** 小数位数 (用于数值类型字段) */
|
|
77
|
+
DECIMALS?: number;
|
|
78
|
+
/** 主键标志 (X表示是主键) */
|
|
79
|
+
KEYFLAG?: string;
|
|
80
|
+
/** 辅助键标志 */
|
|
81
|
+
KEYFLAG2?: string;
|
|
82
|
+
/** 必填标志 (X表示必填) */
|
|
83
|
+
MANDATORY?: string;
|
|
84
|
+
/** 备用中文描述 */
|
|
85
|
+
DDTEXT_ZH2?: string;
|
|
86
|
+
/** 检查表 (外键引用的表) */
|
|
87
|
+
CHECKTABLE?: string;
|
|
88
|
+
/** 域名 (Domain) */
|
|
89
|
+
DOMNAME?: string;
|
|
90
|
+
/** 数据元素 (Data Element/Roll Name) */
|
|
91
|
+
ROLLNAME?: string;
|
|
92
|
+
/** 带符号标志 (X表示可以带正负号) */
|
|
93
|
+
SIGNFLAG?: string;
|
|
94
|
+
/** 小写标志 (X表示允许小写) */
|
|
95
|
+
LOWERCASE?: string;
|
|
96
|
+
/** 8位长度的检查表名 */
|
|
97
|
+
CHECKTABLE_8L?: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* 数据库表索引字段结构
|
|
101
|
+
* 对应 table.json 中的 GT_INDEXS.FIELDNAME 节点
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* {
|
|
106
|
+
* FIELDNAME: "MANDT"
|
|
107
|
+
* }
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
export interface IndexField {
|
|
111
|
+
/** 索引字段名 */
|
|
112
|
+
FIELDNAME: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* 数据库表索引信息结构
|
|
116
|
+
* 对应 table.json 中的 GT_INDEXS 节点
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* {
|
|
121
|
+
* SQLTAB: "EKKO",
|
|
122
|
+
* INDEXNAME: "1",
|
|
123
|
+
* DDTEXT: "每个供应商的采购凭证",
|
|
124
|
+
* UNIQUEFLAG: "",
|
|
125
|
+
* FIELDNAME: [
|
|
126
|
+
* { FIELDNAME: "MANDT" },
|
|
127
|
+
* { FIELDNAME: "LIFNR" },
|
|
128
|
+
* { FIELDNAME: "EKORG" }
|
|
129
|
+
* ]
|
|
130
|
+
* }
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
export interface TableIndex {
|
|
134
|
+
/** 数据库表名 */
|
|
135
|
+
SQLTAB: string;
|
|
136
|
+
/** 索引名称 */
|
|
137
|
+
INDEXNAME: string;
|
|
138
|
+
/** 索引描述 */
|
|
139
|
+
DDTEXT?: string;
|
|
140
|
+
/** 唯一索引标志 (X表示唯一索引) */
|
|
141
|
+
UNIQUEFLAG?: string;
|
|
142
|
+
/** 索引字段列表 */
|
|
143
|
+
FIELDNAME?: IndexField[];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* 完整的表结构数据
|
|
147
|
+
* 对应整个 table.json 的顶层结构
|
|
148
|
+
*
|
|
149
|
+
* @description
|
|
150
|
+
* 这是从 SAP 系统导出的完整表结构信息,包含:
|
|
151
|
+
* - GT_TABLES: 表的基本信息
|
|
152
|
+
* - GT_FIELDS: 表的所有字段定义
|
|
153
|
+
* - GT_INDEXS: 表的所有索引定义
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* {
|
|
158
|
+
* GT_TABLES: [
|
|
159
|
+
* {
|
|
160
|
+
* IDX: 1,
|
|
161
|
+
* TABNAME: "EKKO",
|
|
162
|
+
* TABCLASS: "TRANSP",
|
|
163
|
+
* DDTEXT_ZH: "采购凭证抬头",
|
|
164
|
+
* DDTEXT_EN: "Purchasing Document Header"
|
|
165
|
+
* }
|
|
166
|
+
* ],
|
|
167
|
+
* GT_FIELDS: [...],
|
|
168
|
+
* GT_INDEXS: [...]
|
|
169
|
+
* }
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
export interface TableStructureData {
|
|
173
|
+
/** 表信息列表 */
|
|
174
|
+
GT_TABLES?: TableInfo[];
|
|
175
|
+
/** 字段信息列表 */
|
|
176
|
+
GT_FIELDS?: TableField[];
|
|
177
|
+
/** 索引信息列表 */
|
|
178
|
+
GT_INDEXS?: TableIndex[];
|
|
179
|
+
}
|
|
180
|
+
export interface TableData {
|
|
181
|
+
/** 索引序号 */
|
|
182
|
+
IDX?: number;
|
|
183
|
+
/** 表名 */
|
|
184
|
+
TABNAME: string;
|
|
185
|
+
/** 表类别 (如 TRANSP: 透明表, POOL: 池表, CLUSTER: 簇表) */
|
|
186
|
+
TABCLASS?: string;
|
|
187
|
+
/** 中文描述 */
|
|
188
|
+
DDTEXT_ZH?: string;
|
|
189
|
+
/** 英文描述 */
|
|
190
|
+
DDTEXT_EN?: string;
|
|
191
|
+
/** 字段信息列表 */
|
|
192
|
+
GT_FIELDS?: TableField[];
|
|
193
|
+
/** 索引信息列表 */
|
|
194
|
+
GT_INDEXS?: TableIndex[];
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=tableStructures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableStructures.d.ts","sourceRoot":"","sources":["../../src/recursive/tableStructures.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,SAAS;IACtB,WAAW;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,UAAU;IACvB,WAAW;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACvB,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,UAAU;IACvB,YAAY;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,kBAAkB;IAC/B,YAAY;IACZ,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,aAAa;IACb,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;IACzB,aAAa;IACb,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAGD,MAAM,WAAW,SAAS;IACtB,WAAW;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa;IACb,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;IACzB,aAAa;IACb,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B"}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@qwe8652591/abap-recursive-query",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"types": "dist/index.d.ts",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "jest",
|
|
8
|
+
"build": "tsc -p tsconfig.json",
|
|
9
|
+
"query": "node ./dist/cli/query-object.js",
|
|
10
|
+
"producer": "node ./dist/cli/producer-cli.js",
|
|
11
|
+
"consumer": "node ./dist/cli/consumer-cli.js"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"abap",
|
|
15
|
+
"sap",
|
|
16
|
+
"adt",
|
|
17
|
+
"download",
|
|
18
|
+
"source-code-analysis"
|
|
19
|
+
],
|
|
20
|
+
"author": "824000672@qq.com",
|
|
21
|
+
"description": "ABAP Recursive Query Tool - SAP ABAP object extraction library",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"files": [
|
|
24
|
+
"dist/**/*",
|
|
25
|
+
"LICENSE"
|
|
26
|
+
],
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/jest": "^29.5.14",
|
|
32
|
+
"@types/node": "^22.10.10",
|
|
33
|
+
"jest": "^29.7.0",
|
|
34
|
+
"ts-jest": "^29.2.5",
|
|
35
|
+
"typescript": "^5.7.3"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@abaplint/core": "^2.113.244",
|
|
39
|
+
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
40
|
+
"@qwe8652591/abap-parser": "^1.0.0",
|
|
41
|
+
"axios": "^1.7.9",
|
|
42
|
+
"dotenv": "^16.4.7",
|
|
43
|
+
"ioredis": "^5.3.2",
|
|
44
|
+
"uuid": "^10.0.0",
|
|
45
|
+
"xml-js": "^1.6.11"
|
|
46
|
+
}
|
|
47
|
+
}
|