Zum Hauptinhalt springen

SAP Public Cloud Connector

Dieses Modul ermöglicht die Interaktion mit dem SAP Public Cloud Connector.

Dafür werden verschiedene Funktionen bereitgestellt:

Funktionen

saveConfigToDatabase

function saveConfigToDatabase(options: SaveConfigToDatabaseOptions);

Die Funktion saveConfigToDatabase speichert eine Konfiguration für eine bestimmte Aufgabe in der Datenbank.

Das Argument der Funktion ist vom Typ SaveConfigToDatabaseOptions.

Beispiel

context.enableModules();

const { saveConfigToDatabase } = require("ou.sp.SapPublicCloud");
const { getSettings } = require("ou.spc.ptpINV.settings");

const db = getSettings().ptpConnections.getDatabaseConnection("ousp");

try {
saveConfigToDatabase({
configId: "fetchCostCenters",
config: { ... },
db: db,
});
context.returnValue = 0;
} catch (error) {
util.out("Error: " + error.message);
context.errorMessage = error.message;
context.returnValue = -1;
} finally {
db?.close();
}
tipp

Existiert bereits eine Konfiguration für die übergebene configId, wird diese überschrieben.

startTask

function startTask(options: StartTaskOptions): TaskInfoEntry | null;

Die Funktion startTask startet eine Aufgabe im SAP Public Cloud Connector. Standardmäßig wird die Aufgabe asynchron ausgeführt – d.h. der SAP Public Cloud Connector bekommt die Anfrage, die Aufgabe zu starten und gibt sofort eine TaskId zurück. Bei async: false in den StartTaskOptions wird die Aufgabe im SAP Public Cloud Connector angestoßen, welcher wieder die TaskId zurückgibt, und mit dieser wird in einem Intervall der Status der Aufgabe abgefragt, bis diese beendet oder ein Timeout erreicht ist.

Folgender Workflow ergibt sich also:

  1. async: true -> Die Aufgabe asynchron starten und mit getTaskInfo das Gelingen der Aufgabe manuell abfragen oder mit updateRunningTasks alle laufenden Aufgaben (z.B. in einem Job) synchronisieren.
  2. async: false -> Die Aufgabe synchron starten und sofort das Ergebnis über das Gelingen der Aufgabe erhalten.

Mit configOverride lässt sich die in saveConfigToDatabase angelegte Konfiguration – auch nur in Teilen – überschreiben.

Das Argument der Funktion ist vom Typ StartTaskOptions.

Beispiel

context.enableModules();

const { startTask } = require("ou.sp.SapPublicCloud");
const { getSettings } = require("ou.spc.ptpINV.settings");

const db = getSettings().ptpConnections.getDatabaseConnection("ousp");

try {
const vendorId = 10008;
startTask({
configId: "fetchCostCenters",
db: db,
configOverride: {
queryParams: {
$filter: "Supplier eq '" + vendorId + "'"
}
},
});
context.returnValue = 0;
} catch (error) {
util.out("Error: " + error.message);
context.errorMessage = error.message;
context.returnValue = -1;
} finally {
db?.close();
}

getTaskInfo

function getTaskInfo(options: GetTaskInfoOptions): TaskInfoEntry;

Die Funktion getTaskInfo holt sich Informationen über eine Aufgabe im SAP Public Cloud Connector ab und speichert diese in der Datenbank.

Das Argument der Funktion ist vom Typ GetTaskInfoOptions.

Beispiel

context.enableModules();

const { getTaskInfo } = require("ou.sp.SapPublicCloud");
const { getSettings } = require("ou.spc.ptpINV.settings");

const db = getSettings().ptpConnections.getDatabaseConnection("ousp");

try {
const taskInfo = getTaskInfo({
taskId: "92b6d1f1-4b05-4a3c-8107-a09b4e485dae"
db: db,
});
context.returnValue = JSON.stringify(taskInfo);
} catch (error) {
util.out("Error: " + error.message);
context.errorMessage = error.message;
context.returnValue = -1;
} finally {
db?.close();
}

updateRunningTasks

function updateRunningTasks(options: UpdateRunningTasksOptions);

Die Funktion updateRunningTasks sucht alle Einträge zu laufenden Aufgaben in der Datenbank, fragt für jede Aufgabe den aktuellen Status beim SAP Public Cloud Connector ab und aktualisiert die Einträge in der Datenbank.

Das Argument der Funktion ist vom Typ UpdateRunningTasksOptions.

Beispiel

context.enableModules();

const { updateRunningTasks } = require("ou.sp.SapPublicCloud");
const { getSettings } = require("ou.spc.ptpINV.settings");

const db = getSettings().ptpConnections.getDatabaseConnection("ousp");

try {
updateRunningTasks({
db: db,
});
context.returnValue = 0;
} catch (error) {
util.out("Error: " + error.message);
context.errorMessage = error.message;
context.returnValue = -1;
} finally {
db?.close();
}
tipp

Weitere Informationen zur Funktionsweise des SAP Public Cloud Connectors sind hier verfügbar.