BW 資料匯入的一個漸進發展過程(我們的例子)

leniz發表於2009-05-04

BW系統常常會面對一個問題,使用者希望更新資料後及時的看到結果,所以IT不得不東奔西跑的去做匯入資料到ODSCUBE的動作。 後來考慮是否把這個過程自動化,所以用到了Processchain,只要一個觸發動作就可以自動的後續執行,但還是要IT的參與。一段時間之後,考慮把這些事交給使用者去做,讓使用者去觸發,這樣IT就可以不要參與簡單的使用者資料上傳,當然這種上傳對資料來源是有要求的,就是不能夠做刪除動作(物理上的刪除,IT後臺的刪除置位就不能算真正的刪除了)。

     當然上述發展最終還是有一個問題,就是如果匯入過程異常,IT還是脫不了干係的。因為BW系統好像還無法做到單筆Request的自動刪除。

         順便把之前寫的一個觸發程式記錄一下,有點參考作用。

 

 

************************************************

*  CreatedBY:leiguohai                                                      *

*       date:20080726                                                        *

*description: Execute the process chain                               *

* **********************************************

FUNCTION z_cmmsg_csrp_008.

*"------------------------------------------------------------

"*"Local Interface:

*"  IMPORTING

*"     VALUE(P_TYPE) TYPE  CHAR4

*"  TABLES

*"      EXPTAB STRUCTURE  ZCSRP_STRUCT_005

*"------------------------------------------------------------

  TABLES: rspcprocesslog.

  DATA: l_pcname_S   TYPE rspc_chain,

        l_pcname_E   TYPE rspc_chain.

  DATA: l_gid    TYPE rspc_logid.

  DATA: l_state  TYPE rspc_state.

  DATA: l_totaltime TYPE p. 

 

  clear:exptab[],exptab. 

  IF p_type = ''.

    exptab-messg = 'Please input the type name'.

    APPEND EXPTAB.

    RETURN .

  ENDIF.

 

  SELECT SINGLE variante_S variante_E

  INTO (l_pcname_S,l_pcname_E)

  FROM zrbw_fico_0001

  WHERE st_name = p_type .

 

  IF sy-subrc NE 0 .

    exptab-messg = 'Please input the correct type name'.

    APPEND EXPTAB.

    RETURN.

  ENDIF.

 

  CALL FUNCTION 'RSPC_CHAIN_START'

    EXPORTING

      i_chain             = l_pcname_S

   IMPORTING

     e_logid             = l_gid. 

  l_totaltime = 0.

  DATA: L_FLAG .

  L_FLAG = '1'.

WHILE L_FLAG EQ '1'  .

   WAIT UP TO 30 SECONDS.

    l_totaltime = l_totaltime + 1.
     IF l_totaltime GT 60 .
*接回復

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/554557/viewspace-592481/,如需轉載,請註明出處,否則將追究法律責任。

相關文章