版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Chunguangz-技術人員參考 最近在做PI和BW的一個接口,從其他數(shù)據(jù)源發(fā)送數(shù)據(jù)到BW的“直接更新”類型的CUBE,確切的說應該是BCS單戶數(shù)據(jù)。當中,遇到了2個問題:1 DSO的最多只能設置16個主鍵,而我們的模型需要設置超過16個主鍵?2 上載數(shù)據(jù)如何實現(xiàn)增量上載?解決方法:1 自定義一個字段,作為主鍵,其他字段都作為數(shù)據(jù)字段。在開始例程中判斷數(shù)據(jù)是否已經(jīng)存在,存在,取原數(shù)據(jù)的主鍵;不存在,取時間戳和數(shù)據(jù)包上載記錄的順序號做為DSO的主鍵。2 利用DSO的增量機制,KEY FIGURE的Aggregation屬性設置為OVERWRITE,上載數(shù)據(jù)默認為后鏡像數(shù)據(jù),每次上載的數(shù)據(jù)覆蓋以
2、前的數(shù)據(jù),這樣,對于修改和新增的數(shù)據(jù)都可以實現(xiàn)增量。對于數(shù)據(jù)包中刪除的數(shù)據(jù),將數(shù)據(jù)為0的記錄寫入到數(shù)據(jù)包。這樣做,可以將刪除的數(shù)據(jù)清為0。但要注意的是,在判斷數(shù)據(jù)是否刪除之前,必須要指定一個范圍,即指定在哪個范圍的數(shù)據(jù)內(nèi)操作,否則程序會將除上載數(shù)據(jù)外的所有數(shù)據(jù)都置為0。如:我們的例子中規(guī)定,每次上載一個合并單位下的某個期間的數(shù)據(jù),在第二次上載的時候,我就要考慮數(shù)據(jù)是否在這個范圍(合并單位+年度+期間)內(nèi)存在,如果不存在,才將key figure為0的數(shù)據(jù)記錄寫入。關于DELTA機制,請參考: METHOD start_routine.*= Segmen
3、ts = FIELD-SYMBOLS: <SOURCE_FIELDS> TYPE _ty_s_SC_1. DATA: MONITOR_REC TYPE rstmonitor.*$*$ begin of&
4、#160;routine - insert your code only below this line *-* . "insert your code here*- fill table "MONITOR" with values of
5、 structure "MONITOR_REC"*- to make monitor entries . "to cancel the update process* raise exception type CX_RSROUT_ABORT. DATA: l
6、t_dso type TABLE OF /BIC/AZTBCSD0100, ls_dso type /BIC/AZTBCSD0100. data: lv_index type i, lv_index_str(6) ty
7、pe c. 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
9、160;type /BIC/AZTBCSD0100-CS_UNIT, END OF ts_id. data: lt_id type TABLE OF ts_id, ls_id type ts_id. select
10、0;* from /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 ASSI
11、GNING <source_fields>.* 如果時間過1秒,事件重新從1開始累計 concatenate sy-datum sy-uzeit into lv_stamp2. if lv_stamp1 <> lv_stamp2. clear lv_i
12、ndex. move lv_stamp2 to lv_stamp1. endif. lv_index = lv_index + 1.* 查詢數(shù)據(jù)是否已存在,本例中,所有字段都是主鍵 read table l
13、t_dso with 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
15、 MOVE_TYPE = <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 = <sourc
17、e_fields>-CS_PARTNER FUNC_AREA = <source_fields>-FUNC_AREA /BIC/Z03BCS_01 = <source_fields>-/BIC/Z03BCS_01
18、; /BIC/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 = <s
20、ource_fields>-/BIC/Z03BCS_07 /BIC/Z03BCS_08 = <source_fields>-/BIC/Z03BCS_08 /BIC/Z03BCS_09 = <source_fields>-/BIC/Z03BCS_09
21、;/BIC/Z03BCS_14 = <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
23、>-/BIC/Z03BCS_68 /BIC/Z03BCS_69 = <source_fields>-/BIC/Z03BCS_69 /BIC/Z03BCS_70 = <source_fields>-/BIC/Z03BCS_70 /BIC/Z03BCS
24、_72 = <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/Z0
26、3BCS_77 /BIC/Z03BCS_10 = <source_fields>-/BIC/Z03BCS_10 /BIC/Z03BCS_11 = <source_fields>-/BIC/Z03BCS_11 /BIC/Z03BCS_12 =
27、160;<source_fields>-/BIC/Z03BCS_12 /BIC/Z03BCS_13 = <source_fields>-/BIC/Z03BCS_13 /BIC/Z03BCS_78 = <source_fields>-/BIC/Z03BCS_78
28、160; /BIC/Z03BCS_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 = <sour
30、ce_fields>-/BIC/Z03BCS_85 /BIC/Z03BCS_86 = <source_fields>-/BIC/Z03BCS_86 /BIC/Z03BCS_79 = <source_fields>-/BIC/Z03BCS_79 BC
31、S_DIDIEL = <source_fields>-BCS_DIDIEL BCS_PRGRP = <source_fields>-BCS_PRGRP /BIC/Z03BCS_17 = <source_fields
32、>-/BIC/Z03BCS_17 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 = <
35、;source_fields>-CURKEY_GC CURKEY_LC = <source_fields>-CURKEY_LC UNIT = <source_field
36、s>-UNIT 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 FI
38、SCYEAR = <source_fields>-FISCYEAR FISCVARNT = <source_fields>-FISCVARNT FISCPER3
39、0; = <source_fields>-FISCPER3 into ls_dso. if sy-subrc eq 0.* 如果數(shù)據(jù)已存在,則使用系統(tǒng)中數(shù)據(jù)的ZTMSTAMP作為現(xiàn)有的主鍵 <source_fields>-/BIC/ZTMSTAM
40、P = ls_dso-/BIC/ZTMSTAMP. else.* 如果數(shù)據(jù)不存在,則使用獲得的時間戳+INDEX作為主鍵 MOVE LV_INDEX TO LV_INDEX_STR. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INP
41、UT' 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>.* 歸集不同數(shù)據(jù)包(當有多家公司上載時) MOVE-CORRESPONDING <source_fields> to ls_id. collect ls_id into lt_id .
44、 endloop. 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&
46、#160;with key CS_VERSION = ls_dso-CS_VERSION CS_CHART = ls_dso-CS_CHART
47、160; CS_ITEM = ls_dso-CS_ITEM COUNTRY = ls_dso-COUNTRY
48、 MOVE_TYPE = 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
51、 = ls_dso-/BIC/Z03BCS_02 /BIC/Z03BCS_03 = ls_dso-/BIC/Z03BCS_03 /BIC/Z03BCS_04 = ls_dso-/BIC/Z03BCS_04
52、160; /BIC/Z03BCS_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 =
55、;ls_dso-/BIC/Z03BCS_66 /BIC/Z03BCS_67 = ls_dso-/BIC/Z03BCS_67 /BIC/Z03BCS_68 = ls_dso-/BIC/Z03BCS_68 /B
56、IC/Z03BCS_69 = 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
59、/Z03BCS_10 /BIC/Z03BCS_11 = ls_dso-/BIC/Z03BCS_11 /BIC/Z03BCS_12 = ls_dso-/BIC/Z03BCS_12 /BIC/Z03BCS_13
60、 = ls_dso-/BIC/Z03BCS_13 /BIC/Z03BCS_78 = ls_dso-/BIC/Z03BCS_78 /BIC/Z03BCS_80 = ls_dso-/BIC/Z03BCS_80
61、160; /BIC/Z03BCS_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
66、 BCS_DOCTY = ls_dso-BCS_DOCTY BCS_CTFLG = ls_dso-BCS_CTFLG CS_INVESTE
67、0;= ls_dso-CS_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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度生物質(zhì)能發(fā)電純勞務分包合同模板4篇
- 2025年度智能電動汽車車輛借用協(xié)議書匯編4篇
- 2025年洗車服務行業(yè)新能源汽車充電站合作合同3篇
- 2025年洗車店租賃與客戶數(shù)據(jù)安全保護合同3篇
- 2025年度個人住房抵押貸款延期還款補充協(xié)議4篇
- 2025年度個人汽車買賣協(xié)議書示范文本3篇
- 2025年度健康醫(yī)療大數(shù)據(jù)平臺建設合同模板4篇
- 2025年浙江甌海建設集團有限公司招聘筆試參考題庫含答案解析
- 2025年校企共同開發(fā)新型課程體系合作協(xié)議書3篇
- 2025年度個人股權質(zhì)押股權信托服務合同(信托保障版)4篇
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
- 小學道德與法治學科高級(一級)教師職稱考試試題(有答案)
- 申請使用物業(yè)專項維修資金征求業(yè)主意見表
- 河北省承德市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 實用性閱讀與交流任務群設計思路與教學建議
- 應急柜檢查表
- 通風設施標準
- 酒店市場營銷教案
- 房屋買賣合同簡單范本 房屋買賣合同簡易范本
- 無抽搐電休克治療規(guī)范
- 環(huán)保有限公司營銷策劃方案
評論
0/150
提交評論