@abaplint/core 2.113.41 → 2.113.43
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/build/src/abap/2_statements/expressions/field_sub.js +1 -1
- package/build/src/abap/2_statements/expressions/select_loop.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_field_list_loop.js +3 -1
- package/build/src/abap/2_statements/statements/program.js +1 -1
- package/build/src/cds/expressions/cds_condition.js +2 -2
- package/build/src/cds/expressions/cds_select.js +3 -3
- package/build/src/registry.js +1 -1
- package/package.json +2 -2
|
@@ -6,7 +6,7 @@ const tokens_1 = require("../../1_lexer/tokens");
|
|
|
6
6
|
const table_body_1 = require("./table_body");
|
|
7
7
|
class FieldSub extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
const ret = (0, combi_1.seq)((0, combi_1.regex)(/^\*?!?(\/\w+\/)?[a-zA-Z_
|
|
9
|
+
const ret = (0, combi_1.seq)((0, combi_1.regex)(/^\*?!?(\/\w+\/)?[a-zA-Z_%$\?][\w%$\$\*]*$/), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.regex)(/^[\w%$\$\*]+$/))), (0, combi_1.opt)(table_body_1.TableBody));
|
|
10
10
|
return ret;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -20,7 +20,7 @@ class SelectLoop extends combi_1.Expression {
|
|
|
20
20
|
const packTab = (0, combi_1.seq)(pack, _1.SQLIntoTable);
|
|
21
21
|
const into = (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
|
|
22
22
|
const perm = (0, combi_1.per)(_1.SQLFrom, where, sql_up_to_1.SQLUpTo, sql_order_by_1.SQLOrderBy, sql_having_1.SQLHaving, _1.SQLClient, bypass, _1.SQLGroupBy, _1.SQLForAllEntries, (0, combi_1.alt)(tab, into, packTab));
|
|
23
|
-
const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields), (0, combi_1.optPrio)((0, combi_1.seq)(where, (0, combi_1.optPrio)(sql_order_by_1.SQLOrderBy), into, sql_up_to_1.SQLUpTo)));
|
|
23
|
+
const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields), (0, combi_1.optPrio)((0, combi_1.seq)(where, (0, combi_1.optPrio)(sql_order_by_1.SQLOrderBy), into, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo))));
|
|
24
24
|
const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_1.SQLFieldListLoop, perm), strict), (0, combi_1.optPrio)(sql_hints_1.SQLHints));
|
|
25
25
|
return ret;
|
|
26
26
|
}
|
|
@@ -5,13 +5,15 @@ const combi_1 = require("../combi");
|
|
|
5
5
|
const _1 = require(".");
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
const sql_path_1 = require("./sql_path");
|
|
8
|
+
const tokens_1 = require("../../1_lexer/tokens");
|
|
8
9
|
// loop must include one field from the database table
|
|
9
10
|
class SQLFieldListLoop extends combi_1.Expression {
|
|
10
11
|
getRunnable() {
|
|
11
12
|
const comma = (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v740sp05, ","));
|
|
12
13
|
const as = (0, combi_1.seq)("AS", _1.SQLAsName);
|
|
13
14
|
const someField = (0, combi_1.seq)(_1.SQLField, comma);
|
|
14
|
-
const
|
|
15
|
+
const abap = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), _1.SimpleFieldChain));
|
|
16
|
+
const fieldList = (0, combi_1.seq)((0, combi_1.star)(someField), (0, combi_1.alt)(_1.SQLFieldName, abap, sql_path_1.SQLPath, _1.Constant), (0, combi_1.optPrio)(as), comma, (0, combi_1.star)(someField));
|
|
15
17
|
const fields = (0, combi_1.alt)("*", _1.Dynamic, fieldList);
|
|
16
18
|
return fields;
|
|
17
19
|
}
|
|
@@ -11,7 +11,7 @@ class Program {
|
|
|
11
11
|
const heading = (0, combi_1.str)("NO STANDARD PAGE HEADING");
|
|
12
12
|
const line = (0, combi_1.seq)("LINE-COUNT", expressions_1.Source);
|
|
13
13
|
const options = (0, combi_1.per)(message, size, heading, line);
|
|
14
|
-
const ret = (0, combi_1.seq)("PROGRAM", (0, combi_1.
|
|
14
|
+
const ret = (0, combi_1.seq)("PROGRAM", (0, combi_1.opt)(expressions_1.ReportName), (0, combi_1.opt)(options));
|
|
15
15
|
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -6,13 +6,13 @@ const combi_1 = require("../../abap/2_statements/combi");
|
|
|
6
6
|
const cds_integer_1 = require("./cds_integer");
|
|
7
7
|
class CDSCondition extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.
|
|
9
|
+
const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)((0, combi_1.seq)(".", (0, combi_1.alt)(_1.CDSName, _1.CDSString))));
|
|
10
10
|
const left = (0, combi_1.alt)(name, _1.CDSFunction, _1.CDSString);
|
|
11
11
|
const compare = (0, combi_1.seq)(left, (0, combi_1.alt)("=", (0, combi_1.seq)("!", "="), (0, combi_1.seq)("<", ">"), "<", ">", (0, combi_1.seq)(">", "="), (0, combi_1.seq)("<", "="), "LIKE", "NOT LIKE"), (0, combi_1.alt)(left, cds_integer_1.CDSInteger, _1.CDSFunction, _1.CDSString));
|
|
12
12
|
const is = (0, combi_1.seq)(left, "IS", (0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)("INITIAL", "NULL"));
|
|
13
13
|
const condition = (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.alt)(compare, is));
|
|
14
14
|
const paren = (0, combi_1.seq)("(", CDSCondition, ")");
|
|
15
|
-
return (0, combi_1.seq)((0, combi_1.alt)(condition, paren), (0, combi_1.
|
|
15
|
+
return (0, combi_1.seq)((0, combi_1.alt)(condition, paren), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.altPrio)("AND", "OR"), (0, combi_1.altPrio)(condition, paren))));
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
exports.CDSCondition = CDSCondition;
|
|
@@ -7,10 +7,10 @@ const cds_association_1 = require("./cds_association");
|
|
|
7
7
|
const cds_join_1 = require("./cds_join");
|
|
8
8
|
class CDSSelect extends combi_1.Expression {
|
|
9
9
|
getRunnable() {
|
|
10
|
-
const fields = (0, combi_1.
|
|
10
|
+
const fields = (0, combi_1.seq)((0, combi_1.star)((0, combi_1.seq)(_1.CDSElement, ",")), _1.CDSElement);
|
|
11
11
|
const distinct = (0, combi_1.str)("DISTINCT");
|
|
12
|
-
const elements = (0, combi_1.seq)((0, combi_1.str)("{"),
|
|
13
|
-
return (0, combi_1.seq)("SELECT", (0, combi_1.
|
|
12
|
+
const elements = (0, combi_1.seq)((0, combi_1.str)("{"), _1.CDSElement, (0, combi_1.starPrio)((0, combi_1.seq)(",", _1.CDSElement)), (0, combi_1.str)("}"));
|
|
13
|
+
return (0, combi_1.seq)("SELECT", (0, combi_1.optPrio)(distinct), (0, combi_1.opt)(fields), "FROM", _1.CDSSource, (0, combi_1.star)(cds_join_1.CDSJoin), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.star)(cds_association_1.CDSAssociation), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.opt)(elements), (0, combi_1.optPrio)(_1.CDSWhere), (0, combi_1.optPrio)(_1.CDSGroupBy), (0, combi_1.optPrio)(_1.CDSHaving), (0, combi_1.optPrio)((0, combi_1.seq)("UNION", (0, combi_1.optPrio)("ALL"), CDSSelect)));
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.CDSSelect = CDSSelect;
|
package/build/src/registry.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.113.
|
|
3
|
+
"version": "2.113.43",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"@microsoft/api-extractor": "^7.47.11",
|
|
54
54
|
"@types/chai": "^4.3.20",
|
|
55
55
|
"@types/mocha": "^10.0.9",
|
|
56
|
-
"@types/node": "^22.
|
|
56
|
+
"@types/node": "^22.9.0",
|
|
57
57
|
"chai": "^4.5.0",
|
|
58
58
|
"eslint": "^9.14.0",
|
|
59
59
|
"mocha": "^10.8.2",
|