RDA enable option in Generic Delta

Hi,
Where do you see RDA enable option in Generic Delta in both the cases R/3 4.7 and ECC6.0?  I didn't find the enabling option.  Could anyone tell me any settings need to be done before it enables.  Whether RDA enables for Generic Delta?  If yes what method SAP recommended to use among table/view, FM, or InfoSet Query?
Thanks & Regards,

Hi Lathika
to enable RDA option go with WEB Service data sources in the data source-Extraction tab you can see the option Realtime where you can find RDA suppoted
but wen creting the infopackage you need to assign the daemon to that and assign your DTP which loads further targets from that data source also to the same daemon and mention request losing settings in the info package
for example if you mention the request closing time is 1 hour that particular request will be opened for 1 hour the deltas that are posted in that 1 hour will fall in this request
after the request automatically will set to closed
Thank you

Similar Messages

  • Numeric Pointer Option on Generic Delta Screen

    Hi, I was just wondering if anyone could help with why the option for 'Numeric Pointer' on the 'Generic Delta' screen in datasources is missing. I only have the option for 'timestamp' and 'calendar day'.
    Thanks

    Hi,
    If you are trining to create a Generic delta with FM, you can't find the option "Numaric pointer".
    Please check this link.
    [Generic Extraction via Function Module|http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=%28J2EE3417500%29ID1674507050DB11515805598662912203End?blog=/pub/wlg/2415]
    Regards,
    Madhu

  • Real-Time Enabled field and Generic extarctor

    Hey,
    We are using PI 2004_1_470 on our R/3 system, and I just noticed that there is a field called Real-Time Enabled on the generic delta screen.  This maps to ROOSOURCE-REALTIME.
    What is the field being used is? Is this some early release of the near real time function that will be part of BW 7.0, or can I use this with BW 3.5?
    Thanks Bill!

    Hi Mickey,
    in general:
    1.) you need a 7.0 DataSource (3.X DataSources cannot deliver Real-Time information)
    2.) you can only run a DataSource in one mode, either "Real-Time Data Acquistion" or "Standard", i.e. the same DataSource cannot be incorporated in the data flow in different modes.
    3.) Business Content DataSources are not delivered with the option "Real-Time Data Acquistion" at the current point in time. We are currently discussing which DataSources should be made available to start off with.
    If you have specific scenario in mind, please contact your Ramp-Up Coach in order to direct support by us.
       Cheers
         SAP NetWeaver2004s Ramp-Up BI Back Office

  • Generic Delta Extraction

    Hi,
    In Generic delta extraction for function module which generic delta we can use
    1)Time stamp 2)CAL day 3)Numeric pointer?
    What safety upper limit and safety lower milit in time stamp?
    When we use safety upper limit and lower limit in Time stamp and numeric pointer?
    If possible give 1 scenario for this question
    Thanks,

    Hi,
    Delta with data transfer, you do an init with all the data and marke the requests as delta. The next request will bring the new records and modifications as a normal delta.
    Without data transfer, you're only marking the request as delta, the init don't bring any data. Only next deltas will bring new and modified requests.
    Normally you'll use init with data transfer and deltas after it.
    But imagine you already have an init of a datasource to a Dataprovider, but you'll want to connect that datasource to a new one. Since you already have an init to a first dataprovider, connect it to another new dataprovider, you won't be able to start a new init with data trasnfer to the new dataprovier (without deleting the old one). Therefore, you could bring a full of all the data to the new dataprovider, after that, delete the init flag of the old dataprovider, and create a new init without data. Therefore, the old dataprovider, since already had all the data before, you're only deleting the init flag and create it again, the new dataprovider, you already had sent the data with a full load, so marking the init flag, after that sending deltas will bring new and modified requests to the two dataproviders as what you want.
    Please go through the below links,
    Re: Generic extraction
    Re: Generic Extraction-example
    Re: Numeric Pointer Option on Generic Delta Screen
    Hope it helps you,
    Thanks & Regards,
    Ravi.

  • Delta Option for Generic Data Source

    Hi ,
    My requirement is Delta Option for Generic Data Source. This Data Source is getting Extracted from Function Module.
    For this requirement I have followed below steps.
    1) Added the Field (On which Delta gets enabled) to the extract structure by using Append Structure
    2) Enabled Delta On this Filed.
    3) If I try to save the Data Source,  I have gone to a screen where I am able to see 4 coloumns
    a) Selection
    b) Hide Field
    c) Inversion
    d) Filed Only known in User Exit.
    By default Hide Field and Filed Only known in User Exit check boxes have been checked.
    Would you please tell what is the use of Filled Only known in User Exit check biox.
    As My data source is getting the data buy using the Function Module, Shall I uncheck this Check Box.
    Thanks and Regards,
    K.Krishna Chaitanya.

    Hi Krishna,
    The "FIELD" should be checked if we write any enhancement in CMOD, so that system can identify that this particular field has enhancement written to it,
    But even in real time systems i usually find that even though we check the "FIELD" or not , there is no effect .
    So Checking "FIELD" or not will not impose any isses .
    Regards,
    Krishna

  • Generic delta creation with Extractor Starter Kit - BW Datasource option

    Hi Rajesh, Rohit,
    As per the wiki, http://wiki.sdn.sap.com/wiki/display/CPM/FAQ-DataExtractionforSpendPerformance+Management, the question:-
    Do these starter kits have any support for delta (periodic data updates) after the initial load is completed?
    A. Yes. Deltas are available (for all source objects that support delta mechanism) in both of the extraction options. You don't need to reload the full set of data, when you perform the periodic data updates.
    I understand you can use the date range but this in my view is still a full load.  We understand that you can create your own generic datasource based on the generated function module generated by generating the object, for e.g PO.
    We have tried to do this for the object PO, thus the following:-
    rso2 > create a new transaction datasource > base on generated datasource (Z_SADSERPPO) and use it's fm and extract strucutre :- Z_SAERPPO_DS fm , ZEXTR_ERPPO extr structure
    When we goto to create a generic delta based on DATE_RANGE we get the error message ::-
    Z_PDPOTEST: TABLES-paramter E_T_DATA for extractor Z_SAERPPO_DS is missing
    Can you create a blog around this as we understand other customers have managed to create these deltas?
    Best regards,
    Pom

    Hi Claudia,
    That's fine, please continue to use the Z_SA_DEPD to generate the datasource.  If you then do a rsa2 on this datasource, you can see the underlying function module and the extract structure for this which is also fine.
    The bizarre thing is that through rso2 for this generated extractor, you cannot see the fm associated for this, hence why the generic delta is not working.
    What we thought of doing and in line with the sap recommendation was to create a new transaction datasource from tcode rso2 and base it on the above function module and extract structure, but when we goto choose the date_range as the generic delta, it doesn't work and gives the error.
    Am still waiting an answer.
    Will keep you posted.
    Thanks,
    Pom

  • 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 !

  • Generic Data vs Generic Delta

    Hello,
    When do we use Generic Data Extraction?
    When do we use Generic Delta Extraction?
    Thanks

    Roshan,
    When you create a Generic DataSource you have the option to make it support delta functionality using your specified charactetistics which will be used to track deltas for example document date etc....
    We create a Generic DataSource if the existing BC does not provide a standard datasource for the same.
    Whether you want it to be delta enabled or not it depends on your scenario.
    Hope this helps.....

  • What are the disadvantages of generic delta extraction

    Hi all,
    what are the disadvantages of generic delta extraction.
    how function module generic extraction works.
    Thanks,
    Madhu.

    hi madhu,
    Pls refer ths,To learn more about Generic Extraction pls read BW350 book.
    Gereric Extraction can be done in 3 ways.
    If you go to transaction RSO2 in R/3 side, provide tech name for data source and click create.
    you will get the 3 options.
    1)From a DB Table
    2)From a DB View
    3)From Functional module/ Infoset Query
    in first option you can directly give a standard or custom build talbe name. in second option you can select the necessary fields from more than one talbe(eiter standard or custom). In third option you will create a function module or Query to extract data. When creating function modules you can use standard function modules as a template e.g. RSAX_BIW_GET_DATA_SIMPLE.
    see weblog : /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    If you want to enable delta for generic extractor you choose the option delta and provide necessary settings.
    Generic extraction is when your extraction is not satisfied by either BC or LIS/LO. It can be using a view / query/table/FM
    Here the changed records can be isentified by :
    1. Based on the date of creation or last change ( Delta based on 0Calday)
    2. Based on the record number ( Numeric Pointer )
    3. Based on time of change ( Timestamp)
    real time examples would be
    1. Master Record creation like customer ID creation
    2. Timesheets in SAP PS
    3. Invoive details / Sales Order Details.
    Pls check this web logs for clear Idea.
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
    Have a look at these threads too.
    Tables
    Transfer Structure
    The steps for creating extractor using Function Module.
    1. Create new Function group (if you have already not done so) in Se80
    2. Copy Function module "RSAX_BIW_GET_DATA_SIMPLE" with suitable name.
    3. Change the code that populate data.
    Following table may give you the guideline for parameters.
    Parameter Description
    I_REQUNR (import) BW provides this request identifier. It is a system-generated identifier in the form REQU_XXXXXX. BW uses this same identifier in all function module calls that relate to a single load.
    I_DSOURCE (import) The name of the generic extractor
    I_MAXSIZE (import) The maximum number of records that BW expects to be in each data packet
    I_INITFLAG (import) A Boolean flag that indicates if this is the initialization (first) call to the function module
    I_READ_ONLY (import) A test flag not needed in most extraction scenarios
    I_T_SELECT (table) This table holds any selections from the BW InfoPackage. The function module should examine these selections and only return data that matches the selections.
    I_T_FIELD (table) This table holds the fields that BW requests
    E_T_DATA (table) The function module fills this table with data records. These records then return to BW as data packets. This table has the same structure as the extract structure defined in the generic DataSource.
    NO_MORE_DATA (exception) The function module raises this exception when no more data is available
    ERROR_PASSED_TO_MESS_HANDLER (exception) The function module raises this exception if an error occurred during the extraction. It alerts BW to check for error logs.
    Change following code to put the selection fields
    Select ranges
    RANGES: L_R_CARRID FOR SFLIGHT-CARRID,
    L_R_CONNID FOR SFLIGHT-CONNID.
    Change following to populate data
    OPEN CURSOR WITH HOLD S_CURSOR FOR
    SELECT (S_S_IF-T_FIELDS) FROM SFLIGHT
    WHERE CARRID IN L_R_CARRID AND
    CONNID IN L_R_CONNID.
    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.
    Some more links:
    Re: functionmodule
    Re: FM for G. extractor
    with hopes
    Raja Singh

  • Generic delta extractors without timestamp!

    Hi,
    For a certain requirement, I have to develop generic extractors which should be delta capable. But unfortunately the source tables donu2019t have a timestamp; hence I canu2019t create delta enabled generic extractors using timestamp. Moreover most of the tables are standard SAP tables, which are used across different modules so it is not possible to introduce timestamp in these tables.
    I am working on extractors for Business Partners in SAP Transaction Banking.
    I have got couple of options:
    1) To use the change pointers by activating CNS service in source system. It is possible to activate the service and set up the segments for standard and custom tables, from where I need to extract the data.
    2) To develop the function module and create the generic extractors using delta queue functionality.
    Issues: In the first approach, I have created an extractor and it is possible to recognize the changed records. But the issue is I need some kind of flag which tracks the information regarding last successful delta extraction for an extractor based on change pointers and standard SAP table. I am not sure how does standard extractors maintains this status and picks up new/changed records in delta functionality. Not sure how to achieve this.
    In second approach I am not sure if it is possible to create generic extractors using delta queue and what are the complexities involved.
    If someone has already worked on these areas, any inputs are most welcome.
    Thanks and Regards,
    Amit

    Hi Amit,
    I haven't worked on SAP Transaction Banking but I hope you can get most of Business Partner data in standard extractors. Try to look for some.
    If you have to go for Generic extractor. there are 2 options:
    1. Use BTE
    [How To Create GDS which uses Delta Queue|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10b68b99-022e-2a10-999d-c4dc9ec24a59]
    2.Use FM based GDS
    [How to Create Generic Delta|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33]
    [Generic Delta Using Funtion Module |Re: Generic Delta Using Funtion Module]
    You can also look for some numeric pointer from RSO2.
    Hope it will help you...
    Regards,
    Ashish

  • Generic Delta with Numeric pointer.

    Hi Experts,
    We are using a generic delta for a Standard Master Data Attribute Data Source. Since it is standard by default it has the Numeric Pointer and the Additive Delta in the settings.
    When a delta extraction is done with this option it does not bring any changed records it just brings the newly added records.
    We are not able to change to the other Delta options available in that screen.
    Could you guys help us with this issue. 
    Thanks
    Sandhya

    Hi Harvinder,
    The answer you gave was very helpful.Thanks for all your help so far.
    Due to some restrictions from our BASIS team, We are not able to Check the 'Change Document'  for (AEDAT) Changed on field. There are other fields in the same Data Source which are Delta Enabled and  they also have the 'Change Document' Checked. Could we use one of those fields in our Delta. If yes what changes do we have to make. If you can, Can you give a brief step by step how to make the changes.
    Also we are not able to change anything in the Generic Delta tab. At times it is giving an error, other times it does not get saved when we go back it is unchaged. May be we are doing something wrong.
    Regards,
    Sandhya

  • Regarding generic delta.

    does any sap bw gurus know the answer to my doubt.
    i have created 3 views from mm tables (EBAN,MSEG,MKPF,GLPCA) AND FROM THESE 3 views i have created 3 generic data sorses in r/3 dev server and transported to r/3 quality server and loaded from r/3 qlty server to ods with full update mode in infopackage.
    now i want to load delta records for those geeric data sorses, what is the procedure. i have not selected the delta option while creation of data sorses but loaded into ODS with full update.now i want to get delta records, what is the process?
    Suppose i have selected generic delta and given some field to get delta records in r/3 dev server, does it effect in r/3 qualty server or do i need to transport same recquest or new recquest for delta from dev to quality server?
    this is very very urgent pls. points assigned.

    Hi,
    ODS may not let you load deltas if there are Full loads already loaded. So either you have to delete them or make them into Full repair using FM RSSM_SET_REPAIR_FULL_FLAG.
    This you can decide after talking to users, if they are ok with the data unavailability during the reload, you can delete these data.
    Then perform the changes (delta DS) in the DEV and transport it to QUAL.
    Then the usual procedure, replicate in BW, perform init load and start deltas.
    Hope this helps.
    Thanks,
    JituK

  • Urgent: Problems in Generic Deltas by Function Module

    Hi BW Experts,
    My requirement is to extract text from CRM to BW using Zfunction module, copy of RSAX_BIW_GET_SIMPLE_DATA
    which works fine for full loads but the problem arises only when i go for generic deltas. My code in FM for Deltas is:
    LOOP AT s_s_if-t_select INTO l_s_select.
    CASE l_s_select-fieldnm.
    WHEN 'ZDATE'.
    s_date_from = l_s_select-low.
    s_date_to = l_s_select-high.
    WHEN OTHERS.
    ENDCASE.
    ENDLOOP.
    IF s_date_from IS INITIAL.
    s_date_from = '20060401'.
    ENDIF.
    IF s_date_to IS INITIAL.
    s_date_to = '99991231'.
    ENDIF.
    OPEN CURSOR WITH HOLD S_CURSOR FOR
    SELECT * FROM STXH
    WHERE TDOBJECT = 'CRM_ORDERH'
    AND TDID = 'A002'
    AND TDSPRAS = sy-langu
    and TDLDATE between s_date_from and s_date_to
    or tdfdate between s_date_from and s_date_to.
    ENDIF.
    FETCH NEXT CURSOR S_CURSOR
    APPENDING CORRESPONDING FIELDS
    OF TABLE wa_stxh
    PACKAGE SIZE S_S_IF-MAXSIZE.
    TDFDATE is creation date and TDLDATE is changed on
    My extract structure contains Zdate(TDLDATE), Ztext1,2,3, Key field and langu in RSO2 I have selected calday in generic delta and Zdate as field Nm and upper limit as 1 and lower limit as space in settings and new status for changed records button.
    Did I missed something because when i check in RSA7 i didnot see any changed records under totals column and i tried to load without it into BW than i didnot received single record evenafter changes.Would anyone suggest me the good solution for it I appreciate it in advance. I have seen lot of posts in SDN but I didnot find this type of secenario anywhere.
    Thanks in advance
    Regards
    Kishore

    Kishore,
    go through the thread... which i provided for Generic DS using function for CRM Texts.
    Re: Urgent: Extraction through function module
    Any questions please let me know. If you have any questions update the thread with your mail id.
    Replace the code with ...
    LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'ZDATE'.
    MOVE-CORRESPONDING L_S_SELECT TO L_R_TDLDATE.
    APPEND L_R_TDLDATE.
    ENDLOOP.
    OPEN CURSOR WITH HOLD S_CURSOR FOR
    SELECT * FROM STXH
    WHERE TDOBJECT = <Text Object>
    AND TDID = <Text ID >
    AND TDSPRAS = sy-langu
    AND (TDLDATE IN L_R_TDLDATE
    or TDFDATE IN L_R_TDLDATE).
    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 wa_stxh
    PACKAGE SIZE S_S_IF-MAXSIZE.
    L_R_TDLDATE will be calculted by the system. Internally, system will save the Last Delta date(you need to enable this field for Generic delta).
    all the best.
    Regards,
    Nagesh Ganisetti.

  • Generic Delta: Init, Full Upload and Deltas...

    Dear All,
    Last week on 10.04.2014 I've created "Generic DataSource with Generic Delta" and used CalDay as Delta-Specific Field and lower limit kept to blank and upper limit to 1. On 11.04.2014 I've initialized the Delta with Data Transfer using Process Chain: Time 1:15 p.m (Note: Posting was on)
    see below screen shot:
    Result: Process Chain was scheduled to immediate and it executed and initialized the delta and brought records as well. See below screen shot of RSA7:
    Q: 1: Why generic delta current status is 10.04.2014, as I'v scheduled delta through process chain on 11.04.2014 @ 20:50: and why Total column is showing 0 records? Even I've checked Display Data Entries with Delta Repetition, but could not find any records?
    Following is the InfoPackages which I created for Delta Loads and used in another Process Chain for Delta scheduled (daily @ 20: 50).
    Following is the DTP used into Delta Process Chain:
    On 12/04/2014 when I checked my InfoCube, and found that same number of records being loaded again despite InfoPackage and DTP were created as Delta, see screen shot:
    On 12/04/2014 See below PSA table:
    On 14/04/2014 when I checked InfoCube and I saw deltas being loaded successfully: see below screen shot:
    On 14/04/2014 see below PSA table:
    On 14/04/2014 see below RSA7 BW Delta Queue Maintenance screen shot:
    Q: 2: Why am I unable to load the Delta records on the day(11/04/2014) when I initialized it with Data and why same number of records being loaded again on 11/04/2014?
    Q: 3: On 11/04/2014, around 1:15 p.m I've initialized Delta with Data successfully and the same day (11/04/2014) was my first load of delta records (Time: 20: 50), could this be a problem? as the posting period was on when I initialized and I tried to load the delta on the same day?
    Q: 4: Why the pointer is showing me Current Status: 12/04/2014 today and this time around I can find last delta records from "Display Data" option with Delta Repetition?
    Q: 5: Have I missed something in the design or data flow?
    Q: 6: How can I verify deltas records accuracy on daily basis; is it from RSA3?
    or How can I verify daily deltas with ECC delta records?
    Q: 7: What is the best practice when you load full data and initialized delta and schedule deltas for Generic DataSources with CalDay as delta specific field?
    I will appreciate your replies.
    Many Thanks!!!
    Tariq Ashraf

    I clearly got ur point.....But
               If i have situation like ....." I loaded the LO data from R/3 with Init delta......then i loaded 5 loads of delta too.......due to some error in data now i am trying to load all th data......In this case if i do Full upload it is going to bring all the data till 5 th delta load .......If i do Init delta again it is going to bring the same data as full upload..........In LO while loading both Full load or delta init load we need to lock R/3 users....I believe we can load delta even after full upload by using "Init delta without data transfer"............So that wont be the barrier....then what is the difference or how should i figure out which load should i do.............If i am wrong please correct me.......
    Thanks

  • Master Data-Generic Delta

    hello guys
    I have some doubts when it comes Generic Extraction of Master Data from a source system(say SAP R3) with possible deltas...
    1.I heard from my friend,that while working with Master Data Generic Extraction (involving deltas),we generally do FULL LOADS....itsnot a common practise to do initialisation and then delta update as in the case of Transaction Data...Is that true?
    I know that it varies from case to case,but generally speaking,how often do we do these FULL LOADS?
    2.Suppose,if I say,I will go the unusual way and choose to do Master Data Deltas exactly like we do with Transaction Data deltas(first initialisation with data transfer then delta updates now and then)....how do we choose if its time stamp or numeric pointer incase of Master Data fields....
    suppose,I want to set characteristic 'Location' as delta-field,what do I choose out of numeric pointer,calendar day and time stamp?and why should I choose it?
    how about incase of Characteristic 'Customer Phone number'?
    Thanks fr ur time
    S

    Hi ,
    In generic delta you can choose only one field as delta option ie whatever changes happens for a record thar field shold get updated only then you will get delta for those records.
    Choosing numeric pointer for text fields like location wont help for you. May be phone number you can try as numeric pointer if it is purely a number series which uses new numbers always.
    If you are choosing these fields whenever there in chamge in this fields you will get delta. No other change in the same record will be captured
    Thanks,
    Arun

Maybe you are looking for