UNPKG

@sap/dwf-generator

Version:

SAP HANA Data Warehousing Foundation - Generator

73 lines (67 loc) 2 kB
'use strict'; const coCommon = require('../generate/common'); function lfnAssignViews(ioGenerator, ioConnection) { if (typeof ioConnection.action == 'undefined') { ioConnection.action = []; } let loViews = [{ type: 'union', object: ioGenerator.getObjectFullName(ioGenerator .getUnionViewName(ioConnection)) }]; if (ioConnection.rule.type == 'pruning') { loViews.push({ type: 'pruning', object: ioGenerator.getObjectFullName(ioGenerator .getUnionViewName(ioConnection)) }); } let loSelect = JSON.parse(coCommon.replace('runtimeViews', { views: loViews })); ioConnection.action.push(loSelect); } function lfnAssignProcedures(ioGenerator, ioConnection) { if (typeof ioConnection.action == 'undefined') { ioConnection.action = []; } let loExecute = { procedures: [] }; let lsRuleType = ioConnection.rule.type; if (typeof ioConnection.rule[lsRuleType]['source_to_target'] != 'undefined') { let loSourceToTarget = { type: 'source_to_target', object: ioGenerator.getObjectFullName(ioGenerator. getRelocationNameSourceToTarget(ioConnection)) }; loExecute.procedures.push(loSourceToTarget); } if (typeof ioConnection.rule[lsRuleType]['target_to_source'] != 'undefined') { let loTargetToSource = { type: 'target_to_source', object: ioGenerator.getObjectFullName(ioGenerator. getRelocationNameTargetToSource(ioConnection)) }; loExecute.procedures.push(loTargetToSource); } loExecute = JSON.parse(coCommon.replace('runtimeProcedures', loExecute)); ioConnection.action.push(loExecute); } function lfnGetRuntime(iaConnections) { let loRuntime = { node: [] }; for (let i in iaConnections) { loRuntime.node.push({ id: iaConnections[i].id, action: iaConnections[i].action }); } return loRuntime; } module.exports = { assignViews: lfnAssignViews, assignProcedures: lfnAssignProcedures, getRuntime: lfnGetRuntime };