Generic extractors with delta

hi all,
can any one please provide any thing on generic extractors particular to delta (time-stamp)
VRKR

Hi,
please search the forums. This question has been asked already a lot of times. Additionally you might check my business card --> there is a link to a weblog related to that issue.
Siggi

Similar Messages

  • Enabling FI-SL extractor with delta capability

    I am working on enabling FI-SL (3FI_SL_*) extractor with delta capability.
    Implemented OSS note 328197 successfully and also related OSS notes.
    This works on totals table. Source system is 4.6C
    Tested BW01, BW03 and everything seems to be fine, and shows as if extractor is enabled for delta loads.
    I have done initialization. it works fine and got records.
    But when I do delta - it shows ZERO records.
    In RSA7 also I see Zero records.
    If you have any experience , will you please share with me.
    It's a very urgent one.
    Venu

    Create some records in the source system so that the base tables for this extractor will add some records.
    Then check rsa7 whether it shows any records for next delta.
    As Hari said..there might not be fresh records created or records changed,if you do delta load immediately after an init load.
    cheers,
    Vishvesh

  • Generic Extractors with Fm / Finding out tables used

    Hello Gurus,
    for a requirement, i would like to find out the table used in a generic extractor with function module.
    I can see the structure with the objects used but not the tables where they are from.
    How can i find that out?
    Thank you
    Pat

    Hi Gilo ,
    The best way to find out the tables used in the function module will be to analyze the code . Check all your Select Statements in the code and see the tables being used there .
    Sometimes in the code , we use standard function modules from the ECC. Check those standard FMs also and see what table they are using .
    Hope the above reply was helpful.
    Thanks & Regards,
    Ashutosh Singh

  • Generice extracttion with delta

    if we do generic extraction with delta in which table luws will be stored

    LUW's for generic delta can be monitored in RSA7.
    BW Delta queue is based on queue functions in the RFC technology for SAP Web Application servers (qRFC). The data is stored in the following 3 tables:
    1. TRFCQOUT (Client Dependent pointer table per queue name and destination.
    2. ARFCSSTATE: Likn between TRFCQOUT and ARFCSDARA
    3. ARFCSDATA: Compressed data for tRFC/qRFC
    refer following: http://help.sap.com/saphelp_nw04/helpdata/en/6f/66bca6ae43744283d74f1e456ff6c0/content.htm for delta queue maintenance.

  • Generic extractors as delta enabled

    Hi Experts,
    I am looking for a thread or Blog that describes the steps to enable Generic extractors as delta enabled.
    Alok

    Hi,
    Goto-->  RSO2 -> Enter your datasource name->Press on Generic Delta
    Select one in Delta Specfied field...
    U can set any of the below 3 based on ur reqmnt..
    Time stamp or Calender day or numeric Pointer.
    How to Create Delta..
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    Generic.. SAP Help
    http://help.sap.com/saphelp_nw2004s/helpdata/en/3f/548c9ec754ee4d90188a4f108e0121/frameset.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Generate_a_generic_DataSource
    Thanks
    (Assign Points if useful..)

  • Generic FM extractor with Delta

    Hello all,
    I am trying to create a delta function module extractor on a table. I have creation date ANDAT, last change date AEDAT and a deletion flag on the table.
    FM has to handle history, new and changes.
    How can I generate delta? Can I just use RSO2 to set up delta? How can it be done? Also, can I get the code for a generic FM delta extractor?
    Please help.
    Thanks,
    Anirudh.

    Hi Sajeed,
    So, I do not have to handle delta in the extractor at all? Just create a function module based extractor with all the fields and actually take care of delta in the infopackage??
    The creation date is for newly created records and the change date is for changed records.
    My email is [email protected]
    Thanks,
    Anirudh.

  • Function Module Extractor with Delta Functionality

    Hi Friends,
         I have to extract the entire data of CDPOS table in R/3 , as its a cluster table I am unable to build a view, I am planning to go for FM extraction, Could someone help me as how to build it with Delta Functionality.
    I think I need to develop the Datasource, with Extract Structure,( Do I need to create a Structure in SE11)  Please help me out .
    Thanks,
    Krish

    Hi,
    you can either use an existing structure or else create one on your own. (SE11).
    The DeltaHandlig fairly easy.
    When having finished the extractor (FunctionModule, Structur and DatasSource), go to the "generic Delta" button and select the relevant field.
    The Generic Delta and its DeltaPointer is managed within the DeltaQueue (RSA7) and works more or less like a selection. Don't think too hard about it in your function module except taht you need to select by this field in your FM.
    Did that come clear?
    hth
    Cheers
    Sven

  • Generic Datasource with Delta and functionmodule

    Hi together,
    who can help me ??
    Ihave created a generic datasource with function module and
    delta.
    the extractor runs well while i use full update and also initialization.
    If i start the delta extraction, the extractor crashed with short-dump.
    the message is SAPSQL_INVALID_FIELDNAME
    What can i do, and what is wrong.
    regards
    thorsten Weiss

    Hi Roberto,
    here is the code from the function-module:
    FUNCTION zbw_mm_get_eket.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SBIWA_S_INTERFACE-REQUNR
    *"     VALUE(I_DSOURCE) TYPE  SBIWA_S_INTERFACE-ISOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SBIWA_S_INTERFACE-MAXSIZE DEFAULT 1000
    *"     VALUE(I_INITFLAG) TYPE  SBIWA_S_INTERFACE-INITFLAG OPTIONAL
    *"     VALUE(I_READ_ONLY) TYPE  SBIW_BOOL DEFAULT SBIW_C_FALSE
    *"  TABLES
    *"      I_T_SELECT TYPE  SBIWA_T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SBIWA_T_FIELDS OPTIONAL
    *"      E_T_DATA OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
      INCLUDE lrsalk01.
    DataSource for table EKET
      TABLES: zv_mm_eket.
    interne Tabelle für Bearbeitung
      DATA:   itab_0 TYPE TABLE OF zstr_eket WITH HEADER LINE.
      TYPES: BEGIN OF typ_categ,
              j_4kbwef    TYPE atnam,
              /afs/bwel   TYPE j_4kbwef,
             END OF typ_categ.
      DATA: l_s_data_eket  TYPE zstr_eket,
            ld_cat_struct  TYPE j_4kcsgr,
            lt_cat_fields  TYPE TABLE OF j_4kcif001,
            ls_cat_fields  TYPE j_4kcif001,
            ls_mara        TYPE mara,
            l_tabix        LIKE sy-tabix,
            itab_cat       TYPE TABLE OF typ_categ ,
            ls_cat         TYPE typ_categ,
            h_feldsize1(8)        TYPE c,"wegen Typ-konflikt im FB
            h_feldsize2(8)        TYPE c."wegen Typ-konflikt im FB
    Auxiliary Selection criteria structure
      DATA: l_s_select TYPE rsselect.
    Maximum number of lines for DB table
      STATICS: s_t_select     LIKE rsselect OCCURS 0 WITH HEADER LINE,
               s_t_fields     LIKE rsfieldsel OCCURS 0 WITH HEADER LINE,
    counter
              s_counter_datapakid LIKE sy-tabix,
    cursor
              s_cursor TYPE cursor.
    Select ranges
      RANGES: l_r_ebeln       FOR zv_mm_eket-ebeln,
              l_r_ebelp       FOR zv_mm_eket-ebelp,
              l_r_bsart       FOR zv_mm_eket-bsart.
    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 'ZDS_V_MM_EKET'.
          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
                      ' function modul was created for DS ' &
                      'ZDS_V_MM_EKET"!'.
            "message variable 2
            RAISE error_passed_to_mess_handler.
        ENDCASE.
        APPEND LINES OF i_t_select TO s_t_select.
    Fill parameter buffer for data extraction calls
       S_T_SELECT-REQUNR    = I_REQUNR.
       S_T_SELECT-DSOURCE   = I_DSOURCE.
       S_T_SELECT-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_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.
    Fill range tables BW will only pass down simple selection criteria
    of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
          LOOP AT s_t_select INTO l_s_select WHERE fieldnm = 'EBELN'.
            MOVE-CORRESPONDING l_s_select TO l_r_ebeln.
            APPEND l_r_ebeln.
          ENDLOOP.
          LOOP AT s_t_select INTO l_s_select WHERE fieldnm = 'EBELP'.
            MOVE-CORRESPONDING l_s_select TO l_r_ebelp.
            APPEND l_r_ebelp.
          ENDLOOP.
          LOOP AT s_t_select INTO l_s_select WHERE fieldnm = 'BSART'.
            MOVE-CORRESPONDING l_s_select TO l_r_bsart.
            APPEND l_r_bsart.
          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.
          OPEN CURSOR WITH HOLD s_cursor FOR
          SELECT (s_t_fields) FROM zv_mm_eket
          WHERE
          ebeln      IN               l_r_ebeln           AND
          ebelp      IN               l_r_ebelp         AND
          bsart    IN             l_r_bsart.
        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 i_maxsize.
        FETCH NEXT CURSOR s_cursor
                   APPENDING CORRESPONDING FIELDS
                   OF TABLE itab_0
                   PACKAGE SIZE i_maxsize.
        LOOP AT itab_0 INTO l_s_data_eket.
          l_tabix = sy-tabix.
    Lesen Erstellungsdatum aus EKKO
          SELECT SINGLE aedat FROM ekko INTO l_s_data_eket-sydat
                         WHERE ebeln = l_s_data_eket-ebeln.
    Lesen Partner aus EKPA
          SELECT SINGLE lifn2 FROM ekpa INTO l_s_data_eket-plief
                         WHERE ebeln = l_s_data_eket-ebeln AND
                               ebelp = l_s_data_eket-ebelp AND
                               ekorg = l_s_data_eket-ekorg AND
                               werks = l_s_data_eket-werks .
          IF NOT l_s_data_eket-matnr IS INITIAL .
    *A Lesen material für Kategoriestruktur j_4kcsgr(F001 oder R002)
            CLEAR ls_mara.
            CALL FUNCTION 'J_3A1_LESEN_MARA_SINGLE'
                 EXPORTING
                      i_matnr         = l_s_data_eket-matnr
                 IMPORTING
                      e_mara          = ls_mara
                 EXCEPTIONS
                      param_not_valid = 1
                      OTHERS          = 2.
            IF sy-subrc NE 0.
            ENDIF.
    *E Lesen material für Kategoriestruktur j_4kcsgr(F001 oder R002)
    *A Aufsplitten Bestandskategorie
            REFRESH lt_cat_fields.
            CALL FUNCTION 'J_4KG_SPLIT_CAT'
              EXPORTING
                client                            = sy-mandt
                csgr                              = ls_mara-j_4kcsgr
                cat_appl                          = 'S'
                cat_value                         = l_s_data_eket-j_4kscat
      NECESSARY_SPECIFIED               = ' '
              TABLES
                cat_fields_tab                    = lt_cat_fields
              EXCEPTIONS
                no_category_structure_found       = 1
              OTHERS                            = 2.
            IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ELSE."sy-subrc <> 0
    Verarbeitung der Ergebnisse
              LOOP AT lt_cat_fields INTO ls_cat_fields.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_SCONFIG'.
                  l_s_data_eket-zz_bwel_sconfig = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_CONFIG'.
                  l_s_data_eket-zz_bwel_config = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_COUNTRY'.
                  l_s_data_eket-j_3abwel_country = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_COUNTRYGRP'.
                  l_s_data_eket-zz_bwel_coungrp = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_STOCKTYPE'.
                  l_s_data_eket-zz_bwel_stktype = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_ORDER'.
                  l_s_data_eket-zz_bwel_order = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_QUALITY'.
                  l_s_data_eket-j_3abwel_qual = ls_cat_fields-j_4kcatv.
                ENDIF.
              ENDLOOP."lt_cat_fields
            ENDIF.
    *E Aufsplitten Bestandskategorie
    *A Aufsplitten MAtrix
            IF NOT l_s_data_eket-j_3asize IS INITIAL.
              CALL FUNCTION 'J_3A_SPLIT_SIZES'
                   EXPORTING
                        matnr              = l_s_data_eket-matnr
                        j_3asize           = l_s_data_eket-j_3asize
                   IMPORTING
                        j_3akord1          = l_s_data_eket-j_3abwel_color
                        j_3akord2          = h_feldsize1
                        j_3akord3          = h_feldsize2
                   EXCEPTIONS
                        no_grid_determined = 1
                        OTHERS             = 2.
              IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
              ELSE.
                l_s_data_eket-zz_bwel_size1 = h_feldsize1.
                l_s_data_eket-zz_bwel_size2 = h_feldsize2.
              ENDIF.
            ENDIF."not l_s_data_eket-J_3ASIZE is initial
    *E Aufsplitten MAtrix
            MODIFY itab_0 FROM l_s_data_eket INDEX l_tabix.
          ENDIF."not l_s_data_eket-matnr is initial
        ENDLOOP.                                                "itab_0
      An Ausgabe-Tabelle übergeben
        APPEND LINES OF itab_0 TO e_t_data.
        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.
    regards
    thorsten

  • Enhance LIS_   extractor with delta load

    Hi all,
    I need to enhance 2LIS_02_ITM or 2LIS_02_SCL with account assignment (EKKN). How should I handle the delta from account assignment? It is in 460 environment. I'd like to have similar extractor as 2LIS_02_ACC which exists in 700.
    How should I approach? Which way is better?
    Options one: Create a generic extractor, delta base on AEDAT in EKKN table. Create custom ODS....
    Option two: enhance current 2LIS02_ITM or 2LIS_02_SCL, add cufs. But how to handle the delta?
    Thanks
    J.

    Hi J CHEN
    In my opinion first check with MM -Purchasing consultant whether the delta in account assignment is linked to purchasing document changes or not ? (check whether delta is supported or not ...you can do this testing in SAP R/3 Side) and if answer is YES then you should go for Option 2 which is relatively simpler.
    hope this helps
    Regards
    Pradip
    (Friends: Don't forget to assign points !!)

  • Function Module Extractor with Delta

    I'm very new to working with the BW, so I hope I'm explaining my question in a way that makes sense.
    I need to make a BW extractor that pulls data from at least one table, possibly more, and which also calculates some data.
    I think the only way I can do that is by using an extractor with a function module.
    I've been looking at the examples in function group RSAX, and I think I sort of get it, except for one part.
    I'm really confused about how the delta works.
    I'm looking at the example: RSAX_BIW_GET_DATA_SIMPLE
    Does it even use a delta?
    I'm trying to understand how the delta gets passed, and how it gets used to filter the data in the function module.  I'm not sure if it's something I need to code in myself, or if it's something that BW does by itself, or what.
    I'm not sure if I'm making sense, but if anyone could help me, I'd appreciate it.

    Thanks guys, you've been super helpful so far, so I'm just going to keep asking questions.  I promise to award points at the end
    I'm looking at it now, and I think if I change it to read from a table, instead of read from a function module I can use the 'numeric pointer' option for the delta.  (Does that just mean a number?  For example, payroll runid is a number, so I could use that and only get new payroll runs?)
    However, there still are some calculated fields they want.  Someone mentioned doing that on the BW side.  How would that work?
    Sorry for such vague questions, but any help is really appreciated.

  • Generic Extractors with different ways

    Hi guys,
    When we are creating Generic Extractors, we have 4 options:
    1.     Using Table/Views
    2.     InfoSet Query
    3.     Function Module
    4.     Value Domain Field ( Only for Text Extractor)
    I would like to know, when we will use these options particular cases with real time examples?
    Awaiting for your valuable help.
    Best Regards,
    Kishan

    we can greate generic datasources for customer defined tables as well as when we need to extract data from the existing r/3 tables.
    when the client wants his own table to be build and he wants to extract data from that table go for generic.
    when we need to extract data from r/3 table ex. purchase requistions are stored in eban table if you want that data in bw create a generic datasource based on table and extract data.
    If you want to extract data from two or more r/3 tables then go for view.
    infoset is a semantic view of data source and it is not a physical data target. infoset is a view but allows outer joins between tables. in that scenario go for infoset.
    when some function modules are retrieving data in r/3 then u can use those function modules to retreive data in BW.

  • Generic Extractor with  ALE-Delta  Capability

    Hi all,
          I need to create a generic Data source based  on 2 tables with fields: MARA-SPART.
                        MAKT-MATNR,SPRAS,MAKTX.
    so  i created a view  on same and  used it in creation of  data source in T.C: RSO2.
      My  requirement is to make this Data source
    Delta-capable using <b>ALE-Delta  mechanisum</b>.
    Please let me know  your views regarding same.
    And i promise to return and reward the answers.
    Thanks&Regards,
    Augustine.

    Hi Augustine and welcome to the sdn,
    it is not possible to get a delta on the fields you added to your view. You have 2 options.
    1st: add fields aedat and erdat of table mara to your view. Create 2 infopackages in BW to load all records created and all records changed in a specific time range.
    2nd: create a fm and select the required fields from mara and makt that are created or changed in a specific time range. Create a ddic structure as extract structure containing spart, matnr, spras, maktx and a date field for the generic delta. See also this information about fm-extraction: /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    Hope this helps
    regards
    Siggi

  • Generic Extraction with delta

    Hi Every one,
    I use an extractor based on a function module which is copy of the RSAX_BIW_GET_DATA_SIMPLE and gets delta records.
    I have  a doubt of how the communication happens between BW and R/3 when delta info package is ran inorder to get delta records.
    Can any one explain how this FM RSAX_BIW_GET_DATA_SIMPLE works ie., the input parameters,usage of static var, Cursors etc?
    FUNCTION RSAX_BIW_GET_DATA_SIMPLE.
    ""Lokale Schnittstelle:
    *"  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  SFLIGHT OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    Example: DataSource for table SFLIGHT
      TABLES: SFLIGHT.
    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_CARRID  FOR SFLIGHT-CARRID,
              L_R_CONNID  FOR SFLIGHT-CONNID.
    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 '0SAPI_SFLIGHT_SIMPLE'.
          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.
    Fill range tables BW will only pass down simple selection criteria
    of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CARRID'.
            MOVE-CORRESPONDING L_S_SELECT TO L_R_CARRID.
            APPEND L_R_CARRID.
          ENDLOOP.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CONNID'.
            MOVE-CORRESPONDING L_S_SELECT TO L_R_CONNID.
            APPEND L_R_CONNID.
          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.
          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.
        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.
    Also how the delta queue  is loaded in rsa7 when the delta records made?
    When the delta info package is ran, the delta queue in rsa7 is changed to '0'.How is that communication made in between them?
    Please clear my doubts?
    Regards,
    Pra

    Hi Suneel,
    You can load delta to write optimized DSO. Your Data source will have delta load (through infopackage) and then with DTP (with Extraction Mehtod --> Delta) you can load delta records to this write optimized DSO. So only the new requests, which are not loaded yet will be loaded to WO-DSO. I tried it in system and it works.
    They can be used in the following scenarios:
    ●      You use a write-optimized DataStore object as a temporary storage area for large sets of data if you are executing complex transformations for this data before it is written to the DataStore object. The data can then be updated to further (smaller) InfoProviders. You only have to create the complex transformations once for all data.
    ●      You use write-optimized DataStore objects as the EDW layer for saving data. Business rules are only applied when the data is updated to additional InfoProviders.
    it is used when you don't want to wait for DSO activation and error troubleshooting. It will make raportable data available instantly.
    Hope it helps...
    Regards,
    Ashish
    Edited by: Ashish Tewari on May 6, 2009 1:33 PM

  • Generic datasource with Delta queue

    Hi All,
    I 've created a generic datasource on prices tables A* and KONP. Next, I used HowTo document "create generic datasource that uses delta queue", finding the right BTE that could catch prices modification. Up to this point, everything works fine.
    I've extracted an Init delta to BW and now, on R/3, in RSA7, I can see a delta queue for my generic datasource.
    When I modify price conditions in VK12, BTE works fine and I can see the counter in RSA7 increasing. I also can see new entries in table TRFCQOUT with status READY. (either in SE16 or in SMQ1 )
    The problem is :
    - in RSA7, if I want to display the posted data, system returns an empty list (whereas the counter is different from 0)
    - when I run a delta InfoPackage, no data is sent to BW, but in table TRFCQOUT, status has been changed to READ for entries that previously had status READY (and old entries that had status READ due to a previous delta upload are deleted)
    Does anyone has any idea about the reason of the issue ?
    Thanks for any help
    AJ

    Sure, I can.
    The problem was in the specific coding that update the delta queue : not all the fields were updated and some of these fields were used as selection criteria in th delta infopackage...
    in RSA7, when you try to see the data in the queue, the system only shows you the records that match the selection criterias of your delta IP...so in our case, because of those empty fields, no records were selected...
    AJ

  • How to copy a generic extractor with function module into a new system?

    Dear Gurus,
    i would like to know how i can copy a gneric datasource with function module from one system to the target system.
    Thank you
    Cheers

    Hi Anesh,
    thank you for replying.
    Since the Datasource will have a new new in the new system, i will create a new one.
    Create a generic datasource base on the table is not the problem.
    My problem is how could i copy the FM in the new system?
    If you can help me on that, it will be fine.
    Thanks

Maybe you are looking for