好了,废话了这么多,现在进入正题吧,先看下面的代码:(代码是从36.15.2这个画面中提取出来的,对应文件名为 mgbdpro.p )
PROCEDURE process_all:
......
/*以下为第一部分功能*/
input from value(work_i_file) no-echo.
output to value(work_o_file) keep-messages.
batchrun=yes.
do on stop undo aloop,leave aloop:
{gprun.i execname}/*这里才是真正的在做Cimload*/
end.
output close.
input close.
......
......
/*以下为第二部分功能*/
input from value(work_o_file) no-echo.
repeat:
linefield = ""./*linefield是字符类型的数组*/
set linefield with width 255.
if linefield[1] = "**" or
linefield[1] = "ORACLE" or
linefield[1] = (getTermLabel("WARNING",11) + ":") or
linefield[1] = (getTermLabel("ERROR",8)+ ":")
then do:
/*中间是错误记录的代码*/
end.
end.
process_all这个过程,就是执行Cimload的核心代码(其实,还有个过程process_by_screen,功能和process_all差不多,差异好像是process_by_screen直接从Cimload文件中读数据执行,不经过bdl_mstr、bdld_det这2个表的处理吧,不过其具体代码懒得研究了,只是猜测而已,呵呵),她内部大致分为2个部分,第一部分执行Cimload,第二部分对前面生成的临时文件作分析,判断错误情况。
第一部分,Cimload功能分析:
<a 首先,work_i_file存的是要执行的Cimload数据,其格式实际上就是我们导入的Cimload原始资料,但去掉了@@batchload和@@end这两行,而且,只包含一条数据(也就是36.15.1中生成的一个Group ID对应的数据,所有数据是通过循环调用这个过程来导入的);
<b 然后,设置batchrun这个全局变量,其功能应该是告诉系统环境现在是在批处理模式下运行吧;
<c 通过调用{gprun.i execname},就可以把数据写到系统中了,其实这句话实际上就是一个run命令,execname实际上就是@@batchload后面的程序名(从这里看,Cimload功能应该是被系统给集成了,像update、prompt-for这类函数可能会根据batchrun的设置而自动选择是显示一个界面让用户输入,还是从当前的输入流中读取数据吧),注意,这条语句被包含在一个do语句中,do语句会捕捉在运行过程中产生的所有stop消息,换句话说,也就是如果我们在写程序时发现录入的数据有错误,则可以调用stop命令,这样,就可以停止Cimload的运行了;
<d 对于运行过程中生成的所有消息,都会被写入到work_o_file所对应的文件中,而这个文件,则是第二部分功能的主要数据源;
第二部分,Cimload错误分析:
这部分比较简单,没什么可说的,只要记住,如果想生成错误消息,只要在要输出的消息前面加上“WARNING: ”或“ERROR: ”就可以了,注意最后的空格不能省。
都可以的啊。1、美国比较知名的ERP品牌
ORACLE:仅次于SAP的信息管理软件及服务供应商。
主要的ERP产品线:Oracle?E-Business?Suite、PeopleSoft?Enterprise、Siebel、JD?Edwards?Enterprise?One、JD?Edwards?World?
总部:美国加州
Infor:全球第三大企业级应用软件及服务供应商。
主要的ERP产品线:Infor?ERP?LN、Infor?MAPICS?XA?(由IBM1977研发产品)、IBaan、BPCS、Infor?ERP?LN、Infor?ERP?LX?。
总部:美国纽约
Microsoft(微软):ERP产品为Dynamics,旗下有2个主要品牌,为Navision和Axapta。
总部:美国华盛顿州雷德蒙德市
Lawson?Software(罗盛):主要为卫生保健,专业服务,零售,公共部门,电信和其它行业提供管理软件。
总部:美国明尼苏达州圣保罗
Epicor(恩柏科):是全球领先的企业软件解决方案提供商。
专为中端市场和全球1000强企业提供集成的企业资源规划(ERP)、客户关系管理(CRM)、供应链管理(SCM)以及专业服务自动化(PSA)等解决方案。
总部:美国加利福尼亚州的欧文市
QAD:为世界各地的制造型企业提供企业资源规划软件。
QAD产品和服务的主要行业为:汽车,消费品,高科技,食品,饮料,工业设备和生命科学。
总部:美国加利福尼亚州,圣巴巴拉
2、国内外比较知名的ERP
国内的
用友:1988年成立于北京
产品线:NC集团型
U9中大型制造业/U8/畅捷通T系列
金蝶:1993年成立于深圳
产品线:EAS集团型
K3Cloud/K3/KIS
浪潮软件:1994年成立,总部位于济南
产品线:PS系列、GS系列、E系列
鼎捷(神州数码):总部位于上海,专注于制造业。
产品线:易拓、易飞、易助
天心天思:总部位于珠海
产品线:ONLINEERPII、SUNLIKE ERP、SUNLIKE SBS、天思经理人、天思财富系列
正航:1990年始创于台湾,2001在厦门成立大陆总部
产品线:正航NBS、正航T9、正航T357、工厂达人、导航者
普实软件:1999年成立,总部位于苏州
产品线:AIO7.5(中型制造业)、AIO7、AIO5
和佳软件:1998年成立于北京
产品线:和佳ERP
博科软件:1992年成立,总部位于上海
产品线:myErp
新中大:1993年成立,总部位于杭州
产品线:URP-i6、A3、金色快车GE
万达宝软件:1990年成立于香港
产品线:J3T-ERP系统
统率软件:1992年成立于台湾
产品线:统率制造行业ERP
国外的
SAP:是全球商业软件市场的领导厂商。(目前世界排名第一)
1972年创立于德国。
主要产品线:
MySAP(也就是SAP R3):基本适用于大公司(诸如世界500强)
SAP BusinessAll-in-one:中型公司(这是SAP的定义,但是对于国内来说,也都是大企业)
SAP BusinessOne:中小企业,国内很多公司都在使用,虽然号称中小企业适用,但是依然价格不菲。
ORACLE:仅次于SAP的信息管理软件及服务供应商。
总部:美国加州
主要的ERP产品线:Oracle?E-Business?Suite、PeopleSoft?Enterprise、Siebel、JD?Edwards?Enterprise?One、JD?Edwards?World?
Infor:全球第三大企业级应用软件及服务供应商。
总部:美国纽约
主要的ERP产品线:Infor?ERP?LN、Infor?MAPICS?XA?(由IBM1977研发产品)、IBaan、BPCS、Infor?ERP?LN、Infor?ERP?LX?。
Sage(赛捷):1981年创立于英国
主要的ERP产品线:Sage Accpac、Sage ERP X3
Microsoft(微软):美国华盛顿州雷德蒙德市
ERP产品为Dynamics,旗下有2个主要品牌,为Navision和Axapta。
Epicor(恩柏科):是全球领先的企业软件解决方案提供商。
总部:美国加利福尼亚州的欧文市
专为中端市场和全球1000强企业提供集成的企业资源规划(ERP)、客户关系管理(CRM)、供应链管理(SCM)以及专业服务自动化(PSA)等解决方案。
Exact(易科):1984年成立于荷兰戴夫特
Exact Software是一家著名的ERP(企业资源管理)、财务、HRM(人力资源管理)、CRM(客户关系管理)以及电子商务软件解决方案的领导开发商。
等等。。。
3、国内分区
较为知名的:浪潮、用友、金蝶、鼎捷等
中小型企业:管家婆、速达、金算盘等
区域性质的:博科、新中大、普实软件等
每家企业都有其优势和专业的地方。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)