Script Vergleich GraphQL

Script Vergleich GraphQL

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.

Copyright 2023 Workflow+