壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2618|回复: 5

关于系统处理请求的流程,主要围绕AD_PROCESS表展开,欢迎交流。

[复制链接]
发表于 2007/11/25 12:17:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
--如何调用process
调用process有两种方法,一个是调用process目录下的class文件,给类继承callout接口,有prepare和doit函数,在prepare中调用getparam方法获取参数,具体的参数值从AD_PROCESS_PARAM定义参数个数和名称。

第二种方法是在AD_PROCESS中不指定CLASS_NAME,而是指定AD_REPORTVIEW,系统则直接调用系统的视图,具体视图名字用AD_TABLE_ID控制
select * from ad_process t where t.ad_process_id=194;
select * from ad_process_para t where t.ad_process_id=194;
select * from ad_element_trl where ad_element_id in(1922,102) ;
select * from ad_process_access where ad_process_id=194;
select * from ad_process_para_trl where ad_process_para_id in(267,260) ;
select * from ad_process where classname is null ;
select * from ad_reportview where ad_reportview_id=146 ;

第二种方法采用存储过程或者VIEW实现,系统从客户端调用ProcessCtl类,来总控是调用哪种类型的PROCESS,同时ISSERVPROCESS决定是运行于SERV还是CLIENT,目前一般是运行于CLIENT的。如果有classname则调用processcall接口类的类实现(processcall是接口类,servcall是抽象类,定义基本的抽象对象,每个调用的class必须继承servcall)servprocess下的callout类;如果是存储过程,则调用dbprocess类,提取数据。如果是report,则再调用ReportCtl类完成报表相关的工作(先根据ReportEngine获取打印格式等信息,在用此引擎调用view显示于屏幕上);

[ 本帖最后由 herome 于 2007-12-15 14:31 编辑 ]
发表于 2007/11/27 14:46:07 | 显示全部楼层
感觉写的有一点点乱。

第一种, Class Process, 就是定义一个class, 必须extend org.compiere.process.SvrProcess 当然,狠一点, implement  org.compiere.process.ProcessCall 应该也是可以的。不是“继承callout接口“,那就成callout了。

我以前些扩展的时候,都是用ProcessCall 的,后来的版本 改用org.compiere.process.SvrProcess了,甚至后来ProcessCall 直接成接口了。

第二种, 用存储过程。这个好,不用build,不用jar,不用重起系统。
以前我们都用它。 不过后来compiere要数据库独立了,不推荐这个了,所以一些公用的功能函数都没了。
这里我放了个例子:
http://bbs.ERP100.com/thread-17510-1-1.html

第3种, 报表,需要定义ReportView, 但是只有勾了那个IsReport才会出来。
然后,也可以制定报表格式Printformat, 也可以暂时不指定,等报表出来,在修改。

其实,还有第4种, Process也可以是workflow.


以上所有内容,针对Compiere, 在Adempiere是否完全适用,我不肯定。
发表于 2007/12/7 14:44:40 | 显示全部楼层
pshen版主说的很好,我个人还是喜欢把逻辑写在存储过程里面,调用方便,效率也高。
不过要依赖数据库,使用不同到DBMS可能会有兼容性问题。

[ 本帖最后由 jet-wang 于 2007-12-7 14:45 编辑 ]
发表于 2008/2/20 19:41:55 | 显示全部楼层
好精辟的分析,强烈支持
发表于 2009/6/10 13:56:18 | 显示全部楼层
一般的都是extends process的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 14:49 , Processed in 0.014099 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表