No BERDATUM while generic extraction with LDB ADA

We do a generic extraction to BW with LDB ADA. Therefore it was created an additional field in InfoSet on note ANLAV, where BERDATE=BERDATUM. BERDATUM is a selection parameter in LDB ADA. In extractor checker BERDATE is not filled.
Does anybody have an idea what the problem is?
Regards
Pramid Mehta

Hi,
thanks for that hint. I checked this already. DataSource is ok and the field is not hidden.
Regards
Pramid

Similar Messages

  • Generic extraction with function module

    hai experts,
    can u please forward the material about Generic extraction using FM
    and  infoset query with step by step and real-time requirements to my
    mail id.([email protected])
    Regards
    DJReddy

    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a0f46157-e1c4-2910-27aa-e3f4a9c8df33

  • Generic Extraction with RDA

    Hi,
    What scenarios you use RDA when you are extracting data from Generic Extraction among table, view, FM, or SAP Query.  Could you please explain with your experiences with examples.
    Regards,

    I got your question .
    There are datasources delivered by SAP and those cab be used by for doing the RDA .
    The way to check which datasource are RDA enabled .
    1. Go to Se11 . Tabele name - ROOSOURCE
    2. Give the name of the datasource and see the value in REALTIME . if it supports the box you fill find
        filled in the table entries /
    You use real-time data acquisition if you want to transfer data to BI at frequent
    intervals (every hour or minute) and access this data in reporting frequently or
    regularly (several times a day, at least). The DataSource has to support real-time
    data acquisition. The option to support real-time data acquisition is a property of
    a DataSource.
    DataSources that are released for real-time data acquisition cannot be
    used for standard data transfer (scheduled staging).
    Rest i am not sure we can create a generic data source and make that RDA enabled .
    Assign marks is the best way to appreciate help

  • Generic Extraction with delta

    Hi Every one,
    I use an extractor based on a function module which is copy of the RSAX_BIW_GET_DATA_SIMPLE and gets delta records.
    I have  a doubt of how the communication happens between BW and R/3 when delta info package is ran inorder to get delta records.
    Can any one explain how this FM RSAX_BIW_GET_DATA_SIMPLE works ie., the input parameters,usage of static var, Cursors etc?
    FUNCTION RSAX_BIW_GET_DATA_SIMPLE.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SRSC_S_IF_SIMPLE-REQUNR
    *"     VALUE(I_DSOURCE) TYPE  SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
    *"     VALUE(I_READ_ONLY) TYPE  SRSC_S_IF_SIMPLE-READONLY OPTIONAL
    *"     VALUE(I_REMOTE_CALL) TYPE  SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
    *"  TABLES
    *"      I_T_SELECT TYPE  SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
    *"      E_T_DATA STRUCTURE  SFLIGHT OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    Example: DataSource for table SFLIGHT
      TABLES: SFLIGHT.
    Auxiliary Selection criteria structure
      DATA: L_S_SELECT TYPE SRSC_S_SELECT.
    Maximum number of lines for DB table
      STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,
    counter
              S_COUNTER_DATAPAKID LIKE SY-TABIX,
    cursor
              S_CURSOR TYPE CURSOR.
    Select ranges
      RANGES: L_R_CARRID  FOR SFLIGHT-CARRID,
              L_R_CONNID  FOR SFLIGHT-CONNID.
    Initialization mode (first call by SAPI) or data transfer mode
    (following calls) ?
      IF I_INITFLAG = SBIWA_C_FLAG_ON.
    Initialization: check input parameters
                    buffer input parameters
                    prepare data selection
    Check DataSource validity
        CASE I_DSOURCE.
          WHEN '0SAPI_SFLIGHT_SIMPLE'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE E009(R3). ENDIF.
    this is a typical log call. Please write every error message like this
            LOG_WRITE 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                      I_DSOURCE   "message variable 1
                      ' '.                 "message variable 2
            RAISE ERROR_PASSED_TO_MESS_HANDLER.
        ENDCASE.
        APPEND LINES OF I_T_SELECT TO S_S_IF-T_SELECT.
    Fill parameter buffer for data extraction calls
        S_S_IF-REQUNR    = I_REQUNR.
        S_S_IF-DSOURCE = I_DSOURCE.
        S_S_IF-MAXSIZE   = I_MAXSIZE.
    Fill field list table for an optimized select statement
    (in case that there is no 1:1 relation between InfoSource fields
    and database table fields this may be far from beeing trivial)
        APPEND LINES OF I_T_FIELDS TO S_S_IF-T_FIELDS.
      ELSE.                 "Initialization mode or data extraction ?
    Data transfer: First Call      OPEN CURSOR + FETCH
                   Following Calls FETCH only
    First data package -> OPEN CURSOR
        IF S_COUNTER_DATAPAKID = 0.
    Fill range tables BW will only pass down simple selection criteria
    of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CARRID'.
            MOVE-CORRESPONDING L_S_SELECT TO L_R_CARRID.
            APPEND L_R_CARRID.
          ENDLOOP.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CONNID'.
            MOVE-CORRESPONDING L_S_SELECT TO L_R_CONNID.
            APPEND L_R_CONNID.
          ENDLOOP.
    Determine number of database records to be read per FETCH statement
    from input parameter I_MAXSIZE. If there is a one to one relation
    between DataSource table lines and database entries, this is trivial.
    In other cases, it may be impossible and some estimated value has to
    be determined.
          OPEN CURSOR WITH HOLD S_CURSOR FOR
          SELECT (S_S_IF-T_FIELDS) FROM SFLIGHT
                                   WHERE CARRID  IN L_R_CARRID AND
                                         CONNID  IN L_R_CONNID.
        ENDIF.                             "First data package ?
    Fetch records into interface table.
      named E_T_'Name of extract structure'.
        FETCH NEXT CURSOR S_CURSOR
                   APPENDING CORRESPONDING FIELDS
                   OF TABLE E_T_DATA
                   PACKAGE SIZE S_S_IF-MAXSIZE.
        IF SY-SUBRC <> 0.
          CLOSE CURSOR S_CURSOR.
          RAISE NO_MORE_DATA.
        ENDIF.
        S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
      ENDIF.              "Initialization mode or data extraction ?
    ENDFUNCTION.
    Also how the delta queue  is loaded in rsa7 when the delta records made?
    When the delta info package is ran, the delta queue in rsa7 is changed to '0'.How is that communication made in between them?
    Please clear my doubts?
    Regards,
    Pra

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

  • How to extract data by using function module in generic extraction please

    how to extract data by using function module in generic extraction please  give me steps  required

    Dear Deba,
    Generic Extraction via Function Module
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    If the requirement is like extracting data from multiple tables with some complex logic then views cannot be used..so u cna go for FM is used where it can be achieved.
    Chk these
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a0f46157-e1c4-2910-27aa-e3f4a9c8df33
    check the following thread
    generic extraction with function module
    Generic Extraction with function module
    Regards,
    Ram.

  • Generic extraction using table

    Hello friends,
    We have three methods in Generic extraction, as we know.
    1. Using view/Table
    2. Using FM
    3. Using Infoset Query
    I know pretty well the extraction using View, but when do we use "Table"?
    Is there a specific method to perform generic extraction using TABLE?
    Please clarify

    Thanks for the replies.
    In case of a generic extraction with view, i've followed the below procedure.
    1. RSO2.
    2.create a generic datasource by giving a view name and selecting the fields for selection criteria, save and generate.
    3. replicate data sources in BW.
    4. create an infosource and assign the data source, mapping and create an infopackage to load data.
    Now ,
    1. how do we enable Delta for this method?
    2. Is  this possible at all? if yes, how?
    3. How do we proceed after the replication of DataSources in BI? specifically, procedure in BI?
    Pls clarify.

  • Generic Extraction creation

    HI All,
    I want to extract data from two tables from CRM(Z tables).
    When I goto RSO2 to create a generic data source it is giving me the options of Extract from View,Extract from Info Set and Extract BY FM.
    But when I select Extraction from View it is giving me an option to select from one table only.
    HOw can I extract data from two tables?
    Please help me
    Sridath

    Hi,
    Check the below links, you will get more info on Generic Extraction.
    Generic Extraction:
    http://help.sap.com/saphelp_nw70/helpdata/en/28/4c553c42360a40e10000000a114084/frameset.htm
    Check the link.
    http://www.erpgenie.com/sapgenie/docs/MySAP%20BW%20Cookbook%20Vol%202.pdf
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
    Refer:
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    Generic Extraction with Table, View, FM & Infoset
    Creating a datasource for generic extraction
    Generic Extraction
    Customer and Generic extraction difference ?
    generic extraction
    Re: Generic extractors
    generic extraction
    Reg
    Pra

  • Generice extracttion with delta

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

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

  • Peculiar problem in LDB ADA with company code selection

    <h5>Hello Colleagues, </h5>
    Faced a peculiar problem with company code selections in LDB ADA. Entered depreciation area, dep posting perios, lower and higher value of company code and would like to except few companies from selections. On pressing extension button, error message "Depreciation area 01 is not defined in chart of depreciation" is popping up and not allowing to provide exceptions for company codes. But working well in development systems. We are using ECC 6.0 systems and in both systems we have same lines of code for SAPDBADA.
    During debug, found that in development system, control coming to initial statements after PAI event. But in other systems, control skips few initial commands after PAI and directly jumps to later commands. Due to this FNAME parameter in PAI subroutine setting with '*' in other systems and 'BUKRS' in dev system.
    Could anybody give me some thoughts of why system behaving differently?
    Thanks and Regards,
    Prasanth

    Some - or most? - ODBC driver, especially MS for SQLServer and Access, don't support these advanced JDBC features.
    Like the messages says: they are optional features, and the driver doesn't implement them.
    A good news:
    you don't need them.
    Just go through your ResultSets only forward by next(), and do all inserts, updates and deletes with executeUpdate() and SQL commands.

  • Issue with generic extraction using FM

    Hi All,
    I am trying to load from one DSO to other DSO, where i am trying to use generic extraction using FM, where i created strucutre of second DSO .
    created Generic datasource with Function module.
    when i am loading data using infopackage, its loading perfectly into PSA(with 100 records) and when i am loading thru DTP to Data target( second DSO), it is looping many records in each datapackage(like 8 million in each package) and updating into datatarget finally 100 records. but it is taking long time to finish the process.( i copied RSAX_GET_SIMPLE_DATA) and added transformation logic to it .
    so i would like to know, if there is anything i have to change in the Function module code, to fix this.
    i would also like to know,  request is already in PSA, will it again extract from FM, when updating thru DTP.
    Thanks
    R,man
    Points will be awarded.

    Hi
    I also had the same process. In the code of the function module. just check the Raise Exception code, probably ABAP guy can help. Also try to debug the code in RSA3 in debug mode. Actually it is going to a infinite loop, I guess.
    Regards
    Souresh

  • What is the disadvantage with views in generic extraction?

    hi
    what is the disadvantage with views in generic extraction?
    thanks in advance,
    srinivas.

    Hi ,
    <i>What is disadvantage of generic extraction ? </i>
    If i am asking this what you will say ......You have only less points to say if any one ask you like this .
    Similarly Generic extraction based on view has many advantegs It was given to extrct data when standard business content data source is not available .
    But we know Views can be created when the table you need to extract data has Primary Foreign key relation .So if you need to extarct data from many tables with no relation between them then you cannot use view .
    But if you need to extract data from tables that have complex relation ,Then you need to go for Function Module extration and write some ABAP code and using SQL ststements you fetch data from tables based on thier key fields and finally get the desired data by your coding logic .

  • Where to find deltas in generic extraction

    hi experts,
    could you please explain me tcodes which are used to find the delta data while we go for generic extraction. Also can anyone explain me the full process of extracting the data using  
    infoset query and function module.
    Cheers,
    Pragya.

    Hi
    You can define delta's in generic using " calendr day, numeric pointer, time stamp."
    Generic Delta
    If a field exists in the extract structure of a DataSource that contains values which increase monotonously over time, you can define delta capability for this DataSource. If such a delta-relevant field exists in the extract structure, such as a timestamp, the system determines the data volume transferred in the delta method by comparing the maximum value transferred with the last load with the amount of data that has since entered the system.  Only the data that has newly arrived is transferred.
    To get the delta, generic delta management translates the update mode into a selection criterion. The selection of the request is enhanced with an interval for the delta-relevant field. The lower limit of the interval is known from the previous extraction. The upper limit is taken from the current value, such as the timestamp or the time of extraction. You can use security intervals to ensure that all data is taken into consideration in the extractions. After the data request was transferred to the extractor, and the data was extracted, the extractor then informs generic delta management that the pointer can be set to the upper limit of the previously returned interval.
    The delta for generic DataSources cannot be used with a BW system release prior to 3.0. In older SAP BW releases, the system does not replicate DataSources for master data and texts that were made delta-enabled using the delta for generic DataSources.
    Determining the Generic Delta for a DataSource
           1.      Choose Generic Delta.
           2.      In the subsequent dialog box, specify the delta-determining field and the type for this field.
           3.      Maintain the settings for the generic delta:
                                a.      Specify a security interval.
    The purpose of a security interval is to make the system take into consideration records that appear during the extraction process but which remain unextracted (since they have yet to be saved) during the next extraction.
    You have the option of adding a security interval to the upper limit/lower limit of the interval.
    A security interval should only be specified for the lower limit when the delta method results in a new status for changed records, in other words, when the status is overwritten in BW. In this case, duplicate data records that could arise in such a safety interval have no affect on BW.
                                b.      Choose the delta type for the data to be extracted.
    The delta type is used to determine how extracted data is interpreted in BW and which data targets in which it can be posted.
    With the delta type additive delta, the record to be loaded for summarizable key figures only returns the change to the key figure. The extracted data is added in BW. DataSources with this delta type can supply both ODS objects and InfoCubes with data.
    With the delta type New Status for Changed Records, every record to be loaded returns the new status for all key figures and characteristics. The values are overwritten in BW. DataSources with this delta type can write the data into ODS objects and master data tables.
           4.      Save your entries.
    Delta transfer is now possible for this DataSource.
    After generating the DataSource, you can see this from the marking for the field Delta Update on the DataSource: Customer Version screen.
    In systems from release 4.0B, you can display the current value of the delta-relevant field in the delta queue.
    Example for Determining the Selection Interval for a Generic Delta
    Safety Interval Upper Limit
    The delta-relevant field is a timestamp.
    The timestamp that was read last is 12:00:00. Delta extraction begins at 12:30:00. The safety interval for the upper limit is 120 seconds. The safety interval for the delta request is: 12:00:00 to 12:28:00. Upon completion of the extraction, the pointer is set to 12:28:00.
    Safety Interval Lower Limit
    The delta-relevant field is a timestamp. After images are transferred. In other words, the record is overwritten with the status after the change in BW, for example for master data. Any duplicate records that appear have no effect upon the BW system.
    The last changed timestamp is 12:28:00. Delta extraction begins at 13:00. The safety interval for the lower limit is 180secs. The safety interval for the delta request is: 12:25:00 to 13:00:00. Upon completion of the extraction, the pointer is set to 13:00:00.
    source: help.sap.com
    Hope it helps
    kalyan

  • Errors occurred during the extraction(Generic Extraction)

    Hi All,
    I am facing problems in solving BW Production issues .
    The following are the Problem  details.
    Actually there are two Datasources connected to BW System  One is from R/3 and other is from CRM.
    The problem is with Delta  Request which has been failed in ODS while uploading Data from R/3 in Background Scheduling but other DataSource is loading perfectly into BW System.
    Its a generic extraction created based on View.
    When i checked BW Side the error is displaying as follows:                                                                                Error occurred in the Data Selection.
         Error occurred in the Source System.
            No Data has been extracted from R/3 into BW.
    But when i checked R/3 (Source system)
    Firslty i executed RSA7  for checking Delta Records.  The records are 0 for the Datasource.
    I executed RSA3 with Full UpdateMode, the number of records extracted were displayed
    when i checked with Delta Update Mode its giving the following error.
    Errors occurred during the extraction
    Message no. RJ 012
    Diagnosis
    There was an error during the extraction phase of the extractor. An exception 'error_passed_to_mess_handler' has been triggered.
    Procedure
    Check the function module and the call from the extractor check program
    Messages from source system
    see also Processing Steps Request
    These messages are sent by IDoc from the source system. Both the extractor itself as well as the service API can send messages. When errors occur, several messages are usually sent together.
    From the source system, there are several types of messages that can be differentiated by the so-called Info-IDoc-Status. The IDoc with status 2 plays a particular role here; it describes the number of records that have been extracted in a source system and sent to BW. The number of the records received in BW is checked against this information.
    Regards,
    Chakri
    Message was edited by: Chakri
    Message was edited by: Chakri

    Hi,
    If Idoc are already sent to BW then goto Monitor in BW and in Details tab note the Idoc no in OLTP, and goto R?3 and BD20 tcode and give the Idoc no and execute it.And see the records are came or not in BW.
    Thanks
    Reddy

  • Generic Datasource with Delta and functionmodule

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

    Hi Roberto,
    here is the code from the function-module:
    FUNCTION zbw_mm_get_eket.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SBIWA_S_INTERFACE-REQUNR
    *"     VALUE(I_DSOURCE) TYPE  SBIWA_S_INTERFACE-ISOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SBIWA_S_INTERFACE-MAXSIZE DEFAULT 1000
    *"     VALUE(I_INITFLAG) TYPE  SBIWA_S_INTERFACE-INITFLAG OPTIONAL
    *"     VALUE(I_READ_ONLY) TYPE  SBIW_BOOL DEFAULT SBIW_C_FALSE
    *"  TABLES
    *"      I_T_SELECT TYPE  SBIWA_T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SBIWA_T_FIELDS OPTIONAL
    *"      E_T_DATA OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
      INCLUDE lrsalk01.
    DataSource for table EKET
      TABLES: zv_mm_eket.
    interne Tabelle für Bearbeitung
      DATA:   itab_0 TYPE TABLE OF zstr_eket WITH HEADER LINE.
      TYPES: BEGIN OF typ_categ,
              j_4kbwef    TYPE atnam,
              /afs/bwel   TYPE j_4kbwef,
             END OF typ_categ.
      DATA: l_s_data_eket  TYPE zstr_eket,
            ld_cat_struct  TYPE j_4kcsgr,
            lt_cat_fields  TYPE TABLE OF j_4kcif001,
            ls_cat_fields  TYPE j_4kcif001,
            ls_mara        TYPE mara,
            l_tabix        LIKE sy-tabix,
            itab_cat       TYPE TABLE OF typ_categ ,
            ls_cat         TYPE typ_categ,
            h_feldsize1(8)        TYPE c,"wegen Typ-konflikt im FB
            h_feldsize2(8)        TYPE c."wegen Typ-konflikt im FB
    Auxiliary Selection criteria structure
      DATA: l_s_select TYPE rsselect.
    Maximum number of lines for DB table
      STATICS: s_t_select     LIKE rsselect OCCURS 0 WITH HEADER LINE,
               s_t_fields     LIKE rsfieldsel OCCURS 0 WITH HEADER LINE,
    counter
              s_counter_datapakid LIKE sy-tabix,
    cursor
              s_cursor TYPE cursor.
    Select ranges
      RANGES: l_r_ebeln       FOR zv_mm_eket-ebeln,
              l_r_ebelp       FOR zv_mm_eket-ebelp,
              l_r_bsart       FOR zv_mm_eket-bsart.
    Initialization mode (first call by SAPI) or data transfer mode
    (following calls) ?
      IF i_initflag = sbiwa_c_flag_on.
    Initialization: check input parameters
                    buffer input parameters
                    prepare data selection
    Check DataSource validity
        CASE i_dsource.
          WHEN 'ZDS_V_MM_EKET'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE e009(r3). ENDIF.
    this is a typical log call. Please write every error message like this
            log_write 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                      i_dsource            "message variable 1
                      ' function modul was created for DS ' &
                      'ZDS_V_MM_EKET"!'.
            "message variable 2
            RAISE error_passed_to_mess_handler.
        ENDCASE.
        APPEND LINES OF i_t_select TO s_t_select.
    Fill parameter buffer for data extraction calls
       S_T_SELECT-REQUNR    = I_REQUNR.
       S_T_SELECT-DSOURCE   = I_DSOURCE.
       S_T_SELECT-MAXSIZE   = I_MAXSIZE.
    Fill field list table for an optimized select statement
    (in case that there is no 1:1 relation between InfoSource fields
    and database table fields this may be far from beeing trivial)
        APPEND LINES OF i_t_fields TO s_t_fields.
      ELSE.                 "Initialization mode or data extraction ?
    Data transfer: First Call      OPEN CURSOR + FETCH
                   Following Calls FETCH only
    First data package -> OPEN CURSOR
        IF s_counter_datapakid = 0.
    Fill range tables BW will only pass down simple selection criteria
    of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
          LOOP AT s_t_select INTO l_s_select WHERE fieldnm = 'EBELN'.
            MOVE-CORRESPONDING l_s_select TO l_r_ebeln.
            APPEND l_r_ebeln.
          ENDLOOP.
          LOOP AT s_t_select INTO l_s_select WHERE fieldnm = 'EBELP'.
            MOVE-CORRESPONDING l_s_select TO l_r_ebelp.
            APPEND l_r_ebelp.
          ENDLOOP.
          LOOP AT s_t_select INTO l_s_select WHERE fieldnm = 'BSART'.
            MOVE-CORRESPONDING l_s_select TO l_r_bsart.
            APPEND l_r_bsart.
          ENDLOOP.
    Determine number of database records to be read per FETCH statement
    from input parameter I_MAXSIZE. If there is a one to one relation
    between DataSource table lines and database entries, this is trivial.
    In other cases, it may be impossible and some estimated value has to
    be determined.
          OPEN CURSOR WITH HOLD s_cursor FOR
          SELECT (s_t_fields) FROM zv_mm_eket
          WHERE
          ebeln      IN               l_r_ebeln           AND
          ebelp      IN               l_r_ebelp         AND
          bsart    IN             l_r_bsart.
        ENDIF.                             "First data package ?
    Fetch records into interface table.
      named E_T_'Name of extract structure'.
       FETCH NEXT CURSOR s_cursor
                  APPENDING CORRESPONDING FIELDS
                  OF TABLE e_t_data
                  PACKAGE SIZE i_maxsize.
        FETCH NEXT CURSOR s_cursor
                   APPENDING CORRESPONDING FIELDS
                   OF TABLE itab_0
                   PACKAGE SIZE i_maxsize.
        LOOP AT itab_0 INTO l_s_data_eket.
          l_tabix = sy-tabix.
    Lesen Erstellungsdatum aus EKKO
          SELECT SINGLE aedat FROM ekko INTO l_s_data_eket-sydat
                         WHERE ebeln = l_s_data_eket-ebeln.
    Lesen Partner aus EKPA
          SELECT SINGLE lifn2 FROM ekpa INTO l_s_data_eket-plief
                         WHERE ebeln = l_s_data_eket-ebeln AND
                               ebelp = l_s_data_eket-ebelp AND
                               ekorg = l_s_data_eket-ekorg AND
                               werks = l_s_data_eket-werks .
          IF NOT l_s_data_eket-matnr IS INITIAL .
    *A Lesen material für Kategoriestruktur j_4kcsgr(F001 oder R002)
            CLEAR ls_mara.
            CALL FUNCTION 'J_3A1_LESEN_MARA_SINGLE'
                 EXPORTING
                      i_matnr         = l_s_data_eket-matnr
                 IMPORTING
                      e_mara          = ls_mara
                 EXCEPTIONS
                      param_not_valid = 1
                      OTHERS          = 2.
            IF sy-subrc NE 0.
            ENDIF.
    *E Lesen material für Kategoriestruktur j_4kcsgr(F001 oder R002)
    *A Aufsplitten Bestandskategorie
            REFRESH lt_cat_fields.
            CALL FUNCTION 'J_4KG_SPLIT_CAT'
              EXPORTING
                client                            = sy-mandt
                csgr                              = ls_mara-j_4kcsgr
                cat_appl                          = 'S'
                cat_value                         = l_s_data_eket-j_4kscat
      NECESSARY_SPECIFIED               = ' '
              TABLES
                cat_fields_tab                    = lt_cat_fields
              EXCEPTIONS
                no_category_structure_found       = 1
              OTHERS                            = 2.
            IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ELSE."sy-subrc <> 0
    Verarbeitung der Ergebnisse
              LOOP AT lt_cat_fields INTO ls_cat_fields.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_SCONFIG'.
                  l_s_data_eket-zz_bwel_sconfig = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_CONFIG'.
                  l_s_data_eket-zz_bwel_config = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_COUNTRY'.
                  l_s_data_eket-j_3abwel_country = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_COUNTRYGRP'.
                  l_s_data_eket-zz_bwel_coungrp = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_STOCKTYPE'.
                  l_s_data_eket-zz_bwel_stktype = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_ORDER'.
                  l_s_data_eket-zz_bwel_order = ls_cat_fields-j_4kcatv.
                ENDIF.
                IF ls_cat_fields-j_4kbwef EQ 'BW_CAT_QUALITY'.
                  l_s_data_eket-j_3abwel_qual = ls_cat_fields-j_4kcatv.
                ENDIF.
              ENDLOOP."lt_cat_fields
            ENDIF.
    *E Aufsplitten Bestandskategorie
    *A Aufsplitten MAtrix
            IF NOT l_s_data_eket-j_3asize IS INITIAL.
              CALL FUNCTION 'J_3A_SPLIT_SIZES'
                   EXPORTING
                        matnr              = l_s_data_eket-matnr
                        j_3asize           = l_s_data_eket-j_3asize
                   IMPORTING
                        j_3akord1          = l_s_data_eket-j_3abwel_color
                        j_3akord2          = h_feldsize1
                        j_3akord3          = h_feldsize2
                   EXCEPTIONS
                        no_grid_determined = 1
                        OTHERS             = 2.
              IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
              ELSE.
                l_s_data_eket-zz_bwel_size1 = h_feldsize1.
                l_s_data_eket-zz_bwel_size2 = h_feldsize2.
              ENDIF.
            ENDIF."not l_s_data_eket-J_3ASIZE is initial
    *E Aufsplitten MAtrix
            MODIFY itab_0 FROM l_s_data_eket INDEX l_tabix.
          ENDIF."not l_s_data_eket-matnr is initial
        ENDLOOP.                                                "itab_0
      An Ausgabe-Tabelle übergeben
        APPEND LINES OF itab_0 TO e_t_data.
        IF sy-subrc <> 0.
          CLOSE CURSOR s_cursor.
          RAISE no_more_data.
        ENDIF.
        s_counter_datapakid = s_counter_datapakid + 1.
      ENDIF.              "Initialization mode or data extraction ?
    ENDFUNCTION.
    regards
    thorsten

  • Generic extraction

    Hi,
    in generic extraction in which scenarios you extract data from  table,view,infoset query,FM
    sridhar

    Transparent Table
    If you're wishing to create a generic DataSource based on a single Transparent Table in the source R3/ECC system, then using that table as the source for your generic DataSource would be appropriate because it will expose all of the columns in that table to your generic extraction structure. There is one exception to this and that is, if you have more than one date field (e.g. Created On and Changed On dates) that you're going to use for generic delta. Pool/Cluster tables and structures wouldn't be allowable for this type of generic DataSource setup.
    View on Transparent Tables
    If your requirement is to create a generic DataSource based on multiple Transparent Tables in your source R3/ECC system, then a view would be appropriate. You can either use SAP delivered views in the source R3/ECC environment or create a custom view. The same exceptions (generic delta on more than one date field, pool/cluster tables and structures).
    Function Module
    A custom Function Module can be coded for the extraction of data for a generic DataSource. This type would be appropiate if you're extracting data from pool/cluster tables or structures. Another use for a Function Module as the source for a generic DataSource would be if you're going to use more than one data field for a generic delta. Finally, a Function Module would be used if there is some transformational-type logic required to be done on the extracted data before it is passed to BW.
    InfoSet Query
    An InfoSet (not to be confused with an InfoSet in BW) query in a source R3/ECC environment, is created in tocde SQ01, and is a way of creating "quick-and-dirty" reports with summarized values, derived values, et. al. This can be used as the basis for a DataSource, if the queries are already built. If not, then a Function Module can perform and necessary aggregations, derivations or other transformational-type logic, instead of creating a query. I say this because I'd highly discourage using this as a source for a generic DataSource because InfoSet queries are usually extremely inefficient and can consume a lot of the valuable system resources.

Maybe you are looking for

  • Error while creating shipment cost

    Good morning, I'm trying the solve an issue when we create a shipment cost. I get the following error when trying to transfer the cost "No purchase order item was generated for shipment cost item" / "in case of evaluated receipt setlement, please ent

  • BEx Report  - % to SALES

    Dear All, I am working on Report for P&L account. The Columns of the Reports is as follows: GL Account     Plan      Actual     Variance   <b>% to Sales</b> Sales                           100         120               20               100 Material  

  • Pdf upload to sharepoint takes longer than ppt

    Hi, while uploading file to document libaray->pdf  files takes longer time than ppt. Please help why it is?any suggestions. Thanks In Advance.

  • Tpsend failure return -1 tperror 6

    hi, Iam trying out to write conversational client and server,flags are properly set for tpsend and tprecv both sides.But Iam getting tperror 6 for tpsend and tprecv at both sides.Please help me out for this.Suggest some url also so that i can chk out

  • My desktop has dsappeared after downloading safari webbroser

    I tried t download a more recet version of safari. Wen i went o ope it it aidits nt compaibleformy oprating system.  My old safari as one so i donloddgooglchrome.  i didnt like all the pop ups so i trid to donload Firefox.  my computer froze at that