Custom extractors(Urgent)

Hi Friends,
            I have to create custom extractor from a custom table. I have a big doubt as How delta process works in this custom extractor. What should I be entering under the field name , safety intervals(lower limit and upper limit). Can someone tell me what exactly they are ?? and what I should be entering there??
Note : If the data in my custom table gets updated twice in a day, and if I want to load all the new data from the table to my extractor, how should I take care of this scenario??
Thanks alot in advance friends,

hi,
you will load the daily once a day ?
try date, upper limit 1, lower limit blank
'how to generic delta' doc
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
Tips:
1. If delta field is Date (Record Create Date or change date), then use Upper Limit of 1 day.
This will load Delta in BW as of yesterday. Leave Lower limit blank.
2. If delta field is Time Stamp, then use Upper Limit of equal to 1800 Seconds (30 minutes).
This will load Delta in BW as of 30 minutes old. Leave Lower limit blank.
3. If delta field is a Numeric Pointer i.e. generated record # like in GLPCA table, then use
Lower Limit. Use count 10-100. Leave upper limit blank. If value 10 is used then last 10
records will be loaded again. If a record is created when load was running, those records
may get lost. To prevent this situation, lower limit can be used to backup the starting
sequence number. This may result in some records being processed more than once;
therefore, be sure this DataSources is only feeding an ODS Object
Safety Interval Upper Limit of Delta Selection
This field is used by DataSources that determine their delta generically using a repetitively-increasing field in the extract structure.
The field contains the discrepancy between the current maximum when the delta or delta init extraction took place and the data that has actually been read.
Leaving the value blank increases the risk that the system could not extract records arising during extraction.
Example: A time stamp is used to determine the delta. The time stamp that was last read is 12:00:00. The next delta extraction begins at 12:30:00. In this case, the selection interval is 12:00:00 to 12:30:00. At the end of extraction, the pointer is set to 12:30:00.
A record - for example, a document- is created at 12:25 but not saved until 12:35. It is not contained in the extracted data but, because of its time stamp, is not extracted the next time either.
For this reason, the safety margin between read and transferred data must always be larger than the maximum length of time that it takes to create a record for this DataSource (with a time stamp delta), or it must display an interval that is sufficiently large (for determining delta using a serial number).
Safety Interval Lower Limit
This field contains the value taken from the highest value of the previous delta extraction to determine the lowest value of the time stamp for the next delta extraction.
For example: A time stamp is used to determine a delta. The extracted data is master data: The system only transfers after-images that overwrite the status in the BW. Therefore, a record can be extracted into the BW for such data without any problems.
Taking this into account, the current time stamp can always be used as the upper limit when extracting: The lower limit of the next extraction is not seamlessly joined to the upper limit of the last extraction. Instead, its value is the same as this upper limit minus a safety margin. This safety margin needs to be big enough to contain all values in the extraction which already had a time stamp when the last extraction was carried out but which were not read. Not surprisingly, records can be transferred twice. However, for the reasons above, this is unavoidable.

Similar Messages

  • Custome Extractors queue - Please help

    Hi,
    We have three custom extractors. Where can we find the queues of the same in R/3 system?
    I have checked in RSA7, But, i am not finding the queues..Please help urgently. Thanks.

    Thanks  Ajay.
    Yes, All of our custom extractors are delta enabled. But, I am not seeing them ( delta pointers) in RSA7. We have been running this for the past 2 years..
    Is there any way to check the all data sources of these customs extractors in R/3?
    Most of the custom extrator jobs are having some program associated with different variants. In that case, how to get the datasource name in R/3?
    I even checked with SMQ1..I am seeing these queues..I am not to understand this? Is this the LOs?
    MCEX03
    MCEX05_1
    MCEX08
    MCEX11
    MCEX13
    MCEX17
    MCEX17_1
    Thanks for your help.
    Message was edited by:
            BW USA

  • Custom Extractor using FM for Delta Upload

    Hi,
    I created a Custom Extractor using FM for Full Upload. The requirement now is that it should be able to handle Delta also.
    I used the standard FM RSAX_BIW_GET_DATA_SIMPLE to create my Z FM.
    Please suggest me the changes I have to make in this to be able to upload Delta also.
    Thanks
    Nageswara

    Hi Mahesh,
    You can selectively load from BI side (through Infopackage) and for that you should have those selection field defined as ranges in your FM.
    As per my genius friend Sidharth Gupta:
    FM RSAX_BIW_GET_DATA_SIMPLE is a funct. Mod having a simple interface in which I_UPDMODE is not used. Actually FM RSAX_BIW_GET_DATA_SIMPLE is used for a full update and uses an F2 extraction method. However through ABAP we can try to make it delta capable like below.
    *Declare
    DATA  I_UPDMODE.
    Now to capture delta on AUDAT
           I_UPDMODE = u2018 u2018.
    LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'AUDAT'.
                MOVE-CORRESPONDING L_S_SELECT TO L_R_AUDAT.
                 I_UPDMODE = u2018 D u2019.
                APPEND L_R_AUDAT.
              ENDLOOP.
    This code works however is not flexible as you do not use a CASE stmt on I_UPDMODE.
    CASE stmt gives more flexibility which is used in FM RSAX_BIW_GET_DATA.
    FM RSAX_BIW_GET_DATA is a funct. Mod having a complete interface in which I_UPDMODE is passed to funct mod during its call.FM RSAX_BIW_GET_DATA can be  used for all update types and uses an F1 extraction method. However after writing the funct mod the default extraction method is F2 in table ROOSOURCE which needs to b changed to F1 for ur mod to work.  This change from F2 to F1 can be done via test abap code.
    Part two of that Article is yet to be published so wait for sometime or follow above mentioned approach.
    Hope it helps.
    Regards,
    Ashish

  • Custom extractors using function modules

    Hey all
    Does anyone has a document regarding how to <b>Develop Custom extractors using function modules?Step by step method would be great</b>
    Also document regarding <b>CTS in BW?</b>
    Appreciate it
    Thanks

    Hi,
    See here:
    Generic Extractors
    Generic data sources
    Generic DS
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    Best regards,
    Eugene

  • Issue with Fiscal Year Period in Custom Extractor

    We have a custom extractor that pulls posting period (PERIO) and Fiscal Year (GJHAR)...once we move it to BW we do a concatenate in the transfer rules to get Fiscal Year / Period.  Before we did the ERP Upgrade the concatenate worked and then  after the Upgrade it stopped working.  I have checked RSA3 and the extractor is not pulling the fields any differently then before.  I have also tested the same concatenate in our development system and it is working.  Does anyone have any idea what might be happening? 
    Before we were getting data that looked like 2008001 and now thet data is saying 8  1200.
    We also have another custom extractor that does the exact same thing and it is working!
    We are stumped....can anyone assist?
    Thanks!
    Caroline

    I dont understand why you had to extract period and year?
    Can you pl explain. Do you have other fields in the extractor, if so what are they?
    Can you paste your code here to look at.
    Ravi Thothadri

  • Data syncup issue - Custom extractor for revenue recognition data from ECC into BW

    Hi there,
    We have created a custom extractor on top of a Function Module (FM) in ECC that reads data primarily from VBREVE table. Currently, we have close to 10 million records and full load isn't a preferred option so we built in a delta mechanism using "Created On" (ERDAT) and "Posting Date" (BUDAT). The idea is to do an initial full load and then switch over to delta loads on a nightly basis for data where:
    "Created On" OR "Posting Date" is within last 6 months.
    This will ensure if any updates are made to the existing VBREVE entries, this change will be reflected in the BW DSO, provided the "Created On" or "Posting Date" fall within last 6 months. The issue comes up if in ECC a billing plan is cut down to a smaller term, let's say from 3 years to 2 years, the entries for the 1 year will be deleted from VBREVE table. How can I pick up this change in BW DSO since this data has already been loaded in the past? Addition of entries are okay but I need to address the deletion on entries in VBREVE table so that it reflects this in BW DSO. Any ideas how I can accomplish this? In the example on the screenshots, BW still shows the before image and I need to be able to get it to sync up with ECC as per the after image.
    -Rohit

    Dear Rohit,
    The case is complicated , there can be workaround using the changedon date from VBAK table. if the billing plan is changed in the sales order VBAK will be updated for changedon.
    1) If the billing plan deletion is a very specific case, then using the change log tables find out which are the sales order for which there has been billing plan change. Store this sales order details in DSO day wise. call it DSO1
    2) Create a self transformation to the DSO ( DSO2) where you are currently loading from the table VBREVE (DSO2 to DSO2 -For loading data from the same DSO) .Transformation should have reverse record mode given as a constant.
    3) load the data DSO2 from DSO2 by filling up sales order details from DSO1 in the DTP filter.
    ( This will reverse the complete entry for the sales order in DSO2 for the sales order for which billing plan has been changed)
    4) Now load afresh for these sales order again from source system to DSO2 from the table VBREVE.
    You can also use VBAK changedon date to trigger this load.
    Hope I have not confused you
    Regards
    Gajesh

  • How to improve performance for Custom Extractor in BI..

    HI all,
               I am new to BI and started working on BI for couple of weeks.. I created a Custom Extractor(Data View) in the Source system and when i pull data takes lot of time.. Can any one respond to this, suggesting how to improve the performance of my custom Extractor.. Please do the needfull..
      Thanks and Regards,
    Venugopal..

    Dear Venugopal,
    use transaction ST05 to check if your SQL statements are optimal and that you do not have redundant database calls. You should use as much as possible "bulking", which means to fetch the required data with one request to database and not with multiple requests to database.
    Use transaction SE30 to check if you are wasting time in loops and if yes, optimize the algorithm.
    Best Regards,
    Sylvia

  • Issues with a customized extractor running 'Full' loads.

    Hi Gurus,
    Is it possible to check at what date/time a particular data record has been posted in the VBPA table [Sales Document Partner Function Table]?
    My issue is that we have a customized extractor that pulls data from both the VBAP & VBPA tables based on VBELN [Doc No] & POSNR [Item]. We are using an 'Inner Join' on these two tables, so if either the Doc No or Item is not present in the VBPA table at the time of extraction, the data record will be skipped and we are facing several such missing documents in BW.
    The loads are 'Full' based on 'ERDAT' & 'AEDAT' on the VBAP table for the last 3 days i.e. if a Sales Document is either Created or Changed in the last 3 days, it will be picked up by the extractor. So my reasoning for the missing data records in BW is that the VBPA table  entries for that particular Order had been updated at a later date and hence data was missed out during extraction [because of the 'Inner Join' based on Doc No & Item].
    But since VBPA does not have a created on or changed on field, I am unable to find out when exactly a data record has been updated in the VBPA table.
    Any suggestions that you can provide will be highly appreciated!
    Thanks

    Hi,
    I feel your table join logic is not correct. Please discuss with your functional team once and try to revise the logic. Otherwise you may keep missing some records all the time. Test the extractor alot in RSA3 before replicating in BW.
    Regards,
    Suman

  • Defining Custom Extractor

    Hi experts,
      Can someone guide me with best practices for creating Generic Datasource with Custom extractors(FM)?
      Is there any document available for the steps involved in setting up the custom function module(extractor) for GE(Generic datasource)?
    Thank you
    arun

    Hi,
      Let me put it this way.
    I want to copy the Business content datasource and its extractor for e.g 0CO_OM_OPA_1 to custom datasource and make some more complex coding.
      What is process involved in Copying the FM and using it in the new datasource created?
      Is there document explaining the step by step process of copying the datasource with FM? Because it seems like there should be an entry for datasource and FM in ROIS as well as in several tables in R3?
    Thanks in advance
    arun
    Message was edited by: Arun Prasad

  • HCM - Custom extractor class in smartform HRRCF_PUBLICATIONS_INT

    How to build custom extractor class ? I have a requirement where you have to change the standard layout of HRRCF_PUBLICATIONS_INT to include the custom fields and the data should be pulled from the custom extractor class. Any pointers regarding this is highly appreciated.

    Hi Nisha,
    I think you have an issue to call custom BSP.
    -     Ignore the warning message (in the table T77RCF_LOG_APPL) as it is just a warning message. I did not touch start page link at all.
    -     Additionally you need to make (I had to made) an entry in table u2018V77RCF_SMG_NAVIu2019.
    Let me know, if you need anything else.
    ...Naddy

  • Appending fields in Custom Extractors

    Hi Experts,
    Is it possibel to append additional fields to the Extract Structure created by Generic Extratctor ( RSO2).
    Cheers,
    DV

    Hi,
    Yes, you can append the fileds in Custom Extractors(Generic Datasouce).
    Please follow bellow steps:
    1. Go to RSA6.
    2. Select the Data Source
    3. Select display Data Source (Ctr+F2).
    4. Double click on the Extract structure.
    5. Click on the Append Structure.
    6. Add the required field.
    7. Activate the Append Structure.
    8. Go to CMOD.Give the Project, select Display.
    9. Click on ZXRSAU01.
    10.then you have the bellow exits:
    a).Transaction data EXIT_SAPLRSAP_001
    b).Master data attributes EXIT_SAPLRSAP_002
    c).Master data texts EXIT_SAPLRSAP_003
    d).Master data hierarchies EXIT_SAPLRSAP_004
    11. select Transaction Data EXIT,then you have to write the ABAP CODE.
    12. save and activate.
    13. Select your Datasource-->Select the Tick of (ZZfileds) under Selection Column.(by Default it will be under Hide column).
    14. save and activate.
    15. check the data in RSA3.
    Regards,
    Suman.

  • JVSO1 and JVSO2 custom extractors

    Hi there everyone,
    I have tried searching the standard content extractors on JVSO1 and JVSO2 tables for JV transactions but could not find any in BI Content. So, I have decided to create custom extractors for both the tables.
    My approach is as follows:
    Create a view on JVSO1, maintain a generic delta on Calender day (CPUDT i guess) and load to a ODS and to a cube eventually.
    My question is whether I can do a generic delta on  CPUDT. would it work for delta update? JVSO1 has 19million records, so full load is not an option for me.
    Also, if any one has come across this situation, please assist and advise.
    IF there are any standard extractors to serve my purpose, please advise.
    Thanks a lot
    Cheers
    Phani.
    Edited by: Phani Kothwali on Dec 10, 2009 2:37 AM

    Hi,
    There is a standard extractor 0EN_JVA_2, which fetches the data from JVSO1. This extractor is delta enabled.
    Please find the below link for more details.
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/ba/4ff81f5ed1ae4880e6a210fc6517d1/frameset.htm
    Yes, you may use CPUDT for your delta enablement but however I would not recommend creating a GDE on JVSO1 because the extraction on the basis on CPUDT is not good in performance, even tough you create secondary indexes on the table JVSO1. The reason is due to large number of records in the table.
    Regards,
    Amit

  • Custom extractors

    Hi Gurus,
    I am new to Bw and i dont have any idea about creating our own extractors..so can anyone give me some basic ideas behind that and steps and ways to do that..links and materials also would be usefull...
    Regards,
    RK

    Hi Karthik,
    Search SDN before you post such generic questions. This topic has been discussed many times.
    Find below search link for your reference:
    https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=custom+extractors&adv=false&sortby=cm_rnd_rankvalue
    SAP help doc:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d3219af2-0c01-0010-71ac-dbb4356cf4bf
    Blog:
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    Create Custom Extractors:
    https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=createCustomextractors&adv=false&sortby=cm_rnd_rankvalue
    Regards,
    KK.

  • Week/Year Dates from custom extractor

    Hi BW Gurus,
    I have a custom extractor which is pulling a date called Week/Year from R/3.  Basically this brings in a date in the format WW.YYYY i.e. 24.2006 which equates to week 24 from 2006.
    In SE11 the date definition is: NUMC and of 6 char.
    How can I bring this into BW? I have already created the new InfoObject to hold this data and it is a NUMC - Character string format with a length of 6.
    When I uploaded the data after activating the cube, The data came though in a strange format!!  For example the date I have showing in RSA3 through the extractor checker is 24.2006 and the date in BW is 62420 which is totally wrong for users trying to use this date as a guideline and selection field.
    Does anyone know how I can map this in the right way in BW.
    Many Thanks in advance- Will give max points for the solution!
    Depesh

    Hi AHP,
    I have not got much ABAP knowedge so could you spell the code out for me?  How would it look like in the routine?
    Do I put the code in this section here:
    Global code used by conversion rules
    $$ begin of global - insert your declaration only below this line  -
    TABLES: ...
    DATA:   ...
    $$ end of global - insert your declaration only before this line   -
    Or does the code go in this section here:
    $$ begin of routine - insert your code only below this line        -
    DATA: l_s_errorlog TYPE rssm_s_errorlog_int.
      RESULT = .
    returncode <> 0 means skip this record
      RETURNCODE = 0.
    abort <> 0 means skip whole data package !!!
      ABORT = 0.
    $$ end of routine - insert your code only before this line   
    Please can you specify which section or provide a sample so I can do this and try?
    Many thanks for your help AHP.
    Depesh

  • Custom extractor

    Hi friends,
    I have built a custom extractor, and also wrote the code in the user exit but the problem is when i do a test in RSA3 i cannot see the data for these fields, can anyone tell me what could be the problem?
    Thanx in advance
    Ananth

    HI DINESH, ANIL
    The code executed well and no errors were found the following is the code, please let me know if im missing anything.
    Regards
    Ananth
    FORM zds_sd_pod  TABLES   c_t_data STRUCTURE zoxs940056 .
      DATA :
        l_i_lipso2  TYPE TABLE OF lipso2     WITH HEADER LINE ,
        l_i_tvpod   TYPE TABLE OF tvpod      WITH HEADER LINE ,
        l_i_tvpodo2 TYPE TABLE OF tvpodo2    WITH HEADER LINE ,
        l_i_data_1  TYPE TABLE OF zoxs940056 WITH HEADER LINE ,
        l_i_data_2  TYPE TABLE OF zoxs940056 WITH HEADER LINE .
      CLEAR :
        l_i_data_1  ,
        l_i_data_2  ,
        l_i_lipso2  ,
        l_i_tvpod   ,
        l_i_tvpodo2 .
      REFRESH :
        l_i_data_1  ,
        l_i_data_2  ,
        l_i_lipso2  ,
        l_i_tvpod   ,
        l_i_tvpodo2 .
      SELECT *
        FROM lipso2
        INTO TABLE l_i_lipso2
         FOR ALL ENTRIES IN c_t_data
       WHERE   vbeln = c_t_data-vbeln
         AND ( msehi = 'KG'
          OR   msehi = 'L'
          OR   msehi = 'L15'
          OR   msehi = 'L30' ) .
      SELECT *
        FROM tvpod
        INTO TABLE l_i_tvpod
         FOR ALL ENTRIES IN l_i_lipso2
       WHERE vbeln = l_i_lipso2-vbeln
         AND posnr = l_i_lipso2-posnr .
      IF NOT l_i_tvpod[] IS INITIAL .
        SELECT *
          FROM tvpodo2
          INTO TABLE l_i_tvpodo2
           FOR ALL ENTRIES IN l_i_tvpod
         WHERE handle_lips = l_i_tvpod-handle_lips
           AND ( msehi = 'KG'
            OR   msehi = 'L'
            OR   msehi = 'L15'
            OR   msehi = 'L30' ) .
      ENDIF .
    Go through each record passed into the user exit
      LOOP AT c_t_data .
      L_I_DATA_1 will be reset for each new delivery document
        CLEAR   l_i_data_1 .
        REFRESH l_i_data_1 .
        MOVE-CORRESPONDING c_t_data TO l_i_data_1 .
        LOOP AT l_i_lipso2 WHERE vbeln = l_i_data_1-vbeln .
          l_i_data_1-zzlipso2_vbeln  = l_i_lipso2-vbeln   .
          l_i_data_1-zzlipso2_posnr  = l_i_lipso2-posnr   .
          l_i_data_1-zzlipso2_msehi  = l_i_lipso2-msehi   .
          l_i_data_1-zzlipso2_adqntp = l_i_lipso2-adqntp  .
          LOOP AT l_i_tvpod WHERE vbeln = l_i_lipso2-vbeln
                              AND posnr = l_i_lipso2-posnr .
            l_i_data_1-zztvpod_grund = l_i_tvpod-grund .
            l_i_data_1-zztvpod_matnr = l_i_tvpod-matnr .
            l_i_data_1-zztvpod_podmg = l_i_tvpod-podmg .
            LOOP AT l_i_tvpodo2 WHERE handle_lips = l_i_tvpod-handle_lips .
              l_i_data_1-zztvpodo2_difmgp = l_i_tvpodo2-difmgp .
              l_i_data_1-zztvpodo2_msehi  = l_i_tvpodo2-msehi  .
              l_i_data_1-zztvpodo2_podmgp = l_i_tvpodo2-podmgp .
              APPEND l_i_data_1 .
            ENDLOOP . " TVPODO2 loop
          ENDLOOP .   " TVPOD loop
        There is no TVPOD/TVPODO2 record for this document but there is a
        LIPSO2 record. Therefore, add the line with the LIPSO2 data
          CHECK sy-subrc NE 0 .
          APPEND l_i_data_1 .
        ENDLOOP .     " LIPSO2 loop
      If there is no LIPSO2 record for this document (SY-SUBRC = 4)
      then add the existing line passed to the user exit to the final
      table L_I_DATA_2. Otherwise, add all the new records for this
      document currently stored in L_I_DATA_1 to L_I_DATA_2.
        IF sy-subrc EQ 0 .
          APPEND LINES OF l_i_data_1 TO l_i_data_2 .
        ELSE .
          APPEND l_i_data_1 TO l_i_data_2 .
        ENDIF .
      ENDLOOP .       " C_T_DATA loop
      CLEAR   c_t_data .
      REFRESH c_t_data .
      c_t_data[] = l_i_data_2[] .

Maybe you are looking for

  • Special Stock Indicator

    Hi.  We are trying to come up with a way to not allow picking for material in a WM location that will still allow the netting of the inventory.  Because of the complication of an electronic conveyor system, etc, the business does not want to create a

  • DID yOU fIRST tRy tO gET a fREE aPP aS dESCRIBED iN tHE aRTICLE?

    I Did And it keeps saying my account hasn't been reviewed and every time i continue it doesn't show none

  • Best practise for storing lead information

    Hi all I'm running a qualification process by using a lead assessment script. Via this script our reps ask the potential customer 8 questions and a score is calculated. Now the reps will begin the process of converting the leads into opportunities -

  • Detecting ADFButton as ADF component in OpenScript

    Hello, I want to identify the ADFButton as an ADF component in OpenScript. In the Object Identification for Oracle ADF Functional there is the web:commandButton tag. But The commandButton component has been deprecated. So the developers are using the

  • Applications not copying to iTunes

    When I first got my phone every time I synced it asked me if I wanted to copy my purchased item into my iTunes library. I always want to do that so I selected yes and clicked "don't ask again", but now my applications are never copied and it doesn't