Retail-遗留系统 接口开发讨论帖
有关Retail-遗留系统接口开发过程中所有需要讨论的问题,都在本帖讨论.
接口的联系人信息请参考:
http://blog.retailsolution.cn/blog/index.php/gb-retail-interface-contact
接口规格请参考:
关于作者:
| 昵称:商云方 档案信息:顾问, HAND张江技术中心 联系方式:你可以通过yunfang.shang@hand-china.com联系作者 点击查看商云方发表过的所有文章... 本文永久链接: http://blog.retailsolution.cn/archives/645 |
对本文的评价:

Oracle Retail 和 遗留系统接口开发联系人信息及各团队开发计划 请参考:
http://syfr12.vicp.net/blog/index.php/gb-retail-interface-contact
to : blue:
以IF001 接口规格细化已完成. 已经发给你了.
有个问题确认一下: IF001中 门店级别 在Retail中是可维护的,门店级别现有5种:
A 分类店铺A
B 分类店铺B
C 分类店铺C
D 分类店铺D
E 分类店铺E
但在Retail中是可以增加, 类似的字段比如:转移区域,转移实体都是可添加的,如果这些基础数据都要下发的话,需要下发的资料就多了,能否这样处理: 以门店级别为例:
Oracle Retail并不预先把所有的门店级别下发给遗留系统,遗留当遗留系统发现有新的门店级别的时候,根据自己系统的需要进行处理: 如果遗留系统本身的验证逻辑要求这样的门店级别必须存在于系统中,那么就自动在遗留系统的门店级别基础资料表中插入一条记录.
如果遗留系统本身没有字段可以对应门店级别,则可以忽略此字段,具体情况需要遗留系统供应商根据自己系统的实际情况决定.
to yunfang:同意你的处理意见。”如果遗留系统本身的验证逻辑要求这样的门店级别必须存在于系统中,那么就自动在遗留系统的门店级别基础资料表中插入一条记录.
如果遗留系统本身没有字段可以对应门店级别,则可以忽略此字段”
最新进展,已经完成if001,if002,if003,if008四个接口的详细规格说明.
可从http://syfr12.vicp.net/blog/index.php/gb-retail-interface-contact下载(在文章末尾”参考部分”)
IF001目前接口是发送到每个门店,是否可以放的公用目录下?
另公用目录(public)下有无inbox和outbox?
以上两点请确认!
Hi ,blue
1) (public)下有inbox和outbox目录
2) IF001 放在 $PUBLIC/inbox 目录下
请参考: http://syfr12.vicp.net/blog/index.php/gb-retail-interface-contact
文中最后的“其它参考 – 接口规格说明 ”部分(接口规格内容有变化,则版本会变更)
2008-11-3接口进展,已经完成if005,if011,if016,if019四个接口的详细规格说明.
可从http://syfr12.vicp.net/blog/index.php/gb-retail-interface-contact下载(在文章末尾”参考部分”)
to yunfang:
if005,if011,if016,if019四个接口不能下载,请核查一下!
@blue, 已经可以了,谢谢!
Hi, all
即日起,接口规格文件在本帖维护.以后大家都从本帖下载最新的接口规格.
linux: 对文件进行字符集转换
一般情况下,我们在Windows 环境创建/编辑文件, 所以生成的文件默认字符集是GBK的. 然后我们把文件上传Linux服务器; Linux服务器默认字符集是UTF-8的.在Linux中查看会显示乱码.解决方法可以在上传后用linux 命令把这个文件的字符集转换成UTF-8的. 下面的例子用于把GBK编码的index.htm 转换成UTF-8的index.html :
语法: iconv -f -t -o
例子:
iconv -f GBK -t UTF-8 -o index.html index.htm
to yunfang:
IF002,IF003,IF100文件存放是否放在public目录下
if015的问题:
退货是否要求遗留系统提供退货价格?
如果遗留系统不提供退货价格,则Oracle 会按照最后一次进价作为退货价格。
如果最后两次进货分别为20个和10个,并且进价不一样,而退货30个则按照Oracle 默认的处理方法就是错误的。
如果最后一次进货是供应商赠送,0成本接收,则错误就更大了。
所以应该要求遗留系统提供退货价格。但这样就相当于把退货价格的决定权交给遗留系统了. 这样做可以吗?
答: 根据20081031日上海总部会议, 退货的价格问题只能确定一个简单原则: 就是按照最后进价退. 物价不断上涨则我方是赚的,物价不断下跌,则我方可能是有损失的. 所以接口中还是不需要遗留系统提供退货价格,相应产生的退货价格差异,Oracle Retail会自行处理进相应的差异帐户.
@blue, IF002,IF003,放在public目录下
IF100 已取消,库存调整原因代码只需要在初试化一次性导入即可. 不需要专门做个接口.
to: blue
if009问题:
在百年系统中,促销单的开始,结束日期是放在促销单头上还是促销单行上的?
TO BLUE
IF002,IF003是放在public 目录里的。
2008-11-6接口进展:
1)添加了if004,if009,if012,if014,if015 5个接口规格;
2)添加了if002,if003,if005,if008,if011,if012,if019 7个接口数据例子文件.
to yunfang:
销单的开始,结束日期是放在促销单头上。
@admin, 没看到么”已经完成每个字段明细说明的接口规格列表”
TO yunfang:
下传的文件格式,建议采用标准的csv格式
@dengsm, 我们的CSV文件是使用逗号’,’进行分割的,不知这里所写的’标准的csv格式’有哪些额外的要求?
@yanghe, 最好是用PL/SQL 用导出的CSV文件格式,因我在查看你们发给我的数据例子中 包含了一些
,….H>
,
头文件的说明
to yunfang:
(1).IF015Return to Vendor from store/Warehouse to RMS 门店/仓库上传的返厂出库单
疑问:门店或仓库号码,如果是仓库则必须是物理仓库代码。
由于Oracle Retail不下传物理仓库资料,改如何处理
(2).IF009Promotion from RMS to store从RMS下发促销单
疑问:促销ID是否唯一,同一促销ID下开始日期和结束日期是否固定?
零售改变类型和零售改变值是不只是参考,最终促销价格是零售价?
@dengsm, 头文件说明保留是因为如下两点原因:
1) 接口程序可能多次更改,为了字段的输出顺序正确,要求输出头信息.
接口文件的处理程序,可从第5行开始读取.(略过1-4行头信息)
2) 接口文件保留头信息也上为了发生意外时,方便IT维护人员定位问题.
@blue,
(1).IF015Return to Vendor from store/Warehouse to RMS 门店/仓库上传的返厂出库单
疑问:门店或仓库号码,如果是仓库则必须是物理仓库代码。
由于Oracle Retail不下传物理仓库资料,改如何处理
答:
Retail系统中 物理仓库不纪录库存. 针对每个物理仓库,会为每种销售渠道建立一个虚拟仓库,虚拟仓库上纪录库存. 在Global-Mart方案中,只有一种渠道:就是店铺销售,所以物理仓库与虚拟仓库是一对一的.
1) 在IF001接口文件中,物理仓库和虚拟仓库的资料都会下发,不过遗留系统不关注物理仓库,只关注虚拟仓库,也就是说,下发的虚拟仓库会和遗留系统的仓库建立Mapping关系,而物理仓库不会建立Mapping关系,所以物理仓库对遗留系统来说没有意义.
2) 但是每条虚拟仓库的纪录上都有个属性表明该虚拟仓库从属于哪个物理仓库,所以遗留系统只要对应到某个虚拟仓库就一定可以得到其对应的物理仓库.
@blue,
(2).IF009Promotion from RMS to store从RMS下发促销单
疑问:促销ID是否唯一,同一促销ID下开始日期和结束日期是否固定?
零售改变类型和零售改变值是不只是参考,最终促销价格是零售价?
答:
1)在IF009的头信息中,促销ID不唯一,但促销组成ID是唯一的.
2)同一促销ID下开始日期和结束日期不固定.
3)Retail的促销单和遗留系统的促销单结构不一致.
遗留系统的处理方法:
1) 一般来说,遗留系统的促销售单的开始,结束日期是放在促销单头上的,所以Retail下发的一张促销单可能对应遗留系统的多张促销单,遗留系统需要按照遗留系统的头字段(比如开始,结束日期)对接口中的纪录进行分组,形成多张遗留系统促销单.
2)零售改变类型和零售改变值是参考,最终促销价格是零售价