Delta Logic  on 2LIS_INV_06

Hello All,
I am working on developing an extractor in 4.6c version.
This extractor will be similar to the extractor 2LIS_06_INV, since this extarctor is available in ECC vesrion i need to develop this in 4.6c in order to extract data into our BW system.
I want to know some information about this extractor.
I want to know what is the delta logic used in this extractor, based on which field does the delta mode work.
Thanks in advance for your answers.
Regards,
Srikiran

It is just an other LO datasource.
Delta Process for datasource is ABR.
<i>Forming deltas with after, before and reverse images that are updated directly in the delta queue; an after image shows the status after the change, a before image the status before the change with a negative sign and the reverse image also shows the negative sign next to the record while indicating it for deletion. This serializes the delta packets. The delta process controls whether adding or overwriting is permitted. In this case, adding and overwriting are permitted. This process supports an update in an ODS object as well as in an InfoCube. (technical name of the delta process in the system): ABR)</i>
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/84/81eb588fc211d4b2c90050da4c74dc/content.htm">Source</a> !!
Follow LO Extraction Steps. ( Search SDN )

Similar Messages

  • Regarding the Delta Logic in the Report

    Hi Abap gurus,
    i have selection screen for 3 fields in one block called material, plant and extract date.  if the user selects the extract date as todays date then data has to fetch the as per todays date. 
    i have two radio buttons on the selection screen for the second block. one is change material and second is all materials.
    if user clicks on first radio button then only change material    and aslo newly posted records for that date  has to come.
    how to build the logic for this?  i have developed upto first part.  data is coming fine. how to build the delta logic?  i am working for the site receipts.  guide me in this issue. if possible post the code.

    Hi,
    [here you find lots of sample reports, |http://help.sap.com/abapdocu_702/en/index.htm]
    Hope it solves your question.
    Regards,
    Clemens

  • Generic Extractor using FM with Delta Logic

    Hi,
    i want to create a generic extractor with Delta Logic based on a FM.
    The extractor works fine for full loads (extractor method "F" or "C"), but delivers no record for the extractor method "D" (Delta). I placed a hard coded break-point in the FM, so that the processing should stop while testing it with TC "rsa3". Using the extractor method "D" the debugger doesn't stop. So it seems, that this FM will not be processed for method "D". What could be wrong?
    I tried different ways to create the generic extractor:
    First i copied the template "RSAX_BIW_GET_DATA_SIMPLE" and tried to get the information for delta-run by "LOOP AT i_t_select INTO l_s_select WHERE fieldnm = 'DATE_FIELD'." But as the processing for method "D" does not consider the FM, there is no chance to get delta data.
    On second try i used the template "RSAX_BIW_GET_DATA" and changed "EXMETHOD" from "F1" to "F2" in table ROOSOURCE for the Data Source. In this case i get information about the Update mode (Parameter i_updmode). But the processing leaves the FM for extractor method "D" out too.
    Does anybody know, why the FM is not processed for extractor method "D"?
    Is there another way to get delta capable extractors based on FMs?
    Thanks for help in advance!

    Hello
    See this blog which uses the same FM with explanation
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    See this forum too
    Generic Delta Function Module
    Other docs
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
    http://help.sap.com/saphelp_nw04/helpdata/en/37/4f3ca8b672a34082ab3085d3c22145/content.htm
    Thanks
    Chandran

  • 0FI_GL* Delta Logic

    Hi
    I am trying to understand GL extractors Delta Logic.
    Today i executed  Delta at around 3:00 AM and there are some posting made between 9:00 AM to 02:00 PM
    Againg executed Delta ...it brought some records but not the posting made todad
    WHY
    and In the standard currently the extraction logic allows only for an extraction once per day without overlap
    What is it me wether
    1) Delta will bring records once per day
    or
    2)Delta will bring only Posting Older one day
    Please explain
    Thanks in advance

    Check OSS note 485958: --
    Symptom The FI line item delta DataSources can identify new and changed data only to the day because the source tables only contain the CPU date and not the time as time characteristic for the change. This results in a safety interval of at least one day. This can cause problems if the batch processing of the period-end closing is still running on the day following the period-end closing and all data of the closed period is to be extracted into BW on this day. Example: The fiscal year of the company ends on December 31, 2002. On January 01, 2003, all data of the closed fiscal year is to be extracted into BW.In this case, the FI line item delta DataSources only extract the data with a safety interval of at least one day. This is the data that was posted with a CPU date up to December 31, 2002. However, the batch programs for closing the 2002 fiscal year are still running on January 01, 2003. The postings created by these programs with a January 01 date for the 2002 fiscal year can therefore only be extracted with delta extraction on January 02, 2003. However, extraction should already be possible on January 01, 2003. Other terms FI line item delta DataSources 0FI_AP_4; 0FI_AR_4; 0FI_GL_4 Reason and Prerequisites This problem is caused by the program design. Solution The functions are enhanced as of PI 2002.1, standard version. Due to a customized setting, it is now possible for the FI line item extractors to read the data up to the current date during the delta runs. During the next delta run, the data is then read again from the day when the previous extraction was called, up to the current day of the call for the new extraction.This means that the delta extraction of the data always occurs with time intervals overlapping by one day. The delta calculation by the ODS objects ensures that the repeatedly extracted data does not cause duplicate values in the InfoCube. Activate the new functions as follows: 1. PI 2001.1 or PI 2001.2: Implement the new functions with the correction instructions in this note.As of PI 2002.1, these changes are already implemented in the standard version. 1. Start a test run for an FI line item DataSource via transaction RSA3. 2. Two new parameters are now available in the BWOM_SETTINGS table. 3. Parameter BWFIOVERLA (Default _) Set this parameter to "X" using transaction SE16, to activate the new function of overlapping time intervals. Caution The new function also uses a safety interval of one day to determine the To value of the selection, if the time limit set by BWFITIMBOR is not reached.This means that only data up to the day before the extraction was called is selected, if the extraction starts before 02:00:00 (default for BWFITIMBOR). Correction: Parameter BWFITIMBOR (Format HH:MM:SS, default 020000) The default value for this parameter is 02:00:00.Do not change this value. If this time limit is not reached, only data up to the previous day (with BWFIOVERLA = 'X') or the day before this day (with BWFIOVERLA = ' ') is selected. This logic prevents records with a CPU date of the previous day being contained in the posting when the extraction is executed.

  • DBConnect field type DATETIME for delta-logic

    Hi guys
    I`m extracting a dbconnect table (mssql-db) with field TS (timestamp).
    This field I`m treansferring to a CAHR 23 Infoobjekt (Z1CFS0148).
    After activating the data in ODS (T1CFS32W)  I want to use this information to build a delta,
    using infopackage-selections in for the next loads.
    I`m using the following code:
      DATA: L_W_RANGE LIKE LINE OF L_T_RANGE,
            LV_STAMP TYPE /BIC/OIZ1CFS8006,
            L_IDX LIKE SY-TABIX.
    read tables
      READ TABLE L_T_RANGE INTO L_W_RANGE
        WITH KEY FIELDNAME = 'Z1CFS8006'.
      L_IDX = SY-TABIX.
      SELECT MAX( /BIC/Z1CFS8006 ) FROM /BIC/AT1CFS32W00 INTO LV_STAMP
      WHERE /BIC/Z1CFS0148 = 'DEL'.
      IF LV_STAMP IS NOT INITIAL. " first or following run
        L_W_RANGE-LOW       = LV_STAMP.
      ELSE.
        L_W_RANGE-LOW      = '1900-01-01 01:01:01.001'.
      ENDIF.
    fill result
      L_W_RANGE-IOBJNM    = ''.
      L_W_RANGE-FIELDNAME = 'TS'.
      L_W_RANGE-SIGN      = 'I'.
      L_W_RANGE-OPTION    = 'BT'.
      L_W_RANGE-HIGH      = '2111-11-11 11:11:11.111'.
    Übergabe an Ergebnistabelle
      MODIFY L_T_RANGE FROM L_W_RANGE INDEX 1.
      P_SUBRC = 0.
    In the first run, everything is working fine.
    The first real "delta" is running into an error:
    database-failure 242 on OPC; value out of validity
    this are the selcted from/to values:
    FROM: 2011-01-19 20:16:08.217
    TO:       2111-11-11 11:11:11.111
    any ideas??
    Thanks a lot, regards
    Tom

    Hi Sven
    Thanks for your reply.
    Yes, you are right the communication and its formats are always depending on the adjusted language!
    2. of course;  that is what I wanted, to get the latest data again, because Iàm on dev-system
    How ever, thx a lot, u just made my day!
    regartds
    Tom

  • 0FC_BP_ITEMS delta functionality

    Hi,
    We are planning to implement datasource 0FC_BP_ITEMS for Open and clear items.
    I just wanted to understand how this datasource delta functionality works.
    SAP has mentioned how we can implement delta. The process is as below. But didnt mentioned how delta works here.
    If you want to use the delta method, you first have to activate it in the Implementation Guide for Contract Accounts Receivable and Payable under Integration Business Intelligence Maintain Central Settings in the clients of the OLTP system.
    Can some one help me in understanding how the delta works for this datasource i.e Delta enable field, delta logic and all
    Thaks & Regards,
    Anand

    Hi,
    Thanks for the reply.
    In RSA2 i can find whether the datasource is Delta capable or not.
    Yes, this datasource is delta capable. But i didnt find the field on which field the delta is ebnables and what is the logic it is using to extract data.
    More over SAP mention as below while describing the Datasource 0FC_BP_ITEMS.
    If you have a lot of data to initialize in the OLTP system, you can create several InfoPackages with disjointed selections on the field CPUDT to make the delta initialization parallel. The best way would be to start an InfoPackage with the selection of a particular period (for example, 1st of January of the current year until 31.12.9999), so that you can start the delta upload immediately afterwards for all business partner items that were or are created after the start date.
    So can we understand the CPUDATE is delta field?? If it is so, what would be the logic in extracting the delta.
    Please advice.
    Thanks in Advance.
    Regards,
    Anand

  • 0FC_BP_ITEMS: ERP customizing and delta mechanism

    Hi BI fans
    I have two questions:
    1.) The following link describes how to make the settings for delta enabling of datasource 0FC_BP_ITEMS:
    http://help.sap.com/saphelp_nw70/helpdata/en/27/42073e774a4329b6dd6bab21eef613/frameset.htm
    Prerequisites-
    "...If you want to use the delta method, you first have to activate it in the Implementation Guide for Contract Accounts Receivable and Payable ->  Integration Business Intelligence -> Maintain Central Settings in the clients of the OLTP system..."
    But I cannot find the setting for "Maintain Centrall Settings" in the implementation guide!
    Any idea from your side?
    What I see are entries for:
    Define Fields for the Extraction of Items
    Define Grid for Grouping of Items
    2.) What is the exact delta logic of this extractor (working through function module)?
    Which fields are relevant for the delta logic?
    Thanks
    BEOplanet

    Hi Andrea
    First of all I activated the whole content (datasource, BW content, etc.).
    Regarding the pseudo-delta on CPUDT I have designed a BEx variable on a DATS 8 time characteristic, e.g. 0NETDUEDATE. It is a BEx variable feeded by a customer exit, you will find a sample coding below. Furthermore an interval variable, mandatory input.
    Screen for BEx variable properties:
    Assign this BEx variable into your infopackage for intended use of pseudo-deltas, type OLAP-variable:
    The sample coding below gives you an idea about our pseudo-delta mechanism, from 1st. of last month until sy-datum.
    Data wa1 like line of e_t_range.
    data d1 type d.
    data fdate type d.
    data fyear type d.
    data ldate type d.
    data fmonth type d.
    case i_vnam.
    when 'ZL2MTDY'. "BEx variable on 0NETDUEDATE or any other DATS 8 time characteristic
    d1 = sy-datum.
    fdate = d1 - 31.
    fdate+6(2) = '01'.
    ldate = sy-datum.
    wa1-opt = 'BT'.
    wa1-sign = 'I'.
    wa1-low = fdate.
    wa1-high = ldate.
    append wa1 to e_t_range.
    ENDCASE.

  • Deltas in generic extractor

    I am trying to have more then one field in my generic extractor as a delta and so far i can only set one field as delta in my generic extractor....can someone help me in setting more than one field as a delta in my custom generic extractor ????

    The last delta performed will be stored in the ROOSGENDLM table....
    Use this value and then fetch the delta pointers you need..
    Here is how I would do it...
    In the FM :
    Look up value of DELTAID from table ROOSGENDLM for your datasource - this will give details of the last delta performed..
    Then use this value and search for the actual delta pointers in your custom table - then perform your delta logic within the FM...
    P.S The entry in ROOSGENDLM will come only after you init the datasource...

  • Extractor on Function Module Not Passing Deltas

    Hi Experts,
    We have created an extractor on a function module in ERD and initialized it in BWD with no issue. However, when we change a record in ERD, the delta is not passed to BWD. We have debugged the function module and it appears the records are being written to the BW Delta Queue tables but they are not visible in RSA7 and are not picked up by BW. We think there may be a problem in the Decode by Playback method writing the records back to the structure.
    The Generic Delta of the extractor is set to Additive Delta and the Delta Mode is AIM (After images by Delta Queue); however we have tried different modes to no avail. Any insight you can share is appreciated.
    Thanks,
    Michael

    Hi
    In FM check on which fields you have written delta logic, data will populate if we have changes to that field.
    we have some good documents on step by step of creating FM based generic extractors. check if you miss any steps
    http://explore-sapbw.blogspot.in/p/sdn-articles-extraction.html
    Regards,
    Venkatesh

  • Howt 2 delta with the extractor created on Function Module..

    hi there,
    can anybody tell me how to update delta with the extractor created on Function Module..
    rgds,
    amol

    refer to the document at the below link
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d3219af2-0c01-0010-71ac-dbb4356cf4bf
    Generic Extractor using FM with Delta Logic
    hope it helps,
    rgs,
    Parth.
    Edited by: Partho Mukherjee on Jan 12, 2009 6:00 PM

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

  • Delta in BI7

    HI,
    Can anyone please tell me the difference between various options for doing delta init in BI7.
    What I want to know specifically is we have the option to choose "delta init. extraction from..." and below we have four options
    Active Table (Wih Archive)
    Active Table (Without Archive)
    Archive (Full Extraction Only)
    Change Log
    what is the difference between these four options ?.
    Once we do a delta init using any of the above options, the following deltas would be from Change Log only....so what would be the impact if i chose the delta init from Active table and then normal deltas from Change Log.
    Please let me know ur thoughts.
    Thanks,
    KR

    Hi,
    BW Data Manager: Extract from Database and Archive?
    The settings in the group frame Extraction From... or Delta Extraction From... of the Data Transfer Process maintenance specify the source from which the data of the DTP is extracted.  For a full DTP, these settings apply to all requests started by the DTP. For a delta DTP, the settings only apply to the first request (delta initialization), since because of the delta logic, the following requests must all be extracted from the change log.
    For Extraction from the DataStore Object, you have the following options:
    Active Table (with Archive)
    The data is read from the active table and from the archive or from a near-line storage if one exists. You can choose this option even if there is no active data archiving process yet for the DataStore object.
    Active Table (Without Archive)
    The data is only read from the active table. If there is data in the archive or in a near-line storage at the time of extraction, this data is not extracted.
    Archive (Only Full Extraction)
    The data is only read from the archive or from a near-line storage. Data is not extracted from the active table.
    Change Log
    The data is read from the change log of the DataStore object.
    For Extraction from the InfoCube, you have the following options:
    InfoCube Tables
    Data is only extracted from the database (E table and F table and aggregates).
    Archive (Only Full Extraction)
    The data is only read from the archive or from a near-line storage.
    hope it helps...
    regards,
    Raju

  • Delta Compressed and Deleted in the stage before .

    Hi all,
    i have a critical issue with an Delta logic in one of my Cubes.
    A wrong ( logical ) Delta request was already Compressed in the Cube and Deleted in the stage before . This avoids further Delta Rquests in the Cube. By trying to request a delta i will be prompt to repeat the missing delta and it fails because of the missing request in the ODS. I cant reload the cube because of 14 Mio records this would take to long.
    anyone an Idea how to correct the delta flow without reloading everything?
    Many thanks in advance.
    Regards
    Ali

    see in rsa7 the content of the repeat, are you able to do a selective delete from your cube to remove only that data?
    If you can't manage that, you could set a repair request that fits the data you'll need to delete (date range? product? customer?) and only load the repair in the cube.
    To have the delta work fine again, set the original request to red and delete in the ODS as well and then run the repeat, you can't run the repeat as long as the request is in the ODS.

  • Init with out data transfer and DELTAS

    Dear Gurus,
    I created Generic data source using Function module on FAGLFLEXT table. Here i used TimeStamp for capturing DELTAS. In the first run while loading into PSA i selected INIT WITH DATA TRANSFER then it got failed. Again i deleted INIT Request in Schedular and RUN INIT WITH OUT DATA TRANSFER then it got Sucess. Again i run Delta then it also it got failed. Again i deleted the INIT Request and out FULL LOAD. IT got success. May i know why MY Deltas are getting Failed.even in R/3 side when i checked in RSA7 then in status column and in Current Status Tab it showing time stamp field like this . . : :.
    I got Stuck up I dont know what to do............
    Can one kindly give solution for this.
    Thanks,
    Sony

    Debug your generic DataSource, using RSA3, to determine why the delta failures are occurring. It's most likely in the delta logic portion of your custom Function Module.

  • Missing delta records for the Z extractor

    Hi,
    I have created a Z extractor for the table BUT050 in CRM. I have created a function module and have included the delta logic on CRDAT which is the created date, CRTIM - created time, CHDAT - change date, CHTIM - Change time. I have initialed the delta and started doing the delta loads. I found that there are few missing records in the extractor when compared to the table. I'm attaching my code below.Can anyone please look into it and tell me what the issue is.
    Text removed by moderator
    Thanks
    FUNCTION Z_BI_CC_BUT050.
    *"*"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  ZBI_BUT050 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_RELNR FOR ZBI_BUT050-RELNR,
               l_r_PARTNER1 FOR ZBI_BUT050-PARTNER1,
               l_r_PARTNER2 FOR ZBI_BUT050-PARTNER2,
               l_r_DATE_TO FOR ZBI_BUT050-DATE_TO,
               l_r_ZZTMSTMP FOR ZBI_BUT050-ZZTMSTMP.
       DATA : startdate LIKE sy-datum,
              starttime LIKE sy-uzeit,
              enddate LIKE sy-datum,
              endtime LIKE sy-uzeit,
              tstamp LIKE tzonref-tstamps,
              timezone type TZONREF-TZONE.
       RANGES: l_r_CRDAT FOR ZBI_BUT050-CRDAT,
                       l_r_CRTIM FOR ZBI_BUT050-CRTIM.
    * 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 'ZCC_MA_BUT050'.
           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 = 'RELNR'.
             MOVE-CORRESPONDING l_s_select TO l_r_RELNR.
             APPEND l_r_RELNR.
           ENDLOOP.
          LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'PARTNER1'.
             MOVE-CORRESPONDING l_s_select TO l_r_PARTNER1.
             APPEND l_r_PARTNER1.
           ENDLOOP.
           LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'PARTNER2'.
             MOVE-CORRESPONDING l_s_select TO l_r_PARTNER2.
             APPEND l_r_PARTNER2.
           ENDLOOP.
           LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'DATE_TO'.
             MOVE-CORRESPONDING l_s_select TO l_r_DATE_TO.
             APPEND l_r_DATE_TO.
           ENDLOOP.
    * Timestamp is delivered as a selection criterion.
    * Split the timestamp into date and time
          LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'ZZTMSTMP'.
             tstamp = l_s_select-low.
             timezone = 'EST'.
             CONVERT TIME STAMP tstamp TIME ZONE timezone
              INTO DATE startdate TIME starttime.
             tstamp = l_s_select-high.
             CONVERT TIME STAMP tstamp TIME ZONE timezone
              INTO DATE enddate TIME endtime.
             l_r_CRDAT-low = startdate.
             l_r_CRDAT-sign = l_s_select-sign.
             l_r_CRDAT-option = l_s_select-option.
             l_r_CRDAT-high = enddate.
             APPEND l_r_CRDAT.
             l_r_CRTIM-low = starttime.
             l_r_CRTIM-sign = l_s_select-sign.
             l_r_CRTIM-option = l_s_select-option.
             l_r_CRTIM-high = endtime.
             APPEND l_r_CRTIM.
           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
    * Use the l_r_erdat and l_r_erfzeit for both creation and change selections
    * This way we can pick up both the creations and changes in a given time period.
           SELECT * FROM BUT050
                  WHERE RELNR IN l_r_RELNR
                   AND PARTNER1 IN l_r_PARTNER1
                   AND PARTNER2 IN l_r_PARTNER2
                   AND DATE_TO IN l_r_DATE_TO
                   AND ( CRDAT >= startdate AND ( CRTIM >= starttime OR ( CRDAT <= enddate AND CRTIM <= endtime ) ) )
                   OR ( CHDAT >= startdate AND (  CHTIM >= starttime OR ( CHDAT <= enddate AND CHTIM <= endtime ) ) ).
         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.
    Message was edited by: Matthew Billingham

    Hi,
    As per my knowledge you want load particular period of data try repair request may issue solve.
    Regards
    Sivaraju

Maybe you are looking for

  • G3 beige minitower doesn't see HDD

    I just tried putting a new hard 80GB unformatted drive into a Beige G3 minitower (300Mhz) whose original HDD failed long, long ago. The G3 itself had not been booted in nearly two years. Everything about the machine seems to be working fine--the flop

  • How to I get my music from my iphone to my new macbook

    My Macbook was stolen last month.  I have replaced my macbook and was wondering how to get all my music from my iphone on to my new macbook?  I thought Icloud would save my files, photos and music but it apparently did not.  Any help is appreciated.

  • PreparedStatement executeBatch

    Hi Guys! I'll be executing multiple sql statement and I'm using executeBatch of PreparedStatement. But I'm having some problem when I get errors during the execution (e.g. UNIQUE CONSTRAINT). The process stops on that point. What I want to happen is

  • Assign IP by Radius

    Hello, I need that the Radius Server (Radiator) assign an IP address to the client that connects to one AP1100 (IOS 12.2). Despite the Radius register that send the IP Address to client, thiss don't accept the IP. ** Sending to 172.29.3.1 port 21672

  • Apps listed in free list but showing as paid

    Hi, I have an iPad 4. Yesterday I found that some apps (Numbers, Keynote) are appearing on the "Top Free" list but showing a price tag beside it. The same apps is showing free on another iPad (iPad Air) of my friend with his own apple ID. What can be