SAP是一个解释性系统??


是大多数人从技术层面无法理解SAP的原因。因为理念不同啦,所以我只能从我了解的方面来告诉大家SAP的技术架构。

首先,必须知道整个SAP是运行在一个称作ABAP的平台上的,可以类比为JVM。

其次,根据从SAP公司很有资历的BASIS老师那里得到的信息,SAP除了BASIS部分模块是用C写的,其他的几乎都是用ABAP写的。最典型的就是MM模块。

第三,无论是主动还是被迫,SAP的所有用ABAP写的代码是开放给客户的。

第四,想SAP那么庞大的系统,不可能不做二次开发,因此把ABAP开发环境集成进去也没什么可奇怪的。如果按照楼主的想法,LINUX是否也属于解释系统,因为源代码完全可以和执行程序放在一起,并且可以修改源代码,编译一下就可以用了。

第五,我也怀疑ABAP是否是解释执行的,但是,这又有什么关系呢?即使PB编译成DLL文件,也还是需要PB80VM.DLL的支持才能运行,那你说PB到底是解释型语言还是编译型语言。

第六,ABAP的源程序都是存放在数据库中的,具体位置我还不知道。

第七,当你第一次运行某个事务代码时,屏幕左下角会有一个钟表图标,出现的提示的意思是说在编译。这也符合现在即插即用的理念。第二次再用的时候进入业务界面就快多了。

第八,ABAP的本意就是设计用于处理业务和数据的,ABAP和SAP的体系结构是紧密结合的。适合大型复杂的业务处理系统。

第九,SAP对安全的重视程度超过我们一般技术人员的想象,请不要怀疑,虽然现在网上有很多破解access key的文章,但是那不是长久之计。

第十,要在SAP中开发,必须分门别类的申请key,写ABAP要KEY,在用户出口中增加代码要KEY。不是那么随便的。如果你不申请KEY,那么你就得不到源代码级的技术支持。

十一,SAP对权限的管理采用了一种称作为权限对象的技术,就是在SAP中,把业务操作进行了抽象,比如业务动作可以分为创建、修改、删除、归档、查看等,对关键数据的访问也可以限定范围,比如可以限制分公司的财务只能查看自己的发票信息等等。

十二,SAP还有对所有业务操作的跟踪功能,比如一张销售订单,可以跟踪到何时由何人创建,后来在什么时候由谁做了修改。

十三,SAP系统中另外还有审计功能,可以进一步跟踪用户每一次对那些字段做了什么修改。只是这个功能一般由于影响系统响应会被关闭。

十四,SAP承诺客户在没有得到允许的情况下绝不访问用户的系统。不过,大多数客户在不需要在线支持的时候都是做物理隔断的。德国人的严谨和负责在SAP中得到淋漓尽致的体现,不想某些小岛国死不悔改、死不认错。

十五,SAP提供在系统内访问SAP的在线知识库,提问,打补丁等。

十六,SAP的服务站点都是用HTTPS的方式连接的,最大程度上保护的客户的安全。虽然这个站点的确比较慢。

十七,关于IMG,的确是R/3的一个进步,其实入门者不要把IMG想得太复杂,想想一般的MIS系统是不是都会提供一些数据备份,代码管理,数据导入导出之类的功能,IMG可以认为就是这些功能的扩展,不过似乎扩展到了极点。