@abaplint/runtime
Version:
Transpiler - Runtime
32 lines • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.modifyDatabase = modifyDatabase;
const types_1 = require("../types");
const insert_database_1 = require("./insert_database");
const update_database_1 = require("./update_database");
async function modifyDatabase(table, options, context) {
if (options.table instanceof types_1.FieldSymbol) {
options.table = options.table.getPointer();
}
if (options.values instanceof types_1.FieldSymbol) {
options.values = options.values.getPointer();
}
if (options.table) {
for (const row of options.table.array()) {
const subrc = await (0, insert_database_1.insertDatabase)(table, { values: row }, context);
if (subrc !== 0) {
await (0, update_database_1.updateDatabase)(table, { from: row }, context);
}
}
}
else if (options.values) {
const subrc = await (0, insert_database_1.insertDatabase)(table, { values: options.values }, context);
if (subrc !== 0) {
await (0, update_database_1.updateDatabase)(table, { from: options.values }, context);
}
}
else {
throw "modifyDatabase todo";
}
}
//# sourceMappingURL=modify_database.js.map