前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >记一次SAP新业务开发项目

记一次SAP新业务开发项目

作者头像
SAP梦心
发布于 2018-07-31 07:32:41
发布于 2018-07-31 07:32:41
6960
举报

       直到笔者写这篇博文的时候,这个开发项目名义上已经上线,但其实开发以及优化的工作还在继续,数据的修复也仍在继续...

       IT系统环境很简单,一个基于JAVA+Mysql的Web平台,一个是宇宙第一的SAP系统,彼此之间用的是Webservice的方式数据对接;

       在此之前,公司的业务形式上都是买进卖出,不留库存。虽然有一个所谓“集采”的业务,但其实根本没有在走单,系统能不能走得通都还是未知数。于是现在又有一个新的业务上来了,买与卖不平衡导致了会有库存差异,而之前的业务和开发都是基于零库存的模式下进行。这就意味着之前的业务模式走不通,需要重新设立新的业务场景,做一定程度的开发扩展。因为这个业务跟“集采”有所类似,所以打算大部分沿用“集采”的接口,我们把它叫做“贸易通”。“贸易通”中采购端与销售端并没有直接的单据关联(部分),下单,收货,开单,出货,对账等都是独立的。

        开发过程如下:

        一、Web下单时采购价格确定

        Web调用SAP的接口,利用Bapi生成销售订单或采购订单。但是在采购价格确定的时候,之前是参考的销售价,但因为销售与采购分离,需要Web上指定一个采购价格。但是调用Bapi的时候,老是会出错,报错说采购价格必须大于0。看来创建采购订单的时候系统会去取信息记录,可是既然用户指定了采购价格就应该用人工指定的。这个问题偶尔会发现,于是直到上线了也没根断。后面经常报错,我突然记起来应该是一个增强搞的鬼。那个增强是在采购创建和修改的时候,跟价格有关的就会强制重新定价,就是这个错误。于是把增强去掉,此问题解决。

        我很好奇当初顾问做这个增强的意义在哪里,而且我也曾经把这个增强给去掉了,如今又冒出来,不解。

        二、Web平台发货签收

        Web平台上对采购做发货确认,顺利通过接口到达SAP做过账。但问题是生成的Mseg表并没有记录到签收单号,以至于后面对采购订单做发票预制的时候会提示找不到入库凭证而报错。而之前的零库存订单在对账的时候做过账,而且系统会记录这个单号信息。这个问题其实很严重,但当初给忽略掉了,因为接口里沿用的是原来零库存的业务类别,但这样会跟实际实物不相符。修改此接口添加相关栏位信息即解决;

        三、Web平台收货确认

        Web上对销售做收货确认的时候,新的单据类型就是直接过账了,与零库存的业务在对账时过账不同。但还是当初业务模式没有界定清楚,把单据类型定位零库存的类型,于是这也跟实际库存业务不相符。但既然用了“集采”的单据类型,就意味着Web平台那边需要修改。哪知道修改的时候Web平台因为技术原因一直开不了服务,折腾了大半天才搞定!但就是因为这样的错误,业务在补单的时候提交了非常多的单据,也在系统里面生成了非常多的自建表垃圾数据。所以还得IT人工在SAP里面一条一条修正,非常费力。

       收货确认的时候,Web首先会去读SAP上转单的库存,取的是MATDOC这表移动类型为413的记录,意思是只取从仓库库存转到销售订单库存的数据。但实际上这个大错特错。作为IT人员,永远不要想着框死限制用户的操作。所以商务在系统中补单的时候,是各种操作都会出现,比如从销售订单库存转销售订单库存,从销售订单库存转仓库库存,甚至还有很多冲销的单据。如果这些都不考虑进去的话,Web上显示的永远都是错的。所以这个接口又得大概,变成了取实时销售订单库存表Mska。问题才彻底得到根绝!

       因为开发接口的时候太局限了,考虑的场景单一,也给后续IT的维护和扩展阻碍了不少!

        四、采购对账

        既然在发货签收的时候采购就做了过账,所以采购对账的时候只是就基本上没有采购啥事儿了,只是生成了对账单而已。但整个对账单正确与否直接关系到后续的发票预制。

        五、销售对账

        “贸易通”的销售对账事儿也很多。因为收货确认环境里就已经做了过账,所以在对账的画面这些记录的状态都是不对的,过账会报错。同时更搞的是一旦碰到月初补单,而财务未完成月结未开账就会出现Web上收货确认到系统中只是做了一个交货单创建而已,实际上连过账都过不了,而对账的这个画面的记录状态自然也都是错的,经常会提示签收单修改失败或开票失败等情况。对账画面本身也有缺陷,并没有考虑到月初补单的情况,也会出现账期未开的报错。还得让用户手动去修改交货单里面的实际交货日期,再过账,这个是很不对的操作方式。

        因为“集采”/“贸易通”的对账程序存在跟业务不符的情况,比如把仓库发货到客户的环节(S5)当成是退货来处理,这点就很匪夷所思了,并没有测通或者没有考虑完全的情况,因此依旧会出现对不了账的情况,甚至还会出现开票金额出现错误的情况。

       六、接口模式问题

       本来SAP提供的RFC是非常完美的跟第三方接口的解决方案,但不知道为何当初乙方顾问就摒弃了RFC模式改为Webservice。导致了现在SAP里面所有跟Web的接口都整合在一个Webservice地址里,这样每修改一次接口(涉及到传入传出结构调整),就要发布一次Webservice,非常的麻烦。而且一旦有两个开发项目都动用到了接口,因为共用一个Webservice地址的原因,会出现“串位”的情况,给IT的开发和维护带来超极大的不便麻烦。用RFC通通没有以上那么多的原因。

        有心推翻现有模式,对SAP来说并没影响,但Web那边,就哭天抢地了,无能为力...

        以上大概记录这次“贸易通”项目的开发情况。感慨的是作为IT人员,对解决方案的制定以及业务模式的理解,并完美得落地到系统中并不容易,总是会有遗漏疏漏得地方,就得后期一笔一笔来修复数据,耗费极大的时间。对项目的后期测试尤其重要,多测试几个场景,不能怕修改,不能怕麻烦,但考虑的地方尽可能周全,也不要抱有希望去限定和框定用户的操作方式。对用户的培训也是至关重要的一个环节,否则数据会产生很多不必要的垃圾。方案制定的人需要具有非常灵敏敏感的头脑,对接口模式的制定也需要考虑到后续的扩展性。就像Webservice的方案,完完全全就是一个糟糕的设计,真心不像是一个乙方顾问应有的专业体现出来的。      

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-07-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SAP ERP常用单据格式设计方案
4、应入库数量、应退货数量、供应单位签字和质检人员为手写字段,其他为系统自动打印出来
用户5495712
2019/05/29
3.2K0
SAP ERP常用单据格式设计方案
SAP RETAIL 我的第一个寄售类型的跨公司采购订单
笔者所关注的一个零售行业项目里,存在总公司进口商品后,转给国内的销售公司,然后再由销售公司的门店销售给客户的场景。这是典型的跨公司采购,或者说是公司间STO(库存调拨单)。这是很多集团性大客户的SAP项目经常有的业务场景。
SAP虾客
2021/11/19
1.1K0
PS项目跨公司采购STO具体实施方案
声明:本文仅代表原作者观点,仅用于SAP软件的应用与学习,不代表SAP公司。注:文中SAP相关字或图片,相应著作权归SAP所有。
齐天大圣
2021/11/08
1.6K1
PS项目跨公司采购STO具体实施方案
SAP公司间STO流程里外向交货单PGI后自动触发内向交货单的实现
公司间采购(公司间库存转储)在很多SAP项目里很常见,笔者在很多项目里都有这种场景。项目实践中,都是采用SAP的Inter-company STO(或Cross-company STO)来实现这个流程的。
SAP虾客
2021/11/18
1.8K0
SAP 基于采购订单的MIRO校验过程
发票校验是物料管理(MM)系统的一部分。它提供物料管理部分和财务会计, 成本控制和资产管理部分的连接。
matinal
2020/01/15
2.2K0
SAP 基于采购订单的MIRO校验过程
从SAP最佳业务实践看企业管理(91)-PP-249委外加工
PP249委外加工 目的 业务情景外包制造基于最佳实践按库存生产-离散行业(145)并专注于SAPERP的外包可能性(请参见业务情景145的目的)。在MTS流程中,业务流程文档(249)介绍了外包制造的两大变式: · MM转包: MM转包流程中,涉及发送原组件到供应商以用于特定制造流程,以及接收增值成品物料返回到库存。 转包采购申请可以通过物料需求计划(MRP)流程生成,也可以由申请人手动生成。采购员需要验证采购申请的准确性,然后将其转换成采购订单。采购订单在签发给供应商之前,应根据预定义参数进行批准。 收
SAP最佳业务实践
2018/03/26
2.2K0
SAP MM 公司代码间质检库存的STO(II)
跨公司代码的质检库存STO,是一个项目实践中不怎么常用的流程。毕竟在企业的正常流程和认知里,要把己方商品销售给客户(即使是集团内客户),一定要确保商品无质量问题。把质量部门尚未放行的商品销售发货出去是不负责任的行为,也可能是带来客户投诉甚至法律风险的错误行为。
SAP虾客
2023/04/27
4580
SAP MM 公司代码间质检库存的STO(II)
SAP MM 特殊库存之T库存
笔者所在的A项目里,销售业务广泛启用了POD功能。VL02N对交货单做了发货过账后物权并没有转移,而是将自有E库存转为一个叫做在途库存的特殊库存里。等到货物到了客户那里,客户确认实际收货数量后,才去系统上执行VLPOD事务,过账后,物权才会转移到客户方那里。
SAP虾客
2021/03/01
2K0
【SAP业务模式】之ICS(三):前台操作
SAP梦心
2018/01/05
1.4K0
【SAP业务模式】之ICS(三):前台操作
SAP MM SPED输出报错-No authorization for delivery from shipping point US##-之对策
SAP MM SPED输出报错-No authorization for delivery from shipping point US##-之对策
SAP虾客
2022/12/25
4410
SAP MM 特殊库存之T库存初探
笔者所在的A项目里,销售业务广泛启用了POD功能。VL02N对交货单做了发货过账后物权并没有转移,而是将自有E库存转为一个叫做在途库存的特殊库存里。等到货物到了客户那里,客户确认实际收货数量后,才去系统上执行VLPOD事务,过账后,物权才会转移到客户方那里。
SAP虾客
2021/01/24
1.6K0
SAP MM内向交货单的凭证流
玩过SAP的人都知道,SAP系统很注重前后端业务单据之间的勾稽关系。这即是SAP的重要特色,也是SAP的重要亮点之一。
SAP虾客
2023/02/09
5820
SAP MM物料管理系统功能详解
1 MM系统概述 ……………………………………………………………………………………… 3
全栈程序员站长
2022/07/04
2.3K0
SAP WM&SD集成之Copy WM Quantity
SAP WM模块与SAP其它模块是有集成的。当销售人员完成了销售单据的创建以后,仓库部门业务人员需要为交货单做拣配。如果发货库存地点启用了WM管理,则仓库人员需要根据该交货单创建TO单,以完成拣配。
SAP虾客
2022/05/17
6010
SAP WM&SD集成之Copy WM Quantity
SAP MM UB类型的退货STO流程简述
SAP系统中,UB类型的采购订单(STO)用于公司内2个工厂之间的货物调拨场景。对于这个场景里的退货业务,UB类型的STO也是可以支持的。本文就是简述一下这个流程的操作全过程。
SAP虾客
2021/11/24
5850
SAP最佳业务实践:SD–可退回包装物销售(120)-3销售订单及发货
一、 VA01输入销售订单 在此活动中,可以为客户和标准产品创建销售订单。 1. 在 创建销售订单:初始 屏幕上,进行以下输入: 字段名称用户操作和值注释订单类型订单 销售组织<销售组织> 分销渠道<分销渠道>直销产品组<产品组>产品组 10 2. 确认您的输入。 3. 创建 销售订单:概览 屏幕将显示订单抬头和项目数据。现在输入下列数据: 字段名称用户操作和值注释标准订单 保留该字段为空,它是由系统分配的售达方100000客户 00采购订单编号例如,12345输入任意的客户采购订单编号物料<物料编号> 订
SAP最佳业务实践
2018/03/28
2.3K0
SAP最佳业务实践:SD–可退回包装物销售(120)-3销售订单及发货
SAP 跨公司采购详解
业务情景:同一集团下的两个公司1100与2100之间的采购业务。1100下设工厂1101,2100下设工厂2101。供货公司1100须先送 货到订单公司2100的仓库,然后2100公司再按集团外客户的要求发货(因此不能使用跨公司销售模式—跨公司销售的图文详解请参看SHENZHEN- SAP的文章)。
用户5495712
2019/08/09
4.4K0
SAP 跨公司采购详解
SAP S4HANA里委外加工采购功能的变化
1.2, 新的事务代码: ME2ON (Subcontracting Cockpit),
SAP虾客
2021/01/23
8130
SAP SD 销售开票处理
在SAP中,财务需要对销售部门所递交的交货单进行创建销售凭证,确保其传输至金税系统的正确性,进行销售发票的开具等行为。另外销售发票开具后,财务释放销售凭证,批准至会计凭证,进行账务处理。
用户5495712
2020/03/26
2.9K0
SAP SD 销售开票处理
SAP最佳业务实践:SD–客户寄售(119)-5寄售退货
一、VA01寄售退货订单 已由客户消耗(出售)的货物可能会被退回到寄售库存。在这种情况下,客户将沟通退货数量以及相应的批次编号。将在下列凭证之后生成退货订单: 带有后续收货的退货交货。 退货的贷项凭证
SAP最佳业务实践
2018/03/28
2.7K0
SAP最佳业务实践:SD–客户寄售(119)-5寄售退货
相关推荐
SAP ERP常用单据格式设计方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档