本文档介绍了PLM(产品生命周期管理)系统中的文档自动匹配功能,包括其基本使用、规则配置以及项目实践中的挑战与解决方案。功能支持文档对象与物料对象的匹配,通过配置匹配规则来定义字段对应关系。项目实践中分享了匹配长度设置不当导致的误匹配问题,并提出了通过自定义字段和SQL赋值等方案来解决这一问题,确保匹配结果的准确性。
目录:
文档自动匹配规则的基本使用案例分享
项目实践中的分享
对产品的一些建议
正文:
1.1 自动匹配功能简述:
PLM的文档自动匹配功能,是按照设置的匹配规则,把两个对象添加为互为相关对象;
目前该功能只支持【文档对象】与【物料对象】进行匹配;
1.2 自动匹配规则配置:
1.2.1 通过【自动匹配规则列表】,新增一项匹配规则
1.2.2 定义文档业务业务类型与物料业务类型的范围对应关系
1.2.3 定义文档的匹配字段与物料的匹配字段关系
如:通过文档对象【名称】字段与物料对象中的【编码】字段构建匹配关系
1.2.4 定义文档对象【名称】,从第几位开始,匹配多长的长度与物料对象【编码】,从第几位开始,匹配多长的长度;
如:
文档名:TEST001-DOC8880001
物料编码:TEST001
那么规则设置:
【文档字段】:名称/【文档起始位置】:1/【文档字段长度】:7
【物料字段】:编码/【物料起始位置】:1/【物料字段长度】:7
【匹配提交】:相等
【区分大小写】:根据实际情况勾选
(提醒:【文档起始位置】非常重要,如果漏填,整体的匹配长度会少1位;比如文档字段长度是7,但文档起始位置为空,那么匹配出来就是6位)
1.2.5 执行匹配规则
完成后,这两个对象就互为相关对象了,可以在任意一个对象的【相关对象】页签看到对方对象
2.项目实践中的分享
2.1 业务场景描述
在整理客户的物料基础资料以及文档基础资料的时候,一定要注意匹配关系的对应关系;下面分享一个项目上遇到的坑
如:物料编码: 文档编码:
TEST001 TEST001-DOC
TEST001A TEST001A-DOC
TEST001B TEST001B-DOC
2.1.1 匹配8位编码时,不会出现问题
匹配8位编码的规则:
如上述例子,编码最长为8位时,按照1.1方法,匹配8位长度,从位置1开始,系统能匹配出以下对应关系:
TEST001A ————TEST001A-DOC √
TEST001B ————TEST001B-DOC √
2.1.2 匹配7位长度时,会出现以下问题:
匹配7位长度时的规则:
执行结果:
TEST001 ————TEST001-DOC
TEST001 ————TEST001A-DOC
TEST001 ————TEST001B-DOC
TEST001A ————TEST001-DOC
TEST001A ————TEST001A-DOC
TEST001A————TEST001B-DOC
TEST001B ————TEST001-DOC
TEST001B ————TEST001A-DOC
TEST001B————TEST001B-DOC
2.1.3 看懂了吗?只要满足前7位编码相等,系统就会建立匹配关系;但实际我们需要的结果,只需要匹配出:
TEST001 ————TEST001-DOC √
TEST001 ————TEST001A-DOC ×
TEST001 ————TEST001B-DOC ×
TEST001A ————TEST001-DOC ×
TEST001A ————TEST001A-DOC×
TEST001A————TEST001B-DOC×
TEST001B ————TEST001-DOC ×
TEST001B ————TEST001A-DOC×
TEST001B————TEST001B-DOC×
2.2 话不多说,直接给解决方案
2.2.1 通过匹配符,建立编码尾部的匹配机制
简单来说,就是当我们匹配编码的时候(TEST001),需要规避掉(TEST001A)这类的结果集;
2.2.1.1 通过自定义字段参与匹配的功能与多规则并行
最新的补丁自动匹配规则支持自定义字段参与匹配,详见:https://vip.kingdee.com/article/242969071950509824?productLineId=1;
解决的思路,基于客户的文档名称规律,通过物料编码+分隔符‘-’构成
2.2.1.2 通过在物料编码上自定义文本字段(EX:【物料匹配码1】【物料匹配码2】,切记必须为文本)
2.2.1.4 通过sql,赋值【物料匹配码1】:
【物料匹配码1】=【物料编码】+【'-'】
EX: 'TEST001-' = 'TEST'+'-'
2.2.1.3 通过sql,赋值【物料匹配码2】赋值为'-';
系统物料举例:
规则设置,下面我们设置两条匹配规则,规则之间是AND的逻辑关系(必须两条规则都生效才构成匹配关系)
规则1:
【文档字段】:名称 【物料字段】:物料匹配码1
【文档起始位置】:1 【物料起始位置】:1
【文档字段长度】:7 【物料字段长度】:7
【匹配提交】:相等
【区分大小写】:根据实际情况勾选
规则2:
【文档字段】:名称 【物料字段】:物料匹配码2
【文档起始位置】:8 【物料起始位置】:8
【文档字段长度】:1 【物料字段长度】:1
【匹配提交】:相等
【区分大小写】:根据实际情况勾选
系统实例截图:
匹配规则:
匹配结果:
2.2.1.5 实例解释
通过刚刚的规则,从实例层面,构建了这样的一种匹配结果:
规则1: TEST001- ————TEST001-DOC √
规则2: TEST001- ————TEST001-DOC √
同理,就规避到了以下的结果集(绿色部分为匹配部分)
规则1: TEST001- ————TEST001A-DOC ×
规则2: TEST001- ————TEST001A-DOC ×
2.3 同理,如果有更多位数的,那么就需要调整相应的规则
推荐阅读