10.03.2023, 18:58
Hallo Zusammen,
ich habe das Problem, dass ich bestimmte Werte in einer SAP Datenbank abfragen möchte, was auch funktioniert.
Leider muss ich jede Abfrage 2 mal durchführen um das richtige Ergebnis zu erhalten.
Nach Neuladen der Seite bekomme ich beim ersten Klick auf den Button immer undefined und beim 2. Klick erst mein Ergebnis.
Wiederhole ich das mit anderen Daten ohne die Seite neu zu laden, bekomme ich immer erst den alten abgefragten Wert und bei erneuten Klick erst die gewünschten Ergebnisse.
Frontend
Backend
DB Abfrage sap.Bestandsquery
Grüße
Florian86
ich habe das Problem, dass ich bestimmte Werte in einer SAP Datenbank abfragen möchte, was auch funktioniert.
Leider muss ich jede Abfrage 2 mal durchführen um das richtige Ergebnis zu erhalten.
Nach Neuladen der Seite bekomme ich beim ersten Klick auf den Button immer undefined und beim 2. Klick erst mein Ergebnis.
Wiederhole ich das mit anderen Daten ohne die Seite neu zu laden, bekomme ich immer erst den alten abgefragten Wert und bei erneuten Klick erst die gewünschten Ergebnisse.
Frontend
Code:
'use strict';
document.getElementById("anzeige").addEventListener("click",function(){
var mat = document.getElementById("mat").value
var lgort = document.getElementById("lgort").value
var mhd = document.getElementById("mhd").value
var data = {
"material" : mat,
"lagerort" : lgort,
"mhd" : mhd
};
const options = {
method: 'POST',
headers:{ 'Content-Type': 'application/json' },
body:JSON.stringify(data)
};
postfile(options);
});
async function postfile(options){
const response = await fetch('/zwmbestand',options);
const data = await response.json();
console.log(data);
}
Backend
Code:
'use strict';
var express = require('express');
var sap = require('./zbestand.js');
var router = express();
router.post('/zwmbestand',async (req,res,next) => {
let result = await sap.bestandquery(req.body);
res.send(`${result}`);
});
module.exports = router;
DB Abfrage sap.Bestandsquery
Code:
module.exports = {
bestandquery : function(body){
var dbConnection = hana.createConnection();
select = SQL Abfrage
// aktuelles select auslesen
dbConnection.connect(connOptions, async function (err) {
if (err) console.log(err);
var han = await dbConnection.exec(select);
datatransport = JSON.stringify(han, null, 2);
});
dbConnection.disconnect();
return datatransport;
},
};
Grüße
Florian86