使用如下查询,您将获得Exact Online所需的XML格式的输出。
这些XML消息可以使用以下命令放在磁盘上的许多文件中:
local export documents in filecontents to "c:\temp\in" filename column filename
然后使用以下方法加载到Exact Online的当前部门:
local eol batch import xml "Accounts" in "c:\temp\in\Accounts" success "c:\temp\success" fail "c:\temp\fail"
这适用于一个部门,但不适用于加载100个部门/公司。
如何直接将SQL中的数据同时加载到多个公司/部门,而不是使用单独的local eol batch import xml
语句和use DIVISIONCODE
语句?
查询示例:
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="'
...
答案 0 :(得分:1)
您可以使用UploadXMLTopics所述的以下语法将一个语句上传到多个公司/部门:
insert into UploadXMLTopics@eol
( topic
, payload
, division_code
)
select topic
, filecontents
, division_code
from ...
即使一个或多个上传失败,插入也不会报告错误并处理所有XML消息。
您可以使用以下方式查看结果:
select *
from UploadXMLTopics
列SUCCESSFUL
表示是否已成功加载有效负载列。
在RESULT
列中,您将找到Exact Online的返回消息,例如:
<?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>