trm-core 6.7.1 → 6.8.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/README.md +7 -2
- package/changelog.txt +7 -0
- package/dist/actions/install/checkTransports.js +1 -1
- package/dist/actions/install/commit.d.ts +3 -0
- package/dist/actions/install/commit.js +33 -0
- package/dist/actions/install/executePostActivities.js +1 -1
- package/dist/actions/install/generateInstallTransport.js +8 -0
- package/dist/actions/install/importCustTransport.js +2 -0
- package/dist/actions/install/importDevcTransport.js +2 -0
- package/dist/actions/install/importLangTransport.js +2 -0
- package/dist/actions/install/importTadirTransport.js +2 -0
- package/dist/actions/install/index.js +2 -0
- package/dist/client/RESTClient.d.ts +0 -1
- package/dist/client/RESTClient.js +0 -7
- package/dist/client/RFCClient.d.ts +1 -1
- package/dist/client/RFCClient.js +21 -9
- package/dist/commons/TrmServerUpgradeService.d.ts +0 -1
- package/dist/commons/TrmServerUpgradeService.js +0 -8
- package/dist/manifest/PostActivity.js +0 -1
- package/dist/systemConnector/ISystemConnector.d.ts +0 -1
- package/dist/systemConnector/RESTSystemConnector.d.ts +0 -1
- package/dist/systemConnector/RESTSystemConnector.js +0 -5
- package/dist/systemConnector/RFCSystemConnector.d.ts +2 -2
- package/dist/systemConnector/RFCSystemConnector.js +9 -9
- package/dist/systemConnector/SystemConnector.d.ts +0 -1
- package/dist/systemConnector/SystemConnector.js +0 -7
- package/dist/systemConnector/SystemConnectorBase.js +38 -37
- package/dist/transport/Transport.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,13 +5,18 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/trm-core)
|
|
6
6
|
[](https://www.npmjs.com/package/trm-core)
|
|
7
7
|
|
|
8
|
-
This
|
|
8
|
+
| 🚀 This project is funded and maintained by 🏦 | 🔗 |
|
|
9
|
+
|-------------------------------------------------|----------------------------------------------------------------|
|
|
10
|
+
| Regesta S.p.A. | [https://www.regestaitalia.eu/](https://www.regestaitalia.eu/) |
|
|
11
|
+
| Clarex S.r.l. | [https://www.clarex.it/](https://www.clarex.it/) |
|
|
12
|
+
|
|
13
|
+
This module contains the core functionalities of [TRM (Transport Request Manager)](https://trmregistry.com/).
|
|
9
14
|
|
|
10
15
|
TRM is a software designed to make transports between SAP ECC/S4 systems easy.
|
|
11
16
|
|
|
12
17
|
# Documentation <!-- {docsify-remove} -->
|
|
13
18
|
|
|
14
|
-
Full documentation can be seen at [https://docs.trmregistry.com](https://docs.trmregistry.com).
|
|
19
|
+
Full documentation can be seen at [https://docs.trmregistry.com/](https://docs.trmregistry.com).
|
|
15
20
|
|
|
16
21
|
# Contributing <!-- {docsify-remove} -->
|
|
17
22
|
|
package/changelog.txt
CHANGED
|
@@ -8,6 +8,13 @@ Legend
|
|
|
8
8
|
+ : added
|
|
9
9
|
- : removed
|
|
10
10
|
|
|
11
|
+
2025-05-27 v6.7.2
|
|
12
|
+
-------------------
|
|
13
|
+
! on install transport update, check tasks before add object attempt
|
|
14
|
+
* commit before post activity run on RFC
|
|
15
|
+
* post activity error log
|
|
16
|
+
+ node-rfc #327 -> device or resource busy, added workaround
|
|
17
|
+
|
|
11
18
|
2025-05-20 v6.7.1
|
|
12
19
|
-------------------
|
|
13
20
|
! get installed packages from backend with trm-server version check
|
|
@@ -144,8 +144,8 @@ exports.checkTransports = {
|
|
|
144
144
|
else {
|
|
145
145
|
trm_commons_1.Logger.log(`${trkorr} is linked to another package, will later be migrated`, true);
|
|
146
146
|
context.runtime.generatedData.migrations.push(oTransport);
|
|
147
|
-
context.runtime.generatedData.tmsTxtRefresh.push(oTransport);
|
|
148
147
|
}
|
|
148
|
+
context.runtime.generatedData.tmsTxtRefresh.push(oTransport);
|
|
149
149
|
}
|
|
150
150
|
else if (trmRelevant) {
|
|
151
151
|
trm_commons_1.Logger.log(`${trkorr} is TRM relevant but no linked package (could be DEVC, LANG etc..). No migration, just tms refresh`, true);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.commit = void 0;
|
|
13
|
+
const trm_commons_1 = require("trm-commons");
|
|
14
|
+
const systemConnector_1 = require("../../systemConnector");
|
|
15
|
+
exports.commit = {
|
|
16
|
+
name: 'commit',
|
|
17
|
+
filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
if (systemConnector_1.SystemConnector.systemConnector instanceof systemConnector_1.RFCSystemConnector) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}),
|
|
25
|
+
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
trm_commons_1.Logger.log('Commit (RFC Connection) step', true);
|
|
27
|
+
trm_commons_1.Logger.loading(`Closing rfc connection...`, true);
|
|
28
|
+
yield systemConnector_1.SystemConnector.systemConnector.close();
|
|
29
|
+
trm_commons_1.Logger.loading(`Opening rfc connection...`, true);
|
|
30
|
+
yield systemConnector_1.SystemConnector.systemConnector.connect(true);
|
|
31
|
+
trm_commons_1.Logger.success(`Commit OK`, true);
|
|
32
|
+
})
|
|
33
|
+
};
|
|
@@ -61,7 +61,7 @@ exports.executePostActivities = {
|
|
|
61
61
|
yield postActivity.execute();
|
|
62
62
|
}
|
|
63
63
|
catch (e) {
|
|
64
|
-
trm_commons_1.Logger.error(`Failed execution of post activity: ${e.
|
|
64
|
+
trm_commons_1.Logger.error(`Failed execution of post activity: ${e.message}`);
|
|
65
65
|
}
|
|
66
66
|
trm_commons_1.Logger.removePrefix();
|
|
67
67
|
}
|
|
@@ -74,6 +74,14 @@ exports.generateInstallTransport = {
|
|
|
74
74
|
};
|
|
75
75
|
}));
|
|
76
76
|
}
|
|
77
|
+
var trObjs = yield context.runtime.installData.transport.getE071();
|
|
78
|
+
const tasks = yield context.runtime.installData.transport.getTasks();
|
|
79
|
+
for (const task of tasks) {
|
|
80
|
+
trObjs = trObjs.concat(yield task.getE071());
|
|
81
|
+
}
|
|
82
|
+
trObjs.forEach(o => {
|
|
83
|
+
tadirObjects = tadirObjects.filter(k => !(k.pgmid === o.pgmid && k.object === o.object && k.objName === o.objName));
|
|
84
|
+
});
|
|
77
85
|
for (const tadir of tadirObjects) {
|
|
78
86
|
try {
|
|
79
87
|
try {
|
|
@@ -42,7 +42,9 @@ exports.importCustTransport = {
|
|
|
42
42
|
});
|
|
43
43
|
yield context.runtime.packageTransports.cust.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
|
|
44
44
|
trm_commons_1.Logger.loading(`Importing ${context.runtime.packageTransports.cust.binaries.trkorr}`, true);
|
|
45
|
+
trm_commons_1.Logger.setPrefix(`(Customizing) `);
|
|
45
46
|
yield context.runtime.packageTransports.cust.instance.import(importTimeout);
|
|
47
|
+
trm_commons_1.Logger.removePrefix();
|
|
46
48
|
trm_commons_1.Logger.success(`Transport ${context.runtime.packageTransports.cust.binaries.trkorr} imported`, true);
|
|
47
49
|
}),
|
|
48
50
|
revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -38,7 +38,9 @@ exports.importDevcTransport = {
|
|
|
38
38
|
});
|
|
39
39
|
yield context.runtime.packageTransports.devc.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
|
|
40
40
|
trm_commons_1.Logger.loading(`Importing ${context.runtime.packageTransports.devc.binaries.trkorr}`, true);
|
|
41
|
+
trm_commons_1.Logger.setPrefix(`(SAP Package) `);
|
|
41
42
|
yield context.runtime.packageTransports.devc.instance.import(importTimeout);
|
|
43
|
+
trm_commons_1.Logger.removePrefix();
|
|
42
44
|
trm_commons_1.Logger.success(`Transport ${context.runtime.packageTransports.devc.binaries.trkorr} imported`, true);
|
|
43
45
|
trm_commons_1.Logger.loading(`Finalizing import...`);
|
|
44
46
|
if (rootDevclass && rootDevclass.parentcl) {
|
|
@@ -42,7 +42,9 @@ exports.importLangTransport = {
|
|
|
42
42
|
});
|
|
43
43
|
yield context.runtime.packageTransports.lang.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
|
|
44
44
|
trm_commons_1.Logger.loading(`Importing ${context.runtime.packageTransports.lang.binaries.trkorr}`, true);
|
|
45
|
+
trm_commons_1.Logger.setPrefix(`(Translations) `);
|
|
45
46
|
yield context.runtime.packageTransports.lang.instance.import(importTimeout);
|
|
47
|
+
trm_commons_1.Logger.removePrefix();
|
|
46
48
|
trm_commons_1.Logger.success(`Transport ${context.runtime.packageTransports.lang.binaries.trkorr} imported`, true);
|
|
47
49
|
}),
|
|
48
50
|
revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -34,7 +34,9 @@ exports.importTadirTransport = {
|
|
|
34
34
|
yield context.runtime.packageTransports.tadir.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
|
|
35
35
|
}
|
|
36
36
|
trm_commons_1.Logger.loading(`Importing ${context.runtime.packageTransports.tadir.binaries.trkorr}`, true);
|
|
37
|
+
trm_commons_1.Logger.setPrefix(`(Workbench) `);
|
|
37
38
|
yield context.runtime.packageTransports.tadir.instance.import(importTimeout);
|
|
39
|
+
trm_commons_1.Logger.removePrefix();
|
|
38
40
|
trm_commons_1.Logger.success(`Transport ${context.runtime.packageTransports.tadir.binaries.trkorr} imported`, true);
|
|
39
41
|
trm_commons_1.Logger.loading(`Finalizing import...`);
|
|
40
42
|
for (const tadir of context.runtime.packageTransportsData.tadir) {
|
|
@@ -41,6 +41,7 @@ const refreshTmsTxt_1 = require("./refreshTmsTxt");
|
|
|
41
41
|
const migrate_1 = require("./migrate");
|
|
42
42
|
const executePostActivities_1 = require("./executePostActivities");
|
|
43
43
|
const setTrmServerUpgradeService_1 = require("./setTrmServerUpgradeService");
|
|
44
|
+
const commit_1 = require("./commit");
|
|
44
45
|
;
|
|
45
46
|
const WORKFLOW_NAME = 'install';
|
|
46
47
|
function install(inputData) {
|
|
@@ -70,6 +71,7 @@ function install(inputData) {
|
|
|
70
71
|
refreshTmsTxt_1.refreshTmsTxt,
|
|
71
72
|
setPackageIntegrity_1.setPackageIntegrity,
|
|
72
73
|
generateInstallTransport_1.generateInstallTransport,
|
|
74
|
+
commit_1.commit,
|
|
73
75
|
executePostActivities_1.executePostActivities
|
|
74
76
|
];
|
|
75
77
|
trm_commons_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, util_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
|
|
@@ -655,12 +655,5 @@ class RESTClient {
|
|
|
655
655
|
});
|
|
656
656
|
});
|
|
657
657
|
}
|
|
658
|
-
regenProg(prog) {
|
|
659
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
660
|
-
yield this._axiosInstance.post('/regen_prog', {
|
|
661
|
-
progname: prog
|
|
662
|
-
});
|
|
663
|
-
});
|
|
664
|
-
}
|
|
665
658
|
}
|
|
666
659
|
exports.RESTClient = RESTClient;
|
|
@@ -10,6 +10,7 @@ export declare class RFCClient implements IClient {
|
|
|
10
10
|
constructor(_rfcClientArgs: any, _cLangu: string, traceDir?: string);
|
|
11
11
|
private getRfcClient;
|
|
12
12
|
open(): Promise<void>;
|
|
13
|
+
close(): Promise<void>;
|
|
13
14
|
checkConnection(): Promise<boolean>;
|
|
14
15
|
private _call;
|
|
15
16
|
private _getMessage;
|
|
@@ -64,5 +65,4 @@ export declare class RFCClient implements IClient {
|
|
|
64
65
|
execute?: boolean;
|
|
65
66
|
}>;
|
|
66
67
|
getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
|
|
67
|
-
regenProg(prog: components.PROGNAME): Promise<void>;
|
|
68
68
|
}
|
package/dist/client/RFCClient.js
CHANGED
|
@@ -93,6 +93,18 @@ class RFCClient {
|
|
|
93
93
|
}
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
|
+
close() {
|
|
97
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
try {
|
|
99
|
+
trm_commons_1.Logger.loading(`Closing RFC connection`, true);
|
|
100
|
+
yield (yield this.getRfcClient()).close();
|
|
101
|
+
trm_commons_1.Logger.success(`RFC closed`, true);
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
throw new _1.RFCClientError("ZNO_CLOSE", null, e, e.message);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
96
108
|
checkConnection() {
|
|
97
109
|
return __awaiter(this, void 0, void 0, function* () {
|
|
98
110
|
if (!this._aliveCheck) {
|
|
@@ -107,8 +119,8 @@ class RFCClient {
|
|
|
107
119
|
return (yield this.getRfcClient()).alive;
|
|
108
120
|
});
|
|
109
121
|
}
|
|
110
|
-
_call(
|
|
111
|
-
return __awaiter(this,
|
|
122
|
+
_call(fm_1, arg_1, timeout_1, noErrorParsing_1) {
|
|
123
|
+
return __awaiter(this, arguments, void 0, function* (fm, arg, timeout, noErrorParsing, retryCount = 0) {
|
|
112
124
|
var argNormalized;
|
|
113
125
|
if (arg) {
|
|
114
126
|
var emptyKeys = [];
|
|
@@ -139,6 +151,13 @@ class RFCClient {
|
|
|
139
151
|
return responseNormalized;
|
|
140
152
|
}
|
|
141
153
|
catch (e) {
|
|
154
|
+
if (e.message === 'device or resource busy: device or resource busy' && retryCount <= 10) {
|
|
155
|
+
trm_commons_1.Logger.log('device or resource busy, retrying', true);
|
|
156
|
+
yield new Promise(res => {
|
|
157
|
+
setTimeout(res, 1000);
|
|
158
|
+
});
|
|
159
|
+
return this._call(fm, arg, timeout, noErrorParsing, retryCount + 1);
|
|
160
|
+
}
|
|
142
161
|
if (noErrorParsing) {
|
|
143
162
|
throw e;
|
|
144
163
|
}
|
|
@@ -641,12 +660,5 @@ class RFCClient {
|
|
|
641
660
|
});
|
|
642
661
|
});
|
|
643
662
|
}
|
|
644
|
-
regenProg(prog) {
|
|
645
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
646
|
-
yield this._call("ZTRM_REGEN_PROG", {
|
|
647
|
-
iv_progname: prog
|
|
648
|
-
});
|
|
649
|
-
});
|
|
650
|
-
}
|
|
651
663
|
}
|
|
652
664
|
exports.RFCClient = RFCClient;
|
|
@@ -77,13 +77,5 @@ class TrmServerUpgrade {
|
|
|
77
77
|
return !((0, semver_1.lt)(this.currentVersion, '2.2.0') && (0, semver_1.gte)(this.installVersion, '2.2.0'));
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
getInstalledPackagesBackend() {
|
|
81
|
-
if (this.dummy) {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
return !((0, semver_1.lt)(this.currentVersion, '3.0.0') && (0, semver_1.gte)(this.installVersion, '3.0.0'));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
80
|
}
|
|
89
81
|
exports.TrmServerUpgrade = TrmServerUpgrade;
|
|
@@ -65,7 +65,6 @@ class PostActivity {
|
|
|
65
65
|
if (description) {
|
|
66
66
|
trm_commons_1.Logger.loading(`Post activity: ${description}`, silent);
|
|
67
67
|
}
|
|
68
|
-
yield systemConnector_1.SystemConnector.regenProg('SAPLZTRM');
|
|
69
68
|
const pre = yield systemConnector_1.SystemConnector.executePostActivity(data, true);
|
|
70
69
|
if (pre.messages) {
|
|
71
70
|
yield this.printMessages(pre.messages, silent);
|
|
@@ -319,10 +319,5 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
|
|
|
319
319
|
return this._client.executePostActivity(data, pre);
|
|
320
320
|
});
|
|
321
321
|
}
|
|
322
|
-
regenProg(prog) {
|
|
323
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
324
|
-
return this._client.regenProg(prog);
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
322
|
}
|
|
328
323
|
exports.RESTSystemConnector = RESTSystemConnector;
|
|
@@ -30,7 +30,8 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
|
|
|
30
30
|
protected getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
|
|
31
31
|
getConnectionData(): RFCConnection;
|
|
32
32
|
getLogonUser(): string;
|
|
33
|
-
connect(): Promise<void>;
|
|
33
|
+
connect(silent?: boolean): Promise<void>;
|
|
34
|
+
close(): Promise<void>;
|
|
34
35
|
checkConnection(): Promise<boolean>;
|
|
35
36
|
ping(): Promise<string>;
|
|
36
37
|
getFileSystem(): Promise<struct.FILESYS>;
|
|
@@ -75,5 +76,4 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
|
|
|
75
76
|
messages: struct.SYMSG[];
|
|
76
77
|
execute?: boolean;
|
|
77
78
|
}>;
|
|
78
|
-
regenProg(prog: components.PROGNAME): Promise<void>;
|
|
79
79
|
}
|
|
@@ -88,18 +88,23 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
|
|
|
88
88
|
return this._user;
|
|
89
89
|
}
|
|
90
90
|
connect() {
|
|
91
|
-
return __awaiter(this,
|
|
92
|
-
trm_commons_1.Logger.loading(`Connecting to ${this.getDest()}
|
|
91
|
+
return __awaiter(this, arguments, void 0, function* (silent = false) {
|
|
92
|
+
trm_commons_1.Logger.loading(`Connecting to ${this.getDest()}...`, silent);
|
|
93
93
|
try {
|
|
94
94
|
yield this._client.open();
|
|
95
|
-
trm_commons_1.Logger.success(`Connected to ${this.getDest()} as ${this._user}.`,
|
|
95
|
+
trm_commons_1.Logger.success(`Connected to ${this.getDest()} as ${this._user}.`, silent);
|
|
96
96
|
}
|
|
97
97
|
catch (e) {
|
|
98
|
-
trm_commons_1.Logger.error(`Connection to ${this.getDest()} as ${this._user} failed.`,
|
|
98
|
+
trm_commons_1.Logger.error(`Connection to ${this.getDest()} as ${this._user} failed.`, silent);
|
|
99
99
|
throw e;
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
|
+
close() {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
+
yield this._client.close();
|
|
106
|
+
});
|
|
107
|
+
}
|
|
103
108
|
checkConnection() {
|
|
104
109
|
return __awaiter(this, void 0, void 0, function* () {
|
|
105
110
|
return this._client.checkConnection();
|
|
@@ -290,10 +295,5 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
|
|
|
290
295
|
return this._client.executePostActivity(data, pre);
|
|
291
296
|
});
|
|
292
297
|
}
|
|
293
|
-
regenProg(prog) {
|
|
294
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
295
|
-
return this._client.regenProg(prog);
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
298
|
}
|
|
299
299
|
exports.RFCSystemConnector = RFCSystemConnector;
|
|
@@ -520,11 +520,4 @@ var SystemConnector;
|
|
|
520
520
|
});
|
|
521
521
|
}
|
|
522
522
|
SystemConnector.readClassDescriptions = readClassDescriptions;
|
|
523
|
-
function regenProg(prog) {
|
|
524
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
525
|
-
yield checkSystemConnector();
|
|
526
|
-
return SystemConnector.systemConnector.regenProg(prog);
|
|
527
|
-
});
|
|
528
|
-
}
|
|
529
|
-
SystemConnector.regenProg = regenProg;
|
|
530
523
|
})(SystemConnector || (exports.SystemConnector = SystemConnector = {}));
|
|
@@ -17,7 +17,6 @@ const transport_1 = require("../transport");
|
|
|
17
17
|
const trmPackage_1 = require("../trmPackage");
|
|
18
18
|
const registry_1 = require("../registry");
|
|
19
19
|
const node_r3trans_1 = require("node-r3trans");
|
|
20
|
-
const commons_1 = require("../commons");
|
|
21
20
|
exports.TRM_SERVER_PACKAGE_NAME = 'trm-server';
|
|
22
21
|
exports.TRM_SERVER_INTF = 'ZIF_TRM';
|
|
23
22
|
exports.TRM_REST_PACKAGE_NAME = 'trm-rest';
|
|
@@ -179,57 +178,59 @@ class SystemConnectorBase {
|
|
|
179
178
|
}
|
|
180
179
|
trm_commons_1.Logger.log(`Include sources: ${includeSoruces}`, true);
|
|
181
180
|
const aSourceTrkorr = includeSoruces ? (yield this.getSourceTrkorr(refresh)) : [];
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
181
|
+
const serverExists = yield this.readTable('TADIR', [{ fieldName: 'OBJ_NAME' }], `PGMID EQ 'R3TR' AND OBJECT EQ 'INTF' AND OBJ_NAME EQ '${exports.TRM_SERVER_INTF}'`);
|
|
182
|
+
if (serverExists.length === 1) {
|
|
183
|
+
trm_commons_1.Logger.log(`INTF ${exports.TRM_SERVER_INTF} exists`, true);
|
|
184
|
+
try {
|
|
185
|
+
var installedPackagesBackend = yield this.getInstalledPackagesBackend();
|
|
186
|
+
if (!includeSoruces) {
|
|
187
|
+
installedPackagesBackend = installedPackagesBackend.filter(o => !aSourceTrkorr.includes(o.transport.trkorr));
|
|
188
|
+
}
|
|
189
|
+
if (!includeLocals) {
|
|
190
|
+
installedPackagesBackend = installedPackagesBackend.filter(o => o.registry !== registry_1.LOCAL_RESERVED_KEYWORD);
|
|
191
|
+
}
|
|
192
|
+
for (const o of installedPackagesBackend) {
|
|
193
|
+
const transport = o.transport.trkorr ? new transport_1.Transport(o.transport.trkorr, null, o.transport.migration) : null;
|
|
194
|
+
const manifest = manifest_1.Manifest.fromAbapXml(o.manifest);
|
|
195
|
+
if (transport) {
|
|
196
|
+
manifest.setLinkedTransport(transport);
|
|
193
197
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
if (transport) {
|
|
198
|
-
manifest.setLinkedTransport(transport);
|
|
199
|
-
}
|
|
200
|
-
const trmPackage = new trmPackage_1.TrmPackage(o.name, registry_1.RegistryProvider.getRegistry(o.registry), manifest);
|
|
201
|
-
if (transport) {
|
|
198
|
+
const trmPackage = new trmPackage_1.TrmPackage(o.name, registry_1.RegistryProvider.getRegistry(o.registry), manifest);
|
|
199
|
+
if (transport) {
|
|
200
|
+
try {
|
|
202
201
|
trmPackage.setDevclass(yield transport.getDevclass(o.tdevc));
|
|
203
202
|
}
|
|
204
|
-
|
|
205
|
-
if (o.tdevc.length === 1) {
|
|
206
|
-
trmPackage.setDevclass(o.tdevc[0].devclass);
|
|
207
|
-
}
|
|
203
|
+
catch (x) {
|
|
208
204
|
}
|
|
209
|
-
trmPackages.push(trmPackage);
|
|
210
205
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
206
|
+
else {
|
|
207
|
+
if (o.tdevc.length === 1) {
|
|
208
|
+
trmPackage.setDevclass(o.tdevc[0].devclass);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
trmPackages.push(trmPackage);
|
|
216
212
|
}
|
|
213
|
+
fromBackend = true;
|
|
217
214
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}
|
|
222
|
-
else {
|
|
223
|
-
trm_commons_1.Logger.log(`Packages weren't fetched from backend, continue`, true);
|
|
215
|
+
catch (e) {
|
|
216
|
+
trmPackages = [];
|
|
217
|
+
trm_commons_1.Logger.error(e.toString(), true);
|
|
224
218
|
}
|
|
225
219
|
}
|
|
220
|
+
if (fromBackend) {
|
|
221
|
+
trm_commons_1.Logger.log(`Packages were fetched from backend`, true);
|
|
222
|
+
return trmPackages;
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
trm_commons_1.Logger.log(`Packages weren't fetched from backend, continue`, true);
|
|
226
|
+
}
|
|
226
227
|
var packageTransports = [];
|
|
227
228
|
trm_commons_1.Logger.log(`Ready to read installed packages`, true);
|
|
228
229
|
trm_commons_1.Logger.log(`Source trkorr ${JSON.stringify(aSourceTrkorr)}`, true);
|
|
229
230
|
var aSkipTrkorr = yield this.getIgnoredTrkorr();
|
|
230
231
|
trm_commons_1.Logger.log(`Ignored trkorr ${JSON.stringify(aSkipTrkorr)}`, true);
|
|
231
232
|
var aMigrationTrkorr;
|
|
232
|
-
var aActualTrkorr = (yield this.readTable('E071', [{ fieldName: 'TRKORR' }], `PGMID EQ '*' AND OBJECT EQ '${transport_1.COMMENT_OBJ}'`)).map(o => o.trkorr);
|
|
233
|
+
var aActualTrkorr = (yield this.readTable('E071', [{ fieldName: 'TRKORR' }], `PGMID EQ '*' AND OBJECT EQ '${transport_1.COMMENT_OBJ}' AND TRKORR EQ 'RSTK906391'`)).map(o => o.trkorr);
|
|
233
234
|
aActualTrkorr = Array.from(new Set(aActualTrkorr));
|
|
234
235
|
try {
|
|
235
236
|
aMigrationTrkorr = (yield this.readTable('ZTRM_E070', [{ fieldName: 'TRM_TROKRR' }])).map(o => o.trmTrokrr);
|
|
@@ -591,10 +591,10 @@ class Transport {
|
|
|
591
591
|
}
|
|
592
592
|
}
|
|
593
593
|
if (!inQueue) {
|
|
594
|
-
throw new Error(
|
|
594
|
+
throw new Error(`${this.trkorr} not found in queue, timed out after ${inQueueAttempts + 1} attempts`);
|
|
595
595
|
}
|
|
596
596
|
else {
|
|
597
|
-
trm_commons_1.Logger.success(
|
|
597
|
+
trm_commons_1.Logger.success(`${this.trkorr} ${sLog}.`, skipLog);
|
|
598
598
|
}
|
|
599
599
|
}
|
|
600
600
|
else {
|