@abaplint/core
Version:
abaplint - Core API
25 lines • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CallFunction = void 0;
const combi_1 = require("../combi");
const expressions_1 = require("../expressions");
const version_1 = require("../../../version");
class CallFunction {
getMatcher() {
const starting = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)("STARTING NEW TASK", expressions_1.SimpleSource2));
const update = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.str)("IN UPDATE TASK"));
const unit = (0, combi_1.seq)("UNIT", expressions_1.Source);
const background = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)("IN BACKGROUND", (0, combi_1.altPrio)("TASK", unit)));
const calling = (0, combi_1.seq)("CALLING", expressions_1.MethodSource, "ON END OF TASK");
const performing = (0, combi_1.seq)("PERFORMING", expressions_1.FormName, "ON END OF TASK");
const separate = (0, combi_1.str)("AS SEPARATE UNIT");
const keeping = (0, combi_1.str)("KEEPING LOGICAL UNIT OF WORK");
const options = (0, combi_1.per)(starting, update, background, expressions_1.Destination, calling, performing, separate, keeping);
const ex = (0, combi_1.seq)("EXCEPTION-TABLE", expressions_1.Source);
const dynamic = (0, combi_1.alt)((0, combi_1.seq)("PARAMETER-TABLE", expressions_1.Source, (0, combi_1.opt)(ex)), ex);
const call = (0, combi_1.seq)("CALL", (0, combi_1.altPrio)("FUNCTION", (0, combi_1.verNot)(version_1.Version.Cloud, "CUSTOMER-FUNCTION")), expressions_1.FunctionName, (0, combi_1.opt)(options), (0, combi_1.alt)(expressions_1.FunctionParameters, dynamic));
return call;
}
}
exports.CallFunction = CallFunction;
//# sourceMappingURL=call_function.js.map