E配置ShareData培训教材.ppt

上传人:b****1 文档编号:1392208 上传时间:2022-10-22 格式:PPT 页数:70 大小:3.10MB
下载 相关 举报
E配置ShareData培训教材.ppt_第1页
第1页 / 共70页
E配置ShareData培训教材.ppt_第2页
第2页 / 共70页
E配置ShareData培训教材.ppt_第3页
第3页 / 共70页
E配置ShareData培训教材.ppt_第4页
第4页 / 共70页
E配置ShareData培训教材.ppt_第5页
第5页 / 共70页
点击查看更多>>
下载资源
资源描述

E配置ShareData培训教材.ppt

《E配置ShareData培训教材.ppt》由会员分享,可在线阅读,更多相关《E配置ShareData培训教材.ppt(70页珍藏版)》请在冰豆网上搜索。

E配置ShareData培训教材.ppt

ShareData,2,第一章:

Sharedata介绍第二章:

如何配置和使用变量第三章:

如何配置和使用关系第四章:

调整后的验证方法第五章:

配置的注意事项和常见问题分析,目录,3,第一章:

Sharedata介绍,4,背景,相同的取值逻辑和数据无法共享在批量操作中,无意义或重复的业务逻辑会被执行GetEntityProperty消耗了近乎一半的远程调用远程调用次数太多SQL语句数量太多,5,关系模型解决GetEntityProperty广泛使用造成的效能问题变量模型解决在公式、校验、条件格式、数据跟踪切片中频繁调用远程服务造成的效能问题,组成,6,原理,合并单身开窗带回50笔,同一个服务会发起50次远程调用,现在合并为1次远程调用,在服务端还是执行50次服务压缩50次服务执行中,如果参数相同,可压缩减少服务执行次数缓存服务执行返回的结果进行缓存,下次需再调用服务时,如果输入参数相同,直接取缓存,7,配置文件,Server端ShareDataContainer.dcxml,ShareData变量,9,ShareData关系,10,应用范围,11,第二章:

如何配置和使用变量,12,新旧函数的调用方式对比,1.旧的函数调用格式,函数所需参数值,13,新旧函数的调用方式对比,2.变量替换后的函数使用格式,14,配置变量,在对应的实体对象节点下新增,变量信息区域,15,配置变量,确定函数所在的接口DLL,1)在CM的CI列表中查找2)在规格中查找3)在以下公共服务的接口DLL查找:

Digiwin.ERP.CommonSupplyChain.Business.dllDigiwin.ERP.CommonRetail.Business.dllDigiwin.ERP.CommonManufacture.BusinessDigiwin.ERP.CommonFinance.BusinessDigiwin.ERP.Common.Business4)平台函数的接口DLL是:

Digiwin.Mars.Business.Utils.dll5)在本作业的接口DLL中查找6)在功能包中排查7)咨询SD,配置变量,16,例如:

配置函数CurrencyConvert的变量,确定其所在的dll是:

Digiwin.ERP.Common.Business.dll,配置变量,17,设计器自动加载dll里边的函数列表,配置变量,18,设计器自动把CurrencyConvert函数信息加载到变量区域,配置变量,19,变量名称命名规范必须以“VL_”为前缀。

显示名称:

建议设置为公式或者校验的显示名称,便于排查核对。

公式,变量,配置变量,20,配置参数列表,配置变量,21,配置参数前置条件1.从服务规格中函数的参数使用说明确定(参数的条件要求),参数条件作为前置条件的一部分,配置变量,22,2.从作业规格中描述的业务逻辑确定,根据业务逻辑这部分可作为变量的触发条件,配置变量,23,3.综合1和2的判断确定变量的前置条件,配置变量,24,变量配置完成,数据跟踪切片中使用变量,25,1.DependencyItems加入要使用的变量对象DependencyItems=ActiveObject.BUSINESS_QTY;ActiveObject.VL_TryGetConvertedQty_01;ActiveObject.VL_TryGetConvertedQty_02;ActiveObject.BUSINESS_UNIT_ID,IsRunAtInitialized=false)2.调用格式obj=entity.GetValueOrDefault(ActiveObject.VL_TryGetConvertedQty_01,newobjectItemId,PreUnit,PreQty,uiSTOCK_UNIT_ID);,26,第三章:

如何配置和使用关系,新旧取值方式对比,27,例如:

按Owner_Org.ROid,CURRENCY_ID为条件获取CURRENCY_PRECISION对象的CONV_TOLERANCE属性值GetEntityProperty方式,条件属性,新旧取值方式对比,28,2.Sharedata关系方式,配置Sharedata关系,29,Sharedata关系信息区域,配置Sharedata关系,30,1.设置关联实体对象,配置Sharedata关系,31,2.设计器自动生成关系名称,命名规范以“RL_”为前缀,配置Sharedata关系,32,3.配置条件关联信息,配置条件关联信息,配置Sharedata关系,33,4.sharedata关系配置完成,34,第四章:

调整后的验证方法,35,启动E10客户端,加上d/l参数,以debug模式启动,检查方法如下:

36,取得要分析典型业务场景的事件日志打开要测试的建档作业,新建一笔单据选择以下典型业务场景之一:

单身开窗20笔,或单身上引20笔启动事件日志,记录单身开窗或单身上引操作时的事件日志以销货单身品号开窗选择20笔为例:

37,38,39,事件日志的分析查询分类为远程调用的事件将事件日志窗口拉大,40,查找远程调用关键字,下方会列出所有远程调用事件,41,查看是否存在可继续优化的远程调用正常的远程调用事件:

ICallbackPrepareService:

回调引擎数据准备服务,42,IQueryAdvancedService、IBrowseService:

开窗服务,43,可优化的远程调用事件:

IGetEntityPropertyService,此服务应该使用ShareData关系代替,44,IValidatorSnippetService.CommonValidateIEnhancedValidateService.OoqlValidateIPurchasePriceService.GetPurchasePriceICurrencyPrecisionService.AmendPricePrecision以上校验服务和业务服务,应该使用ShareData变量代替,45,如果事件日志中出现了IGetEntityPropertyService、IValidatorSnippetService、IEnhancedValidateService、IPurchasePriceService、ICurrencyPrecisionService服务请检查公式、校验、条件格式的配置,使用ShareData关系或变量,代替对远程服务的直接调用。

46,数据准备与批的概念在没有引用智能计算之前,回调引擎会根据业务逻辑,逐笔发起远程调用。

以销货单单身品号为例,品号改变后,有以下操作:

a品号带值、b公式调用取价服务给单价赋值。

如果单身开窗带回20笔品号,使用智能计算之前的远程调用顺序如下:

品号1:

a品号带值远程调用、b取价服务远程调用品号2:

a品号带值远程调用、b取价服务远程调用.品号20:

a品号带值远程调用、b取价服务远程调用总共发起20*2=40次远程调用,47,使用智能计算后,会将开窗带回20笔的所有远程调用收集起来,进行分析,将同类型的远程调用的输入参数进行压缩,并按照远程调用之间的依赖关系,分批次发起数据准备远程调用。

销货单单身开窗带回20笔品号,使用智能计算之后的远程调用顺序如下:

如果以下两个远程调用:

a品号带值远程调用、b取价服务远程调用之间没有依赖关系,只需发起1次(批)远程调用即可。

(此次远程调用,会将10笔品号带值,10笔取价的输入参数全部传到服务端,服务端会计算10笔品号带值,10笔取价,并将全部结果返回)如果b取价服务远程调用依赖于a品号带值远程调用,则将发起2次(批)远程调用。

这种批量的远程调用请求,称为ICallbackPrepareService:

回调引擎数据准备服务,目的为后续的带值及公式准备数据。

48,49,远程调用总次数使用智能计算后,远程调用收集起来,同类型的远程调用的输入参数进行压缩,会明显减少远程调用次数。

并且远程调用次数不会随业务场景数据笔数的增加而增加。

远程调用次数基本恒定在一定的数量。

如果出现远程调用总次数会随着数据笔数的增加而增加的情况,就应该检查是否功能实现上存在问题。

50,第五章:

配置的注意事项和常见问题分析,配置注意事项:

51,1.确保传值类型和变量的参数类型匹配例如:

TryGetConvertedQty参数为Decimal类型在传值时:

不能直接写无小数格式的数值,因为这会被视为int型,需用Decimal(Vaule)强转。

52,报错信息参考:

53,2.传值是从DependencyObject对象获取时,格式需要转换。

例如:

原公式格式:

Context.GetPurchasePrice.RecommendedPrice变量格式:

ActiveObject.VL_GetPurchasePrice“RecommendedPrice”同时IF条件中需要对DependencyObject对象做判空,54,3.服务端功能包需配置函数的服务接口和实现,例如付款计算GetPaymentTerm函数:

接口:

Digiwin.ERP.Common.Business.IPaymentTermService,Digiwin.ERP.Common.Business实现:

Digiwin.ERP.PaymentTermService.Business.Implement.PaymentTermService,Digiwin.ERP.PaymentTermService.Business.Implement,55,报错信息参考,56,4.参数用到虚字段,需要转为sharedata关系使用,57,4.参数用到虚字段,需要转为sharedata关系使用,带值部分的虚字段,可以转为sharedata关系放到参数项中。

公式计算出的虚字段,可以把表达式逻辑放到参数项中。

58,5.GetEntityProperty函数也可以被变量替换,59,6.参数为数组时,需要使用“”括起传值,60,7.所属TypeKey要设置正确,61,报错信息参考,62,8.Sharedata关系关联条件不支持使用虚字段和V.参数,可以考虑使用GetEntityProperty变量替代,63,9.撰写可被变量调用的服务和方法,注意点:

参数是数组类型时,请使用Icollection类型,X,X,64,10.变量的参数值前不能有空格,X,报错信息参考,65,11.公式组中的依赖项要保证变量能正确执行,案例1.QueryPrice函数变量配置信息,66,11.公式组中的依赖项要保证变量能正确执行,原公式组中使用变量时未把TAX_RATE作为依赖项,造成变量取值错误,67,11.公式组中的依赖项要保证变量能正确执行,原因分析:

添加sharedata功能后回调引擎计算顺序的改变,导致原有公式组需增加依赖项,公式定义如下:

需把变量的参数ActiveObject.TAX_RATE作为依赖项场景1.原公式组(不使用sharedata变量)没有依赖项税率:

ActiveObject.TAX_RATE,计算顺序如下:

税种改变,税率为0税种带值税率,税率为0.05税种触发公式,传入税率0.05,QueryPrice函数返回回单价不为0场景2.现公式组(使用sharedata变量)如果不加依赖项税率:

ActiveObject.TAX_RATE,计算顺序如下:

税种改变,税率为0公式使用sharedata变量,税种改变,引发变量数据准备,传入税率0,QueryPrice函数返回单价0税种带值税率,税率为0.05公式计算,使用税率0.05在sharedata缓存中找不到变量信息,单价不变为0,68,11.公式组中的依赖项要保证变量能正确执行,场景3.现公式组(使用sharedata变量)增加依赖项税率:

ActiveObject.TAX_RATE,计算顺序如下:

税种改变,税率为0税种改变,公式使用sharedata变量,引发数据准备,传入税率0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1