UNPKG

@abaplint/core

Version:
26 lines 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ModifyEntities = void 0; const combi_1 = require("../combi"); const expressions_1 = require("../expressions"); const version_1 = require("../../../version"); class ModifyEntities { getMatcher() { const withh = (0, combi_1.seq)("WITH", expressions_1.Source); const fieldsWith = (0, combi_1.seq)("FIELDS (", (0, combi_1.plus)(expressions_1.SimpleName), ")", withh); const by = (0, combi_1.seq)("BY", expressions_1.AssociationName); const relating = (0, combi_1.seq)("RELATING TO", expressions_1.NamespaceSimpleName, "BY", expressions_1.NamespaceSimpleName); 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))); const failed = (0, combi_1.seq)("FAILED", expressions_1.Target); const result = (0, combi_1.seq)("RESULT", expressions_1.Target); const mapped = (0, combi_1.seq)("MAPPED", expressions_1.Target); const reported = (0, combi_1.seq)("REPORTED", expressions_1.Target); const from = (0, combi_1.seq)("FROM", expressions_1.Source); const execute = (0, combi_1.seq)("EXECUTE", expressions_1.NamespaceSimpleName); const entities = (0, combi_1.seq)((0, combi_1.optPrio)("AUGMENTING"), "ENTITIES OF", expressions_1.NamespaceSimpleName, (0, combi_1.opt)("IN LOCAL MODE"), (0, combi_1.plusPrio)((0, combi_1.seq)("ENTITY", expressions_1.SimpleName, (0, combi_1.plus)(operation))), (0, combi_1.optPrio)((0, combi_1.per)(failed, result, mapped, reported))); const entity = (0, combi_1.seq)("ENTITY", expressions_1.NamespaceSimpleName, execute, from, mapped, failed, reported); return (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("MODIFY", (0, combi_1.alt)(entities, entity))); } } exports.ModifyEntities = ModifyEntities; //# sourceMappingURL=modify_entities.js.map