分享
 
 
 

XML组件技术让客户订单系统流程化

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

通过使用XML程序,Excel,Access以及ASP(Active Server Pages),我们能帮助企业客户订单登陆流程化,节省客户重复输入数据的时间,并避免订单登陆过程中发生错误。真正吸引客户的是能够减少重复性工作,节省时间和金钱的项目。如果能满足上述三点要求,就可以进一步拉近客户的关系。

最近,我受聘对一个现有的订单登陆系统进行升级,下面我将介绍客户所面临的问题,以及解决这些问题的方法。

背景

客户使用第三方系统完成订单登陆、库存维护和货品计价。传统的工作流程是这样的:

1. 客户向销售员申报订单。

2. 销售员将订单输入系统产生订购单。

3. 准备好发货的时候,会产生纪录,并将订购货品的数量从库存目录中扣除。

4. 给客户产生一个发货单。

这个系统还包含了一个电子商务组件,为客户提供网上交易,他们能通过公司的网站进行订购。在这种情况下,销售员不需要将订单输入系统,订单将在网上商店里产生,并在当天结束营业时上传到系统。

我的客户还拥有两家出版物供应商,他们也有自己的订单登陆系统。订单最初要登陆到其他系统,因此客户将收到两方的订单通知。

客户通过Web浏览器登陆到第一家供应商的系统申报订购的项目。第二家供应商的订单登陆系统则将向客户发送电子邮件。在这两种情况下,客户公司的售货员都必须重复地向订单登陆系统键入订单信息。初步估计,每个售货员每周有超过60个小时在重复键入这些订单。

而我的任务是将订单登陆流程自动化,从而减少重复键入数据的时间,并避免任何订单登陆失误。

解决方案

将订单登陆到系统有两种方法。第一种是打开桌面客户端并键入订单。第二种则是在Web站点上登陆订单,Web站点不直接连接到订单登陆系统。

每天,键入Web站点的订单被写成一个XML文件,它随后又被拷贝到应用服务器上,接着被系统导入并产生订单。这是我的突破口。我将从供应商的系统中获取数据,产生一个和网站上相同schema的XML文件,接着将其加载到应用服务器上。

我将我的想法传递给厂商,经核实,这种方法是有效的。在取得同意之后,我获得了我需要的XML schema。我的解决方案的体系结构是简单易行的。

我将通过Microsoft Excel提供的功能打开第一家供应商网站的报告,通过Excel Object Model 提取订单数据,并将数据传递给产生XML文件的组件。

针对第二家供应商的方法相当简单。我将在Microsoft Outlook中获取其电子邮件,通过Outlook Object Model提取订单数据,并将数据传递给产生XML文件的组件。

这给了我第三种选择。销售员经可以在家中通过虚拟专用网(VPN)访问我的客户的系统。或许是从应用服务器向桌面客户端传递的数据量过于庞大原因,订单登陆程序并不能通过VPN连接运行。销售员需要做的只是登陆订单。

我开发出一套简单而高效的解决方案:在公司内部网创建一个简单的表格,可以在这里登陆订单数据。Web服务器(运行ASP的Microsoft IIS)将从表格提取数据并传递到XML生成组件。(VPN和内部网被认为是足够安全的,以至于打开订单登陆程序不需要另外登陆。)

现在,我已经拥有三个相同的XML组件的前端,它们能将数据上载到订单登陆系统。计划的开始是建立XML组件,因为它是公共元素,能被Excel接口,Outlook接口以及ASP表格处理。

XML组件

XML生成器将包含一个ORDER对象来描述订单。这个对象将负责从前端接收订单数据并输入XML文件。出于简单考虑,文件路径被复杂地编码,但非常容易被配置文件读取。ORDER对象将包含描绘上述每个元素的属性。

它还将封装一个LINEITEM的集合,描绘项目的细节。LINEITEM对象将包含描绘XML schema中相应数据的属性。ORDER对象将接受订单数据,创建所需的LINEITEM对象,通过订单数据创建XML文件结构,并将此结构写入一个XML文件。

文件将根据订单编号命名,这个编号是唯一的。它将由前端生成,拥有独立的前缀和时间标记。

XML组件编程

我在Visual Basic 6编写了这个组件,创建了一个ActiveX DLL工程并添加ORDER和LINEITEM对象的类。我首先处理ORDER类,为每个XML元素添加属性。

XML schema中的第一个元素是ORDER ordernum="abcde12345"。这个ORDER 类将包含一个叫做ordernum的属性。

在VB6中定义属性需要2个步骤。首先,需要创建一个私有变量来存储属性值。接着,将ordernum属性定义为长度为10个字符的字符串。

Private strOrderNum as String

这个属性对于所有Let属性和Get属性子程序类的用户都是可访问的。这些子程序将私有变量约束为公共属性,并同时实现必须的有效性检查。在这个情况下,保证订单号码是10个字符。

这个类的用户现在能通过下面的程序行来获得或设置ordernum属性:

Dim objOrder as Order

Set objOrder = new Order

objOrder.OrderNum = "111222333x"

MsgBox objOrder.OrderNum

ORDER类也包含下面XML元素的属性:

clientNum: 对应CLIENT_NUM元素

orderDate: 对应DATE元素

clientCostCenter: 对应CLIENT_COST_CENTER元素

clientPurchaseOrder: 对应CLIENT_PURCHASE_ORDER元素

attn: 对应 ATTN 元素

shipTrackNo: 对应SHIPPING元素

shipCompany: 对应SHIPPING元素,company属性

shipAddrLine1: 对应SHIPPING_LOC 元素中的ADDR_LINE_1元素

shipAddrLine2: 对应SHIPPING_LOC 元素中的ADDR_LINE_2元素

shipAddrCity: 对应SHIPPING_LOC 元素中的ADDR_CITY元素

shipAddrState: 对应SHIPPING_LOC 元素中的ADDR_STATE元素

shipAddrZipCode: 对应SHIPPING_LOC 元素中的ADDR_ZIP元素

comments: 对应COMMENTS元素

LINE_ITEMS属性的实现略微有些不同。ORDER类将包含一个lineItems属性,它搜集LINEITEMS对象。

首先,存储集合的私有变量声明如下:

Private colLineItems as Collection

接着,将创建一个添加项目的子程序,它能将LINEITEM添加到colLineItems集合中去。LINEITEM类本身和ORDER类的实现方法相同。包含对应以下XML元素的属性:

itemCatalog: 对应 ITEM 元素,catalog属性

itemID: 对应ITEM元素

description: 对应DESCRIPTION元素

unitPrice: 对应UNIT_PRICE元素

quantity: 对应QUANTITY元素

接下来的一步

我已经定义了为完成描述订单的XML文件所需的所有组件的属性。今后,我将会把重点放到建立Excel 接口,通过Excel Object Model 提取第一家供应商订单数据,并将数据传递给XML文件。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有