SAP Build 2-PDF数据提取与决策

作者 : admin 本文共4362个字,预计阅读时间需要11分钟 发布时间: 2024-06-16 共1人阅读

0. 安装desktop agent

在后续过程中发现要预先安装desktop agent,否则没法运行自动化流程…

0.1 agent下载

参考官方文档说明
https://help.sap.com/docs/build-process-automation/sap-build-process-automation/create-user-in-rbsc-download-repository?locale=en-US
SAP Build 2-PDF数据提取与决策插图
转到Control tower,选中agents update的磁贴SAP Build 2-PDF数据提取与决策插图(1)
go to rbsc portal
SAP Build 2-PDF数据提取与决策插图(2)
转到Control tower,选中agents的磁贴
SAP Build 2-PDF数据提取与决策插图(3)
点击go to download page,转到下载页面
SAP Build 2-PDF数据提取与决策插图(4)
官方文档是这么说的,但是跳转过后出现的是500页面没法配置,很奇怪
SAP Build 2-PDF数据提取与决策插图(5)
好恶心,最后根据这个QA找到了答案
https://community.sap.com/t5/sap-teched-discussions/sap-teched-2022-ai180-ad182-prerequisites-setup-desktop-agent-3-rbsc-portal/m-p/12624541
可以通过https://tools.hana.ondemand.com/#cloud 下载trial版本的desktop agent
用个人邮箱注册的BTP就没办法进入RBSC Portal,SID注册的根据上述QA所答应该可以进入Portal
SAP Build 2-PDF数据提取与决策插图(6)

0.2 agent安装

版本是3.24.54
SAP Build 2-PDF数据提取与决策插图(7)
直接就装了,也不问我装哪儿
SAP Build 2-PDF数据提取与决策插图(8)
SAP Build 2-PDF数据提取与决策插图(9)
装完就在右下角默认启动了
SAP Build 2-PDF数据提取与决策插图(10)

0.3 agent注册

回到SAP Build的control tower,选择agent desktop
点击register agent,随后copy and close注册链接
SAP Build 2-PDF数据提取与决策插图(11)
回到桌面右下角desktop agent图标,add tenant
SAP Build 2-PDF数据提取与决策插图(12)
输入描述信息和刚刚拷贝的链接并保存
SAP Build 2-PDF数据提取与决策插图(13)
最后注册完就这样,然后激活该tenant
SAP Build 2-PDF数据提取与决策插图(14)
随后跳转到登录页,登录BTP试用账号即可
SAP Build 2-PDF数据提取与决策插图(15)
登录完成会自动关闭页面,回到desktop agent发现已经Active了(没active等会,需要点时间去connect)
SAP Build 2-PDF数据提取与决策插图(16)
SAP Build 2-PDF数据提取与决策插图(17)
回到SAP Build也能看到连接的设备了
SAP Build 2-PDF数据提取与决策插图(18)

0.4 agent 拓展

安装完desktop agent后,会给浏览器安装一个拓展程序,注意查看右上角图标,要启用这个拓展程序
SAP Build 2-PDF数据提取与决策插图(19)
SAP Build 2-PDF数据提取与决策插图(20)

1. 数据提取

看了SAP Build的数据提取示例,用了一张PDF发票作为模板给SAP Build学习,后续同类型的发票SAP Build自己就能识别到发票内容

1.1 新建流程

新建一个process,不明白可以回头参考SAP Build 1的内容
(不知道为啥编辑页面变成中文了,但其他的都是英文,SAP Build的语言有点奇怪)
触发器还是使用表格,表格中提供文件的本地路径即可
SAP Build 2-PDF数据提取与决策插图(21)
SAP Build 2-PDF数据提取与决策插图(22)

1.2 新建自动化

新建自动化,代理版本不要选错了
SAP Build 2-PDF数据提取与决策插图(23)
代理版本选错了也可以通过设置修改
SAP Build 2-PDF数据提取与决策插图(24)
SAP Build 2-PDF数据提取与决策插图(25)
创建完成先保存一下
SAP Build 2-PDF数据提取与决策插图(26)

1.3 新建发票数据结构

转到概览,新建数据类型
SAP Build 2-PDF数据提取与决策插图(27)
SAP Build 2-PDF数据提取与决策插图(28)
参考电信发票,创建了如下数据结构
SAP Build 2-PDF数据提取与决策插图(29)
SAP Build 2-PDF数据提取与决策插图(30)

1.3 设置自动化传入传出参数

打开自动化流程
SAP Build 2-PDF数据提取与决策插图(31)
右侧设置输入输出,输入使用文件路径即可,输出选择自定义的发票类型
SAP Build 2-PDF数据提取与决策插图(32)
再次保存

1.4 新建发票模板

概览页面新建文件模板
SAP Build 2-PDF数据提取与决策插图(33)
创建新模板
SAP Build 2-PDF数据提取与决策插图(34)
选择待识别的发票文件作为模板,喂给SAP Build学习
SAP Build 2-PDF数据提取与决策插图(35)
SAP 应该是对发票有特殊扫描,直接选发票就好了
SAP Build 2-PDF数据提取与决策插图(36)
针对发票,SAP预先设置了发票的数据模式,字段结构可以直接使用
选择新建,把模式映射到我们之前定义的数据类型上
SAP Build 2-PDF数据提取与决策插图(37)
SAP Build 2-PDF数据提取与决策插图(38)
根据之前的数据结构,一个个把变量名填入就行,记得设置变量类型
SAP Build 2-PDF数据提取与决策插图(39)
最后一步点击添加即可
SAP Build 2-PDF数据提取与决策插图(40)
SAP Build 2-PDF数据提取与决策插图(41)

1.5 配置模板映射

打开模板编辑器,等待SAP 扫描完毕,扫描结束就是下面这样,点击编辑按钮进行mapping
SAP Build 2-PDF数据提取与决策插图(42)
SAP把所有有可能的文本都扫描出来了,选中需要的文本就会进行字段分配,编辑值获取需要的结果,这里本来SAP扫描的是【开票日期2022年10月02日】,我手工删除了不必要的字段,只保留了年月日
SAP Build 2-PDF数据提取与决策插图(43)
依葫芦画瓢一个个设置就好了
SAP Build 2-PDF数据提取与决策插图(44)
最后映射完结果就长这样,保存即可
SAP Build 2-PDF数据提取与决策插图(45)

1.6 编辑自动化

回到自动化页面
SAP Build 2-PDF数据提取与决策插图(46)
右侧搜索extract,找到extract data(template),拖拽至流程中
SAP Build 2-PDF数据提取与决策插图(47)
选中extract data(template),添加文档模板,选择从当前项目中选择模板
SAP Build 2-PDF数据提取与决策插图(48)
模式和模板都使用之前创建的
SAP Build 2-PDF数据提取与决策插图(49)
最后选择添加即可
SAP Build 2-PDF数据提取与决策插图(50)
输入参数是文件路径,默认会将提取的结果提取到输出参数extractData中
SAP Build 2-PDF数据提取与决策插图(51)
找到之前预定义的发票结构,拖拽至流程中
SAP Build 2-PDF数据提取与决策插图(52)
从提取到的数据中,找到需要的数据依次对抬头赋值即可
SAP Build 2-PDF数据提取与决策插图(53)
行项目有点难弄,我怎么也没办法通过for each直接对es_invoice-item的行项目直接通过index添加,所以最后新建了一个gs_invoice_item的变量,将for each的结果放到gs_invoice_item[0]中,再将gs_invoice_item[0]添加到es_invoice-item下
不知道是不是我的姿势不对,可能有其他我不知道的方法

下图不正确,可以使用add item 控件直接赋值
SAP Build 2-PDF数据提取与决策插图(54)
我之前把add item控件的输入输出弄反了,所以一直弄不出来
SAP Build 2-PDF数据提取与决策插图(55)
最后放一个log查看提取的结果
SAP Build 2-PDF数据提取与决策插图(56)

1.7 测试

点击左上角的三角形可以测试
SAP Build 2-PDF数据提取与决策插图(57)
输入参数,点击test测试即可
SAP Build 2-PDF数据提取与决策插图(58)
然后就到加载页面了,应该是要把云端的package下载到安装desktop agent的本地电脑上,然后下载巨慢巨慢巨慢
SAP Build 2-PDF数据提取与决策插图(59)
折腾了一晚上,完全没办法运行,一直报错无法下载,查看日志也不说到底啥原因,很无语
SAP Build 2-PDF数据提取与决策插图(60)
SAP Build 2-PDF数据提取与决策插图(61)
第二天,关闭科学上网软件,重新运行机器人成功
模板的识别率貌似有待提高,我做了两个pdf,一个是作为模板上传的pdf,一个是ps后的pdf
PS后的发票加了一行行项目,改了一个开票日期和合计金额
SAP Build 2-PDF数据提取与决策插图(62)
只识别第一张pdf发票的时候还算正常,行项目也取出来了,只是购方名称和开票日期这俩字段把不必要的汉字也取出来了
下面的json是第一个发票log的结果

{
	"type": "automationActivity",
	"name": "irpa_core.log",
	"label": "Log Message",
	"inputs": [
		{
			"item": [
				{
					"desc": "*电信服务*电信业务使�费",
					"unit": "项",
					"quantity": 1,
					"price": 185
				}
			],
			"total_price": 185,
			"invoice_no": 36587586,
			"payer": "称:XX",
			"invoice_date": "开票日期:2022年10月02日"
		},
		{
			"key": "Info",
			"value": 0
		},
		null
	],
	"containerInstanceUid": "306d170e-95a5-4c59-ba32-12f93a372b4d",
	"parentInstanceUid": "306d170e-95a5-4c59-ba32-12f93a372b4d",
	"stepId": "13",
	"line": 19,
	"file": "pDFInvoiceExtraction.js"
}

识别第二张ps的发票就有点问题了,行项目一个没取出来,其他的问题跟第一张发票一样,不知道是不是我ps水平有限

{
	"type": "automationActivity",
	"name": "irpa_core.log",
	"label": "Log Message",
	"inputs": [
		{
			"item": [],
			"total_price": 585,
			"invoice_no": 36587586,
			"payer": "称:XX",
			"invoice_date": "开票日期: 2023年10月02日"
		},
		{
			"key": "Info",
			"value": 0
		},
		null
	],
	"containerInstanceUid": "cb2a76a5-d90a-4c34-8e61-f473b8003ffb",
	"parentInstanceUid": "cb2a76a5-d90a-4c34-8e61-f473b8003ffb",
	"stepId": "13",
	"line": 19,
	"file": "pDFInvoiceExtraction.js"
}

即使我在模板处上传了第二张发票并做了标注,自动化的结果也没有发生改变,官方文档感觉不是很清楚,可能我自己也没读明白
https://help.sap.com/docs/build-process-automation/sap-build-process-automation/document-information-extraction-process-automation?locale=en-US&q=document%20template%20editor
SAP Build 2-PDF数据提取与决策插图(63)

2. 决策

决策是一个复杂的if-else 集合,相比嵌套的if-else使用决策可以简化显示,逻辑更清晰
下述场景使用决策表决定应收邮件的审批人

2.1 新建决策树

流程中插入决策树
SAP Build 2-PDF数据提取与决策插图(64)
SAP Build 2-PDF数据提取与决策插图(65)

2.2 添加输入输出参数

添加输入输出参数,输入为发票信息,输出为决策树判断后输出的审批人邮箱
SAP Build 2-PDF数据提取与决策插图(66)

2.3 新建规则

转到rule页签,添加规则
SAP Build 2-PDF数据提取与决策插图(67)
选择决策表,填写描述信息
SAP Build 2-PDF数据提取与决策插图(68)
假定价格和付款方作为条件
SAP Build 2-PDF数据提取与决策插图(69)
审批人作为结果
SAP Build 2-PDF数据提取与决策插图(70)
最后检查一下,没问题就创建
SAP Build 2-PDF数据提取与决策插图(71)
做了个简单的决策表
SAP Build 2-PDF数据提取与决策插图(72)
决策表的操作符官方文档如下:https://help.sap.com/docs/build-process-automation/sap-build-process-automation/operators?locale=en-US&q=document%20template%20editor
字符串用单引号括起来
SAP Build 2-PDF数据提取与决策插图(73)
对我来说决策表其实更像配置表,满足配置表条件时输出结果的数据
做完之后点击保存即可

2.4 测试

在流程中给决策添加输入输出的参数,输入来自上一步的发票提取结果,输出为新建的变量gv_approver
SAP Build 2-PDF数据提取与决策插图(74)
SAP Build 2-PDF数据提取与决策插图(75)
为了方便查看结果,结束之前发出邮件,在邮件中查看结果(此时会error,因为还没配置邮件服务)
配置好了就保存,然后发布,部署,部署完了从触发器获取表单的链接
SAP Build 2-PDF数据提取与决策插图(76)
填写文件路径,然后提交即可
SAP Build 2-PDF数据提取与决策插图(77)
问题又来了,流程监控器显示流程正在running而且流转到了启动自动化的步骤了,但是desktop agent丝毫没有反应
SAP Build 2-PDF数据提取与决策插图(78)
没有任何日志显示desktop agent接收到了流程
SAP Build 2-PDF数据提取与决策插图(79)
搞不明白了,切换到无人值守也无法启动,问题多多

3. 参考链接

教程(缺了sap agent的配置)
https://developers.sap.com/mission.invoice-processing-approval-spa.html
文档(不清不楚不明不白)
https://help.sap.com/docs/build-process-automation/sap-build-process-automation

本站无任何商业行为
个人在线分享 » SAP Build 2-PDF数据提取与决策
E-->