欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

匹配与显示中文说明

程序员文章站 2022-05-13 17:22:43
...

近两天,急需要解决公司的ERP系统Infor SyteLine的问题。 由于ERP系统是英文版本,虽说是多语言版本,可以快速切换语言,但是系统一些核心显示的还是英文。面对*核师的要求,需要把这些数据显示为具体中文字。Insus.NET接到一个财务部门一个参考表: 在ER

近两天,急需要解决公司的ERP系统Infor SyteLine的问题。

匹配与显示中文说明




由于ERP系统是英文版本,虽说是多语言版本,可以快速切换语言,但是系统一些核心显示的还是英文。面对*核师的要求,需要把这些数据显示为具体中文字。Insus.NET接到一个财务部门一个参考表:

匹配与显示中文说明




在ERP原系统中,并无上图表的记录,Insus.NET只好在数据库创建这个表:

匹配与显示中文说明




然后插入数据:

匹配与显示中文说明




原本想象中,是件很容易解决的事情,只是做个表关联即可,但是在General Ledger打印出来的参考说明,全是一些参考码与随机性结合的数据,如下图:

匹配与显示中文说明


一些数据只是前面匹配,一些可以做到完全匹配。因此想使用多表关联是无法解决的。怎样解决?参考表的字符与数据前面完全匹配的,就显示相应用中文。
这个可让Insus.NET难住了......
不过Insus.NET对于此问题已经在今早解决了,稍后把实现过程分享于此。


下面内容于2013-10-30 16:25分添加
解决的办法,是写一个自定义函数:

匹配与显示中文说明




看过上面的函数之后,就会觉得它的原理很简单,即是先排序我们自定义设计的表的[Ref]字段,实现倒排序,也就是说我们先匹配最长字符的[Ref]字段值。然后是以数据库Ledger表的[ref]数据去循环匹配我们自定义的表[Ref]每一行值。截取出来的值与参考值一样,就说明匹配正确,如果没有,,就是用回原来的值。