希望您能够提供帮助。 在 NetSuite 上,我目前正在构建一个金融机构连接脚本,其唯一目标是将 XML 文件传递到“CAMT053 插件实现”,该文件是银行解析器捆绑包的一部分。我不确定该插件如何处理 XML 文件;更具挑战性的是我们无法访问脚本来检查可能出现的问题。
无论如何,这是我的代码片段:
function getTransactionData(context) {
var configurationId = context.pluginConfiguration.getConfigurationFieldValue({ fieldName: "configuration_id" });
var configuration = loadConfiguration(configurationId)
var accountRequests = JSON.parse(context.accountRequestsJSON);
nLog.audit({
title: 'accountRequests',
details: JSON.stringify(context.accountRequestsJSON)
});
if (accountRequests != null) {
accountRequests.forEach(function (accountRequest) {
var accountId = accountRequest.accountMappingKey;
var fromDateTime = accountRequest.dataStartTime;
var toDateTime = accountRequest.dataEndTime;
//LOAD FILE
let fileTestLoad = nFile.load({
id: 12345
});
//CAPTURE XML CONTENT AS A STRING
var downloadedData = fileTestLoad.getContents();
//PASS STRING, GET PROCESSED BY CAMT053 PARSER (provided by NetSuite)
context.addDataChunk({dataChunk: downloadedData});
}
});
}
context.returnAccountRequestsJSON({ accountsJson: context.accountRequestsJSON });
}
现在,我收到此错误: 由于以下错误,无法解析或导入该文件: {"type":"error.SuiteScriptError","name":"SSS_XML_DOM_EXCEPTION","message":"不允许匹配“[xX][mM][lL]”的处理指令目标。[第221行,第17列]","id":"","stack":["fromString(N/xml)","(/SuiteBundles/Bundle 293699/com.netsuite.bsp/src/wrapper/bsp_wrapper_xml.js:10)", “(/SuiteBundles/Bundle 293699/com.netsuite.bsp/src/parser/bsp_parser_camt053.js:629)”],“原因”:{“类型”:“内部错误”,“代码”:“SSS_XML_DOM_EXCEPTION”,“详细信息":"不允许匹配“[xX][mM][lL]”的处理指令目标[第 221 行,第 17 列]","userEvent":null,"stackTrace":["fromString(N/xml)。 )","(/SuiteBundles/Bundle 293699/com.netsuite.bsp/src/wrapper/bsp_wrapper_xml.js:10)","(/SuiteBundles/Bundle 293699/com.netsuite.bsp/src/parser/bsp_parser_camt053.js :629)"],"notifyOff":false},"notifyOff":false,"userFacing":false}
我对这个错误做了一些研究;当 XML 文件包含不正确的 XML 声明或不正确的格式时,显然会发生这种情况。这确实已经过审查,并使用了在线验证器,一切似乎都很好。这是我正在使用的 XML 文件的片段:
总结一下 - 我想了解如何将 context.addChunks() 调用与来自银行解析器包的 NetSuite 默认 CAMT053 解析器一起使用。非常感谢任何帮助!
我遇到了类似的问题,我需要从我们的 ABSI 银行文件处理 ZBA 交易。我最终只是创建了自己的 BAI2 解析器,而不是尝试让 NetSuite 提供的解析器在 ABSI 上下文之外工作。
本质上,我的 ABSI 插件只是将入站文件复制到一个文件夹,然后我的解析器运行以生成银行匹配数据。我的解析器还用于 Map/Reduce 中,以从 ZBA 条目中提取和映射财务交易。