@abaplint/core 2.91.24 → 2.91.25
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.
|
@@ -6,6 +6,7 @@ const source_1 = require("../expressions/source");
|
|
|
6
6
|
const target_1 = require("../expressions/target");
|
|
7
7
|
const basic_1 = require("../../types/basic");
|
|
8
8
|
const fstarget_1 = require("../expressions/fstarget");
|
|
9
|
+
const inline_data_1 = require("../expressions/inline_data");
|
|
9
10
|
class Append {
|
|
10
11
|
runSyntax(node, scope, filename) {
|
|
11
12
|
let targetType = undefined;
|
|
@@ -21,6 +22,14 @@ class Append {
|
|
|
21
22
|
const rowType = targetType instanceof basic_1.TableType ? targetType.getRowType() : targetType;
|
|
22
23
|
new fstarget_1.FSTarget().runSyntax(fsTarget, scope, filename, rowType);
|
|
23
24
|
}
|
|
25
|
+
const dataTarget = node.findExpressionAfterToken("INTO");
|
|
26
|
+
if (dataTarget && node.concatTokens().toUpperCase().includes(" REFERENCE INTO DATA(")) {
|
|
27
|
+
if (!(targetType instanceof basic_1.TableType) && !(targetType instanceof basic_1.VoidType)) {
|
|
28
|
+
throw new Error("APPEND to non table type");
|
|
29
|
+
}
|
|
30
|
+
const rowType = targetType instanceof basic_1.TableType ? targetType.getRowType() : targetType;
|
|
31
|
+
new inline_data_1.InlineData().runSyntax(dataTarget, scope, filename, new basic_1.DataReference(rowType));
|
|
32
|
+
}
|
|
24
33
|
let source = node.findDirectExpression(Expressions.Source);
|
|
25
34
|
if (source === undefined) {
|
|
26
35
|
source = node.findDirectExpression(Expressions.SimpleSource4);
|
package/build/src/registry.js
CHANGED