【RPA案例分享】企业SRM系统填报——(一)业务流程文档

2019-12-22  本文已影响0人  yuryqwer

背景

某制造业企业需要供应商提供相应物料,供应商收到相关邮件后需要在本地ERP系统中选择要求的物料进行出货,并根据生成的出货单去制造业企业的网站上进行出货物料的抵扣,本案例针对出货物料抵扣这一过程进行RPA自动化设计

总体自动化流程概述

  1. 供应商业务人员收到上游企业的出货邮件,将邮件内信息填入excel模板《ERP处理表》,存放进共享文件夹指定目录名为“normal”的文件夹中。
  2. RPA机器人轮询“normal”文件夹,识别到excel模板后,首先将表中信息进行补全,重命名为《SRM处理表》,并保存到文件夹“srm”中。
  3. RPA机器人根据“srm”文件夹中的《SRM处理表》进行名硕srm系统填报操作。
  4. RPA机器人根据《SRM处理表》中的出货单号获取srm系统填报结果。
  5. 先把步骤3中所有的《SRM处理表》处理完再进行步骤4的操作。

名硕SRM系统填报流程

流程概述

  1. 登录名硕SRM系统。
  2. 在名硕SRM系统上,根据《SRM处理表》,填报对应的订单。
  3. 填报中异常的订单,需要发送邮件提醒业务人员需要人工处理异常。
  4. 正常填报完成后,发送邮件提醒业务人员处理完成。

流程概要设计

  1. 轮询文件夹normal,若检测到normal文件夹有《ERP处理表》excel文件,先进行如下处理:
  1. 登录名硕SRM系统(https://epo.pegatroncorp.com/SRMLoginForm/LoginSRM.aspx
  1. 解析《SRM》处理表中的T列“库别”(样例数据“3A3BU9AY”),根据前四位字符串匹配“BU”下拉框中数据的后四位字符串,如下图所示“3A3B”;
  1. 1) 对于《SRM处理表》中的每一行,根据J列“出货料号”,匹配网页中ETA Date介于当月1号和G列出货日期之间(可等于出货日期)且“Part Number”和出货料号相同的订单
    2) 对步骤4-1的匹配结果根据“Payment & Incoterms”进行分组,每个分组中的结果都是具有相同“Payment&Incoterms“的订单
    3) 对于步骤4-2的每一个分组,若结果中存在单条订单数据(即网页数据表的某一行)的Deficient Quantity大于等于《SRM处理表》中K列“出货数量”的,则该物料在该分组内匹配完毕,记录该种类的“Payment & Incoterms”并继续匹配下一个分组;若不存在,则进入步骤4-4。
    4) 判断步骤4-2的每一个分组结果中是否存在多个订单的“Deficient Quantity”之和大于等于《SRM处理表》种K列的“出货数量”,这边注意要将每一个分组中的结果先根据“Deficient Quantity”由小到大排序,因为制造业企业要求优先把订单中“Deficient Quantity”较小的处理掉。若存在,则记录该种类的“Payment&Incoterms”;若所有的分组中都不存在,则判断多个分组中是否存在多个订单的Deficient Quantity之和大于等于《SRM处理表》种K列的“出货数量”,若存在,则将这多个种类的“Payment&Incoterms”记录在一起,否则在《SRM处理表》中将该条物料判定为异常并在《ERP处理表》中将该条物料标成黄色。
    5) 若当前数据非《SRM处理表》最后一条数据,需跳至步骤4-1处理下一条物料数据;若为《SRM处理表》最后一条数据,则跳至步骤4-6。
    6) 处理完《SRM处理表》中的每一条数据后,若存在物料判定异常,则将标黄后的《ERP处理表》作为附件发送邮件通知业务人员进行处理。在非异常物料的匹配结果中,统计并归类所有物料的“Payment&Incoterms”的具体种类和出现次数,由于一张填报单中所有物料的“Payment&Incoterms”必须相同,因此要将尽可能多的相同种类的物料做到同一张填报单中,将剩余的物料生成其他填报单,并最小化所有的的填报单数量。另外,在多个分组都可以选择的情况下,优先选择“Payment&Incoterms”较小的情况。
    7) 举个最复杂的例子,假设有五个物料,并且匹配结果分别为下图所示,从中我们可以看到,种类60、90、120、150分别出现了1、3、2、3次,那么根据步骤4-6的“将尽可能多的相同种类的物料做到同一张填报单中”原则,我们应该种类90或者150的匹配结果做到同一张填报单中,又根据步骤4-6最后一句,我们优先选择种类90(最后三个物料)作为第一张填报单。剩下来的结果是物料一(种类60或150)、物料二(种类120或150)、物料三(种类120),递归处理我们应当选择种类120(物料一和物料二)作为第二张填报单,种类60(物料一)作为第三张填报单。
[(120, [29]), (150, [18, 22])]  # 120是“Payment&Incoterms”的具体种类,29是在网页表格中的行数索引
[((120, [1, 2]), (90, [4]))]  # 这种情况表示步骤4-4中将多个分组记录在一起,都要进行填报
[(60, [38]), (150, [47])]  # 这种情况表示种类60和150任选其一即可,只需填报其中一种
[(90, [5])]
[(90, [7, 8, 9]), (150, [15])])]
  1. 1) 对于第一张填报单,我们在网页表格的第一列中勾选相应的复选框并在最下方点击Add Items按钮跳转到送货信息填写页面,进入步骤6的处理
    2) 对于后续的填报单,我们根据其对应的物料和数量生成新的《ERP处理表》,同时在出货单号一栏进行改写,在V的后面加入2、3等表示第二张第三张填报单,并保存在“normal”文件夹中,一方面是因为在第一张填报单完成后网页表格会发生变化,导致一开始保存的后续填报单中的行数索引失效;另一方面是为了通过递归处理简化流程

  2. 1) Ship Mode 选择“分送集报”。
    2) Shipment Number输入《SRM处理表》中的F列“出货单号”。
    3) 海关监管编号为唯一选项,必填。
    4) Delivery Date和*ETA都为当天。
    5) Plant根据《SRM处理表》中的“厂区”字段进行解析,若厂区字段为数字“X”,则选“第X栋”;若厂区字段为“北X”,则选“北X厂”。
    6) Ship From填“CNSUZ”。
    7) 总毛重为“总净重”+ 10,四舍五入取小数点后两位。
    8) 车辆类型选择“CT03平板车”。
    9) Pallet(栈板数)填“1”。
    10) Number of Carton+Pallet(栈板数)填“1”。
    11) *Packing Type选择“99-其他”。

获取填报结果流程

流程概述

  1. 登录名硕SRM系统。
  2. 在名硕SRM系统上,根据《SRM处理表》中的出货单号,查找对应的填报单。
  3. 填报单审核通过后,下载对应的PDF文件,获取PDF文件中的出入库单号(《SRM处理表》A列)和Inbound DN(《SRM处理表》R列),并回写至《SRM处理表》
  4. 将《SRM处理表》存入指定文件夹下,完成流程。

流程概要设计

  1. 登录名硕SRM系统,进入ePO-Shipment-Manage Shipping Notice页面。
  2. 点击“Shipment Query & Update”,进入送货查询页面
  1. 1) 在“Ship No”输入出货单号,点击“Query”查询。
    2) 抓取Inbound DN的数据,填到《SRM处理表》中R列“企业内部编号”。
    3) 查询出结果后,判断“Message”栏是否包含关键词“已完成进口申请”。
  1. 1) 勾选出货单(绿框部分)。
    2) 点击“Combine Print”下载PDF文件。
  1. 1) 获取PDF文件中的“出入庫單號”(红框标注)。
    2) 将“出入庫單號”的数据存入《SRM处理表》中的A列。
    3) 将《SRM处理表》存入指定路径共享文件夹,完成流程。

后续

【RPA案例分享】企业SRM系统填报——(二)流程分析及模块设计

上一篇 下一篇

猜你喜欢

热点阅读