Duplicate records in generic data source

Hello,
We have created a generic data source using a database view joing two tables MARA and MBEW.
When we run the view in our DEV server, we get perfectly fine data. Now when run the same view in QA, we get duplicate records.
Is it any thing to do with the CLIENT as in QA, we have 2 clients with same data.
MARA     MANDT     =     MBEW     MANDT
MARA     MATNR     =     MBEW     MATNR
This is what I mention in JOIN Conditions.
Hope I could explain my issue properly. Please HELP !
Abhishek

Please check the possibility of Multiple records for a given material in MBEW,as same material can be in multiple valuation areas
More over you will be executing extraction in one client so it is very unlikely that you see data of the other client
In dev normally we do not have good data to test so it seems like design is correct in dev

Similar Messages

  • Function modules transfer  repeated records in Generic data source

    Hello Friends ,
    I have created a FM to extract the data from fields of  tables BKPF and BSEG .
    This functional module is used in the Generic data source.
    Now if I check in RSA3 for this Generic data source,
    the records are coming 10 times instead of a single time.
    Means one records at data base table is showing ten records in RSA3.
    Any help please.
    Regards,
    Amol.

    Hi Amol,
      Can you please check the Fetch statement that you are using after opening the cursor and selecting data into it. It should be in the format below.
    FETCH NEXT CURSOR S_CURSOR APPENDING CORRESPONDING FIELDS OF TABLE                                                 E_T_DATA PACKAGE SIZE S_S_IF-MAXSIZE.
    Also are you incrementing data package ID or not by using the statement  
    S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
    Regards,
    Prakash B

  • Generic Data Source delta is not extracted

    Hi,
    There is a problem in extracting the delta records using Generic Data Source. Delta records ( New / Modified records ) are not posted in the RSA7.
    I'll Explain you the Scenario I have done. Created a generic data source in R/3 using view. In the view there is a field Sales Order No. I have enabled the delta update for this field. In the generic delta i have chosen delta type as Numeric pointer.
    Extracted the entire record using full update and after initializing the Delta, it extracts the delta record well ie. it only extracts the sequence of Sale Order No. First I extracted nine records(i.e 10001 to 10009) using full update. again I entered a record in underlying table with sale order no as 10011-10013. It extracts those records into BW system. Then again I made an entry in the table with sales order no 10010. But the record is not extracted. Even though I tried of specifying safety lower limit as -3. Still it not extracting the record(10010).
    And what if I posted a value of sale order 10014 with the same. what should I do?? Help on this plz.
    --Durai.S

    Hi SVS,
    Thanks for your reply.
    I followed this in my scenario. But I don't understand why it is not extracting? even I specified the safety limit of upper and lower values in the generic delta.
    Here the below explanation shows that the delta record can be extracted even  if the pointer value is greater than the posted value.
    Numeric pointer (last extracted value 10011; Data in underlying table (Max value = 10025) )
    Data would be extracted from a min-value of 10010 (lower limit adjusts the last counter 10011 by specified value u2013 1)
    max-value of 10020 (after adjustment for upper safety limit u2013 by 5). The current pointer would now indicate 10020 in
    RSA7.
    --Durai.S

  • Generic Data Source - Delta

    Hi,
    I am trying to extra delta record from generic data source, but I am not getting any record in RSA7.
    I have done the following setting for generic delta source
    - customized table from VBRK
    - Deltas Specific field (ERDAT) - Date on which record was created
    - Time Stamp (As i need to run this delta process every one hour)
    - Safety interval upper limit = 900 Sec.
    - Safety interval lower limit = 0 Sec.
    - Additive Delta for target info cube.
    Can you please help me to debug this issue.
    Thanks

    Hi Rajiv
    Can you give more details on the load( Loading cube or ODS)?
    When was the INIT done?
    Regards,
    Monika

  • Deleting duplicate records from different data packets in BI data source.

    Hi,
    I am getting same (duplicate) records from different data packets in BI data source, after completion of extraction.
    I tried to store key fields of the first data packet in an internal table. But this internal table is not carrying the previous data at the time of extraction of second data packet.
    Is there any other way to remove duplicate records after completion of extraction.
    Thanks in advance.

    I did not extensively worked in BI routenes. But I recon there will be routene which will het executed before data mapping part there will be a start routene in which you can validate the existense of data before beeing passed from data source to cube.
    Hope this helps,
    Regards,
    Murthy.

  • Duplicate records in master data info object

    dear friends,
    i got a standard infoobject called 'A' and it has got some attributes B,C,D,E for that one standard datasource with the following fields A,B,C,D,E  exists and i loaded data. abapers had created a z table with the following P,Q,R,S,X,Y,Z fields.  'P' holds the same records what the 'A' infoobject holds. my requirement is to create a report on the following fields:
    P,Q,R,S,B,C,D,E
    WAT I DONE IS I CREATED A GENERIC DATASOURCE FOR THE FOLLOWING FIELDS P,Q,R,S AND I ADDED THE STANDARD INFOOBJECT CALLED 'A' WITH THE FOLLOWING FIELDS: Q,R,S.
    AND I CRTEATED AND  SHEDULED THE INFOPACKAGE FOR THE STANDARD DATASOURCE(A,B,C,D,E,) TO STANDARD INFOOBJECT(A,B,C,D,E,Q,R,S). NEXT I CREATED THE ANOTHER INFOPACKAGE AND SHEDULED THE INFOPACKAGE AND SHEDULED FROM GENERIC DATASOURCE (P,Q,R,S) TO STANDARD INFOOBJECT(A,B,C,D,E,P,Q,R,S) WITH TRANSFER RULES P->A,Q->Q,R->R,S->S. AFTER LOADING THE DATA I AM GETTING DUPLICATE RECORDS.I WILL GIVE THE TABLE HOW MY MASTER DATA LOOKS LIKE
    A B C D E P Q R S
    1 2 3 4 5
    2 3 4 5 6
    3 4 5 6 7
    1         6 7 8 9
    2         7 8 9 3
    3         4 6 2 1
    THIS IS HOW MY MASTERDATA LOOKS LIKE BUT I NEED IN THE FOLLLOWING FORMAT:
    A B C D E P Q R S
    1 2 3 4 5 6 7 8 9
    2 3 4 5 6 7 8 9 3
    3 4 5 6 7 4 6 2 1
    PLEASE LET ME KNOW
    THANKS & REGARDS,
    HARI

    Hari,
       why don't you enhance the Masterdata info object?. You are suppose to see overwritten records. infoobject A is primary key in the table.
    try to enhance the masterdata Datasource. you will get required output or create masterdat generic Data source.
    All the best.
    any questions let us know.
    Nagesh.

  • Regarding: Loading data from R/3 To BI for a Generic Data source

    Hi Every,
    Need Help Urgent
    I had created a Generic data source with function Module as the data source, in Rsa3 it is working fine.
    1-> I had replicated the data source to Bi then i had created a info package and then I executed the same. when it is getting the data and it is show in the request monitor (Number of records )  but the status is not changing from Yellow to Green.
    Status in Step by step analysis is every step is green Except "Data selection successfully finished ?"  (RED)
    2-> Then I had seen the Back ground job in Source system which is executing still. I waited for it for a long time but nearly 30 min.
    (I had done Steps one and 2 number of time by activating replicating the data source and so on, but still their is no change in it)
    3-> Then I had canceled that back ground job with the help of BASIS (as i feel that it is something going wrong).
    4-> I feel that their is some thing wrong in the Code of Extractor.
    Please Help...............
    ""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_MATGRIR OPTIONAL
    *Need to get the data only for two Gl account which are fro material purchase while MIGO
    *G/L Account Numbers: 0010502001 0010502002
    data: E_T_DATA1 type table of ZBI_MATGRIR.
      RANGES: R_BUKRS FOR BSIS-BUKRS,
              R_BUDAT FOR BSIS-BUDAT,
              R_GJAHR FOR BSIS-GJAHR,
              R_HKONT FOR BSIS-HKONT.
      DATA: L_S_SELECT TYPE SRSC_S_SELECT.
      STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,
               S_COUNTER_DATAPAKID LIKE SY-TABIX,
               S_CURSOR TYPE CURSOR.
    *Declare
      TYPES: BEGIN OF TY_FAGL,
        RBURS TYPE FAGLFLEXA-RBUKRS,
        RYEAR TYPE FAGLFLEXA-RYEAR,
        DOCNR TYPE FAGLFLEXA-DOCNR,
        BUZEI TYPE FAGLFLEXA-BUZEI,
        DOCLN TYPE FAGLFLEXA-DOCLN,
        PRCTR TYPE FAGLFLEXA-PRCTR,
        SEGMENT TYPE FAGLFLEXA-SEGMENT,
      END OF TY_FAGL.
      DATA: GT_FAGL TYPE TABLE OF TY_FAGL,
            GS_FAGL TYPE TY_FAGL.
      IF I_INITFLAG = SBIWA_C_FLAG_ON.
        CASE I_DSOURCE.
          WHEN 'ZFI_GL_M4'.
          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.
        APPEND LINES OF I_T_FIELDS TO S_S_IF-T_FIELDS.
      ELSE.
    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 = 'BUKRS'.
            MOVE-CORRESPONDING L_S_SELECT TO R_BUKRS.
            APPEND R_BUKRS.
          ENDLOOP.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'GJAHR'.
            MOVE-CORRESPONDING L_S_SELECT TO R_GJAHR.
            APPEND R_GJAHR.
          ENDLOOP.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'BUDAT'.
            MOVE-CORRESPONDING L_S_SELECT TO R_BUDAT.
            APPEND R_BUDAT.
          ENDLOOP.
    *GRIR Inventory (RM/Stores/Spares/FG)   10502001
    *GRIR Services & Others Payable   10502002
          R_HKONT-SIGN = 'I'. "i_t_select-sign.
          R_HKONT-OPTION = 'BT'." i_t_select-option.
          R_HKONT-LOW = '0010502001'.
          R_HKONT-HIGH = '0010502002'. "i_t_select-high.
          APPEND R_HKONT.
    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 BUKRS
                  AUGBL
                  ZUONR
                  BELNR
                  GJAHR
                  BUZEI
                  BUDAT
                  HKONT
                  BLART
                  MONAT
                  BSCHL
                  SHKZG
                  DMBTR
                  WAERS
                  FROM BSIS
                 INTO TABLE E_T_DATA
                  WHERE BUKRS  IN R_BUKRS
                    AND GJAHR IN R_GJAHR
                    AND BUDAT IN R_BUDAT
                    AND HKONT IN R_HKONT.
    Fetch records into interface table.
      named E_T_'Name of extract structure'.
        FETCH NEXT CURSOR S_CURSOR
                   APPENDING CORRESPONDING FIELDS
                   OF TABLE E_T_DATA1
                   PACKAGE SIZE S_S_IF-MAXSIZE.
        IF SY-SUBRC <> 0.
          CLOSE CURSOR S_CURSOR.
          RAISE NO_MORE_DATA.
        ENDIF.
    DELETE E_T_DATA WHERE BLART NE 'WE'.
          SELECT BUKRS
                 AUGBL
                 ZUONR
                 BELNR
                 GJAHR
                 BUZEI
                 BUDAT
                 HKONT
                 BLART
                 MONAT
                 BSCHL
                 SHKZG
                 DMBTR
                 WAERS
                 FROM BSAS
                 into table   E_T_DATA
                 WHERE BUKRS  IN R_BUKRS
                   AND GJAHR IN R_GJAHR
                   AND BUDAT IN R_BUDAT
                   AND HKONT IN R_HKONT.
               FETCH NEXT CURSOR S_CURSOR
                  APPENDING CORRESPONDING FIELDS
                  OF TABLE E_T_DATA
                  PACKAGE SIZE S_S_IF-MAXSIZE.
    append LINES OF e_t_data1 TO E_T_DATA.
    DELETE E_T_DATA WHERE BLART NE 'WE'.
    ENDIF.                             "First data package ?
        DATA: F_YEAR TYPE BKPF-GJAHR.
        DATA: F_PERI TYPE BAPI0002_4-FISCAL_PERIOD.
    IF E_T_DATA[] IS NOT INITIAL.
       SELECT RBUKRS
              RYEAR
              DOCNR
              BUZEI
              DOCLN
              PRCTR
              SEGMENT
              FROM FAGLFLEXA
              INTO TABLE GT_FAGL
              FOR ALL ENTRIES IN E_T_DATA
           WHERE RYEAR = E_T_DATA-GJAHR
               AND DOCNR = E_T_DATA-BELNR
               AND RLDNR = '0L'
               AND RBUKRS = E_T_DATA-BUKRS
               AND BUZEI = E_T_DATA-BUZEI.
             WHERE RYEAR = E_T_DATA-GJAHR
               AND DOCNR = E_T_DATA-BELNR
               AND RBUKRS = E_T_DATA-BUKRS.
         AND DOCLN = E_T_DATA-BUZEI.
    ENDIF.
    LOOP AT E_T_DATA.
          IF E_T_DATA-SHKZG = 'H'.
            E_T_DATA-DMBTR = E_T_DATA-DMBTR * -1.
          ENDIF.
          CLEAR: F_YEAR.
          CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
            EXPORTING
              COMPANYCODEID       = E_T_DATA-BUKRS
              POSTING_DATE        = E_T_DATA-BUDAT
           IMPORTING
             FISCAL_YEAR         = F_YEAR
             FISCAL_PERIOD       = F_PERI.
          DATA: V_DOC(6) TYPE C .
          CLEAR: V_DOC.
          V_DOC =  E_T_DATA-BUZEI.
          IF V_DOC  IS NOT INITIAL.
            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
              EXPORTING
                INPUT  = V_DOC
              IMPORTING
                OUTPUT = V_DOC.
          ENDIF.
         aS PROFIT center is not updated in all the lines in Bsis
          READ TABLE GT_FAGL INTO GS_FAGL WITH KEY  RYEAR = E_T_DATA-GJAHR
                                                    DOCNR = E_T_DATA-BELNR
                                                    RBURS = E_T_DATA-BUKRS
                                                    BUZEI = E_T_DATA-BUZEI.
          IF SY-SUBRC = 0.
            E_T_DATA-PRCTR = GS_FAGL-PRCTR.
            E_T_DATA-SEGMENT = GS_FAGL-SEGMENT.
          ENDIF.
    *As we are using the amount DMBTR in which the amount
    *will be in company code currency that is Local currency
    *group currency always in the main company code currency.
          CONCATENATE   F_YEAR '0' F_PERI INTO E_T_DATA-FISCPER.
          MODIFY E_T_DATA. " from gs_bsis transporting dmbtr fiscper.
          CLEAR: E_T_DATA.
        ENDLOOP.
          S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
       ENDIF.

    Hi,
    Please check the log of same jobs for last week and check is today its taking more time,also check with basis is their any backup initited at same time.
    Moreover until the background job failed automatically its difficult to imagine what is the exact issue.
    Thanks,

  • How to enable delta in a generic Data Source

    Hi,
       I am developing a Generic Data Source (Z) based on a view.
       How can i enable it to delta capable...
       What is the concept of Calanderday......timestamp....pointer
       How can i make a decesion (what factors do i need to consider)  to go for  Calanderday......timestamp....pointer
    Please provide me detail steps & description on this as this is my first data source
    Thanks

    hi
    how to ...gds
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
    1. Time stamp - The field is a DEC15 field which always contains the time stamp of the last change to a record in the local time format.
    2. Calendar day - The field is a DATS8 field which always contains the day of the last change.
    3. Numerical pointer - The field contains another numerical pointer that appears with each new record
    Please check this link on generic delta
    http://help.sap.com/saphelp_nw04s/helpdata/en/37/4f3ca8b672a34082ab3085d3c22145/frameset.htm
    WHEN U CHECK UR DATASOURCE IN RSA6 U WILL FIND THE DELTA UPDATE CHECKBOX IS CHECKED.....
    hope it helps,
    cheers.

  • Generic Data Source is calling multiple times in RSA3

    [color:red}<Moderator Message: This topic has alread been discussed a lot of times. Additionally there are weblogs related to it. Please search the forums and/or the blogs for this issue>
    Hi experts,
    I have the requirement to get data from Generic Data Sources with function Module,
    after finishing the FM I have checked in extact checker(RSA)
    in the internal table I_T_DATA is displays 281 records,
    but in RSA3 it shows 112560 records, I found that the FM is calling multiple time by executing one time in RSA3.
    1.what would be the problem
    2.where is the porblem is it in FM coding or any other places to check.
    <removed by moderator>
    Regards
    Vijay
    Edited by: Siegfried Szameitat on Feb 3, 2009 11:45 AM

    Hi Savita,
    I don't understand clearly from your reply regarding flow you transported and what all you transported.
    You need to first transport objects in R/3 and import them.
    Then transport Infoprovider, Datasource in BI assuming depenedent Infoare Infoobject, application component already transported.
    Then transport your Infosource, Update rule, Transfer rules, Infopackage.
    Hope you understood.
    Ravi

  • Extraction, Flat File, Generic Data Source, Delta Initialization

    Extraction, Flat File, Generic Data Source, Delta Initialization
    I have couple of questions regarding data extraction.
    1.     If you have Data Source a Flat File e.g. Excel file I know that you have to create Data Source at BW side. How do you upload updates, by selecting Delta Update when executing next Data Load? Do you ever u201Cconvertu201D this Excel file into Application Tables to become SAP Source 
    2.     Can you please give me example of situation where you had to create Generic Data Source? What is difference between Time Stamp, Calend. Day and Numeric Pointer. Which one is most common to select?
    3.     I read somewhere that Generic Data Source does not have Setup Table. I thought that you have to have Setup Table in order to load transaction Data otherwise you will lock the Application Tables. Where am I going wrong im my thinking please?
    4.     What are steps in terms of IP before, under and after Delta Initialization. I belive that you can do two ways:
    Full Update - Initialize Delta Process (without Data Transfer) u2013 Delta Update  or
    Initialize Delta Process (with Data Transfer) u2013 Delta Update
    Am I right? What is most common method and why?
    5.     If you want to add a filed in Data Source after 6 month using it, you want to do it without re-init Delta Queue. You add field in RSA6, then provide info for ABAP to populate new filed (info u2013 name of Data Source, Extract Structure, field added, name of Application Table which contains the field). How does it work now as there is no SetUp table it has been deleted after Initialisation? How does Delta Queue know that it is going to receive data which has been  expanded by one field or it may does not need to know at all?
    THANKSSSSSSSSSs

    Hi,
    1. If you have Data Source a Flat File e.g. Excel file I know that you have to create Data Source at BW side. How do you upload updates, by selecting Delta Update when executing next Data Load? Do you ever u201Cconvertu201D this Excel file into Application Tables to become SAP Source
    Once you create Datasource for A flat file extraction then it is file source system specific hence you cont change to Application table source Data source
    In info package you can change the source as application server instead of desktop no need to change the DS
    2. Can you please give me example of situation where you had to create Generic Data Source? What is difference between Time Stamp, Calend. Day and Numeric Pointer. Which one is most common to select?
    When we don't find any standard extractor then we can go for Generic(if i want information sales along with finance information in a data source then generally we dont get standard one hence we can go for generic DS)
    Check the below link for More about generic DS .
    http://wiki.sdn.sap.com/wiki/display/BI/Generic+Extraction
    for Delta capturing you can use
    Timestamp(if the table has time stamp filed  so it can stamp the last changed record in that table hence it is easy to get delta based on the time stamp)
    Calday- (If the table doesn't have the Timestamp filed then search for Calday where you can stamp the delta based on the date when documents are changed )
    Numericpointer : If the table doesn't above both then we go for this option where you can the numeric value change stamp )
    3. I read somewhere that Generic Data Source does not have Setup Table. I thought that you have to have Setup Table in order to load transaction Data otherwise you will lock the Application Tables. Where am I going wrong im my thinking please?
    Generic datasource nothing but we extracting data directly from the database table without any interface between the application/systems
    4. What are steps in terms of IP before, under and after Delta Initialization. I belive that you can do two ways:
    Full Update - Initialize Delta Process (without Data Transfer) u2013 Delta Update or
    Initialize Delta Process (with Data Transfer) u2013 Delta Update
    Am I right? What is most common method and why?
    Correct
    5. If you want to add a filed in Data Source after 6 month using it, you want to do it without re-init Delta Queue. You add field in RSA6, then provide info for ABAP to populate new filed (info u2013 name of Data Source, Extract Structure, field added, name of Application Table which contains the field). How does it work now as there is no SetUp table it has been deleted after Initialisation? How does Delta Queue know that it is going to receive data which has been expanded by one field or it may does not need to know at all?
    Once you add the new field to structure(DS) you will get the data as on date onwards not historical data hence what is the concept of setup table  ( delta records come from the Delta Que not from the setup table )
    If you want histaric data to new field then you need to setp table deletion ...etc...
    Hope it is clear..
    Regards,
    Satya

  • FUNCTION MODULE CREATION FOR GENERIC DATA SOURCE

    Hi BI gurus,
    I am creating function module for generic datasource. For that I followed below mentioned steps
    Steps
    1.     Created s structure with the fields that needed.
    2. Created FM by copying the standard Function module
    " RSAX_BIW_GET_DATA_SIMPLE " and Give a New name starting With
    Y or Z .
    3. IN SE37 ->Your Function module name -> Change, In table tab given structure
    name by deleting the associated type given in “E_T_DATA “.
    And inserted the required code given below
          PROGRAM 'ZHU_BALANCE'.
    *& Report  ZHU_BALANCE
    TABLES: VEKP, VEPO.
    DATA: BEGIN OF T_DISPLAY,
          DATE   LIKE SY-DATUM,
          EXIDV  LIKE VEKP-EXIDV,
          LGORT  LIKE VEPO-LGORT,
          WERKS  LIKE VEKP-WERKS,
          END OF T_DISPLAY.
    DATA: ITAB_DISPLAY LIKE TABLE OF T_DISPLAY.
    DATA: WA_ITAB_DISPLAY LIKE LINE OF ITAB_DISPLAY.
    SELECT VEKPEXIDV VEPOLGORT VEPO~WERKS
           INTO CORRESPONDING FIELDS OF TABLE ITAB_DISPLAY
           FROM VEKP AS VEKP INNER JOIN VEPO AS VEPO
             ON  VEKPVENUM = VEPOVENUM
             AND VEKPWERKS = VEPOWERKS
           WHERE VEKP~VSTEL = SPACE
             AND VEKP~VEGR1 = '401'
             AND VEKP~VPOBJ = '12'
             AND VEKP~STATUS = '0020'
             AND VEPO~VEPOS = '000001'.
    LOOP AT ITAB_DISPLAY INTO WA_ITAB_DISPLAY.
    WA_ITAB_DISPLAY-DATE = SY-DATUM.
    MODIFY ITAB_DISPLAY FROM WA_ITAB_DISPLAY TRANSPORTING DATE.
    ENDLOOP.
    WRITE:/ 'DATE', 20 'EXIDV', 40 'LGORT', 60 'WERKS'.
    ULINE.
    LOOP AT ITAB_DISPLAY INTO WA_ITAB_DISPLAY.
    WRITE:/ WA_ITAB_DISPLAY-DATE, 20 WA_ITAB_DISPLAY-EXIDV , 40 WA_ITAB_DISPLAY-LGORT, 60 WA_ITAB_DISPLAY-WERKS.
    ENDLOOP.
    While checking the function module it’s populating the syntax error as
    THE TYPE “SRSC_S_IF_SIMPLE” IS UNKOWN. (Though this is commented in program)
    So pls suggest
    Regards,
    praful

    hi indira,
    thanx for ur reply we have created the funcion module successfuly it is also showing the output correct. But when we put that function module in the generic data source and try to extract data in RSA3 it shows the correct output of function module but with the msg ' 0 entries found in customer enhancement' and therfore zero records in the display list.
    is there any correction or steps to be followed in data extraction
    pls suggest
    regards,
    praful

  • Issue with Safety Upper limit for CALDAY Field for Generic Data Source

    Hi,
    I have given Upper limit as 1 for Calday field of one of the Generic Data Sources.
    I have got a doubt here.If today's load got failed and I will rerun the load next day.So Will that new run captures all 2 days records.
    Can any one advise me on this.
    Regards,
    K.Krishna.

    Hi,
    A one-day upper safety interval determines that an extraction run today, only fetches records up to yesterday (if the pointer has the day before yesterday date, the extraction comprises from the day before yesterday to yesterday).  This is meant to avoid missing records that were about to be persisted in the database when the delta extraction is running but whose date was determined in memory before the delta started.
    If pointer has today date value and you want to load data from today and yesterday, you should use a lower safety interval.  Take into account that this could reload data previously extracted.  Therefore, only InfoProviders with overwritting features (DataStores or InfoObject master data) should be used as targets of this extractions.
    You can find further details at:
    http://help.sap.com/saphelp_nw04/helpdata/en/37/4f3ca8b672a34082ab3085d3c22145/content.htm
    I hope this helps you.
    Regards,
    Maximiliano

  • Time Stamp Delta field for Generic Data Source

    Hi Experts,
    I have a requirement to create a Generic Data Source based on view. This view on PA0006 and PA0105 tables.
    Will you please suggest me which field i have to take as delta field.
    Thanks In Advance.

    Also, make sure that whenever a new record is created in those tables, field AEDTM is getting updated with system date else you will miss new records in delta unless there is a change in those newly created records.
    Regards,
    Gaurav

  • Problem with native SQL cursor in generic data source

    Hi, All!
    I am implementing generic data source based on FM.
    Because of complicated SQL I canu2019t use Open SQL and RSAX_BIW_GET_DATA_SIMPLE-example u201Cas isu201D.
    So, I have to use Native SQL. But Iu2019ve got a problem with a cursor. When I test my data source in RSA3, everything is Ok. But, if I start appropriate info-package, I get error u201CABAP/4 processor: DBIF_DSQL2_INVALID_CURSORu201D. It happens after selecting of 1st data package in line u201CFETCH NEXT S1 INTOu2026u201D. It seems to me that when system performs the second call of my FM the opened cursor has already been disappeared.
    Did anyone do things like this and what is incorrect?
    Is it real to make generic data source based on FM with using Native SQL open, fetch, closeu2026

    Hi Jason,
    I don't think this SQL is very valuable It is just an aggregation with some custom rules. This aggregation is performing on info-provider which consists of two info-cubes. Here we have about 2 billion records in info-provider and about 30 million records in custom db-table Z_TMP (certainly, it has indexes). I have to do this operation on 21 info-providers like this and I have to do this 20 times for each info-provider (with different values of host-variable p_GROUP)
    SELECT T.T1, SUM( T.T2 ), SUM( T.T3 ), SUM( T.T4 )
            FROM (
                    SELECT F."KEY_EVENT06088" AS T1,
                            F."/BIC/EV_COST" + F."/BIC/EV_A_COST" AS T2,
                            DECODE( D.SID_EVENTTYPE, 23147, 0,
                                                          23148, 0,
                                                          23151, 0,
                                                          23153, 0,
                                                          23157, 0,
                                                          23159, 0,
                                                          24896734, 0,
                                                          695032768, 0,
                                                          695029006, 0,
                                                          695029007, 0,
                                                          695036746, 0, F."/BIC/EV_COST") +
                              DECODE( D.SID_EVENTTYPE, 23147, 0,
                                                          23148, 0,
                                                          23151, 0,
                                                          23153, 0,
                                                          23157, 0,
                                                          23159, 0,
                                                          24896734, 0,
                                                          695032768, 0,
                                                          695029006, 0,
                                                          695029007, 0,
                                                          695036746, 0, F."/BIC/EV_A_COST") AS T3,
                            DECODE( D.SID_EVENTTYPE, 23147, F."/BIC/EV_DURAT",
                                                          23148, F."/BIC/EV_DURAT",
                                                          23151, F."/BIC/EV_DURAT",
                                                          23153, F."/BIC/EV_DURAT",
                                                          23157, F."/BIC/EV_DURAT",
                                                          23159, F."/BIC/EV_DURAT",
                                                          24896734, F."/BIC/EV_DURAT",
                                                          695032768, F."/BIC/EV_DURAT",
                                                          695029006, F."/BIC/EV_DURAT",
                                                          695029007, F."/BIC/EV_DURAT",
                                                          695036746, F."/BIC/EV_DURAT", 0) AS T4
                      FROM "/BIC/VEVENT0608F" F,
                           Z_TMP G,
                           "/BIC/DEVENT06085" D
                      WHERE F."KEY_EVENT06088" = G.ID
                            AND F."KEY_EVENT06085" = D.DIMID
                            AND G.GROUP_NO = :p_GROUP
                            AND ( F."/BIC/EV_COST" < 0 OR F."/BIC/EV_A_COST" < 0 )
                            AND D.SID_EVENTTYPE <> 695030676 AND D.SID_EVENTTYPE <> 695030678
                    UNION
                    SELECT F."KEY_EVNA06088" AS T1,
                            F."/BIC/EV_COST" + F."/BIC/EV_A_COST" AS T2,
                            DECODE( D.SID_EVENTTYPE, 23147, 0,
                                                          23148, 0,
                                                          23151, 0,
                                                          23153, 0,
                                                          23157, 0,
                                                          23159, 0,
                                                          24896734, 0,
                                                          695032768, 0,
                                                          695029006, 0,
                                                          695029007, 0,
                                                          695036746, 0, F."/BIC/EV_COST") +
                              DECODE( D.SID_EVENTTYPE, 23147, 0,
                                                          23148, 0,
                                                          23151, 0,
                                                          23153, 0,
                                                          23157, 0,
                                                          23159, 0,
                                                          24896734, 0,
                                                          695032768, 0,
                                                          695029006, 0,
                                                          695029007, 0,
                                                          695036746, 0, F."/BIC/EV_A_COST") AS T3,
                            DECODE( D.SID_EVENTTYPE, 23147, F."/BIC/EV_DURAT",
                                                          23148, F."/BIC/EV_DURAT",
                                                          23151, F."/BIC/EV_DURAT",
                                                          23153, F."/BIC/EV_DURAT",
                                                          23157, F."/BIC/EV_DURAT",
                                                          23159, F."/BIC/EV_DURAT",
                                                          24896734, F."/BIC/EV_DURAT",
                                                          695032768, F."/BIC/EV_DURAT",
                                                          695029006, F."/BIC/EV_DURAT",
                                                          695029007, F."/BIC/EV_DURAT",
                                                          695036746, F."/BIC/EV_DURAT", 0) AS T4
                    FROM "/BIC/VEVNA0608F" F,
                         Z_TMP G,
                         "/BIC/DEVNA06085" D
                    WHERE F."KEY_EVNA06088" = G.ID
                          AND F."KEY_EVNA06085" = D.DIMID
                          AND G.GROUP_NO = :p_GROUP
                          AND ( F."/BIC/EV_COST" < 0 OR F."/BIC/EV_A_COST" < 0 )
                          AND D.SID_EVENTTYPE <> 695030676 AND D.SID_EVENTTYPE <> 695030678
                 ) T
            GROUP BY T.T1

  • Delta Issue in Generic data source

    HI all ,
        I have a HR generic data source .which extracts only two records ffrom the source for so many days during delta.
       I checked in RSA3 .It shows 16000 records nearly. I did init without data transfer and then delta,still it picks onlys same 2 records .
       Delta setting in RSO2 is Numeric pointer with new status for changed records with field name as"cheque number"
       In BWdatasourceExtraction tab--Deltaprocess is AIE After Image by extractor.Iam not able to choose any other delta process type as it is built from R/3 .I think because of this process type.
    anybody faced the same problem ..  I tried many ways..  please guide me how to solve. this issue.

    HI Prashanth,
                        I checked RSA7 now and I found  the problem .In RSA7 the pointer for cheque number is 991749. The delta record created has cheque number 005409 which is lesser than the pointer ,thats why the record is not picking i guess.
           now ,If this is the case ,How can I give delta field.The generic datasource is built on only one table PAYR ,and having cheque number and other fields  as keys in the table PAYR.Date is not a key in the table. Please help how to proceed
    Thanks
    Rgds
    Pradeep

Maybe you are looking for