最近开始写BW的ETL的接口,一般在SAP端使用函数来开发一般数据源
那么需要在BW端建立相应的infoobject,如果数量多的话,是一件比较烦的事情。
于是就想到利用BAPI的创建InfoObject.
基本思路就是,对SAP端的数据结构进行分析,然后去BW系统进行比较,得到其建议的信息,最后通过BAPI来实现。
使用的函数如下:
DDIF_TABL_GET 用于分析结构,用于获取到结构中字段,ABAP对应类型,其中主要的字段是datatype = 'ABAP字典中的数据类型'.
后续都是基于这个进行分析
然后就是
BAPI_IOBJ_CREATE 用于创建InfoObject
BAPI_IOBJ_ACTIVATE_MULTIPLE 用于激活infoObject
这本思路如下
SE11 ->ZBWINFOOBJ 客制化Infoobj列表
获取帮助逻辑规则:
先根据数据元素查找,如果找不到,依据DDTEXT查找
SNRO-创建Number Range ZBWOBJECT
用于获取流水号
SE11->创建结构ZBW_TEST_STRU01用于测试
SAP端数据源结构下载相关数据格式
字段名 | 数据元素 | 描述 | 关键字段 | ABAP数据类型(C,D,N,...) | ABAP字典中的数据类型 | 长度 | 输出长度 | 小数点位数 | 转换例程 | 允许/不允许小写字母 |
EBELN | EBELN | 采购凭证号 |
| C | CHAR | 10 | 10 | 0 | ALPHA |
|
EBELP | EBELP | 采购凭证的项目编号 |
| N | NUMC | 5 | 5 | 0 |
|
|
ERDAT | AEDAT | 更改日期 |
| D | DATS | 8 | 10 | 0 |
|
|
MENGE | BAMNG | 采购申请数量 |
| P | QUAN | 13 | 17 | 3 |
|
|
ERTIME | UZEIT | 时间 |
| T | TIMS | 6 | 8 | 0 |
|
|
PRICE | /BIC/OIYZ_PRC_SS | Sales Price Deme |
| P | CURR | 17 | 23 | 2 |
|
|
BW端获取创建InfoObject的建议
建议的格式
是否更新 | 字段名 | 数据元素 | 消息信息 | 信息对象 | 信息对象类型(=CHA,KYF,TIM,DPA,UNI) | 指标类型(=AMO, QUA, NUM, INT, FLO, DAT, TIM) | 简要描述 | 长文本描述 | 特征参考其他基本的特征(标志)(=X) | 参考特性 | 信息对象是专用属性(=X) | 存在文本表(=X) | 短文本存在(标志)(=X) | 中等长度文本已经存在(标志)(=X) | 长文本存在(标志)(=X) | 特征(带有层次结构)(=X) | 信息范围 | 单位信息对象(货币/单位) | 单位类型(=CUR, UNI) | 固定货币 | 固定度量的单位 | ABAP 字典中的数据类型(=CHAR, NUMC, DATS, TIMS.) | 内部长度 | 输出长度 | 小数点的位数 | 转换例程 | 允许/不允许小写字母 |
| EBELN | EBELN |
| YXZ_00013 | CHA |
| 采购凭证号 | 采购凭证号 |
|
|
|
|
|
|
|
|
|
|
|
|
| CHAR | 10 | 10 | 0 | ALPHA |
|
| EBELP | EBELP |
| YXZ_00014 | CHA |
| 采购凭证的项目编号 | 采购凭证的项目编号 |
|
|
|
|
|
|
|
|
|
|
|
|
| NUMC | 5 | 5 | 0 |
|
|
| ERDAT | AEDAT |
| YXZ_00015 | CHA |
| 更改日期 | 更改日期 | X | 0CALDAY |
|
|
|
|
|
|
|
|
|
|
| DATS | 8 | 10 | 0 |
|
|
| MENGE | BAMNG |
| YXZ_00016 | KYF | QUA | 采购申请数量 | 采购申请数量 |
|
|
|
|
|
|
|
|
|
|
| KG |
| QUAN | 13 | 17 | 3 |
|
|
| ERTIME | UZEIT |
| YXZ_00017 | CHA |
| 时间 | 时间 | X | 0TIME |
|
|
|
|
|
|
|
|
|
|
| TIMS | 6 | 8 | 0 |
|
|
| PRICE | /BIC/OIYZ_PRC_SS |
| YXZ_00018 | KYF | AMO | Sales Price Deme | Sales Price Deme |
|
|
|
|
|
|
|
|
|
|
| USD |
| CURR | 17 | 23 | 2 |
|
|
创建后输出信息
是否更新 | 字段名 | 数据元素 | 消息信息 | 信息对象 | 信息对象类型(=CHA,KYF,TIM,DPA,UNI) | 指标类型(=AMO, QUA, NUM, INT, FLO, DAT, TIM) | 简要描述 | 长文本描述 | 特征参考其他基本的特征(标志)(=X) | 参考特性 | 信息对象是专用属性(=X) | 存在文本表(=X) | 短文本存在(标志)(=X) | 中等长度文本已经存在(标志)(=X) | 长文本存在(标志)(=X) | 特征(带有层次结构)(=X) | 信息范围 | 单位信息对象(货币/单位) | 单位类型(=CUR, UNI) | 固定货币 | 固定度量的单位 | ABAP 字典中的数据类型(=CHAR, NUMC, DATS, TIMS.) | 内部长度 | 输出长度 | 小数点的位数 | 转换例程 | 允许/不允许小写字母 |
Okay | EBELN | EBELN | 创建成功 | YXZ_00031 | CHA |
| 采购凭证号 | 采购凭证号 |
|
|
|
|
|
|
|
|
|
|
|
|
| CHAR | 10 | 10 | 0 | ALPHA |
|
Okay | EBELP | EBELP | 创建成功 | YXZ_00032 | CHA |
| 采购凭证的项目编号 | 采购凭证的项目编号 |
|
|
|
|
|
|
|
|
|
|
|
|
| NUMC | 5 | 5 | 0 |
|
|
Okay | ERDAT | AEDAT | 创建成功 | YXZ_00033 | CHA |
| 更改日期 | 更改日期 | X | 0CALDAY |
|
|
|
|
|
|
|
|
|
|
| DATS | 8 | 10 | 0 |
|
|
Okay | MENGE | BAMNG | 创建成功 | YXZ_00034 | KYF | QUA | 采购申请数量 | 采购申请数量 |
|
|
|
|
|
|
|
|
|
|
|
| KG | QUAN | 13 | 17 | 3 |
|
|
Okay | ERTIME | UZEIT | 创建成功 | YXZ_00035 | CHA |
| 时间 | 时间 | X | 0TIME |
|
|
|
|
|
|
|
|
|
|
| TIMS | 6 | 8 | 0 |
|
|
Okay | PRICE | /BIC/OIYZ_PRC_SS | 创建成功 | YXZ_00036 | KYF | AMO | Sales Price Deme | Sales Price Deme |
|
|
|
|
|
|
|
|
|
|
| USD |
| CURR | 17 | 23 | 2 |
|
|
检查系统信息
![](http://img.blog.itpub.net/blog/attachment/201412/13/203545_1418400430N7Z6.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/13/203545_14184004683qNE.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/13/203545_1418400509lGKy.jpg?x-oss-process=style/bb)
主要的还是对ABAP类型分析
ABAP字典中的数据类型 | ACCP | 记帐周期 YYYYMM |
ABAP字典中的数据类型 | CHAR | 字符串 |
ABAP字典中的数据类型 | CLNT | 集团 |
ABAP字典中的数据类型 | CUKY | 货币关键字,被 CURR 字段引用 |
ABAP字典中的数据类型 | CURR | 货币字段,作为 DEC 存储 |
ABAP字典中的数据类型 | DATS | 日期字段(YYYYMMDD)用8个字符存入 |
ABAP字典中的数据类型 | DEC | 计数器或带有逗号和正负号的数值区 |
ABAP字典中的数据类型 | FLTP | 浮点数,精确到8个字节 |
ABAP字典中的数据类型 | INT1 | 1 字节整数, 整数 <= 255 |
ABAP字典中的数据类型 | INT2 | 2 字节整数,仅用于 LCHR 或 LRAW 前的长度字段 |
ABAP字典中的数据类型 | INT4 | 4 字节整数, 带符号的十进制数 |
ABAP字典中的数据类型 | LANG | 语言代码 |
ABAP字典中的数据类型 | LCHR | 长字节串,要求前面的 INT2 字段 |
ABAP字典中的数据类型 | LRAW | 长字节串,要求前面的 INT2 字段 |
ABAP字典中的数据类型 | NUMC | 只有数字的字符串 |
ABAP字典中的数据类型 | PREC | 一个QUAN 字段的精确 |
ABAP字典中的数据类型 | QUAN | 数量字段,指向带 UNIT 格式的单位字段 |
ABAP字典中的数据类型 | RAW | 不解释的字节排序 |
ABAP字典中的数据类型 | RSTR | variabel lange Folge von Bytes |
ABAP字典中的数据类型 | SSTR | kurze variabel lange Zeichenfolge |
ABAP字典中的数据类型 | STRG | 可变长度字符串 |
ABAP字典中的数据类型 | TIMS | 时间栏(小时分钟键秒),作为6位字符存储 |
ABAP字典中的数据类型 | VARC | 长字符串,从版本 3.0 起不再支持 |
ABAP字典中的数据类型 | UNIT | QUAN 字段单元键 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/203545/viewspace-1366255/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/203545/viewspace-1366255/