楼主: weilingjun

[精华] SBO中的一个极具震撼力的的流程控制功能详细分析

[复制链接]
论坛徽章:
4
2009日食纪念
日期:2009-07-22 09:30:002010新春纪念徽章
日期:2010-03-01 11:20:05参与物流供应链俱乐部活动纪念
日期:2010-07-12 16:00:51ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
21#
发表于 2007-7-26 17:36 | 只看该作者
这个确实精彩,但是好像并不完美。我按照楼主说的去做了些测试了,其实这个存储过程在某些对象的调用上会出现异常,比如应收发票(对象代码是13)。我本想在录发票的时候控制几个字段必须填写,当然SQL语句也是仿照楼主的写的,语句肯定没有问题。当我录发票的时候故意不填那几个字段,提交的时候BO果然不让过,但当我把那几个字段的值补齐再次提交的时候异常就出现了。具体异常请大家自己测试吧!当然如果大家有办法解决这个问题,期待交流。

使用道具 举报

回复
论坛徽章:
0
22#
发表于 2007-8-2 09:36 | 只看该作者
非常有帮助!谢谢!!!

使用道具 举报

回复
论坛徽章:
0
23#
发表于 2007-8-3 15:35 | 只看该作者
请问可以控制打印吗?举例:可以通过编号来控制发货的时候是采用"生产发货"报表格式打印,还是采用'非生产发货'报表格式打印?

使用道具 举报

回复
论坛徽章:
0
24#
发表于 2007-8-7 10:55 | 只看该作者

使用道具 举报

回复
论坛徽章:
0
25#
发表于 2007-8-7 21:18 | 只看该作者
不知能不能使用当前用户,我的意思是在使用控制时,可以根据当前用户进行判断是否能够执行该操作。

使用道具 举报

回复
论坛徽章:
7
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442009日食纪念
日期:2009-07-22 09:30:002011新春纪念徽章
日期:2011-02-18 11:42:472014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:022014年世界杯参赛球队:克罗地亚
日期:2014-06-12 16:37:10红钻
日期:2015-03-10 14:00:33
26#
发表于 2007-8-8 11:10 | 只看该作者
最初由 wyun2 发布
[B]不知能不能使用当前用户,我的意思是在使用控制时,可以根据当前用户进行判断是否能够执行该操作。 [/B]


任何凭证找找,应该都有一个字段叫usersign,对应OUSR表的UserID.

使用道具 举报

回复
论坛徽章:
7
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442009日食纪念
日期:2009-07-22 09:30:002011新春纪念徽章
日期:2011-02-18 11:42:472014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:022014年世界杯参赛球队:克罗地亚
日期:2014-06-12 16:37:10红钻
日期:2015-03-10 14:00:33
27#
发表于 2007-8-8 11:48 | 只看该作者

几个问题

提几个问题:

一、参数@list_of_cols_val_tab_del,只携带了对象的主键。
比如单据,则为Docentry,

那么,当我需要对单据的明细行进行处理时,需要的主键应该是Docentry and LineNum,这个时候,这个行号我该到哪去取呢?用游标的话,我担心性能受影响。

二、经过测试发现,在触发[SBO_SP_TransactionNotification]之前,SBO已经完成了全部的数据库更新,包括相关对象的更新。
比如采购收货单。
在触发存储过程之前,SBO还更新了:
采购订单OPOR的openqty
仓库日记帐OINM
库存帐本OITW
物料主数据OITM的onhand,onorder。。。
财务日记帐OJDT
等等。。总之,相关的内容都已经更新完毕,而这些都可以通过select查询到。

但是因为@error被置为1,则这一切的更新都被取消了。
我不确定是否是rollback之前的更新select也可以查询到?

如果不是rollback的关系,那么这意味着SBO是否有一种内部机制,可以完整地“删除”凭证并完整地回退所有相关数据。这可是很多人在做假帐时梦寐以求的好东东。
通过SQL跟踪找到这套机制。。。。。。。。如果可以封装好来调用的话。。等于是抛开SAP自己编DI了。。我担心版权的问题。因为那样SBO无论静态的表结构还是动态的数据流程都过于透明了。
甚至也可以因此而抛弃DI而放心地直接使用SQL语句直接更新数据库。甚至可以象网络游戏一样,编写脱机外挂客户端,甚至直接用Excel + VBA替换掉整个SBO客户端,踢开License。。那样太疯狂,估计要上法庭了。。这只是一个笑话。

三、使用这个存储过程,将在每个对象更新时触发,因此自定义代码一定要考虑性能问题,稍有不慎,应该会导致系统性能的大幅下降,而这种下降,不知情的人是很难检查出来的。
这也引出了另外一个问题,与楼主所推荐的想法不同,我认为这个存储过程,依然需要由SQL方面专业的“技术顾问”来修改,而不应该由“实施顾问”来操作。绝大多数非技术专业出身的实施顾问所具备的简单SQL查询知识,应该还远不足以驾驭好这个存储过程啊。

使用道具 举报

回复
论坛徽章:
0
28#
发表于 2007-8-9 23:27 | 只看该作者
厉害能够想到这一层,希望有识之士能够钻研下去,SBO的天地太广阔了,感叹自己学识太浅。

使用道具 举报

回复
论坛徽章:
0
29#
发表于 2007-8-10 14:18 | 只看该作者
太高深了!!!

可以控制打印预览吗?

使用道具 举报

回复
论坛徽章:
0
30#
发表于 2007-8-22 15:10 | 只看该作者
多谢发好贴,好好研究!受教了。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表