@abaplint/core 2.113.202 → 2.113.204
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/abaplint.d.ts +11 -0
- package/build/src/abap/1_lexer/lexer.js +30 -32
- package/build/src/abap/2_statements/expressions/sql_function.js +6 -1
- package/build/src/abap/2_statements/expressions/type_table.js +1 -1
- package/build/src/abap/2_statements/statements/method_def.js +1 -1
- package/build/src/abap/2_statements/statements/modify_entities.js +1 -1
- package/build/src/objects/cds_entity_buffer.js +21 -0
- package/build/src/objects/index.js +1 -0
- package/build/src/objects/table.js +1 -1
- package/build/src/objects/table_type.js +5 -0
- package/build/src/registry.js +1 -1
- package/build/src/rules/cloud_types.js +1 -0
- package/package.json +1 -1
package/build/abaplint.d.ts
CHANGED
|
@@ -880,6 +880,15 @@ declare class CDSElement extends Expression {
|
|
|
880
880
|
getRunnable(): IStatementRunnable;
|
|
881
881
|
}
|
|
882
882
|
|
|
883
|
+
declare class CDSEntityBuffer extends AbstractObject {
|
|
884
|
+
getType(): string;
|
|
885
|
+
getAllowedNaming(): {
|
|
886
|
+
maxLength: number;
|
|
887
|
+
allowNamespace: boolean;
|
|
888
|
+
};
|
|
889
|
+
getDescription(): string | undefined;
|
|
890
|
+
}
|
|
891
|
+
|
|
883
892
|
declare class CDSExtendView extends Expression {
|
|
884
893
|
getRunnable(): IStatementRunnable;
|
|
885
894
|
}
|
|
@@ -4986,6 +4995,7 @@ declare namespace Objects {
|
|
|
4986
4995
|
BRFPlusSystemApplication,
|
|
4987
4996
|
BSPApplication,
|
|
4988
4997
|
BusinessAddInImplementation,
|
|
4998
|
+
CDSEntityBuffer,
|
|
4989
4999
|
BusinessCatalogAppAssignment,
|
|
4990
5000
|
BusinessCatalog,
|
|
4991
5001
|
BusinessConfigurationMaintenanceObject,
|
|
@@ -6983,6 +6993,7 @@ declare class TableType extends AbstractObject {
|
|
|
6983
6993
|
allowNamespace: boolean;
|
|
6984
6994
|
};
|
|
6985
6995
|
getDescription(): string | undefined;
|
|
6996
|
+
getRowType(): string | undefined;
|
|
6986
6997
|
setDirty(): void;
|
|
6987
6998
|
private buildPrimaryKey;
|
|
6988
6999
|
private buildTableOptions;
|
|
@@ -6,19 +6,17 @@ const virtual_position_1 = require("../../virtual_position");
|
|
|
6
6
|
const tokens_1 = require("./tokens");
|
|
7
7
|
const lexer_buffer_1 = require("./lexer_buffer");
|
|
8
8
|
const lexer_stream_1 = require("./lexer_stream");
|
|
9
|
+
const ModeNormal = 1;
|
|
10
|
+
const ModePing = 2;
|
|
11
|
+
const ModeStr = 3;
|
|
12
|
+
const ModeTemplate = 4;
|
|
13
|
+
const ModeComment = 5;
|
|
14
|
+
const ModePragma = 6;
|
|
9
15
|
class Lexer {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.ModeNormal = 1;
|
|
12
|
-
this.ModePing = 2;
|
|
13
|
-
this.ModeStr = 3;
|
|
14
|
-
this.ModeTemplate = 4;
|
|
15
|
-
this.ModeComment = 5;
|
|
16
|
-
this.ModePragma = 6;
|
|
17
|
-
}
|
|
18
16
|
run(file, virtual) {
|
|
19
17
|
this.virtual = virtual;
|
|
20
18
|
this.tokens = [];
|
|
21
|
-
this.m =
|
|
19
|
+
this.m = ModeNormal;
|
|
22
20
|
this.process(file.getRaw());
|
|
23
21
|
return { file, tokens: this.tokens };
|
|
24
22
|
}
|
|
@@ -44,13 +42,13 @@ class Lexer {
|
|
|
44
42
|
pos = new virtual_position_1.VirtualPosition(this.virtual, pos.getRow(), pos.getCol());
|
|
45
43
|
}
|
|
46
44
|
let tok = undefined;
|
|
47
|
-
if (this.m ===
|
|
45
|
+
if (this.m === ModeComment) {
|
|
48
46
|
tok = new tokens_1.Comment(pos, s);
|
|
49
47
|
}
|
|
50
|
-
else if (this.m ===
|
|
48
|
+
else if (this.m === ModePing || this.m === ModeStr) {
|
|
51
49
|
tok = new tokens_1.StringToken(pos, s);
|
|
52
50
|
}
|
|
53
|
-
else if (this.m ===
|
|
51
|
+
else if (this.m === ModeTemplate) {
|
|
54
52
|
const first = s.charAt(0);
|
|
55
53
|
const last = s.charAt(s.length - 1);
|
|
56
54
|
if (first === "|" && last === "|") {
|
|
@@ -243,35 +241,35 @@ class Lexer {
|
|
|
243
241
|
const buf = this.buffer.add(current);
|
|
244
242
|
const ahead = this.stream.nextChar();
|
|
245
243
|
const aahead = this.stream.nextNextChar();
|
|
246
|
-
if (this.m ===
|
|
244
|
+
if (this.m === ModeNormal) {
|
|
247
245
|
if (splits[ahead]) {
|
|
248
246
|
this.add();
|
|
249
247
|
}
|
|
250
248
|
else if (ahead === "'") {
|
|
251
249
|
// start string
|
|
252
250
|
this.add();
|
|
253
|
-
this.m =
|
|
251
|
+
this.m = ModeStr;
|
|
254
252
|
}
|
|
255
253
|
else if (ahead === "|" || ahead === "}") {
|
|
256
254
|
// start template
|
|
257
255
|
this.add();
|
|
258
|
-
this.m =
|
|
256
|
+
this.m = ModeTemplate;
|
|
259
257
|
}
|
|
260
258
|
else if (ahead === "`") {
|
|
261
259
|
// start ping
|
|
262
260
|
this.add();
|
|
263
|
-
this.m =
|
|
261
|
+
this.m = ModePing;
|
|
264
262
|
}
|
|
265
263
|
else if (aahead === "##") {
|
|
266
264
|
// start pragma
|
|
267
265
|
this.add();
|
|
268
|
-
this.m =
|
|
266
|
+
this.m = ModePragma;
|
|
269
267
|
}
|
|
270
268
|
else if (ahead === "\""
|
|
271
269
|
|| (ahead === "*" && current === "\n")) {
|
|
272
270
|
// start comment
|
|
273
271
|
this.add();
|
|
274
|
-
this.m =
|
|
272
|
+
this.m = ModeComment;
|
|
275
273
|
}
|
|
276
274
|
else if (ahead === "@" && buf.trim().length === 0) {
|
|
277
275
|
this.add();
|
|
@@ -292,12 +290,12 @@ class Lexer {
|
|
|
292
290
|
this.add();
|
|
293
291
|
}
|
|
294
292
|
}
|
|
295
|
-
else if (this.m ===
|
|
293
|
+
else if (this.m === ModePragma && (ahead === "," || ahead === ":" || ahead === "." || ahead === " " || ahead === "\n")) {
|
|
296
294
|
// end of pragma
|
|
297
295
|
this.add();
|
|
298
|
-
this.m =
|
|
296
|
+
this.m = ModeNormal;
|
|
299
297
|
}
|
|
300
|
-
else if (this.m ===
|
|
298
|
+
else if (this.m === ModePing
|
|
301
299
|
&& buf.length > 1
|
|
302
300
|
&& current === "`"
|
|
303
301
|
&& aahead !== "``"
|
|
@@ -306,26 +304,26 @@ class Lexer {
|
|
|
306
304
|
// end of ping
|
|
307
305
|
this.add();
|
|
308
306
|
if (ahead === `"`) {
|
|
309
|
-
this.m =
|
|
307
|
+
this.m = ModeComment;
|
|
310
308
|
}
|
|
311
309
|
else {
|
|
312
|
-
this.m =
|
|
310
|
+
this.m = ModeNormal;
|
|
313
311
|
}
|
|
314
312
|
}
|
|
315
|
-
else if (this.m ===
|
|
313
|
+
else if (this.m === ModeTemplate
|
|
316
314
|
&& buf.length > 1
|
|
317
315
|
&& (current === "|" || current === "{")
|
|
318
316
|
&& (this.stream.prevChar() !== "\\" || this.stream.prevPrevChar() === "\\\\")) {
|
|
319
317
|
// end of template
|
|
320
318
|
this.add();
|
|
321
|
-
this.m =
|
|
319
|
+
this.m = ModeNormal;
|
|
322
320
|
}
|
|
323
|
-
else if (this.m ===
|
|
321
|
+
else if (this.m === ModeTemplate
|
|
324
322
|
&& ahead === "}"
|
|
325
323
|
&& current !== "\\") {
|
|
326
324
|
this.add();
|
|
327
325
|
}
|
|
328
|
-
else if (this.m ===
|
|
326
|
+
else if (this.m === ModeStr
|
|
329
327
|
&& current === "'"
|
|
330
328
|
&& buf.length > 1
|
|
331
329
|
&& aahead !== "''"
|
|
@@ -334,17 +332,17 @@ class Lexer {
|
|
|
334
332
|
// end of string
|
|
335
333
|
this.add();
|
|
336
334
|
if (ahead === "\"") {
|
|
337
|
-
this.m =
|
|
335
|
+
this.m = ModeComment;
|
|
338
336
|
}
|
|
339
337
|
else {
|
|
340
|
-
this.m =
|
|
338
|
+
this.m = ModeNormal;
|
|
341
339
|
}
|
|
342
340
|
}
|
|
343
|
-
else if (ahead === "\n" && this.m !==
|
|
341
|
+
else if (ahead === "\n" && this.m !== ModeTemplate) {
|
|
344
342
|
this.add();
|
|
345
|
-
this.m =
|
|
343
|
+
this.m = ModeNormal;
|
|
346
344
|
}
|
|
347
|
-
else if (this.m ===
|
|
345
|
+
else if (this.m === ModeTemplate && current === "\n") {
|
|
348
346
|
this.add();
|
|
349
347
|
}
|
|
350
348
|
if (!this.stream.advance()) {
|
|
@@ -28,9 +28,14 @@ class SQLFunction extends combi_1.Expression {
|
|
|
28
28
|
const concat_with_space = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)((0, combi_1.regex)(/^concat_with_space$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
29
29
|
// dunno if the version for substring is correct
|
|
30
30
|
const substring = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^substring$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
31
|
+
// dunno if the version for substring is correct
|
|
32
|
+
const dats_is_valid = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^dats_is_valid$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
33
|
+
const dats_days_between = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^dats_days_between$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
34
|
+
const dats_add_days = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^dats_is_valid$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
35
|
+
const dats_add_months = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^dats_is_valid$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
31
36
|
const ltrim = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^ltrim$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
32
37
|
const rtrim = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^rtrim$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
33
|
-
return (0, combi_1.altPrio)(uuid, abs, ceil, floor, cast, div, mod, coalesce, concat, replace, length, lower, upper, round, concat_with_space, ltrim, rtrim, substring);
|
|
38
|
+
return (0, combi_1.altPrio)(uuid, abs, ceil, floor, cast, div, mod, coalesce, concat, replace, length, lower, upper, round, concat_with_space, ltrim, rtrim, substring, dats_is_valid, dats_days_between, dats_add_days, dats_add_months);
|
|
34
39
|
}
|
|
35
40
|
}
|
|
36
41
|
exports.SQLFunction = SQLFunction;
|
|
@@ -19,7 +19,7 @@ class TypeTable extends combi_1.Expression {
|
|
|
19
19
|
// "WITH" is not allowed as a field name in keys
|
|
20
20
|
const typetable = (0, combi_1.alt)(generic, (0, combi_1.seq)(normal1, (0, combi_1.alt)((0, combi_1.opt)((0, combi_1.per)(header, initial, (0, combi_1.plusPrio)(type_table_key_1.TypeTableKey))), (0, combi_1.seq)((0, combi_1.plus)(type_table_key_1.TypeTableKey), (0, combi_1.optPrio)(initial))), (0, combi_1.optPrio)("VALUE IS INITIAL")));
|
|
21
21
|
const occurs = (0, combi_1.seq)("OCCURS", (0, combi_1.altPrio)(_1.Integer, field_chain_1.FieldChain));
|
|
22
|
-
const derived = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("TABLE FOR", (0, combi_1.altPrio)("ACTION IMPORT", "ACTION RESULT", "CREATE", "EVENT", "REPORTED EARLY", "FAILED EARLY", "FAILED", "LOCK", "DETERMINATION", "READ RESULT", "UPDATE"), (0, combi_1.alt)(_1.TypeName, _1.EntityAssociation)));
|
|
22
|
+
const derived = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("TABLE FOR", (0, combi_1.altPrio)("ACTION IMPORT", "ACTION RESULT", "CREATE", "EVENT", "REPORTED EARLY", "FAILED EARLY", "FAILED", "LOCK", "DETERMINATION", "READ RESULT", "UPDATE", "DELETE"), (0, combi_1.alt)(_1.TypeName, _1.EntityAssociation)));
|
|
23
23
|
const oldType = (0, combi_1.seq)((0, combi_1.opt)("REF TO"), _1.TypeName, (0, combi_1.alt)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), header));
|
|
24
24
|
const oldLike = (0, combi_1.seq)((0, combi_1.opt)("REF TO"), field_chain_1.FieldChain, (0, combi_1.alt)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), header));
|
|
25
25
|
const typeLine = (0, combi_1.seq)("LINE OF", _1.TypeName, occurs, header);
|
|
@@ -17,7 +17,7 @@ class MethodDef {
|
|
|
17
17
|
const forfunction = (0, combi_1.seq)("FOR FUNCTION", expressions_1.TypeName, result);
|
|
18
18
|
const behavior = (0, combi_1.altPrio)("DDL OBJECT OPTIONS CDS SESSION CLIENT REQUIRED", // todo, this is only from version something
|
|
19
19
|
(0, combi_1.seq)("TABLE FUNCTION", expressions_1.NamespaceSimpleName), // todo, this is only from version something
|
|
20
|
-
(0, combi_1.seq)("VALIDATE ON SAVE IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("MODIFY IMPORTING", (0, combi_1.plus)((0, combi_1.seq)(expressions_1.MethodParamName, modify))), (0, combi_1.seq)("PRECHECK IMPORTING", expressions_1.MethodParamName, modify), (0, combi_1.seq)("NUMBERING IMPORTING", expressions_1.MethodParamName, modify), (0, combi_1.seq)("READ IMPORTING", expressions_1.MethodParamName, (0, combi_1.altPrio)(forRead, forfunction)), (0, combi_1.seq)("FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.NamespaceSimpleName, "FOR", expressions_1.NamespaceSimpleName, result), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR CREATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR UPDATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR DELETE", expressions_1.TypeName), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR READ", expressions_1.TypeName, result), (0, combi_1.seq)((0, combi_1.alt)("BEHAVIOR", "LOCK"), "IMPORTING", expressions_1.MethodParamName, "FOR LOCK", expressions_1.TypeName), (0, combi_1.seq)("DETERMINE", (0, combi_1.alt)("ON MODIFY", "ON SAVE"), "IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("GLOBAL AUTHORIZATION IMPORTING REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("GLOBAL FEATURES IMPORTING REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("INSTANCE AUTHORIZATION IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("INSTANCE FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result));
|
|
20
|
+
(0, combi_1.seq)("VALIDATE ON SAVE IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("MODIFY IMPORTING", (0, combi_1.plus)((0, combi_1.seq)(expressions_1.MethodParamName, modify))), (0, combi_1.seq)("PRECHECK IMPORTING", expressions_1.MethodParamName, modify), (0, combi_1.seq)("NUMBERING IMPORTING", expressions_1.MethodParamName, modify), (0, combi_1.seq)("READ IMPORTING", expressions_1.MethodParamName, (0, combi_1.altPrio)(forRead, forfunction)), (0, combi_1.seq)("FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.NamespaceSimpleName, "FOR", expressions_1.NamespaceSimpleName, result), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR CREATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR UPDATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR DELETE", expressions_1.TypeName), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR READ", expressions_1.TypeName, result), (0, combi_1.seq)((0, combi_1.alt)("BEHAVIOR", "LOCK"), "IMPORTING", expressions_1.MethodParamName, "FOR LOCK", expressions_1.TypeName), (0, combi_1.seq)("DETERMINE", (0, combi_1.alt)("ON MODIFY", "ON SAVE"), "IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("GLOBAL AUTHORIZATION IMPORTING REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("GLOBAL FEATURES IMPORTING REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)((0, combi_1.seq)((0, combi_1.opt)("INSTANCE"), "AUTHORIZATION IMPORTING"), expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("INSTANCE FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result));
|
|
21
21
|
// todo, this is only from version something
|
|
22
22
|
const amdp = (0, combi_1.seq)("AMDP OPTIONS", (0, combi_1.optPrio)("READ-ONLY"), "CDS SESSION CLIENT CURRENT", (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefRaising));
|
|
23
23
|
const ret = (0, combi_1.seq)((0, combi_1.altPrio)("CLASS-METHODS", "METHODS"), expressions_1.MethodName, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), (0, combi_1.optPrio)(def), expressions_1.EventHandler), parameters, testing, (0, combi_1.seq)("FOR", behavior), amdp, "NOT AT END OF MODE", (0, combi_1.optPrio)(expressions_1.Redefinition)));
|
|
@@ -10,7 +10,7 @@ class ModifyEntities {
|
|
|
10
10
|
const fieldsWith = (0, combi_1.seq)("FIELDS (", (0, combi_1.plus)(expressions_1.SimpleName), ")", withh);
|
|
11
11
|
const by = (0, combi_1.seq)("BY", expressions_1.AssociationName);
|
|
12
12
|
const relating = (0, combi_1.seq)("RELATING TO", expressions_1.NamespaceSimpleName, "BY", expressions_1.NamespaceSimpleName);
|
|
13
|
-
const operation = (0, combi_1.alt)((0, combi_1.seq)("UPDATE SET FIELDS WITH", expressions_1.Source), (0, combi_1.seq)("CREATE SET FIELDS WITH", expressions_1.Source), (0, combi_1.seq)("UPDATE", fieldsWith), (0, combi_1.seq)("DELETE FROM", expressions_1.Source), (0, combi_1.seq)("UPDATE FROM", expressions_1.Source, relating), (0, combi_1.seq)("CREATE", (0, combi_1.opt)(by), "FROM", expressions_1.Source, (0, combi_1.opt)(relating)), (0, combi_1.seq)("EXECUTE", expressions_1.SimpleName, "FROM", expressions_1.Source), (0, combi_1.seq)("CREATE", (0, combi_1.opt)(by), (0, combi_1.optPrio)("AUTO FILL CID"), (0, combi_1.altPrio)(withh, fieldsWith)));
|
|
13
|
+
const operation = (0, combi_1.alt)((0, combi_1.seq)("UPDATE SET FIELDS WITH", expressions_1.Source), (0, combi_1.seq)("CREATE SET FIELDS WITH", expressions_1.Source), (0, combi_1.seq)("UPDATE", fieldsWith), (0, combi_1.seq)("DELETE FROM", expressions_1.Source), (0, combi_1.seq)("UPDATE FROM", expressions_1.Source, (0, combi_1.opt)(relating)), (0, combi_1.seq)("CREATE", (0, combi_1.opt)(by), "FROM", expressions_1.Source, (0, combi_1.opt)(relating)), (0, combi_1.seq)("EXECUTE", expressions_1.SimpleName, "FROM", expressions_1.Source), (0, combi_1.seq)("CREATE", (0, combi_1.opt)(by), (0, combi_1.optPrio)("AUTO FILL CID"), (0, combi_1.altPrio)(withh, fieldsWith)));
|
|
14
14
|
const failed = (0, combi_1.seq)("FAILED", expressions_1.Target);
|
|
15
15
|
const result = (0, combi_1.seq)("RESULT", expressions_1.Target);
|
|
16
16
|
const mapped = (0, combi_1.seq)("MAPPED", expressions_1.Target);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CDSEntityBuffer = void 0;
|
|
4
|
+
const _abstract_object_1 = require("./_abstract_object");
|
|
5
|
+
class CDSEntityBuffer extends _abstract_object_1.AbstractObject {
|
|
6
|
+
getType() {
|
|
7
|
+
return "DTEB";
|
|
8
|
+
}
|
|
9
|
+
getAllowedNaming() {
|
|
10
|
+
return {
|
|
11
|
+
maxLength: 30,
|
|
12
|
+
allowNamespace: true,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
getDescription() {
|
|
16
|
+
// todo
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.CDSEntityBuffer = CDSEntityBuffer;
|
|
21
|
+
//# sourceMappingURL=cds_entity_buffer.js.map
|
|
@@ -36,6 +36,7 @@ __exportStar(require("./behavior_definition"), exports);
|
|
|
36
36
|
__exportStar(require("./brf_plus_system_application"), exports);
|
|
37
37
|
__exportStar(require("./bsp_application"), exports);
|
|
38
38
|
__exportStar(require("./business_add_in_implementation"), exports);
|
|
39
|
+
__exportStar(require("./cds_entity_buffer"), exports);
|
|
39
40
|
__exportStar(require("./business_catalog_app_assignment"), exports);
|
|
40
41
|
__exportStar(require("./business_catalog"), exports);
|
|
41
42
|
__exportStar(require("./business_configuration_maintenance_object"), exports);
|
|
@@ -42,7 +42,7 @@ class Table extends _abstract_object_1.AbstractObject {
|
|
|
42
42
|
}
|
|
43
43
|
getAllowedNaming() {
|
|
44
44
|
let length = 30;
|
|
45
|
-
const regex = /^((\/[A-Z_\d]{3,8}\/)|[a-zA-Z0-9]{3})\w+$/;
|
|
45
|
+
const regex = /^((\/[A-Z_\d]{3,8}\/)|[a-zA-Z0-9]{3}|CI_)\w+$/;
|
|
46
46
|
if (this.getTableCategory() === TableCategory.Transparent) {
|
|
47
47
|
length = 16;
|
|
48
48
|
}
|
|
@@ -25,6 +25,11 @@ class TableType extends _abstract_object_1.AbstractObject {
|
|
|
25
25
|
this.parseXML();
|
|
26
26
|
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.ddtext;
|
|
27
27
|
}
|
|
28
|
+
getRowType() {
|
|
29
|
+
var _a;
|
|
30
|
+
this.parseXML();
|
|
31
|
+
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.rowtype;
|
|
32
|
+
}
|
|
28
33
|
setDirty() {
|
|
29
34
|
this.parsedXML = undefined;
|
|
30
35
|
super.setDirty();
|
package/build/src/registry.js
CHANGED
|
@@ -52,6 +52,7 @@ class CloudTypes {
|
|
|
52
52
|
|| obj instanceof Objects.BusinessCatalogAppAssignment
|
|
53
53
|
|| obj instanceof Objects.CDSMetadataExtension
|
|
54
54
|
|| obj instanceof Objects.Class
|
|
55
|
+
|| obj instanceof Objects.CDSEntityBuffer
|
|
55
56
|
|| obj instanceof Objects.ApplicationLogObject
|
|
56
57
|
|| obj instanceof Objects.CommunicationScenario
|
|
57
58
|
|| obj instanceof Objects.DataControl
|