SAP 快速提供基础数据给第三方系统访问的几种方法
- 1、数据封装
- 2、开放RFC访问
- 3、开放接口服务
- 4、开放DB访问
1、数据封装
在企业信息系统建设过程中,少不了的就是系统集成数据对接。
尤其是SAP系统中大量的基础数据集成,如各种字段值域,需要提供给第三方系统做下拉列表,如果都通过ABAP开发接口的话,无疑会增加双方系统的大量的对接工作量。
一般很少会直接开放整张表的数据访问权限,故会加以封装处理,以下以SAP系统中的中国省份基础数据来举例说明。
首先进行数据封装,定义CDS:
@AbapCatalog.sqlViewName: 'ZV_DIM_PROVINCE'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: '中国省份'
define view ZCDS_DIM_PROVINCE as select from t005u
{
key bland as code, --省份代号
bezei as name --省份
}
where land1='CN'
and spras = $session.system_language ;
SE11查看视图数据:ZV_DIM_PROVINCE
数据已处理,并且更改了友好的英文字段名称。
2、开放RFC访问
外部系统,通过 RFC 来访问 SAP 视图数据,需要具备 SAP 访问账号。
调用 SAP 系统自带的 RFC:RFC_READ_TABLE,访问参数如下:
执行,可以获得视图 ZV_DIM_PROVINCE 的数据
视图字段清单:
视图记录(通过自定义的分隔符#分隔):
3、开放接口服务
发布ODATA数据服务,在创建 CDS 时,增加如下注解:
@OData.publish: true
同样,需要具备 SAP 访问账号。
然后在SAP执行TCODE:/n/IWFND/MAINT_SERVICE,添加服务
激活服务
测试
登录,输入SAP账号信息
4、开放DB访问
如果具备Hana数据库访问账号,可以使用以下语句访问数据:
select * from saphanadb.ZV_DIM_PROVINCE where mandt = 200