集成平台支持业务单据(例如:销售出库单),但是涉及到辅助属性的业务如何处理?
以下具体说明(以WISE V12.2作为标准)
操作步骤:Cloud辅助属性维护—>业务单据集成
【第一步】选择WISE账套的数据库,执行以下辅助属性的SQL,用来增加WISE辅助属性的维度;
drop table V_CLOUD_FZSX1
DECLARE @sql VARCHAR(8000)
DECLARE @column VARCHAR(8000)
SET @sql = ' select FItemClassId '
SET @column = 'Create view V_CLOUD_FZSX1 as select FItemClassId '
select @column = @column + ', max(F' + cast(FItemClassIdas varchar) + ') as F' + cast(FItemClassIdas varchar) ,@sql = @sql + ',(case when FSearch = ' + cast(FItemClassIdas varchar) + ' or ((FSearch <= 3000 or FSearch is null ) and FItemClassID =' + cast(FItemClassId as varchar) + ' ) thenFSQLColumnName else '''' end) as F' + cast(FItemClassIdas varchar) from T_ITEMPROPDESC where FItemClassID > 3000 group by FItemClassId
select @sql = @sql + ' from T_ITEMPROPDESC where FItemClassId > 3000'
--select
EXEC( @column + ' from (' + @sql + ') T0 group by FItemClassId')
drop view V_CLOUD_FZSX2
--DECLARE @sql VARCHAR(8000)
DECLARE @column VARCHAR(8000)
--SET @sql = ' select FITEMID '
SET @column = ' create view V_CLOUD_FZSX2 as select ''select '' +'
select @column = @column + 'case when F' + cast(FItemClassIdas varchar) + ' = '''' then '''''''''''' else F' + cast(FItemClassIdas varchar) + ' end + '' as F' + cast(FItemClassIdas varchar) + ','' +' fromT_ITEMPROPDESC where FItemClassID > 3000 group by FItemClassId
--select @sql = @sql + ', ' + case when F3002 = '' then '''''' else F3002end + ' as F' + cast(FItemClassId as varchar) from nnn
--select @sql + ' from T_ITEM_3002'
EXEC(@column + ''' FITEMID from T_ITEM_'' + cast(FItemClassIdas varchar) as sql from V_CLOUD_FZSX1')
drop table V_CLOUD_FZSX
DECLARE @sql VARCHAR(8000)
SET @sql = ' create view V_CLOUD_FZSX as '
select @sql = @sql + sql + ' union ' fromV_CLOUD_FZSX2
select @sql = SUBSTRING(@sql, 0,LEN(@sql)-5)
select @sql
EXEC(@sql)
【第二步】在Cloud中手工增加辅助属性维度
按照WISE的辅助属性数据,在Cloud辅助属性中录入数据,要求编码和名称完全一致。
对应关系如下
WISE的辅助属性—>Cloud的辅助属性
例如:WISE的辅助属性
Cloud的辅助属性
【第三步】执行辅助属性数据映射
1、 产品路径:系统管理->集成平台->WISE业务单据映射
2、 选择辅助属性的预置方案
3、 复制辅助属性映射方案,按下面步骤配置:
(1) 选择源系统连接
(2) 表映射_源系统资料,改名为V_CLOUD_FZSX,即【第一步】处理时SQL定义的表名
源系统资料字段需修改自定义SQL内容,点击打开F8弹出界面后,这里也可将名称改为:V_CLOUD_FZSX
自定义SQL修改为:Select* from V_CLOUD_FZSX,
(3) 表映射_源唯一标识
从源系统获取,方法如下(以WISE为样例)
选择WISE数据库查询:
select * from T_ITEMPROPDESC where FItemClassID > 3000
找到FItemClassID,然后在源唯一标识填上F3002, F3004,其中颜色的FItemClassID为3002,那么颜色的源唯一标识为F3004;形状的的FItemClassID为3004,那么形状的源唯一标识为F3004;
(4) 表映射_K/3 Cloud唯一标识
从K/3 Cloud系统获取,方法如下:
在Cloud数据库查询:
selectT0.FID, T0.FFLEXNUMBER, T1.FNAME from T_BD_FLEXAUXPROPERTY T0 inner joinT_BD_FLEXAUXPROPERTY_L T1 on T0.FID = T1.FID
找到FFLEXNUMBER,然后在K/3 Cloud唯一标识填上FF100001等,其中颜色的FFLEXNUMBER为FF100001,那么颜色的K/3 Cloud唯一标识FF100001;
(5) 源系统资料的自定义SQL修改为:
Select * from V_CLOUD_FZSX,其中,表V_CLOUD_FZSX是第一步中创建的表名
(6) 表字段映射页签
源系统表字段名:输入源系统的源唯一标识
K/3 Cloud系统表字段名:F8选择唯一标识,必须按照内容一一对应
源字段规则表达式:可以参考预置方案的处理
4、【保存】辅助属性的映射方案,并【启用】
5、可以按照执行周期自动执行或者【手工执行】
【第四步】在【系统管理->集成平台->业务单据集成查询】查看集成情况,若有遇到集成失败,可以看到具体原因。
注意事项:
1、若辅助属性已执行集成,后续需要增加新的辅助属性,则需要重新执行以上所有步骤的操作;
2、执行集成后,辅助属性维度(例如,颜色)不能删除,辅助属性的维度数据(红色、黑色等)可以删除。
***删除需谨慎,需要先做数据备份*****
辅助属性维度数据删除sql;
/--删除辅助属性维度数据表
SELECT *
--delete
FROM T_BD_FLEXSITEMDETAILV
/--删除仓位维度数据表关系
select * from T_BAS_BILLEDIMAPwhere FFORMID = 'BD_FLEXSITEMDETAILV' --
FEDITABLE字段是标识别表关系的字段,若查出字段值是 T_EDI_KN75VUS9N,则按下面SQL删除该表的关联数据即可
select *
--delete
from T_EDI_KN75VUS9N
如果辅助属性多维度数据被业务单据引用,则需要先删除业务单据的集成数据,再删除辅助属性多维度数据
【第五步】销售出库单集成(含辅助属性)
1、 产品路径:系统管理->基础平台->WISE业务单据映射
2、 选择销售出库单映射方案(方案名:销售出库单历史数据);
3、 复制销售出库单映射方案,选择源系统连接,在表字段映射增加辅助属性字段的映射
1) 表字段映射_源系统表字段名:F8选择FauxPropID
2) 表字段映射_K/3 Cloud 表字段名:F8选择辅助属性的字段名
3) 源字段规则表达式:手工输入caseFauxPropID when 0 then null else FauxPropID end
4、 【保存】销售出库单映射方案,并【启用】
5、 可以按照执行周期后台执行集成或者【手动执行】即可
推荐阅读