0
Verarbeitung von großen JSON Objekten
Hallo zusammen,
für einen Import / Update Dialog mit einem anderen CRM System muss ich manchmal große Mengen an JSON Daten (per CRM API) verarbeiten. Es wird geprüft ob der Datensatz schon vorhanden ist und falls nicht, soll dieser geschrieben, mit verschiedenen Parametern gefüllt werden.
Die benötigt gerade über den Browser eine M;enge Zeit und bricht auch teilweise ab. Wie kann die optimiert werden.
do as deferred - Funktioniert, es werden aber bei 2500 Datensätzen auch entsprechend 2500 Transactionen erstellt die dann mit der Zeit abgearbeitet werden.
function fetchAPI(entity : text,parameter : text) do
let url := "https://xxxx/";
let uri := url + entity + parameter;
let headers := {
Authorization: "Bearer " + getToken(),
Accept: "application/json",
'Content-Type': "application/json"
};
let response := do as server
http("GET", uri, headers, {})
end;
if response.error then
Log := text(response.error)
end;
response.result
end;
if activeAPI() then
let result := fetchAPI("opportunities", getVCAccout('VC ID'));
if result.value then
Log := now() + " " + result.cnt(value) + " Datensätze zu verarbeiten";
let vcs := (select Verkaufschance);
do as deferred
for i in result.value do
let idVC := first(vcs[VC = i.verkaufschancenid]);
if not idVC then
do as transaction
let newImport := (create 'VC Import');
newImport.(VC := i.verkaufschancenid);
newImport.(Titel := i.name);
newImport.('VC Status' := number(i.statecode) + 1);
newImport.(Erstelldatum := i.createdon);
newImport.('Kuba VC ID' := i.opportunityid)
end
end
end
end
end
end
Copy
Wäre euch für eine Idee oder Optimierung dankbar.
Antwort
Content aside
- vor 1 JahrZuletzt aktiv
- 53Ansichten
-
1
Folge bereits