Genereller Aufbau eines Transformationscodes

Transformationscodes sind kleine Code Snippets die in verschiedenen Bereichen eingebettet werden können um komplexere Verarbeitungen von Daten zu ermöglichen. Das können Umwandlungen von Datensätzen für die Darstellung von Auswertungen, Exporten, Importen und Antworten von Schnittstellen sein.
Bis auf ein paar Ausnahmen ist das Kernstück immer eine JavaScript Funktion die transform heißt und als ersten Parameter, den zu verwandelnden Datensatz enthält. Der entsprechende Aufbau der Daten wird in den jeweiligen Bereichen erläutert. Wo es relevant ist, werden noch weitere Parameter wie z.B. der Dateinamen mitgegeben.

/**

* @param {any} data
* @param {string} [filename]
* @param {Object} [options]
*/
function transform (data[, filename][, options]) {
// ... code
console.log('note ... ')
console.error('error ...')
}


Eingebundene Libraries
Es sind noch zusätzlich verschiedene externe Tools eingebunden die in den Transformationscodes verwenden werden können:


Beispiel für die Verwendung der inkludierten Libraries

Ein Axios Beispiel für die Übertragung von zwei Messdaten via HTTP an eine Labordatenbank Importschnittstelle:

const axios = require('axios')   // beim Aufruf in der transform Funktion bereits inkludiert

axios({
method: 'post',
url: 'https://user:pwd@labordatenbank.com/demo/imports/import/x/0/https',
data: [ { "pH-Wert": 7.4 },
{ "LF": 1200 } ]
}).then(function (response) {
console.log("Rückmeldung von Importschnittstelle: " + response.data.msg);
});


Ein day.js Beispiel für Datumskonvertierungen:

const dayjs = require('dayjs')   // beim Aufruf in der transform Funktion bereits inkludiert


// dayjs Object aus Unixtimestamp erstellen
let production_date = dayjs.unix(1637762955)
console.log("Produktionsdatum: " + production_date.format('DD.MM.YYYY'));

let expiration = production_date.add(2, 'year')
console.log("Ablaufdatum: " + expiration.format('DD.MM.YYYY'));


Ein SFTP Beispiel:

async function transform(data) {

const client = new SFTPClient()

try {
await client.connect({
host: 'test.rebex.net',
username: 'demo',
password: 'password',
})

console.log('Connection successful!')

// Als erster Parameter muss der Input String mittels Buffer.from transformiert werden. Das sind die Daten die dann in die hochgeladenen Datei geschrieben werden.
// upload_filename.txt ist ein Beispiel Dateiname. Irgendein Dateiname wird benötigt um die Daten im 1. Parameter hochzuladen
await client.put(Buffer.from('Example Input String'), 'upload_filename.txt')
} catch (e) {
console.error('SFTP Error', e.message)
}
}


Weiter mit: Transformationscode für Auswertungen

Letzte Änderung: 16.01.2024

Allgemeines

Einführungsphase

Mitarbeiter

Aufträge

Proben

Probenvorlage

Berichte

Berichtstabellen Editor

Kunden

Kundenzone (optional)

Anlagen

Angebote

Rechnungen

Parameter

Rechnen mit Parametern

Schnittstellen

Webservice

Transformationscode

Prüfpläne / Grenzwerte / Spezifikationen

Dokumentenlenkung

Prüfmittel

Material

Mitarbeiterschulungen

8D-Report

Sonstiges

PDF-Vorlagen

Fragen und Antworten

Lieferantenbewertung

Dateiverwaltung

Auswertungen