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 {string} data
* @param {string} filename
* @param {object} extra
*
* @returns {array}
*/
function transform (data, filename, extra) {
return []
}
Eingebundene Libraries
Es sind noch zusätzlich verschiedene externe Tools eingebunden die in den Transformationscodes verwenden werden können:
dayjs
xmlParser
xmlParser4
xmlParser4
SFTPClient
papa
axios
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: LINK_TO_PAGE=304
Last change: 20.02.2025
Allgemeines
Einführungsphase
Mitarbeiter
Aufträge
Proben
Probenvorlage
Berichte
Berichtstabellen Editor
Kunden
Kundenzone (optional)
Anlagen
Rechnungen
Parameter
Rechnen mit Parametern
Schnittstellen
Webservice
Prüfpläne / Grenzwerte / Spezifikationen
Dokumentenlenkung
Prüfmittel
Material
Sonstiges
PDF-Vorlagen
Fragen und Antworten
Dateiverwaltung
Auswertungen
Prozesse