Problem understanding delta extraction BI Content DS 0FI_GL_6

Hi SAP experts,
I am trying to understand delta loads for 0FIGL_C01 with DataSource 0FI_GL_6. This DataSource uses delta procedure AIE. I have got two literature sources telling me, that the delta queue of the source system is populated  even if the delta is a pulled delta like in this case (http://help.sap.com/bp_biv270/documentation/FunctionInDetail_DE.pdf page 23 and SAP BI lecture notes). However, http://help.sap.com/saphelp_nw04/helpdata/en/41/4b73415fb9157de10000000a155106/content.htm claims that deltas from DS 0FI_GL_6 are transferred directly to SAP BI passing by the delta queue. 
Looking at transaction RSA7 in the source system, it tells me that there is a delta queue for 0FI_GL_6 with 1 LUW. However if I take a look on this LUW data is showed only for "delta repeat" but not for delta upload. I haven't done any delta repeat.
Can somebody tell me if DataSource 0FI_GL_6 uses the delta queue, which of the contradictory literature is correct and why I can't see any data there for delta uploads??
Thank you very much in advance
Martin

Hi Boris
Have you made an initialisation?
Regards
C.

Similar Messages

  • Problem while delta extraction

    Dear Experts,
    I am facing a poblem while delta extraction for AR ODS. When I check the status of delta extraction it shows green and records transferred as well but when i check into BW side I find some records missing. When I faced this problem for first time I did the init load again after which all records came into BW side but subsequently again when some changes were made in R/3 side and delta was uploaded, again the same records were found missing.
    If anyone has any idea why this is happening please guide me as to how to go about it. Also I have given no filter conditions in data selection.
    Thanks in advance. Will assign points happily for any kind of assistance.
    regards
    akshat

    Hi,
    the standard delta extraction is not sensitive to program in the R/3 side that write directly into tables. For my experience, this is the only reason when the delta does not work.
    So, check with the R/3 people, if they are input account document by write directly into BSIS or BSAS.
    Rgs
    Antonino

  • Problems with Delta Extraction for 0CRM_OPPT_H (no data found)

    Hi,
    I've some problems with the Delta Extraction of the Infosource 0crm_oppt_h (CRM Opportunities Header). After initialization I get no delta data from the CRM system.
    What I already did:
    Activated 0crm_oppt_h Data Source (checked functionality with rsa3)
    Started Info Package (Init) on BW side (worked fine)
    Checked the status of the Data Source on the CRM system using BWA7 ("initial upload" is unmarked; "delta active" is marked and what makes me worry is that the column "Queue exists" in <i>unmarked</i>...)
    If I change anything (like Phase, Expected Sales Vol.) in the opportunity, the Delta Extraction get no changes.
    Could You help me out, please?
    Best regards,
    Markus Svec

    hi Markus,
    try to check oss note 788172
    Release Status Released for Customer
    Released on 23.03.2005
    Priority Correction with high priority
    Category Program error
    Symptom
    No data exists in delta extraction from the CRM server to the BW system for business transactions, if parallel processing is applied as per note 639072. But Data is extracted if parallel processing is switched off.ie. when BWA_NUMBER_OFF_PROCESSES is set to 1,there is data during delta. This applies to the following DataSources:
    0BBP_TD_CONTR_1
    0CRM_COMPLAINTS_I
    0CRM_LEAD_ATTR
    0CRM_LEAD_H
    0CRM_LEAD_I
    0CRM_OPPT_ATTR
    0CRM_OPPT_H
    0CRM_OPP T_I
    0CRM_QUOTATION_I
    0CRM_QUOTA_ORDER_I
    0CRM_SALES_ACT_1
    0CRM_SALES_CONTR_I
    0CRM_SALES_ORDER_I
    0CRM_SRV_CODES
    0 CRM_SRV_CONFIRM_H
    0CRM_SRV_CONFIRM_I
    0CRM_SRV_CONTRACT_H
    0CRM_SRV_PROCESS_H
    0CRM_SRV_PROCESS_I
    Other terms
    DataSources, BWA, initial extraction, delta init, parallel processing, no data in delta.
    Reason and Prerequisites
    There is an update on the generated delta table which causes data corruption in running delta initializations as the changed delta sets will be deleted with every further update on documents. An open cursor statement is there without fetch data in SMOX3_GET_DATA.
    Solution
    The problem is solved with the attached corrections.After applying the corrections a new initialization of the affected datasources is necessary.

  • Problem in Delta Extraction

    Hi Firends,
    I created a DS out of a  Function module. The source table is a Z table with following data
    MANDT MATNR                WERKS  STLNR    ANDAT      AEDAT      AENAM        VALUE
    100   000000000000000184   1500   00001500 18.08.2006 15.08.2006 SANDEEP      0000002500
    100   000000000000000364   KOPL   00001825 19.08.2006 17.08.2006 SASI         0000003500
    100   AUDCOMAT12           1111   00001980 22.12.2006 22.12.2006 DEVELOPER    0000005600
    100   AUDCOMAT12           1500   00001500 15.08.2006 15.08.2006 DEVELOPER    0000001600
    My FM is as follows:-
    FUNCTION ZSAN_BIW_MAST1.
    ""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
    *"  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  ZSAN_MAST OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    Example: DataSource for table SFLIGHT
      TABLES: ZSAN_MAST.
    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_MATNR  FOR ZSAN_MAST-MATNR,
              L_R_AEDAT  FOR ZSAN_MAST-AEDAT.
    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 'ZSAN_DS_MAST'.
          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 = 'MATNR'.
            MOVE-CORRESPONDING L_S_SELECT TO L_R_MATNR.
            APPEND L_R_MATNR.
          ENDLOOP.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'AEDAT'.
            MOVE-CORRESPONDING L_S_SELECT TO L_R_AEDAT.
            APPEND L_R_AEDAT.
          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 ZSAN_MAST
                                   WHERE  AEDAT  gt L_R_AEDAT-LOW.
        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 did the initializiation with out data transfer and it pulled one record as expected.
    But when i do a delta update it dosent pull any record from the table inspite of having ---" AEDAT  gt L_R_AEDAT-LOW. " in my code.
    As per me it should have pulled 2 records from my ZTable, the 2nd and 3rd record, but it dosen't
    I made the delta on AEDAT field and the
    'Date of Last change' in Generic Delta is - '16.08.2006'.
    Can any one suggest what the problem could be ?
    Thanks
    Regards,
    Dutta

    Without knowing everything, here is an example of what I have done. This FM extracts MARC changes on specific fields.
    FUNCTION ZBSV_BW_EXTRACT_MARC_CNGS.
    ""Local interface:
    *"  IMPORTING
    *"     REFERENCE(I_DSOURCE) TYPE  SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
    *"     REFERENCE(I_INITFLAG) LIKE  RSAAPI_IF-INITFLAG OPTIONAL
    *"     REFERENCE(I_MAXSIZE) TYPE  SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
    *"     REFERENCE(I_REQUNR) TYPE  SRSC_S_IF_SIMPLE-REQUNR OPTIONAL
    *"  TABLES
    *"      I_T_SELECT STRUCTURE  RSSELECT OPTIONAL
    *"      I_T_FIELDS STRUCTURE  RSFIELDSEL OPTIONAL
    *"      E_T_DATA STRUCTURE  CDRED OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    FM: ZBSV_BW_EXTRACT_MARC_CNGS
    Author: Steve Wilson
    Dev. Class: ZZBW
    Date: 11/29/2005
    Description:
    This FM is used to collect relevant MARC Changes
    This BIW FM uses an SAP Standard FM to collect Change documents.
    There are only 4 fields we care about checking changes on currently.
    Mod date  Programmer    Reference   Description
    06SEP05   Steve W.      CA2K930787  Initial Development ip: 2877190
                   DATA DECLARATION                                      *
      RANGES:  R_DATUM FOR SYST-DATUM.   "Change date
      REFRESH: S_DATUM.
    Maximum number of lines for DB table
      STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,
    counter
       S_COUNTER_DATAPAKID LIKE SY-TABIX,
       START_IDX LIKE SY-TABIX,
       END_IDX LIKE SY-TABIX.
                  BEGIN OF PROCESSING                                    *
      IF I_INITFLAG = SBIWA_C_FLAG_ON.
    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.
      ELSE.
    First data package
        IF S_COUNTER_DATAPAKID = 0.
        get changed date selection
          LOOP AT I_T_SELECT WHERE FIELDNM EQ 'UDATE'.
            R_DATUM-SIGN = I_T_SELECT-SIGN.
            R_DATUM-OPTION = I_T_SELECT-OPTION.
            R_DATUM-LOW = I_T_SELECT-LOW.
            R_DATUM-HIGH = I_T_SELECT-HIGH.
            IF R_DATUM-HIGH EQ SPACE.
             R_DATUM-HIGH = '99991231'.
            ENDIF.
            APPEND R_DATUM.
            EXIT. "Only want 1 record, ignore others
          ENDLOOP.
          CALL FUNCTION 'CHANGEDOCUMENT_READ'
            EXPORTING
              ARCHIVE_HANDLE                   = 0
            CHANGENUMBER                     = ' '
              DATE_OF_CHANGE                   = R_DATUM-LOW
              OBJECTCLASS                      = 'MATERIAL'
            OBJECTID                         = ' '
            TABLEKEY                         = ' '
              TABLENAME                        = 'MARC'
              TIME_OF_CHANGE                   = '000000'
            USERNAME                         = ' '
            LOCAL_TIME                       = ' '
              DATE_UNTIL                       = R_DATUM-HIGH
              TIME_UNTIL                       = '235959'
            TABLES
              EDITPOS                          = ITAB_CDRED
           EXCEPTIONS
             NO_POSITION_FOUND                = 1
             WRONG_ACCESS_TO_ARCHIVE          = 2
             TIME_ZONE_CONVERSION_ERROR       = 3
             OTHERS                           = 4.
          IF SY-SUBRC <> 0.
           RAISE NO_MORE_DATA.
          ELSE.
           LOOP AT ITAB_CDRED. "Keep fields
            IF ITAB_CDRED-FNAME+0(5) NE 'DISPO' AND
               ITAB_CDRED-FNAME+0(5) NE 'EISBE' AND
               ITAB_CDRED-FNAME+0(5) NE 'BSTRF' AND
               ITAB_CDRED-FNAME+0(5) NE 'SHZET'.
              DELETE ITAB_CDRED.
            ENDIF.
           ENDLOOP.
          LOOP AT ITAB_CDRED. "Keep Factories
            IF ITAB_CDRED-TABKEY+21(4) NE 'LX01' AND
              ITAB_CDRED-TABKEY+21(4) NE 'LX09' AND
              ITAB_CDRED-TABKEY+21(4) NE 'ZX01' AND
              ITAB_CDRED-TABKEY+21(4) NE 'CE01' AND
              ITAB_CDRED-TABKEY+21(4) NE 'CC01'.
             DELETE ITAB_CDRED.
            ENDIF.
          ENDLOOP.
          ENDIF.
          DESCRIBE TABLE ITAB_CDRED LINES COUNTER.
          APPEND LINES OF ITAB_CDRED FROM 1 TO I_MAXSIZE TO E_T_DATA .
          END_IDX = I_MAXSIZE.
          S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
        ELSE.
          IF END_IDX GE COUNTER.
            RAISE NO_MORE_DATA.
          ENDIF.
          START_IDX = END_IDX + 1.
          END_IDX = ( START_IDX + I_MAXSIZE ) - 1.
          APPEND LINES OF ITAB_CDRED FROM START_IDX TO END_IDX
                                                        TO E_T_DATA.
          S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
        ENDIF.
      ENDIF.

  • Help!  Problems with delta extraction

    Hi All,
    We've been trying to run a delta load of material master data and because there are so many change records (2.6m) it has been failing on memory errors.  We have now run full load and it completed successfully.  Ran delta again expecting that it would pull 0 records but it is still trying to pull all 2.6m records.  Ran init w/o data.  Ran delta again - still pulling 2.6m and failing. 
    Since we have successfully run full load, is it okay to delete the records from BDCP/BDCPS??
    Other suggestions??

    If you are not using it for other uses (eg. ALE with change pointers), it would be safe to remove the change pointers. You can use BD22 to delete them.

  • 0FI_GL_6 delta extraction

    Hello Guys,
    i have a problem with delta extraction for datasource 0FI_GL_6. With full extraction we have no problem but delta doesn't work.
    Seems the problem is in table  BWFI_AEDA2, in this table we should have all changed document (probably registered by the change pointer) with table key GLT0 but we have no entry with this key and we dont' know Why
    Do you know if we have to activate something? , why we have no entry in table BWFI_AEDA2 with GLT0 key ?
    Thanks in advance
    Boris

    Hi Boris
    Have you made an initialisation?
    Regards
    C.

  • 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 Extraction for 0FI_GL_6

    Hi,
    We are facing a problem in the delta extraction for the data source <b>0FI_GL_6</b>.  0 Records are populated into BW whereas in the Extract checker (RSA3) of the source system shows 1000 records. Moreover the delta queue (RSA7) has an entry for 0FI_GL_6 but no data is displayed inside it.
    Kindly advice.
    Reagards,
    Vidhya

    Hi,
    This extractor works based on time stamps so wait for a day to get the data.
    have a look of the thread :
    Re: delta not working for 0FI_GL_6 & 0EC_PCA_1
    Regards
    Happy Tony

  • 0FI_GL_6 Delta Extract Retuns 0 Records Since Patching

    Hi Gurus
    Following a desrepency in the balance sheet this month we have discovered that the 0FI_GL_6 extractor has not been returning any records since the systems were patched last month.
    According to the infopackage the delta has not been broken and the extract always completes successfully, but no data is extracted. Upon investigation we have found that the table BWFI_AEDA2 (on ECC) is not being written to with an entry for GLT0 whenever a GL posting takes place. It appears that the extracor first looks in this table to determine if new data exists in GLT0. (please confirm if this true).
    Has anybody else experienced this problem ?
    Is there a simple solution to this problem that will extract all the GL entries since the patching ? Or is this one for SAP support to sort out ?
    Regards
    Asif

    Hi Gaurav
    We are on EEC6 but we have not activated the new GL Concept.
    Looking at patch levels there are so many displayed in SPAM. I can see that most areas are at Support Pack 18 although Logistics and Accounting is at SP 15.
    Interestingly Dev is also broken but QA is working fine.
    Scott, will running RGZZGLUX fix the problem retrospectively. ie. since it was patched. We are missing about 1 month's of GL transactions in BW. Or will I need to do a repair load. Since there is a DSO involved I can get away with double loading some entries.
    Also, is there any way of telling if RGZZGLUX was run as part of patching. Is there execution history for this program?
    Regards
    Asif

  • Problem extracting the content of a big xml data

    Hello
    I'm trying to use a web service that needs and returns big messages (>1Mo).
    Could you tell me if I do something wrong ? (I have a problem with the extract function at the end of the process)
    For this I modified the soap_api package to use clob for the envelope instead of varchar2.
    Sending a message works well, I modified the part of the invoke function that does this to
    send the message chunked :
    generate_envelope(p_request, l_envelope, p_type);
    --show_envelope(l_envelope);
    l_http_request := UTL_HTTP.begin_request(p_url, 'POST','HTTP/1.1');
    UTL_HTTP.set_header(l_http_request, 'Content-Type', 'text/xml');
    UTL_HTTP.set_header(l_http_request, 'Content-Length', LENGTH(l_envelope));
    UTL_HTTP.set_header(l_http_request, 'Transfer-Encoding', 'chunked' );
    UTL_HTTP.set_header(l_http_request, 'SOAPAction', p_action);
    --UTL_HTTP.write_text(l_http_request, l_envelope);
    v_clob_length := dbms_lob.getlength(l_envelope);
    loop
        if (v_end > v_clob_length) then
            v_end := v_clob_length;
            v_length := v_end - v_start + 1;
        end if;
        v_chunk_data := null;
        v_chunk_data := DBMS_LOB.SUBSTR(l_envelope, v_length, v_start);
        UTL_HTTP.write_text(l_http_request, v_chunk_data );
        if (v_end = v_clob_length) then
            exit;
        end if;
        v_start := v_end + 1;
        v_end := v_start + 2000;
    end loop;
    After that I modified the function to retrieve the message line by line instead of in one block :
    l_http_response := UTL_HTTP.get_response(l_http_request);
    --UTL_HTTP.read_text(l_http_response, l_envelope);
    l_envelope := null;
    begin
      LOOP
        utl_http.read_line(l_http_response, v_line, TRUE);
        v_line_clob := v_line;
        l_envelope := l_envelope || v_line_clob;
      END LOOP;
    UTL_HTTP.end_response(l_http_response);
    exception
      WHEN utl_http.end_of_body THEN
        utl_http.end_response(l_http_response);
    end;
    --show_envelope(l_envelope);
    l_response.doc := XMLTYPE(l_envelope);
    l_response.envelope_tag := p_request.envelope_tag;
    (I modified the show_envelope function to save the xml in a file and the message is completed and the creation of the xmltype returns no errors)
    But the last part that I didn't change doesn't work :
    l_response.doc := l_response.doc.extract('/' || l_response.envelope_tag || ':Envelope/' || l_response.envelope_tag || ':Body/child::node()',
                        'xmlns:' || l_response.envelope_tag || '="http://schemas.xmlsoap.org/soap/envelope/"');
    show_envelope(l_envelope);
    It should remove the <soap:Envelope> and <sopa:Body> part but they still exists after the extract.
    This is an example of the xml I receive from the web service :
    <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><getResultTestRetourStringResult xmlns="http://www.verlingue.fr/WSCalculTarificateur/"><Resultat>
    </Resultat></getResultTestRetourStringResult></soap:Body></soap:Envelope>

    Maybe because you are using l_envelope when calling show_envelop?
    l_response.doc := l_response.doc.extract('/' || l_response.envelope_tag || ':Envelope/' || l_response.envelope_tag || ':Body/child::node()',
                        'xmlns:' || l_response.envelope_tag || '="http://schemas.xmlsoap.org/soap/envelope/"');
    show_envelope(l_envelope);
    It's really hard to tell from your snippets of code, some of which have nothing to do with the issue.  The following works for me just fine on 11.1.0.6
    declare
      l_doc   XMLTYPE;
      l_snip  XMLTYPE;
    begin
      l_doc := XMLTYPE('<?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <soap:Body>
          <getResultTestRetourStringResult xmlns="http://www.verlingue.fr/WSCalculTarificateur/">
             <Resultat></Resultat>
          </getResultTestRetourStringResult>
        </soap:Body>
    </soap:Envelope>');
      l_snip := l_doc.extract('/a:Envelope/a:Body/*','xmlns:a="http://schemas.xmlsoap.org/soap/envelope/"');
      dbms_output.put_line(l_snip.getStringVal);
    end;
    produces
    <getResultTestRetourStringResult xmlns="http://www.verlingue.fr/WSCalculTarificateur/">
      <Resultat/>
    </getResultTestRetourStringResult>
    I also get the same thing when using child::node() instead of *
    You'll notice that my namespace prefixes do not agree with what's in the XML.  That's okay.  Only the URI matters, not the prefix itself.  Since your URI is hard-coded, you could simplify the XPath as I showed so that it is easier to read.
    Welcome to the forums.
    Here is an always helpful read.
    Re: 2. How do I ask a question on the forums?

  • A problem with 1CL_OLIS002 and 1CL_OMAT001 extractors - delta extraction

    Hi
    I have a problem with 1CL_OLIS002 and 1CL_OMAT001 extractors - delta extraction.
    Interrelated extractors: 2LIS_11_VAITM and ZMATBATCH_Attr work well.
    For 1CL's extractors I see current data in RSA3 but I don't see LUWs in RSA7.
    Extractors send 0 records to BW.
    There is no entry in "BIREQU* " job logs like this:
    "Call customer enhancement BW_BTE_CALL_BW204010_E (BTE) with xxx records".
    which I find in job logs when all worked well.
    We had some problems with R3. I had to restart job "LIS-BW-VB-APPLICATION_13*".
    May be it has influence on these extractors?
    Any suggestions about how to resolve the problem?
    Regards
    PWnuk

    Hi
    Can you please share the solution of this problem with me,I am also facing same issue of Delta not working but full load is working in 1CL_OBI_001?
    Edited by: Aseem84 on Jan 12, 2011 10:23 AM

  • Business Partner Items (0FC_BP_ITEMS) delta extraction help

    Has anybody used 0FC_BP_ITEMS extractor? The documentation says that it supports delta, but it needs to be enabled.
    I did enable delta extraction in IMG as SAP help site suggested. However, the documentation also says that before running delta, I need to update/initialize it in tcode FPOP. I go to that tcode, but I can hardly understand what to do in that tcode and there is no help or documentation I can find on how to initialize that delta extraction for 0FC_BP_ITEMS in OLTP system.
    anybody came across any help document on FPOP tcode?
    Thanks

    Have you found a solution to the problems you were facing? is there any documentation you have regarding the BP Items extractor.

  • How to see deleted records in delta extraction from view

    Hi folks,
    i am currently reflecting about delta extraction from a view:
    The view contains a date field (change date) which is used to identify new or changed records.
    So the delta extraction of new and changed records works without problems.
    But what is happening with records that are deleted in the source system?
    My current understanding is that deleted records will not be shown in the view. Therefore the deletion is not visible in the extraction.
    - Is there a workaround for this problem?
    - How is deletion of records normaly handled in generic extractors? 
    - Is it impossible to extract a deletion when using views?
    any suggestions and help will be appretiated...
    bye

    Hello Florian,
    Generally records will not be deleted (until if you physically delete it from table) but will have a status deleted.
    So it doesn't matter whether you use view or tables the deleted records will be extracted through the view to update the BW data targets.
    Thanks
    Chandran

  • Error while doing DELTA Extraction

    Hi BW Experts,
    In my R/3, I have a generic data source ZBUT_VW.
    It receives data from a View which is created based on couple tables.
    When I do full load to the corresponding ODS, it is successful.
    But after that I delete the ODS and created CUBE with DELTA
    I have Initialized delta.
    When I do DELTA extraction, it fails.
    The error
    “The ALE inbox of the SAP BW is identical to the ALE outbox of the source system
    and/or
    the maximum wait time for this request has not yet run out
    and/or
    the batch job in the source system has not yet ended.”
    I delete the initialization load and trying to do DELTA extraction again and it Fails With the same error
    Please let me know how can I resolve this problem.
    URGENT
    gaurav

    I dont think it is possible to have to additive delta with creation date.
    Try a full load to cube to check if the extractor is working.

  • Error while doing DELTA Extraction (generic data source)

    Hi BW Experts,
    In my R/3, I have a generic data source ZBUT_VW.
    It receives data from a View which is created based on couple tables.
    When I do full load to the corresponding ODS, it is successful.
    But after that I delete the ODS and created CUBE with DELTA
    I have Initialized delta.
    When I do DELTA extraction, it fails.
    The error “The ALE inbox of the SAP BW is identical to the ALE outbox of the source system
    and/or
    the maximum wait time for this request has not yet run out
    and/or
    the batch job in the source system has not yet ended.”
    I delete the initialization load and trying to do DELTA extraction again and it Fails.
    With the same error
    Please let me know how can I resolve this problem.
    URGENT
    gaurav

    I dont think it is possible to have to additive delta with creation date.
    Try a full load to cube to check if the extractor is working.

Maybe you are looking for

  • How much power is used by a sleeping Mac?

    My power company sent me an email about "vampire power" used by a sleeping computer, and the estimate that the total is roughly $79.98 per year per computer, if the computer sleeps vs. being manually shut down.  Is this true of an IMAC?

  • Optimum setup to run Creative Suite Design Premium

    I'm planning on upgrading to CS5.  I'm in the process of configuring an iMac.  What is the optimum design to run CS5? I'm a serious photoshop hobbyist and learning how to use In Design.  I would like to be as cost effective as possible. Thanks Spdyob

  • CUPC 7.1 addin breaks outlook after kb2293428 patch is applied

    On our Windows XP sp3 with outlook 2003 once the patch is applied and the addin is enabled. You will get the "Outlook has encountered a problem an needs to close" when you launch outlook. Outlook will not launch untill you disable the addin. Any idea

  • How do I export screenshots to my PC?

    I don't know how to export my screenshots to my non-Mac PC.  I can export all my photographs but my screenshots do not show up in the folder. Can anyone give me a step by step guide please?

  • Login error Exception firing mainWindowOpened to oracle.jdevimpl.runner.deb

    HI, When i am opening sqldeveloper in my system it is giving below error. Please help me to solve the issue. Sql developer Version 3.1.07 Error in front end: Exception firing mainWindowOpened to oracle.jdevimpl.runner.debug.JDebugger@47fdc3 Source: o