




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、最近在做PI和BW的一个接口,从其他数据源发送数据到BW的“直接更新”类型的CUBE,确切的说应该是BCS单户数据。当中,遇到了2个问题:1 DSO的最多只能设置16个主键,而我们的模型需要设置超过16个主键?2 上载数据如何实现增量上载?解决方法:1 自定义一个字段,作为主键,其他字段都作为数据字段。在开始例程中判断数据是否已经存在,存在,取原数据的主键;不存在,取时间戳和数据包上载记录的顺序号做为DSO的主键。2 利用DSO的增量机制,KEY FIGURE的Aggregation属性设置为OVERWRITE,上载数据默认为后镜像数据,每次上载的数据覆盖以前的数据,这样,对于修改和新增的数据
2、都可以实现增量。对于数据包中删除的数据,将数据为0的记录写入到数据包。这样做,可以将删除的数据清为0。但要注意的是,在判断数据是否删除之前,必须要指定一个范围,即指定在哪个范围的数据内操作,否则程序会将除上载数据外的所有数据都置为0。如:我们的例子中规定,每次上载一个合并单位下的某个期间的数据,在第二次上载的时候,我就要考虑数据是否在这个范围(合并单位+年度+期间)内存在,如果不存在,才将key figure为0的数据记录写入。关于DELTA机制,请参考: METHOD start_routine.*= Segments =
3、60; FIELD-SYMBOLS: <SOURCE_FIELDS> TYPE _ty_s_SC_1. DATA: MONITOR_REC TYPE rstmonitor.*$*$ begin of routine
4、- insert your code only below this line *-* . "insert your code here*- fill table "MONITOR" with values of structure
5、60;"MONITOR_REC"*- to make monitor entries . "to cancel the update process* raise exception type CX_RSROUT_ABORT. DATA: lt_dso type
6、60;TABLE OF /BIC/AZTBCSD0100, ls_dso type /BIC/AZTBCSD0100. data: lv_index type i, lv_index_str(6) type c.
7、160; data: lv_stamp1(14) type c, lv_stamp2(14) type c. data: sf_fields type _ty_s_SC_1. types: BEGIN OF ts_id , &
8、#160; FISCPER3 type /BIC/AZTBCSD0100-FISCPER3, FISCYEAR type /BIC/AZTBCSD0100-FISCYEAR, CS_UNIT type /BIC
9、/AZTBCSD0100-CS_UNIT, END OF ts_id. data: lt_id type TABLE OF ts_id, ls_id type ts_id. select * from
10、;/BIC/AZTBCSD0100 into table lt_dso. concatenate sy-datum sy-uzeit into lv_stamp1. move lv_stamp1 to lv_stamp2.* 设置DSO主键 loop at SOURCE_PACKAGE ASSIGNING <sou
11、rce_fields>.* 如果时间过1秒,事件重新从1开始累计 concatenate sy-datum sy-uzeit into lv_stamp2. if lv_stamp1 <> lv_stamp2. clear lv_index. &
12、#160; move lv_stamp2 to lv_stamp1. endif. lv_index = lv_index + 1.* 查询数据是否已存在,本例中,所有字段都是主键 read table lt_dso with
13、60;key CS_VERSION = <source_fields>-CS_VERSION CS_CHART = <source_fields>-CS_CHART
14、160; CS_ITEM = <source_fields>-CS_ITEM COUNTRY = <source_fields>-COUNTRY MOVE_T
15、YPE = <source_fields>-MOVE_TYPE ACQ_YEAR = <source_fields>-ACQ_YEAR ACQ_PER
16、60; = <source_fields>-ACQ_PER BLINE_DATE = <source_fields>-BLINE_DATE CS_PARTNER = <source_fields>-CS_PA
17、RTNER FUNC_AREA = <source_fields>-FUNC_AREA /BIC/Z03BCS_01 = <source_fields>-/BIC/Z03BCS_01 /BIC/
18、Z03BCS_02 = <source_fields>-/BIC/Z03BCS_02 /BIC/Z03BCS_03 = <source_fields>-/BIC/Z03BCS_03 /BIC/Z03BCS_04 = <source_fields>-/BIC/Z03BCS_04
19、160; /BIC/Z03BCS_05 = <source_fields>-/BIC/Z03BCS_05 /BIC/Z03BCS_06 = <source_fields>-/BIC/Z03BCS_06 /BIC/Z03BCS_07 = <source_fields>-/
20、BIC/Z03BCS_07 /BIC/Z03BCS_08 = <source_fields>-/BIC/Z03BCS_08 /BIC/Z03BCS_09 = <source_fields>-/BIC/Z03BCS_09 /BIC/Z03BCS_14
21、60;= <source_fields>-/BIC/Z03BCS_14 /BIC/Z03BCS_15 = <source_fields>-/BIC/Z03BCS_15 /BIC/Z03BCS_16 = <source_fields>-/BIC/Z03BCS_16
22、160; /BIC/Z03BCS_66 = <source_fields>-/BIC/Z03BCS_66 /BIC/Z03BCS_67 = <source_fields>-/BIC/Z03BCS_67 /BIC/Z03BCS_68 = <source_fields>-/BIC/Z03BCS_6
23、8 /BIC/Z03BCS_69 = <source_fields>-/BIC/Z03BCS_69 /BIC/Z03BCS_70 = <source_fields>-/BIC/Z03BCS_70 /BIC/Z03BCS_72 = &l
24、t;source_fields>-/BIC/Z03BCS_72 /BIC/Z03BCS_71 = <source_fields>-/BIC/Z03BCS_71 /BIC/Z03BCS_74 = <source_fields>-/BIC/Z03BCS_74
25、160;/BIC/Z03BCS_75 = <source_fields>-/BIC/Z03BCS_75 /BIC/Z03BCS_76 = <source_fields>-/BIC/Z03BCS_76 /BIC/Z03BCS_77 = <source_fields>-/BIC/Z03BCS_77
26、; /BIC/Z03BCS_10 = <source_fields>-/BIC/Z03BCS_10 /BIC/Z03BCS_11 = <source_fields>-/BIC/Z03BCS_11 /BIC/Z03BCS_12 = <source_fie
27、lds>-/BIC/Z03BCS_12 /BIC/Z03BCS_13 = <source_fields>-/BIC/Z03BCS_13 /BIC/Z03BCS_78 = <source_fields>-/BIC/Z03BCS_78 /BIC/Z03
28、BCS_80 = <source_fields>-/BIC/Z03BCS_80 /BIC/Z03BCS_81 = <source_fields>-/BIC/Z03BCS_81 /BIC/Z03BCS_82 = <source_fields>-/BIC/Z03BCS_82
29、; /BIC/Z03BCS_83 = <source_fields>-/BIC/Z03BCS_83 /BIC/Z03BCS_84 = <source_fields>-/BIC/Z03BCS_84 /BIC/Z03BCS_85 = <source_fields>-/BIC
30、/Z03BCS_85 /BIC/Z03BCS_86 = <source_fields>-/BIC/Z03BCS_86 /BIC/Z03BCS_79 = <source_fields>-/BIC/Z03BCS_79 BCS_DIDIEL
31、0; = <source_fields>-BCS_DIDIEL BCS_PRGRP = <source_fields>-BCS_PRGRP /BIC/Z03BCS_17 = <source_fields>-/BIC/Z03BCS_1
32、7 SEM_ACOMP = <source_fields>-SEM_ACOMP CS_INVESTO = <source_fields>-CS_INVESTO
33、; CS_PLEVEL = <source_fields>-CS_PLEVEL BCS_DOCTY = <source_fields>-BCS_DOCTY BCS_CTFLG
34、0; = <source_fields>-BCS_CTFLG CS_INVESTE = <source_fields>-CS_INVESTE CURKEY_GC = <source_fields>
35、-CURKEY_GC CURKEY_LC = <source_fields>-CURKEY_LC UNIT = <source_fields>-UNIT
36、160; CURKEY_TC = <source_fields>-CURKEY_TC CS_DIMEN = <source_fields>-CS_DIMEN
37、 CS_UNIT = <source_fields>-CS_UNIT CS_GROUP = <source_fields>-CS_GROUP FISCYEAR
38、 = <source_fields>-FISCYEAR FISCVARNT = <source_fields>-FISCVARNT FISCPER3 =
39、60;<source_fields>-FISCPER3 into ls_dso. if sy-subrc eq 0.* 如果数据已存在,则使用系统中数据的ZTMSTAMP作为现有的主键 <source_fields>-/BIC/ZTMSTAMP = ls_d
40、so-/BIC/ZTMSTAMP. else.* 如果数据不存在,则使用获得的时间戳+INDEX作为主键 MOVE LV_INDEX TO LV_INDEX_STR. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
41、; EXPORTING INPUT = lv_index_str IMPORTING
42、; OUTPUT = lv_index_str. CONCATENATE lv_stamp1 lv_index_str into <source_fields>-/BIC/ZTMSTAMP. endif.
43、60;modify SOURCE_PACKAGE from <source_fields>.* 归集不同数据包(当有多家公司上载时) MOVE-CORRESPONDING <source_fields> to ls_id. collect ls_id into lt_id . endloo
44、p. loop at lt_id into ls_id.* 对不同公司分别处理 loop at lt_dso into ls_dso where FISCPER3 eq ls_id-FISCPER3
45、; and FISCYEAR eq ls_id-FISCYEAR and CS_UNIT eq ls_id-CS_UNIT . read table SOURCE_PACKAGE with key
46、 CS_VERSION = ls_dso-CS_VERSION CS_CHART = ls_dso-CS_CHART
47、160; CS_ITEM = ls_dso-CS_ITEM COUNTRY = ls_dso-COUNTRY MOVE_TYPE
48、60; = ls_dso-MOVE_TYPE ACQ_YEAR = ls_dso-ACQ_YEAR ACQ_PER
49、60;= ls_dso-ACQ_PER BLINE_DATE = ls_dso-BLINE_DATE CS_PARTNER = ls_dso-CS_PARTNER
50、0; FUNC_AREA = ls_dso-FUNC_AREA /BIC/Z03BCS_01 = ls_dso-/BIC/Z03BCS_01 /BIC/Z03BCS_02 = ls_ds
51、o-/BIC/Z03BCS_02 /BIC/Z03BCS_03 = ls_dso-/BIC/Z03BCS_03 /BIC/Z03BCS_04 = ls_dso-/BIC/Z03BCS_04 /BIC/Z03
52、BCS_05 = ls_dso-/BIC/Z03BCS_05 /BIC/Z03BCS_06 = ls_dso-/BIC/Z03BCS_06 /BIC/Z03BCS_07 = ls_dso-/BIC/Z03BCS_07
53、160; /BIC/Z03BCS_08 = ls_dso-/BIC/Z03BCS_08 /BIC/Z03BCS_09 = ls_dso-/BIC/Z03BCS_09 /BIC/Z03BCS_14 = ls_dso-/BIC/Z03BCS_14
54、160; /BIC/Z03BCS_15 = ls_dso-/BIC/Z03BCS_15 /BIC/Z03BCS_16 = ls_dso-/BIC/Z03BCS_16 /BIC/Z03BCS_66 = ls_dso-/BIC/Z03BC
55、S_66 /BIC/Z03BCS_67 = ls_dso-/BIC/Z03BCS_67 /BIC/Z03BCS_68 = ls_dso-/BIC/Z03BCS_68 /BIC/Z03BCS_69
56、= ls_dso-/BIC/Z03BCS_69 /BIC/Z03BCS_70 = ls_dso-/BIC/Z03BCS_70 /BIC/Z03BCS_72 = ls_dso-/BIC/Z03BCS_72
57、160;/BIC/Z03BCS_71 = ls_dso-/BIC/Z03BCS_71 /BIC/Z03BCS_74 = ls_dso-/BIC/Z03BCS_74 /BIC/Z03BCS_75 = ls_dso-/BIC/Z03BCS_75
58、160; /BIC/Z03BCS_76 = ls_dso-/BIC/Z03BCS_76 /BIC/Z03BCS_77 = ls_dso-/BIC/Z03BCS_77 /BIC/Z03BCS_10 = ls_dso-/BIC/Z03BCS_10
59、160; /BIC/Z03BCS_11 = ls_dso-/BIC/Z03BCS_11 /BIC/Z03BCS_12 = ls_dso-/BIC/Z03BCS_12 /BIC/Z03BCS_13 = ls_ds
60、o-/BIC/Z03BCS_13 /BIC/Z03BCS_78 = ls_dso-/BIC/Z03BCS_78 /BIC/Z03BCS_80 = ls_dso-/BIC/Z03BCS_80 /BIC/Z03
61、BCS_81 = ls_dso-/BIC/Z03BCS_81 /BIC/Z03BCS_82 = ls_dso-/BIC/Z03BCS_82 /BIC/Z03BCS_83 = ls_dso-/BIC/Z03BCS_83
62、160; /BIC/Z03BCS_84 = ls_dso-/BIC/Z03BCS_84 /BIC/Z03BCS_85 = ls_dso-/BIC/Z03BCS_85 /BIC/Z03BCS_86 = ls_dso-/BIC/Z03BCS_86
63、160; /BIC/Z03BCS_79 = ls_dso-/BIC/Z03BCS_79 BCS_DIDIEL = ls_dso-BCS_DIDIEL BCS_PRGRP &
64、#160; = ls_dso-BCS_PRGRP /BIC/Z03BCS_17 = ls_dso-/BIC/Z03BCS_17 SEM_ACOMP = ls_dso-SEM_ACOMP
65、 CS_INVESTO = ls_dso-CS_INVESTO CS_PLEVEL = ls_dso-CS_PLEVEL BCS_DOCTY
66、60; = ls_dso-BCS_DOCTY BCS_CTFLG = ls_dso-BCS_CTFLG CS_INVESTE = ls_dso-CS
67、_INVESTE CURKEY_GC = ls_dso-CURKEY_GC CURKEY_LC = ls_dso-CURKEY_LC UNIT = ls_dso-UNIT &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 销售合同里面的质量协议
- 法院签订法企共建协议书
- 汽柴油购销意向合同范本
- 项目投资合作协议书合同
- 物业费如何计算合同范本
- 苏州加装电梯协议书范本
- 矿山承包开采合同协议书
- 海南文旅合作协议书范本
- 签订协议一方拒绝给合同
- 网络安装服务的合同范本
- 第十一届“大唐杯”新一代信息通信技术大赛(省赛)考试题及答案
- TCRACM 0010-2023 毒品稽延性戒断综合征中医针灸技术规范
- 2024年贵州省黔西南州中考政治真题(含解析)
- 小学语文二年级上册《去外婆家》教学设计二
- 反洗钱诚信承诺书
- 2024住宅设计规范
- 2024版人教版英语初一上单词默写表
- 2024-2029年中国电线电缆行业十四五发展分析及投资前景与战略规划研究报告
- 阿森斯失眠量表(AIS)
- (高清版)DZT 0203-2020 矿产地质勘查规范 稀有金属类
- 产教融合校企合作
评论
0/150
提交评论