on 10-16-2007 4:45 AM
Hi,
I've created one FM (using RSAX_BIW_GET_DATA_SIMPLE) which is working fine. The delta field I'm using is timestamp.
Based on this FM, I created a custom datasource which is also working fine in RSA3. I initialized this datasource which brought required data into BW.
The issue is when I change few records in source system, the extractors works fine and brings delta records in RSA3, but when I trigger delta load in BW it brings 0 records??
Any idea?
I've left upper and lower safety intervals as blank, could this be the issue? But it works in RSA3 even if they are left blank.
Regards,
Vikrant.
Hi,
If the delta extraction are seen in RSA3 and even data is not extracting to BW, then there is some routines / conditions in update/transfer rules. this will be the case if data is avail in PSA.
if your are using ODS object then check the update in update rules for the type of updation addition/overwrite.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Can anyone help me with this? Below is my code, it works fine in RSA3 but everytime BW brings in 0 records. I'm unable to find the issue, where am I going wrong.
I even tried to generate spool file (by using 'write' statements after every important step) and spool file also showed data being picked up. But BW doesn't bring anything.
* Initialization mode (first call by SAPI) or data transfer mode
* (following calls) ?
IF I_INITFLAG = SBIWA_C_FLAG_ON.
************************************************************************
* Initialization: check input parameters
* buffer input parameters
* prepare data selection
************************************************************************
* Check DataSource validity
CASE I_DSOURCE.
WHEN 'ZMEM_H'.
WHEN OTHERS.
IF 1 = 2. MESSAGE E009(R3). ENDIF.
* this is a typical log call. Please write every error message like this
LOG_WRITE 'E' "message type
'R3' "message class
'009' "message number
I_DSOURCE "message variable 1
' '. "message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDCASE.
APPEND LINES OF I_T_SELECT TO S_S_IF-T_SELECT.
* Fill parameter buffer for data extraction calls
S_S_IF-REQUNR = I_REQUNR.
S_S_IF-DSOURCE = I_DSOURCE.
S_S_IF-MAXSIZE = I_MAXSIZE.
* Fill field list table for an optimized select statement
* (in case that there is no 1:1 relation between InfoSource fields
* and database table fields this may be far from beeing trivial)
APPEND LINES OF I_T_FIELDS TO S_S_IF-T_FIELDS.
ELSE. "Initialization mode or data extraction ?
************************************************************************
* Data transfer: First Call OPEN CURSOR + FETCH
* Following Calls FETCH only
************************************************************************
* First data package -> OPEN CURSOR
IF S_COUNTER_DATAPAKID = 0.
*Following loop reads the generic delta timestamp field TIMESTAMP value which
*is used to extract only those records which are updated after the last delta
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'TIMESTAMP'.
l_time_selection = L_S_SELECT-LOW.
ENDLOOP.
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'TCODE'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_TCODE.
APPEND L_R_TCODE.
ENDLOOP.
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'PTYPE'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_PTYPE.
APPEND L_R_PTYPE.
ENDLOOP.
* Select Credit Memo records which are updated after the last delta load.
REFRESH lt_itab.
SELECT * FROM ZMEM_H INTO CORRESPONDING FIELDS OF TABLE lt_itab
WHERE
TIMESTAMP_CH >= l_time_selection AND
TR_CODE IN L_R_TCODE AND
PR_TYPE IN L_R_PTYPE.
OPEN CURSOR WITH HOLD S_CURSOR FOR
SELECT * FROM ZCREDIT_MEMO_H
FOR ALL ENTRIES IN lt_itab
WHERE GUID = lt_itab-guid.
ENDIF. "First data package ?
* Fetch records into interface table.
* named E_T_'Name of extract structure'.
FETCH NEXT CURSOR S_CURSOR
APPENDING CORRESPONDING FIELDS
OF TABLE lt_e_t_data
PACKAGE SIZE S_S_IF-MAXSIZE.
IF SY-SUBRC <> 0.
CLOSE CURSOR S_CURSOR.
RAISE NO_MORE_DATA.
ENDIF.
* Perform following steps, once all the relevant data has been fetched.
LOOP AT lt_e_t_data.
CLEAR wa_e_t_data.
MOVE-CORRESPONDING lt_e_t_data TO wa_e_t_data.
READ TABLE lt_itab WITH KEY guid = wa_e_t_data-GUID.
IF sy-subrc = 0.
wa_e_t_data-NET_AMOUNT = lt_itab-NET_AMOUNT.
wa_e_t_data-EXTERNAL_ID = lt_itab-capgn_id.
ENDIF.
APPEND wa_e_t_data TO E_T_DATA.
ENDLOOP.
REFRESH lt_e_t_data.
S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
ENDIF. "Initialization mode or data extraction ?
ENDFUNCTION.
Would really appreciate any kind of help.
Regards,
Vikrant.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I did replicate and not changing anything when the load is running.
Infact the initialization is done successfully. My question is does it take time for delta records for being picked up and brought up in BW?
E.g. I set Lower Safety Interval as 3600 (seconds) and initialized at 9:00 am. Later I changed few documents at say 11:00 am, then if I trigger delta load, would changed/modified documents be picked up?
In my case, the datasource is not picking up any records even if I change after few hours of previous delta load. Though the extractor picks correct records everytime I test in RSA3.
Regards,
Vikrant.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
That might be an issue .......
Have you changed the data records in source system when generic delta is running
Avoid changes to source system when your running delta as this may cause inconsistency when writing for delta tables
Regards
N Ganesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hi,
may be replication error will be there. i don't no exactly. once again replicate that
data source in BW side. do the delta extraction. hop this will work.
regards
harikrishna N
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.