转自:
http://blog.chinaunix.net/uid-20509237-id-1939286.html
http://blog.chinaunix.net/uid-20509237-id-1939291.html
SAP CRM首先和SAP ECC,SAP BW一样,都是SAP的一个产品,而不是属于ECC的一个模块,当然CRM在很多功能方面和ECC有重复,比如CRM的SALES和ECC的SD,CRM 的SERVICES和ECC的CS。功能是有重合,但是侧重点和设计理念完全不同。
如果要成为CRM的开发者,首先要理解SAP CRM的一些技术概念。
CRM是一种主要是基于对象和面向对象的SAP ABAP类型的系统,基于对象,并不是完全的面向对象,而是在SAP ABAP引擎上,用模拟面向对象的方法来实现的。
1.GUID的概念
GUID就是全球唯一标识,在CRM引入了这一概念。他们是16位,22位或32位RAW字符格式,比如ORDER_GUID是32位,交货点 (POD)GUID 是22位。使用GUID作为主键,就是为了避免编号范围的冲突。比如一种类型的ORDER类型是1000000000-1999999999,当这些编号 用完以后,那系统是不是就不可以用了?也许ECC是的,但是CRM不会的,CRM系统当中,编号范围不是唯一的KEY,你可以修改号码范围的当前值,重置 到100000000,产生相关编号的订单,但是系统不会出错,因为GUID是不一样的。
2.CRM的数据模型
CRM存储数据和ECC是不一样的,它有一个以段为基础的数据模型,非常类似HR的信息类型。一个业务对象的所有数据不是存放在一个大表中,而是分散存储 到各个基本表里。(不过ECC现在一些模块已经应用这种思想了)。比如订单,分订单管理抬头、合作伙伴、文本、状态、机会抬头、线索抬头、时间管理、组织 信息等等存放在不同的地方。所以读取数据的时侯,不需要使用SQL语句去表里获取数据,因为他们基本都是通过GUID来进行关联的。CRM提供了丰富的 API函数。
所以为什么做CRM开发,不需要记得有什么表,只要记得主要的几个表就好了。
3.BDC就不适合在CRM中使用
在CRM中一般不使用BDC作为批量数据导入方式,因为CRM提供了很多丰富的接口,比如XIF 适配器,用来导入和导出数据。
另外一个原因,CRM的一些主数据的屏幕都是可以配置和可调整的,一旦调整或者增强,BDC就无法使用了。
4.CRM是基于流程驱动的解决方案
CRM没有非常固化的流程,很多流程都是变化的,在不同的场景,你可以组合各种流程。但是你必须先理解一些基本的业务流程,以便你可以提出正确的技术方案。
5.WEB开发技术对CRM比较重要
CRM的使用者包括企业内部和外部客户,外部客户包括一切的合作伙伴,甚至消费者.基于SAP产品的法律限制,不可能开放SAP系统给没有获得SAP授权的人使用,所以开发一些WEB应用是必须的。
CRM的WEB应用包括标准的电子商务套件,如E-SALES,E-MARKETING,E-SERVICES。这些主要使用的SAP CRM JAVA引擎;也包括自己定制开发的一些WEB应用,这些可以使用CRM J2EE,也可以使用CRM ABAP引擎上的BSP和WEB DYNPRO。
6.CRM可以作为一个单独的实例,更多的会与ECC/BW集成
CRM作为单独的实例,可以实现销售、服务、市场等相关的业务场景。如果涉及到财务过帐,就必须和ECC集成起来。
当然除了财务,主数据(如客户、物料、设备)和业务数据(如销售订单、市场活动)等都可以和ECC集成。
SAP CRM和ECC集成,是通过SAP提供的标准的中间件技术来实现的,底层是基于QRFC来实现的。并且SAP已经内置了很多标准的对象,中间件是免费的。
SAP CRM也内置了很多BW的QUERY,可以很方便的把CRM的数据抽取到BW中,并且也是通过中间件的技术。
想在SAP CRM的技术上能够得心应手,必须了解CRM的一些基本业务概念.
SAP CRM 主要分4大渠道(IC,Internet,Channel,Field),3大模块(市场,销售,服务).
三大模块分别对应整个销售闭环中的售前/售中/售后.在技术架构方面的,市场是比较独特的模块,没有用到CRM中的ONEORDER概念,完全是独立的一 个部分.销售和服务,主要在主数据方面存在着一些区别,其他的都是ONEORDER的体系.比如销售合同/销售订单,服务合同/服务订单/服务确认等.
四大渠道主要是指与客户进行交互的渠道.比如IC呼叫中心,通过多媒体方式如电话/短信/传真;Internet就是WEB了,比如电子商务中的E- SALES,E-SERVICE,E-MARKETING;Channel就是我们所谓的传统的直销还是分销渠道,通过经销商/代理商的销售模式或者服务 模式;Field指的是现场面对面的和客户交流,比如现场销售/现场服务.
2. 组织模型主要的实现理念完全和HR类似, 增强的东西不多,主要设计到的就是属性的增加;自定义的组织确定逻辑,性能方面的一些问题.由于设计理念导致在复杂的销售组织结构下,组织结构的性能非常的不好.所以最好别整太复杂的组织结构
3. 产品的增强SAP已经做好了一个很好的工具叫SET TYPE,作为技术人员只要学会如何用程序去维护一个产品的SET TYPE就好了.注意了,SET TYPE分2中,一种独立的,一种与销售范围有关.
4. Price在CRM中的实现和ERP的就完全不同了.CRM在ABAP引擎上添加了一个叫VMC的东西,在里面跑JAVA的应用.定价的增强和出口就需要 用JAVA来实现了,SAP预留了很多的出口.如果ERP的定价过程同步到CRM,请记得ERP中写的定价增强必须用JAVA来改写了.
5. Installed base这个主要在服务模块中使用.是用来组件化,结构化数据的,描述一个组件之间层级关系,比如虚拟化一台电脑的整个组件,每个组件的序列号和保修期等等.增强方式可以有EEWB.
在日常使用中,除了主数据的增强,就是ONEORDER的增强. ONEORDER的字段增强,要么就是EEWB(对于CRM7一下的版本),要么就是AET(CRM7及以上).有几点需要特别注意的:
1. 对于EEWB的增强,只能做10次,请不要浪费和随便取消.因为SAP指预留了10个子屏幕.用完拉倒.
2. ONEORDER的EEWB增强和CRM 7的AET增强,目前不支持增强新的表.CRM 7.01的AET将支持表的增强.如果不支持,想实现,就必须采取自定义开发了.
SAP CRM 主要分4大渠道(IC,Internet,Channel,Field),3大模块(市场,销售,服务).
三大模块分别对应整个销售闭环中的售前/售中/售后.在技术架构方面的,市场是比较独特的模块,没有用到CRM中的ONEORDER概念,完全是独立的一 个部分.销售和服务,主要在主数据方面存在着一些区别,其他的都是ONEORDER的体系.比如销售合同/销售订单,服务合同/服务订单/服务确认等.
四大渠道主要是指与客户进行交互的渠道.比如IC呼叫中心,通过多媒体方式如电话/短信/传真;Internet就是WEB了,比如电子商务中的E- SALES,E-SERVICE,E-MARKETING;Channel就是我们所谓的传统的直销还是分销渠道,通过经销商/代理商的销售模式或者服务 模式;Field指的是现场面对面的和客户交流,比如现场销售/现场服务.
除了三大模块,4大渠道之外,主数据是整个系统应用的基础.SAP CRM针对主数据提供了不同方式的增强和扩展.主数据主要包括(但不是全部):
- Business partner(业务合作伙伴)
- Organization (组织)
- Product (产品)
- Price & Condition(价格和定价)
- Installed base(安装点)
- Territory(区域)
针对每个主数据部分的,系统实现的理念都是不一样的,从而导致增强方式等等一系列的不一样.
1. BP, 在GUI里的增强主要是通过BDT和EEWB来完成. CRM 6以后,GUI的方式SAP不在支持,全部转移到WEB UI上了.所以 CRM 6用EEWB,CRM 7 用AET.2. 组织模型主要的实现理念完全和HR类似, 增强的东西不多,主要设计到的就是属性的增加;自定义的组织确定逻辑,性能方面的一些问题.由于设计理念导致在复杂的销售组织结构下,组织结构的性能非常的不好.所以最好别整太复杂的组织结构
3. 产品的增强SAP已经做好了一个很好的工具叫SET TYPE,作为技术人员只要学会如何用程序去维护一个产品的SET TYPE就好了.注意了,SET TYPE分2中,一种独立的,一种与销售范围有关.
4. Price在CRM中的实现和ERP的就完全不同了.CRM在ABAP引擎上添加了一个叫VMC的东西,在里面跑JAVA的应用.定价的增强和出口就需要 用JAVA来实现了,SAP预留了很多的出口.如果ERP的定价过程同步到CRM,请记得ERP中写的定价增强必须用JAVA来改写了.
5. Installed base这个主要在服务模块中使用.是用来组件化,结构化数据的,描述一个组件之间层级关系,比如虚拟化一台电脑的整个组件,每个组件的序列号和保修期等等.增强方式可以有EEWB.
在日常使用中,除了主数据的增强,就是ONEORDER的增强. ONEORDER的字段增强,要么就是EEWB(对于CRM7一下的版本),要么就是AET(CRM7及以上).有几点需要特别注意的:
1. 对于EEWB的增强,只能做10次,请不要浪费和随便取消.因为SAP指预留了10个子屏幕.用完拉倒.
2. ONEORDER的EEWB增强和CRM 7的AET增强,目前不支持增强新的表.CRM 7.01的AET将支持表的增强.如果不支持,想实现,就必须采取自定义开发了.