Wir erweitern Workflow+ mit dem neuesten Update um eine neue, leistungsstarke Möglichkeit zur Datenabfrage: GraphQL. Im Vergleich zur bisherigen, traditionellen Abfrage ermöglicht GraphQL eine präzisere und flexiblere Datenabfrage, bei der nur die exakt benötigten Informationen abgerufen werden. Dies reduziert die Menge an übertragenen Daten und verbessert die Performance, besonders bei komplexen und verschachtelten Datenstrukturen.
Während die traditionelle-Methode weiterhin zuverlässig ist, bietet GraphQL den Vorteil einer dynamischen und effizienten Abfrage, die besonders bei skalierbaren Anwendungen und komplexen Anforderungen zu einer einfachen und schnelleren Integration führt.
Gerne zeigen wir Ihnen hier, wie sich die Scripts zwischen GraphQL und der bisherigen Sprache unterscheiden.
Voraussetzung: microtech büro+ Enterprise
-- GraphQL
lGqlQuery = @StartLongText
query {
tblAddresses {
rowRead(exactMatch: { byNr: { kf1AdrNr: { string: "10372" } } }) {
fldAdrNr
fldSuchBeg
fldReAnsNr
fldLiAnsNr
reAnschrift: lnkPostalAddresses {
rowsRead(byAdrNrAnsNr: { usingAdrNrReAnsNr: {} }) {
fldAnsNr
fldNa1
fldNa2
lnkContactPeople {
rowsRead(byAdrNrAnsNrAspNr: { usingAdrNrAnsNrAspNr: {} }) {
fldVNa
fldNNa
fldEMail1
}
}
}
}
liAnschrift: lnkPostalAddresses {
rowsRead(byAdrNrAnsNr: { usingAdrNrLiAnsNr: {} }) {
fldAnsNr
fldNa1
fldNa2
lnkContactPeople {
rowsRead(byAdrNrAnsNrAspNr: { usingAdrNrAnsNrAspNr: {} }) {
fldVNa
fldNNa
fldEMail1
}
}
}
}
}
}
}
@EndLongText
lResult = GraphQLSendQuery("GraphQLAlphacom", lGqlQuery)
lJsonData = JsonCreateJObject(lResult)
Beispiel alte Variante
Declare lGqlQuery as String
Declare lResult as String
Declare lJsonData as JObject
Declare lTemp as String
-- Abfragen mittels GetTable Anweisungen
If GetTable("Adressen", "Nr", "AdrNr", "10372") Then
-- Rechnungsanschriften
if GetTable("Anschriften", "AdrNrAnsNr", "AdrNr", Adressen.AdrNr, "AnsNr", Adressen.ReAnsNr) then
lTemp = Anschriften.Na1
lTemp = Anschriften.Na2
-- Ansprechpartner
if HasValue(Anschriften.AspNr) then
if GetTable("Ansprechpartner", "AdrNrAnsNrAspNr", "AdrNr", Anschriften.AdrNr, "AnsNr", Anschriften.AnsNr, "AspNr", Anschriften.AspNr)
lTemp = Ansprechpartner.VNa
lTemp = Ansprechpartner.NNa
lTemp = Ansprechpartner.EMail1
EndIf
EndIf
EndIf
-- Lieferanschrift
if GetTable("Anschriften", "AdrNrAnsNr", "AdrNr", Adressen.AdrNr, "AnsNr", Adressen.LiAnsNr) then
lTemp = Anschriften.Na1
lTemp = Anschriften.Na2
-- Ansprechpartner
if HasValue(Anschriften.AspNr) then
if GetTable("Ansprechpartner", "AdrNrAnsNrAspNr", "AdrNr", Anschriften.AdrNr, "AnsNr", Anschriften.AnsNr, "AspNr", Anschriften.AspNr)
lTemp = Ansprechpartner.VNa
lTemp = Ansprechpartner.NNa
lTemp = Ansprechpartner.EMail1
EndIf
EndIf
EndIf
EndIf
Weitere Informationen finden Sie auch auf unserer Hilfeseite.