0

我正在使用 Dell Boomi 平台和 NetSuite。

我有一个独特的情况,我们需要从带有邮件(IMAP)连接器的收件箱中检索电子邮件,然后获取电子邮件的正文并逐行阅读以提取特定信息。

我需要什么的粗略图 这是我需要做的粗略图表。


邮件(IMAP)连接器工作得很好,但我不知道从那里做什么。我正在努力学习 Boomi,但事实证明这是一个更大的挑战。

基本上我需要从电子邮件正文中创建 3 个变量:

var customer = [];
var memo = [];
var amount = [];

被解析的电子邮件正文看起来像这样,没有标题:

- - -原始信息 - - -

来自:info@somesite.com

发送:2019 年 8 月 28 日星期三晚上 9:07

致:reports@somesite.com;

主题:事件日志:报告回顾主题行

示例 123456、123412532452346346:ALKNBAQWIOET235QA08WSAQ2038YTQ12{

示例 120985、109285710928561239:IO2Q0AIHJG698AE64A98GA654AG98DGF{

示例 489072、987651498795654987:S54DGFH9A84D65F4A6SDF98A4SD138A4{

12341253643876843589, #12345, 100.00

12387019287654984616, #12324, 125.00

12359870923654987465, #51232, 100.00

这部分电子邮件是我需要阅读的内容,而忽略其余部分

12341253643876843589, #12345, 100.00

12387019287654984616, #12324, 125.00

12359870923654987465, #51232, 100.00

我假设我需要一个数据处理形状来操纵信息。但是我不明白应该包含哪些脚本才能将这些脚本拉入可以在未来步骤中连接到地图的变量中。

写得很粗糙,我需要脚本来执行以下操作:

  • 阅读电子邮件的第一行,并检查第一个单词是否至少 20 个字符长
  • 如果没有读到下一行
  • 如果是存储在customer变量中,则将 , 后面的值存储到memo变量中(#12345),然后将最后的 , 值存储为amount变量
  • 然后允许将这些变量传递/映射到 NetSuite

如果这没有多大意义,我很抱歉。我真的希望我能在这里找到帮助。我正在尽我最大的努力学习这个,但它只是在我的头上,绝望,我只需要帮助......

我目前在 Boomi 的流程,我不知道在此之后该怎么做,电子邮件再次完美拉动。 目前的boomi流程

4

1 回答 1

0

解决它的一种方法是基本上逐行拆分文档,将其推过地图,然后通过路线评估第一列是否大于零。跳过变量并通过地图处理它。这假设您对 DellDoomi 有一些基本的了解。

例子: 在此处输入图像描述

从左到右移动:

  1. “测试数据” - 带有示例文本的消息,以便我可以测试。
  2. “拆分文档 - 平面文件 - 按行拆分” - 这将是您开始并将其连接到您的邮件连接器的地方。这是一个数据处理形状,拆分文档 在此处输入图像描述

这基本上会将您的电子邮件消息分成每行的单个文档。

  1. “平面文件” - 这是一张地图。我手动创建了一个新的平面文件配置文件(电子邮件输入),逗号分隔 3 个元素。这为每一行带来了结构。源和目标使用相同的配置文件,您的右侧可能是 netsuite 的配置文件,映射相应的列。

在此处输入图像描述

  1. “Route” - 这基本上是查看第一列中的值并检查它是否大于 0。其他任何东西都会被路由到 Default,我们不会对它们做任何事情。按已创建的“电子邮件输入”配置文件的第一列路由。

在此处输入图像描述

  1. “大于 0”分支将是您连接目的地的地方。因为这应该只是您的示例中显示的那 3 行,因为它们实际上大于零。

在此处输入图像描述

于 2019-11-11T19:56:05.607 回答