第6章数据库应用开发概述本移动扫描盘点系统是建立在SAP平台上的二次开发,因SAP平台已提供数据库平台,因而SAP数据库提供的基础数据表无须重建,必要时可对属性进行扩充。此外,对于SAP平台级数据库未提供的数据表,移动扫描盘点系统创建专用的数据库。最后,对SAP数据库的引用有直接和间接2种形式。直接引用就是WebService通过动态SQL访问SAP数据库。而间接调用是通过实例化COM组件对外提供的类来间接访问数据库,应用程序员无需关注具体细节。本章对SAP数据库的调用指直接引用。6.1SAP平台数据库表的修改与引用1.原表引用在移动终端输入参数后,点击“下一步”时,移动终端应用程序首先根据物料组参数加载物料集,加载物料集的私有方法为MTItemSetLoad,方法内部引用OITM表的动态SQL表达式如下:SELECTT0.[CodeBars],T0.[ItemCode],T0.[ItemName],T0.[InvntryUom],T0.[U_ColorNo][ColorNo],T0.[U_HHNo][GoodsNo],T0.[U_SizeNo][SizeNo],T0.[U_BZBJ][SpecialTag],T0.[U_Process][Process]FROMOITMT0INNERJOINOITBT1ONT0.ItmsGrpCod=T1.ItmsGrpCodWHERET1.U_Comments='+GroupComments+'andT0.[frozenFor]='N'andT0.[validFrom]isnullandT0.[validTo]isnull;2.扩充表引用(1)扩充OITB表•在移动终端选择物料组参数时,需要将物料组信息加载到移动终端,加载物料组名称的公有方法为MTItemGropSelect,方法内部相应对OITB表引用的动态SQL表达式如下:SELECTdistinctU_CommentsFROMOITB•在物料加载的动态SQL中,对于OITB表的引用为扩充表引用,其扩充属性为:U_Comments,该属性存储物料组信息,详见原表的动态SQL引用语句。2.扩充表引用(2)扩充OUSR表•在PCWeb应用终端和移动应用终端登录时,需要输入用户名和密码,用户名借用OUSR表的USER_CODE属性。而因OUSR现有的Password字段已加密不能引用,所以向该表添加一个用户自定义的U_PassWord属性,以验证移动扫描盘点系统用户登录时的身份,公开引用为PCLogin和MTLogin,分别对应PCWeb和移动应用登录,涉及动态SQL的表达式如下:SELECT*FROMOUSRWHEREUSER_CODE='+UserName+'ANDU_PassWord='+UserPWD+'2.扩充表引用(3)扩充OWHS表•为提高选择仓库代码的选择效率,需要尽可能裁减选择空间,为此在向OTWS表添加属性U_Visible,取值为’1’时对用户可见,为’0’时不可见。公有方法MTWareHouseCodeSelect完成可见仓库代码的加载,涉及的动态SQL表达式如下:SELECTWhsCodeFROMOWHSWHEREU_Visible='1'6.2移动扫描盘点系统专用数据库的开发字段描述字段名约束备注任务代码Taskcode主码字符20个创建日期CreateDate日期时间型。创建用户CreateUser外码创建数据的用户代码,参照OUSR更新日期UpdateDate日期时间型,最近一次更新日期更新用户UpdateUser最近更新的用户代码任务描述Description字符长度200以上任务状态Status‘-进行中,’-已完成。进行中的任务才可以在移动设备终端界面可见。备注commenttext类型表6.1盘点任务主表CountTask表6.2盘点明细表CountDetails的说明字段描述字段名约束备注任务代码Taskcode主码,外码参照盘点任务表行号LineId非空每个任务代码下的行号从0开始递增。创建用户CreateUser非空创建数据的用户代码更新日期UpdateDate最近一次更新日期更新用户UpdateUser最近更新的用户代码条形码Barcode非空字符长度100物料编号ItemCode非空字符长度20,长度与SAP一致物料描述Dscription字符长度100,长度与SAP一致盘点数量CountedQty非空数字型,小数点后6为小数,numeric(19,6),与SAP一致。仓库代码WhsCode非空字符8个,长度与SAP一致存放区域StorageArea字符100个备注Ramark字符尽量长。已提交PostedY或N,是否已经提交给SAP。提交日期PostDate提交的日期时间,可能提交多次,记录最后一次。第7章WebService开发摘要无线移动扫描盘点为库存盘点提供了方便的选择,同时为使有线与无线应用、移动与PCWeb应用快捷地接入,系统发布WebService服务以提供不同应用多点接入功能。7.1WebService概述•Webservice是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。7.1WebService概述•WebService技术能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据WebService规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。WebService是自描述、自包含的可用网络模块,可以执行具体的业务功能。WebService也很容易部署,因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。WebService减少了应用接口的花费。WebService为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。7.1WebService概述web广泛用到的技术•TCP/IP•HTML(标准通用标记语言下的一个应用)•JAVA•XML(标准通用标记语言下的一个子集)7.1.1发展趋势–内容更加动态–带宽更加便宜–存储更便宜–普遍式计算更重要7.1.2技术支持•XML•SOAP7.1.3支持软件1.微软.NET2.IBM的WebSphere3.Borland的JBuilder7.1.4应用•跨越防火墙•应用程序集成•B2B集成•软件重用7.1.4应用•单机应用程序ו局域网上的同构应用程序×7.2VS2010下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2VS2010下创建与引用WebService7.2VS2010下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService7.2.1.NETFramework4.0框架下创建与引用WebService