2016-12-09 10 views
0

Mit einer Abfrage wie unten erhalten Sie die Ausgabe im XML-Format, das für Exact Online erforderlich ist.XML-Payload in mehrere Exact Online-Unternehmen hochladen

local export documents in filecontents to "c:\temp\in" filename column filename 

Und dann geladen in Exact Online aktuellen Aufteilung mit:

local eol batch import xml "Accounts" in "c:\temp\in\Accounts" success "c:\temp\success" fail "c:\temp\fail" 

Dies funktioniert gut für eine Abteilung, aber nicht mit

Diese XML-Nachrichten können in viele Dateien auf der Festplatte gesetzt werden wenn Sie 100 Abteilungen/Firmen laden.

Wie kann ich Daten aus dem SQL direkt in mehrere Unternehmen/Abteilungen gleichzeitig laden, anstatt eine individuelle local eol batch import xml Anweisung und Anweisung zu verwenden?

Abfrage Beispiel:

select 'Accounts\010-Accounts.xml' 
     filename 
,  stg.fileprefix 
     || chr(13) 
     || '<Accounts>' 
     || xml 
     || chr(13) 
     || '</Accounts>' 
     || stg.filepostfix 
     filecontents 
from (select listagg 
       (chr(13) 
        || '<Account code="' 
        || xmlencode(custsupid) 
        || '" status="' 
... 

Antwort

1

Sie in mehrere Unternehmen/Geschäftsbereiche mit einer Anweisung laden können die folgende Syntax verwendet wie auf UploadXMLTopics beschrieben:

insert into [email protected] 
(topic 
, payload 
, division_code 
) 
select topic 
,  filecontents 
,  division_code 
from ... 

Selbst wenn ein oder mehrere der Uploads scheitern , die Einfügung meldet keinen Fehler und verarbeitet alle XML-Nachrichten.

können Sie sehen die Ergebnisse anschließend mit:

select * 
from UploadXMLTopics 

Die Spalte SUCCESSFUL zeigt an, ob die Spalte Nutzlast erfolgreich geladen wurde.

In RESULT Spalten Sie die Rückmeldung von Exact Online, wie finden:

<?xml version="1.0" encoding="utf-8"?> 
<eExact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="eExact-XML.xsd"> 
    <Messages> 
     <Message type="0"> 
      <Topic code="FinYears" node="FinYear" /> 
      <Date>2016-12-09T09:02:36</Date> 
      <Description>Kan boekjaar niet aanmaken: 2014 vanwege ontbrekende boekjaren. Het laagste boekjaar in Exact Online is 2016.</Description> 
     </Message> 
     <Message type="2"> 
      <Topic code="FinYears" node="FinYear"> 
       <Data key="2015" keyAlt="2015" /> 
      </Topic> 
      <Date>2016-12-09T09:02:37</Date> 
      <Description>Aangemaakt</Description> 
     </Message> 
    </Messages> 
</eExact>