MVER Table Delta Extraction
Hi,
My requirement is to create a generic delta which should run on daily basis to deliver deltas to BW system.
I am wondering what is the field that i should use in the generic delta definition of the to be created datasource as in the
Table MVER, i do not find any date field or timestamp field to determine delta.
The field i have are Fiscal Year and Period Indicator (Daily,Weekly, Monthly etc Flag).
Any one has any idea of how one can create generic delta datasource if underlying table does not have any Date field or timestamp field or Numric key for that matter?
Hi,
You can achieve that as well using Rule group in transformation. Keep the same datasource as I have mentioned and similar selection conditions as well.
As you have mentioned that you want to store the data on monthly basis rather than yearly basis, you can achive so in Transformations using concept of Rule Group. See below article on same.
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90754b76-bcf1-2a10-3ba7-b299b2be09f2
In your case, table has entries in this fashion:
Material Fiscal year Consumption1month consumption2month consumption3month .........
ABC 2010 10 20 30
whereas as I understand you want to have data as
Material fiscal year Month Consumption
ABC 2010 1 10
ABC 2010 2 20
ABC 2010 3 30
Please see the link below which gives the details about fields that denote data for a particular period in table MVER.
http://www.sap-img.com/materials/how-to-get-the-total-stock-consumption-data.htm
Similar Messages
-
Hi all,
We have a daily delta extraction setup for DataSource 0FI_GL_4 from R/3 into ODS. I think there is a table on R/3 side where we could RESET the extraction date (?) to limit the delta reload incase something goes wrong with delta process. Without this reset, it may take 2-3 WEEKS for us.
Is any one has any idea about this table , PLEASE....
Thanks.hi Venkat,
check oss note 485958-BW-BCT-FI: Repeating delta extractions
Symptom
This note provides the option of repeating delta extractions under certain conditions.
The note is valid for the DataSources listed below:
0FI_AP_4 - Accounts Payable: Line Items
0FI_AR_4 - Accounts Receivable: Line Items
0FI_GL_4 - General Ledger: Line Items
0FI_TX_4 Taxes: Line Items
0FI_AP_6 Accounts Payable: Transaction Figures Using Delta Extraction
0FI_AR_6 Accounts Receivable: Transaction Figures Using Delta Extraction
0FI_GL_6 - General Ledger: Transaction Figures Using Delta Extraction
0FI_AP_7 - Accounts Payable: Special G/L Transaction Figures Using Delta Extraction
0FI_AR_7 - Accounts Receivable: Special G/L Transaction Figures Using Delta Extraction
0FI_GL_7 - General Ledger: Cost of Sales Accounting Ledger Using Delta Extraction
0FI_AR_8 - Accounts Receivable: Credit Management: Central Data Using Delta Extraction
0FI_AR_9 - Accounts Receivable: Credit Management: Control Area Data Using Delta Extraction
0FI_AR_10 - Accounts Receivable: Payment History Using Delta Extraction
Other terms
BWOM2_TIMEST, TIMESTAMP, BWOM_SETTINGS, LAST_TS, delta, init
Reason and Prerequisites
For test or correction purposes you require a function to repeat delta extractions.
In the standard system, you can repeat the delta extractions for the last sixty days.
The number of days is defined by the 'DELTIMEST' parameter in the BWOM_SETTINGS table.
For all DataSources mentioned above you can repeat the delta extraction without problems because all DataSources use an ODS object. The system automatically filters out data that is selected several times.
Solution
The solution consists of resetting the time stamps used for the delta extraction in the BWOM2_TIMEST table to a certain date.
To do this, you must reset the 'X' marker in the 'LAST_TS' column for the last successful delta extraction.
The next delta extraction then loads all data created or changed as of this date to the BW system.
To reset the 'X' marker in the 'LAST_TS' column, use the 'BWOM2_TIMEST' report. If the report is not yet available in you system, you can install it as described in Note 836288.
Caution - important note
If you repeat several delta extractions in a run using this note, the number of the extracted records will in most cases be smaller than the total of the individual delta extractions.
This can happen in the following cases:
If documents are contained in several individual delta extractions due to document changes. The system selects these documents only once.
If you have set parameter BWFIOVERLA = X in the BWOM_SETTINGS table. (See Note 485958)
In this case, the upper limit of the period for the data selection is not, as usual, 23:59:59 of the previous day. The system also extracts all existing documents of the current day. These documents are also contained in the following delta extraction.
1. If you can load the expected data volume in one delta extraction, proceed as follows:
Execute the 'BWOM2_TIMEST' report for the relevant DataSource.
Remove the marker in the entry of the last delta extraction.
In the columns for the date of the time stamp and the time of the time stamp, you can see up to when the individual data extractions have extracted data.
Select the entry up to which the data in your BW system is still correct.
Save the changes.
Do not make any further changes in the BWOM2_TIMEST table.
The next delta extraction uses the date + 1 of the selected entry as a lower limit for the data selection and the current date - 1 for the upper limit.
2. If you must load the expected data volume in several parts, proceed as follows:
Caution: There are the following two cases:.
a) The 'BWFIOVERLA' parameter in the BWOM_SETTINGS table is not set.
Execute the 'BWOM2_TIMEST' report for the relevant DataSource.
Remove the marker in the entry of the last delta extraction.
In the columns for the date of the time stamp and the time of the time stamp, you can see up to when the individual data extractions have extracted data.
Select the entry up to which the data in your BW system is still correct.
Save the changes.
Do not make any further changes in the BWOM2_TIMEST table.
The next delta extraction uses the date + 1 of the selected entry as a lower limit for the data selection.
You can control the upper limit for the data selection by changing the ' BWFISAFETY' parameter in the BWOM_SETTINGS table. The upper limit is determined using the current date minus the value of the 'BWFISAFETY' parameter (default = 1).
If you want to extract the data of the last twenty days in four parts, for example, set the parameter as follows in Transaction SE16:
before the 1. delta extraction > > BWFISAFETY = 15
before the 2. delta extraction > > BWFISAFETY = 10
before the 3. delta extraction > > BWFISAFETY = 5
before the 4. delta extraction > > BWFISAFETY = 1 (= default)
b) The 'BWFIOVERLA' parameter in the BWOM_SETTINGS table is set (=X).
First, deactivate the 'BWFIOVERLA' parameter in the BWOM_SETTINGS table. This is necessary because if you do not do this, the system ignores the settings of the 'BWFISAFETY' parameter.
Execute the 'BWOM2_TIMEST' report for the relevant DataSource.
Remove the marker in the entry of the last delta extraction.
In the columns for the date of the time stamp and the time of the time stamp you can see up to when the individual data extractions have extracted data.
Do NOT select the entry up to which the data in your BW system is still correct, rather select the entry before that.
Save the changes.
Do not make any further changes in the BWOM2_TIMEST table.
The next delta extraction uses the date + 1 of the selected entry as a lower limit for the data selection.
You can control the upper limit for the data selection by changing the ' BWFISAFETY' parameter in the BWOM_SETTINGS table. The upper limit is determined using the current date minus the value of the 'BWFISAFETY' parameter (default = 1).
If for example you want to extract the data of the last twenty days in four parts, set the parameter in Transaction SE16 as follows:
before the 1. delta extraction > > BWFISAFETY = 15
before the 2. delta extraction > > BWFISAFETY = 10
before the 3. delta extraction > > BWFISAFETY = 5
before the 4. delta extraction > > BWFISAFETY = 1 (= default)
and parameter BWFIOVERLA = X to return to the originaldelta mode. -
R/3 table to BW via Delta Extraction (Urgent plz)
Hello Experts,
How to load a data from one of the R/3 tables to BW when the table doenst contains either a time stamp, Date field or numeric pointer.
I have PS Table in R/3 (RPSCO) with over 7 hundered thousand records in it. I would like to populate the data to a ODS via delta extraction.
The table doesnt contain either a timestamp, numeric pointer or date. How would I extract a data now to BW via delta. Would it be possible to use Generic extraction.
Thanks and Regards,
HarishHi Harish,
If you need ODS to make delta DataMart you can not delete data before every upload.
For spee-up the upload you can follow these solution:
1)Take off from parameters of your ODS Reporting BEx flag. Without this flag the system does not spent time for reporting activation of data.
2)If upload is too slow you can try to make delta in R/3 via a program that compare previous upload and new status of your table, introducing in the tableforthe upload only modified records. It can be very slow, but it is all R/3 time.
Ciao.
Riccardo. -
Use of Update Table in Delta Extraction ....
Hi all ,
I have a small doubt regarding why there is an update table introduced between statistical table and delta queue in delta extraction process ... why not directly extract data from the statastical table and put it in to the delta queue .....
Kindly help me regarding this ...
Regards ,
Santosh ....Hi Santosh,
I think it is related to resource, batch and memory, problem. Infact you can use only delta queue if you select direct update, but you use this kind of update only for huge amount of data produced in a short period of time.
The two queue let you divide transaction moment to batch collection moment.
Hope this help.
Ciao.
Riccardo. -
Time-stamp Table for delta extraction
Hi SDNers,
What are the BW Time-stamp Tables for delta extraction in Source System(R/3).
Thanks,
Satyathe tables involved are :
ROOSPRMS
ROOSPRMSC
ROOSPRMSF
in the second table (ROOSPRMSC) you'll find the timestamp
M. -
Delta Extraction: Cross Application Table
Hello Gurus,
While enhancing an LO extractor, I understand that we need to create a structure with the fields needed for extraction and then append this to the main extract structure and populate this through the user exit. Now what I am worried about is if the fields happend to be a from a cross application table, how the delta would be taken care of?
As an Example, if I need to add in couple of fields of the delivery tables (LIPS and LIKP) in the Purchasing extractor (2LIS_02_SCL), am I going to get changed fields during the delta extraction?
Thanks...Is that always true? Please look through the following scenario that Sunmit mentioned in response to Roberto's one of the blogs:
If a scenario demands a cross application enhancement
eg: Enhancing shipment relevant field in a delivery data source/extractor or delivery relevant field in an invoice relevant data source.
Is the delta relevance of these enhanced fields retained by enhancing the datasource at communication structure level? I guess, the delta of these enhanced fields would still be lost, since they are not included in the events that are used to create the delta.
(ie a shipment document (our field) may change without change in delivery document).
Any ideas??? -
Error while doing DELTA Extraction
Hi BW Experts,
In my R/3, I have a generic data source ZBUT_VW.
It receives data from a View which is created based on couple tables.
When I do full load to the corresponding ODS, it is successful.
But after that I delete the ODS and created CUBE with DELTA
I have Initialized delta.
When I do DELTA extraction, it fails.
The error
The ALE inbox of the SAP BW is identical to the ALE outbox of the source system
and/or
the maximum wait time for this request has not yet run out
and/or
the batch job in the source system has not yet ended.
I delete the initialization load and trying to do DELTA extraction again and it Fails With the same error
Please let me know how can I resolve this problem.
URGENT
gauravI dont think it is possible to have to additive delta with creation date.
Try a full load to cube to check if the extractor is working. -
Error while doing DELTA Extraction (generic data source)
Hi BW Experts,
In my R/3, I have a generic data source ZBUT_VW.
It receives data from a View which is created based on couple tables.
When I do full load to the corresponding ODS, it is successful.
But after that I delete the ODS and created CUBE with DELTA
I have Initialized delta.
When I do DELTA extraction, it fails.
The error The ALE inbox of the SAP BW is identical to the ALE outbox of the source system
and/or
the maximum wait time for this request has not yet run out
and/or
the batch job in the source system has not yet ended.
I delete the initialization load and trying to do DELTA extraction again and it Fails.
With the same error
Please let me know how can I resolve this problem.
URGENT
gauravI dont think it is possible to have to additive delta with creation date.
Try a full load to cube to check if the extractor is working. -
Hi.
We have been experiencing some issues with delta extraction of purchasing data, using 2LIS_02_ITM and 2LIS_02_ITM.
In particular, the posting date's field (BUDAT) is not always filled: for example, I noticed that when users set the final delivery flag even if the purchase delivered quantity does not correspond to the whole order's quantity or the flag has been set later than the change of the delivery date, the field (BUDAT) in the delta queue is not filled.
By this way, the field may be overwritten: however, we need to keep the posting date value.
I am wondering whether I am correct and, in this case, it is possible to keep that value: however, it seems that the only way is to use a full extraction of data.
Thanks a lotRoberto Negro,
While filling setup table by using T-code OLI3BW (Purchasing) it is taking very long time.
Please let me is there any way to rerduce this time.
We are at BW 7.3 version.
Regards, -
Code For Delta Extraction Using Function Module
Dear Experts,
I want a sample code for Delta Extraction using Function Module ( If it is customized already working code very helpful ), I have already created Function Module but Full update is happening. If I give delta update again it is retrieving all records. It is very urgent, if you have please send me to the following mail ID.
[email protected]
Best Regards,
SGK.Dear KJ,
Thank for your response. I saw the code that you sent, you have used some ztables like ZSC_DELTA_IP, ZSC_SAFETY_DELTA, ZSC_SET_EXT_TIME
What are the fields that you have created in these tables , what is use of these tables, can you send the fields that you have used in these tables.
Thanks & Regards,
SGK -
How to make JOB CONTROL setting for delta extraction in Production system .
Hello All,
We are in the process to transport our development to PD server in BI . We have transported the data sources to ECC production and now we are filling the setup table for " SD BILLING BW " . After filling Setup table data in full mode through infoPackage we have to load data in delta mode .
How we can set our Update mode(LBWE setting) in PD server ?
Is LBWE T.Code authorisation required in ECC PD server to make the setting of Update mode or We have to set all Job Control Paramater in Dev System at the time of transport the datasource request to ECC production . Is our time which is set in job control of ECC development will be reflected in ECC production ?
can any body tell me about how to make setting for delta extraction in Production system .
Thanks ...Hi,
How do you load the data in the development system?
- you set up the update mode in the infopackage. There you must customize "Initialization"
- you have to filled the setup table in the production system without laoding the data in the BW? then this step was for nothing. Filling the setup table and do the INIT in the BW, this must be together - during no changing will be done in your R/3 SD.
Sven -
Generic Delta extraction by Function module issue
Hello Experts,
Please help !!!
I have problem for delta extraction by Function module. For the full load, I wrote function module based on RSAX_BIW_GET_DATA_SIMPLE. It works fine.
But I would like to have the delta load enabled. Therefore, I modified the datasource, add a delta specific field u2018ztimestampu2019, which type is calendar day.
Then I create a function module based on template u2018RSAX_BIW_GET_DATAu2019, as this support the upload mode. But when I test this datasource in RSA3, no matter itu2019s full load or initial delta load, it always send me an error, u201CErrors occurred during the extractionu201D.
I had some debug, and found that there is no value for i_isource when my function module is called. Therefore it raised the exception.
But I do not have the chance to debug my code for the delta logic, can somebody help to check?
I also check the entries in ROOSOURCE,
For my datasource ZTRNREC_FM_DELTA, The DELTA value is u2018AIEu2019, and extraction method is u2018F2u2019, should I change them to DELTA= u2018Du2019 and extraction method to u2018F1u2019? Where to change?
FUNCTION ZRSAX_TRAININGREC_DELTA.
""Local Interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SBIWA_S_INTERFACE-REQUNR
*" VALUE(I_ISOURCE) TYPE SBIWA_S_INTERFACE-ISOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SBIWA_S_INTERFACE-INITFLAG OPTIONAL
*" VALUE(I_UPDMODE) TYPE SBIWA_S_INTERFACE-UPDMODE OPTIONAL
*" VALUE(I_DATAPAKID) TYPE SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
*" VALUE(I_PRIVATE_MODE) OPTIONAL
*" VALUE(I_CALLMODE) LIKE ROARCHD200-CALLMODE OPTIONAL
*" VALUE(I_REMOTE_CALL) TYPE SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
*" TABLES
*" I_T_SELECT TYPE SBIWA_T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SBIWA_T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE ZTRN_REC_TIME OPTIONAL
*" E_T_SOURCE_STRUCTURE_NAME OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
The input parameter I_DATAPAKID is not supported yet !
Example: InfoSource containing TADIR objects
Auxiliary Selection criteria structure
DATA: l_s_select TYPE sbiwa_s_select.
Maximum number of lines for DB table
STATICS: l_maxsize TYPE sbiwa_s_interface-maxsize,
S_S_IF TYPE SRSC_S_IF_SIMPLE,
S_COUNTER_DATAPAKID LIKE SY-TABIX.
Parameter I_PRIVATE_MODE:
Some applications might want to use this function module for other
purposes as well (e.g. data supply for OLTP reporting tools). If the
processing logic has to be different in this case, use the optional
parameter I_PRIVATE_MODE (not supplied by BIW !) to distinguish
between BIW calls (I_PRIVATE_MODE = SPACE) and other calls
(I_PRIVATE_MODE = X).
If the message handling has to be different as well, define Your own
messaging macro which interprets parameter I_PRIVATE_MODE. When
called by BIW, it should use the LOG_WRITE macro, otherwise do what
You want.
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
The input parameter I_DATAPAKID is not supported yet !
Invalid second initialization call -> error exit
IF NOT g_flag_interface_initialized IS INITIAL.
IF 1 = 2. MESSAGE e008(r3). ENDIF.
log_write 'E' "message type
'R3' "message class
'008' "message number
' ' "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDIF.
Check InfoSource validity
CASE i_isource.
WHEN 'ZTRNREC_FM_DELTA'.
WHEN OTHERS.
IF 1 = 2. MESSAGE e009(r3). ENDIF.
log_write 'E' "message type
'R3' "message class
'009' "message number
i_isource "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDCASE.
Check for supported update mode
CASE i_updmode.
WHEN 'F'.
WHEN 'D'.
WHEN 'R'.
WHEN OTHERS.
IF 1 = 2. MESSAGE e011(r3). ENDIF.
log_write 'E' "message type
'R3' "message class
'011' "message number
i_updmode "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDCASE.
Check for obligatory selection criteria
APPEND LINES OF i_t_select TO g_t_select.
Fill parameter buffer for data extraction calls
g_s_interface-requnr = i_requnr.
g_s_interface-isource = i_isource.
g_s_interface-maxsize = i_maxsize.
g_s_interface-initflag = i_initflag.
g_s_interface-updmode = i_updmode.
g_s_interface-datapakid = i_datapakid.
g_flag_interface_initialized = sbiwa_c_flag_on.
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 g_t_segfields.
ELSE. "Initialization mode or data extraction ?
Data transfer: First Call OPEN CURSOR + FETCH
Following Calls FETCH only
LOOP AT G_T_SELECT INTO L_S_SELECT
WHERE FIELDNM = 'ZTIMESTAMP'.
ENDLOOP.
IF G_COUNTER_DATAPAKID = 0.
IF L_S_SELECT-LOW = '' AND L_S_SELECT-HIGH = ''.
OPEN CURSOR WITH HOLD G_CURSOR FOR
SELECT (g_t_fields)
FROM ZTRN_REC_TIME.
ELSE.
OPEN CURSOR WITH HOLD G_CURSOR FOR
SELECT (g_t_fields)
FROM ZTRN_REC_TIME
WHERE ZTIMESTAMP >= L_S_SELECT-LOW
AND ZTIMESTAMP <= L_S_SELECT-HIGH.
ENDIF.
ENDIF.
FETCH NEXT CURSOR G_CURSOR
APPENDING CORRESPONDING FIELDS
OF TABLE E_T_DATA
PACKAGE SIZE S_S_IF-MAXSIZE.
IF SY-SUBRC <> 0.
CLOSE CURSOR G_CURSOR.
RAISE NO_MORE_DATA.
ENDIF.
S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
ENDIF.
ENDFUNCTION.
I found some similar issue in this forum by link
Generic Extractor Delta Function Module code, but still I could not get clear answer.
Can you please help me:
1) why there is no value for i_source , how to fix it?
2) For the delta logic for ztimestemp, is it correct?
3) Need I modify the entries in ROOSOURCE ?
Thanks a lot !!!Hello Andre,
Thanks a lot for your help. I did some change , but still does not work. Could you please help check.
Now the source code are the following, It's based on the RSAX_BIW_GET_DATA_SIMPLE, as you confirm that this also supply the update mode (full, initial delta, delta).
FUNCTION RSAX_BIW_GET_DATA_TRAININGREC1.
""Local Interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" VALUE(I_REMOTE_CALL) TYPE SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE ZTRN_REC_TIME OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
Auxiliary Selection criteria structure
DATA: L_S_SELECT TYPE SRSC_S_SELECT.
Maximum number of lines for DB table
STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,
counter
S_COUNTER_DATAPAKID LIKE SY-TABIX,
cursor
S_CURSOR TYPE CURSOR.
Select ranges
RANGES:
L_R_ZTIMESTAMP FOR ZTRN_REC_TIME-ZTIMESTAMP.
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 'ZTRNREC_FM'.
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.
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'ZTIMESTAMP'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_ZTIMESTAMP.
APPEND L_R_ZTIMESTAMP.
ENDLOOP.
Determine number of database records to be read per FETCH statement
from input parameter I_MAXSIZE. If there is a one to one relation
between DataSource table lines and database entries, this is trivial.
In other cases, it may be impossible and some estimated value has to
be determined.
IF L_S_SELECT-LOW = '' AND L_S_SELECT-HIGH = ''.
OPEN CURSOR WITH HOLD S_CURSOR FOR
SELECT (S_S_IF-T_FIELDS)
FROM ZTRN_REC_TIME.
ELSE.
OPEN CURSOR WITH HOLD G_CURSOR FOR
SELECT (S_S_IF-T_FIELDS)
FROM ZTRN_REC_TIME
WHERE ZTIMESTAMP >= L_S_SELECT-LOW
AND ZTIMESTAMP <= L_S_SELECT-HIGH.
ENDIF.
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 E_T_DATA
PACKAGE SIZE S_S_IF-MAXSIZE.
IF SY-SUBRC <> 0.
CLOSE CURSOR S_CURSOR.
RAISE NO_MORE_DATA.
ENDIF.
S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
ENDIF. "Initialization mode or data extraction ?
ENDFUNCTION.
I think it already includes the important statements you suggested.
I test this FM in RSA3, for the Full load mode, it works fine. Also if I checked the debug mode in execution , it will stop in the code and let me debug.
But when I choose other mode, like 'initializion of the delta transfer' or simulation of initial delta, I always get error 'error occurs during the extraction' .. even I choose debug mode, but it could not enter the code for debug..
Till now I did not see any parameter or value for the upload mode..
Another questions is that, in RSO2, I define Ztimestamp as my delta field.. But , can I add other field as selection condition in the datasource definition, and has its range table in this function module ?
Should I change the entries in ROOSOURCE for this datasource ??
Please let me know your feedback, do you have some concret example for generic delta extraction ?
Thanks a lot ! -
Short dump in delta extract using bgRFC in NW 2004s
Short dump in delta extract after Support Pack install, using bgRFC.
InfoSet Query extractor from Z-table residing on BW system into ODS.
Init and Full loads load successfully, delta loads short dump.
"MESSAGE_TYPE_X"
"SAPLARFC" or "LARFCU25"
"TRFC_SET_QUEUE_RECEIVER_LIST"
Problem began after support pack install, from SP 9 to SP 12. Switched to Classic RFC in SM59, seemed to correct this extractor but caused problems in other extractors.Hi Kevin,
check out this note: https://websmp205.sap-ag.de/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=1054970&_NLANG=EN
it might help.
regards
Siggi -
How to see deleted records in delta extraction from view
Hi folks,
i am currently reflecting about delta extraction from a view:
The view contains a date field (change date) which is used to identify new or changed records.
So the delta extraction of new and changed records works without problems.
But what is happening with records that are deleted in the source system?
My current understanding is that deleted records will not be shown in the view. Therefore the deletion is not visible in the extraction.
- Is there a workaround for this problem?
- How is deletion of records normaly handled in generic extractors?
- Is it impossible to extract a deletion when using views?
any suggestions and help will be appretiated...
byeHello Florian,
Generally records will not be deleted (until if you physically delete it from table) but will have a status deleted.
So it doesn't matter whether you use view or tables the deleted records will be extracted through the view to update the BW data targets.
Thanks
Chandran -
Generic Delta Extraction via Function Module
Hello,
i need a help for a generic delta extraction based on a Function Module. As an example i take the function module RSVD_BW_GET_DELTA_DATA.
My generic delta extractor based on the field AEDAT - Change Date and i will extract purchase service orders and entry sheets.
In the sample function module the select for the extraction worked with the table ROBWQTSTAT, but this table ist empty after the initialization.
OPEN CURSOR WITH HOLD G_CURSOR FOR
SELECT * FROM ROVERCUBE1
WHERE COUNTRY IN L_R_COUNTRY AND
REGION IN L_R_REGION AND
KUNNR IN L_R_KUNNR AND
TYPE IN L_R_TYPE AND
GJAHR IN L_R_GJAHR AND
Here the timerange calculated in form GET_TIME_INTERVAL is evaluated.
TSTMP IN S_R_TSTMP AND
OBJVERS = 'A'.
I found the table ROOSGENDLM. In this table i found the field DELTAID with the last date of the extraction and the field REPEATID with the date for the repead-Update.
My Questions:
Is this the right way to build an generic delta extraction with an function module or must i install a coding in my function module for an update of the table ROBWQTSTAT?
Which settings are needed in the table ROOSOURCE for a generic delta extraction via function module?
Best regards
UweHi Uwe,
please have a look at https://weblogs.sdn.sap.com/pub/wlg/2415. [original link is broken] [original link is broken] [original link is broken] It might help
kind regards
Siggi
PS: We already had almost the same question here today.
Maybe you are looking for
-
How can I download free apps without a credit card or paypal
I need to reinstall some free apps and I don't have a credit card now or paypal. How can I do it
-
[Boot Camp]I lost Mac OS X and my macbook air is running only windows.
Hi i am new here and i have a problem with my mac. "I had Mac OS X v10.7 in my macbook air. Than with the help of boot camp i installed win8 sucessfully allocation 40GB of space for it. After that i went to win 8 admin tools > disk management and i d
-
I am running a query with following code: select d.acct_num, lib.fmt_money(a.amt) Total Amount from account d, table(report.lib.expense (d.acct_num)) a where clause. Here: 1. Report is another schema containing packqges for reporting development. 2.
-
ListCellFactory - how to access an object's data associated with list cell?
I am new to javafx and building a sample app to learn the basics. The app has a list view control and used listcellfactory to create listcells. Each list cell is composed of few labels and image. I populated list view with listViewItems function, whe
-
Transaction Launcher and Parameters - what is wrong?
Hi guru my issue: in our CRM webui we need to invoke an ECC custom transaction and fill a field with a dynamic value (opportunity id). So to understand better I started with transaction launcher wizard to invoke the tx VA01 and I'm able to see in the