Generic DataSource - RSO2

Hi Guys,
  I have a problem setting up a generic datasource. I added a field DATAS (date) as
a delta field. In some records this field
is empty, These record are not loaded in BW. What is the best way to handle this?
Regards,
Renato

Hi,
This is in response to your main question. If you have any other date field that is getting updated (changed on/ created on) in the table from where your datasource is fetching the data, then you can go for alternate way.
You can have your datasource based on function module and then can use multiple fields for delta purpose. This should solve your problem, only if you have another date field which is getting populated.
/people/monika.birdi2/blog/2010/08/26/delta-using-multiple-fields

Similar Messages

  • Generic DataSource using InfoSet on BI 7.0

    Hi gurus,
    I need to extract data from a InfoCube through a generic DataSource. I have created an InfoSet Query based on this InfoCube and I have noticed this kind of InfoSet is not the same that is used by Tcode RSO2.
    Does anybody know if there is any way to get this vai generic DataSource?
    I need to get data from Infocube because de Delta Control must be the package number.
    Thanks in advance,
    Silvio Messias.
    P.S.: The version of my environment is 7.0.

    Hi Ashok,
    Into the Tcode RSO2 (Generic DataSource) I have the option to collect data from an InfoSet. This InfoSet must be created through Tcode SQ02, right?
    I woult like to get data from a Infoset Query based on InfoCube, created through RSA1 on BI 7.0.
    Is there any way to do it?
    Thanks for your help,
    Silvio Messias.

  • Generic datasource creation in IS-HTCM

    Gurus
    Has anyone worked with IS-HTCM on CRM? and creating of reports with HTCM as source system?
    We want to create a few generic Datasources ....BWA1 is one option and RSO2 is the other...But can the BWA1 concept of CRM be tried in HTCM as well? or do we have to resort to RSO2?
    Thanks in advance
    Regards
    Prakash

    Hi Prakash,
    for generic datasources the transaction will be rso2 in all systems.
    Siggi

  • Invalid Extract Structure error while creating "Generic DataSource" on a view...

    Dear All,
    I have created a view on following tables MARA, AFKO and MSEG. The Table/Join condition is as follow:
    AFKO--AUFNR  = MSEG--AUFNR
    AFKO--PLNBEZ = MARA--MATNR
    I have included all the fields from MSEG and other all fields from MARA and AFKO. The view is created successfully and contents/records are also being fetched/displayed from this view.
    See screen shot as well:
    But when I go to RSO2 to create a "Generic DataSource" on this view. I get a series of warning messages and then error message "Invalid Extract Structure" and therefore I'm unable to create my DataSource on this view. See below screen shots of warning and error messages.
    Other warning messages are as follow:
    Field GAMNG with reference field MEINS: Reference table MARA is replaced by ZOXPRD0150
    Field PLSVB with reference field PLNME: Reference table PLKO is replaced by ZOXPRD0150
    Field PLSVN with reference field PLNME: Reference table PLKO is replaced by ZOXPRD0150
    Field LODIV with reference field MEINS: Reference table MARA is replaced by ZOXPRD0150
    Following is the screen shot of error message:
    1. How can I get rid of this error message and be able to create my "Generic DataSource" on top of this "View"?
    2. What should I do to resolve the above warning and error messages?
    I will appreciate your reply.
    Many thanks!
    Tariq Ashraf

    Hi Vipul,
    as you can find in CKIS table, the reference feild for value feild "WERTN" is missing.
    As per the table the reference feild is HWAER. This should have been used in place of FWAER.
    Try mentioning this in your view and this should work.
    Also I am a little enthusiastic to know, what are you trying to get from the datasource.
    If you are trying to get the cost estimate of multi level BOM, not (just one child level), then this approach may not work.
    There is a BAPI that gives such itemization split. Just FYI, in case you are looking for multi level explosion.
    "BAPI_COSTESTIMATE_ITEMIZATION".
    Hope this helps.
    Naveen.A

  • Error while creating Generic Datasource

    Hi,
    I try to create generic datasource using function module in RSO2, it is giving the following errors and the datasource is not creating.
    "Units field WAERK for field TOT_REV of DataSource ZIPO_TRANSCATION is hidden Message no. R8147"
    "Units field WAERK for field EXP_REV of DataSource ZIPO_TRANSCATION is hidden Message no. R8147"
    TOT_REV and EXP_REV fileds datatype is CURR.
    Fuction Module is working fine. Please give me any inputs, it is very urgent.
    Best Regards,
    SGK.

    hi,
    let WAERS field be present in your structure defn
    In the Currency/Quantity fields tab of your extract structure give the refernce of the same structure and same field
    Regards,
    Sampat

  • How to create a generic datasource from function module?

    Dear experts,
    I have created a generic datasource from function module. For this extrator, I created a function module and a structure.
    I have now some difficulties to continue:
    In this function module, i get data from different transparent tables. Then i put these data into an internal table.
    I just don't know what is the relatioin between the structure i defined and this internal table.
    I should make "iTab structure AA" in the source code?
    Thanks

    Hi..
    check this
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
    Generic Extraction via Function Module
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    1. Create s structure with the fields that you need from the 4 tables . Activate.
    2. Goto SE 80 Select The Function Group , Copy , Select the Function module
    " RSAX_BIW_GET_DATA_SIMPLE " and Give a New name starting With
    Y or Z .
    3. SE37 ->Your Function module name -> Change , In table tab give your structure
    name by deleting the associated type given in " XXXX " .
    4. Now select source code and Do the coding . Give Data source name in Coding .
    In your case you have to take data from more that 1 table .
    5. Activate the Function Group .
    6. In RSO2 Create the Data source , Give the Function Module Name , And Save.
    7. RSA3 -> Give data source name and Check for the Records .
    Creation of custom datasource. (Using function module)
    .Create a function group .
    . Structure ZTXXXX
    Create function module (i.e. ZTESTXXX) .
    . Create the data source using transaction (RSO2).
    . If structure exists for the table parameter of your function module then ok else create a structure for the table parameter ‘        ’.
    Test the datasource in R/3 using transaction RSA3.
    Transfer the data source to BW –System and replicate it in the BW-System.
    Message was edited by:
            shiv

  • A GENERIC DATASOURCE SCENARIO -URGENT

    I have few reports for BOM data is to be pull into bw
    all the reports contain the same tables Mentione below
    MAST- material to BOM LINK
    STKO- BOM header
    STPO- BOM ITEM
    STAS- BOM ITEM SELECTION
    how should i create ageneric datsource satisfying that all the data comes from these tables without fail of deltas,
    my doubts.1. Do i have to create a separate data sources (generic) for all these individually and load into separate ODS'S AND CLUB THEM into single ODS further.?
    if i create i dont know what should be delta field that has to be picked for each datasource
    2. Do i have to create a view on all these tables and create a generic datasource.if created what would be the delta field i have to select.
    could you pls let me know how should i pull the data without loosing any deltas
    could you pls let me know the flow with delta fields mentioned
    regards,
    P

    It does not matter whether to extract from table or view in order not to loose delta.
    You need to identify a field in the table /view that can be delta enabled.
    Go to RSO2 and define the data source and you will see a push button for delta and click that and set the settings for delta field.
    Ravi Thothadri

  • Field in Append Structure for Generic Datasource

    Hi:
    I created a Generic Datasource based on a view. After that, I created an Append to the Extraction Structure to include a field not originally on the view (and not related to any table in the view) to be calculated using customer exit in CMOD.
    At the moment of activating the Datasource, this new field doesn't appear in the selection window but in RSA6 it shows there with options "Hide Field" and "Field only Known in Customer Exit" checked.
    Again, I try to edit the Datasource but this field is not in the list to change those two checks.
    Any idea?
    Thanks.
    Luis Sales

    Dear Luis Sales,
    I was having the same requirement. I tried it hard for removing the tick mark on the HIDE option. But it was not working at all.
    I tried these steps.
    1. From RSO2 went to Extract structure. Edit Mode-> append structure.
    2. Appended required fields and activated both append structure and extract structure.
    3. Back to datasource and Save it.
    4. Came out of transaction RSO2. ( latter Logged of system )
    5. after re login - RSA6 selected given Datasource and change. there I could change the selection of HIDE field. ( Even earlier I was not able to do that)
    May be these steps help you out.

  • Can anybody explain me creating Generic Datasource using Function module?

    Hi,
    can anybody explain me creating Generic Datasource using Function module?
    Thax in advance,
    Ravi.

    Generic Extraction via Function Module
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    1. Create s structure with the fields that you need from the 4 tables . Activate.
    2. Goto SE 80 Select The Function Group , Copy , Select the Function module
    " RSAX_BIW_GET_DATA_SIMPLE " and Give a New name starting With
    Y or Z .
    3. SE37 ->Your Function module name -> Change , In table tab give your structure
    name by deleting the associated type given in " E_T_DATA " .
    4. Now select source code and Do the coding . Give Data source name in Coding .
    In your case you have to take data from more that 1 table .
    5. Activate the Function Group .
    6. In RSO2 Create the Data source , Give the Function Module Name , And Save.
    7. RSA3 -> Give data source name and Check for the Records .
    Creation of custom datasource. (Using function module)
    <b>is an example</b>
    1.Create a function group .
    2. Structure ZTEST123
    ZMATNR MATNR CHAR 18 0 Material Number
    ZMTART MTART CHAR 4 0 Material type
    ZMBRSH MBRSH CHAR 1 0 Industry sector
    ZMATKL MATKL CHAR 9 0 Material group
    ZBISMT BISMT CHAR 18 0 Old material number
    ZMAKTX MAKTX CHAR 40 0 Material description
    3. Create function module (i.e. ZTEST….) .
    FM - YMARA_DATA_TRNS
    FUNCTION YMARA_DATA_TRNS.
    ""Local Interface:
    *" IMPORTING
    *" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
    *" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
    *" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
    *" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
    *" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
    *" TABLES
    *" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
    *" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
    *" E_T_DATA STRUCTURE ZTEST123 OPTIONAL
    *" EXCEPTIONS
    *" NO_MORE_DATA
    *" ERROR_PASSED_TO_MESS_HANDLER
    data : ZTEST123 type ZTEST123 occurs 0 with header line.
    Maximum number of lines for DB table
    STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,
    S_COUNTER_DATAPAKID LIKE SY-TABIX.
    DATA: begin of t_mara occurs 0,
    ZMATNR type MATNR,
    ZMTART type MTART,
    ZMBRSH type MBRSH,
    ZMATKL type MATKL,
    ZBISMT type BISMT,
    end of t_mara.
    DATA: begin of t_makt occurs 0,
    ZMATNR type MATNR,
    ZMAKTX type MAKTX,
    end of t_makt.
    Initialization mode (first call by SAPI) or data transfer mode
    (following calls) ?
    IF I_INITFLAG = SBIWA_C_FLAG_ON.
    Check DataSource validity
    CASE I_DSOURCE.
    WHEN 'ZZMARA_DATA'.
    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.
    Fill parameter buffer for data extraction calls
    S_S_IF-REQUNR = I_REQUNR.
    S_S_IF-DSOURCE = I_DSOURCE.
    S_S_IF-MAXSIZE = I_MAXSIZE.
    ELSE. "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.
    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.
    select MATNR
    MTART
    MBRSH
    MATKL
    BISMT
    from mara up to 10 rows
    into table t_mara.
    if not t_mara[] is initial.
    select MATNR
    maktx
    from makt
    into table t_makt
    for all entries in t_mara
    where matnr = t_mara-zmatnr.
    endif.
    loop at t_mara.
    read table t_makt with key zmatnr = t_mara-zmatnr.
    ZTEST123-zmatnr = t_mara-zmatnr.
    ZTEST123-ZMTART = t_mara-ZMTART.
    ZTEST123-ZBISMT = t_mara-ZBISMT.
    ZTEST123-ZMBRSH = t_mara-ZMBRSH.
    ZTEST123-ZMATKL = t_mara-ZMATKL.
    ZTEST123-zmaktx = t_makt-zmaktx.
    append ZTEST123.
    clear ZTEST123.
    endloop.
    clear E_T_DATA.
    refresh E_T_DATA.
    E_T_DATA[] = ZTEST123[].
    ENDIF.
    S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
    ENDIF. "Initialization mode or data extractio
    ENDFUNCTION.
    3. Create the data source using transaction (RSO2).
    4. If structure exists for the table parameter of your function module then ok else create a structure for the table parameter ‘E_T_DATA’.
    5. Test the datasource in R/3 using transaction RSA3.
    6. Transfer the data source to BW –System and replicate it in the BW-System.

  • Creating generic datasource using function module in R/3 4.6c

    Hi,
    I am not able to see the option (in TC RSO2) to create generic datasource using function module in R/3 4.6c. Is there any special plug in or some SAP Note to be applied to get the option ?
    Waiting for a quick response.
    Thanks and Regards,
    Deepak

    Hi Sat,
    Thanks for the reply.
    I know that creating generic datasource from function module is available in R/3 4.7.
    In 4.6c version there are only two options available. They are Extraction from DB View and Extraction from SAP Query.
    The third option i.e. Extraction from Function Module is not available in 4.6c. I wanted to know if there is any plugin that needs to be installed to get this option.
    Thanks and Regards,
    Deepak

  • Generic Datasource by Function Module.

    Hi there,
    Our ABAP guy is building a function module to bring data to BW by using Generic DataSource. My qtn is how we are going to handle delta?
    Can we use the delta provided in Rso2 or we have to hard code it in the function module?
    Your prompt help will be highly appreciated.
    Kara.

    Hi,
    Just Go through 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/84bf4d68-0601-0010-13b5-b062adbb3e33
    Hope it helps.
    Thanks,
    -Vijay

  • Cannot activate generic datasource

    I created a generic datasource (2004s) in BW based on function module in RSO2. While saving, this datasource was captured in transport. Further, to use this datasource I had to replicate it even though it was BW datasource, which prompted me for transport again. This time "Datasource in BW" version was saved in transport. So now my transport has two versions of datasource. When we moved this transport to quality, my datasource was available in active (green) and executable version and I didn't had to do replicate step. But when I tried to open infopackage and schedule load, it seemed like it was trying to save datasource (am telling based on message seen in left bottom corner) and it gave pop up saying system is non-modifiable. Message is understandable as quality system is in display mode only, but load fails with error - datasource needs to be replicated. And now when I open datasource in RSA1, its in edited version. So the state of datasource has changed now. For test purpose, I created test datasource in similar manner as above and transported to quality. And this time I manually replicated datasource in quality through RSDS but again same error occurred here which had occurred earlier while scheduling load. It is clear that system is not able to save datasource version. I have done this practice quite a few times but never came across such error even though quality system is display only. What is it exactly missing this time then?
    -Abhijit

    Hi Abhijeet,
    Try this Program to Activate the DS: RSDS_DATASOURCE_ACTIVATE_ALL
    Regards,
    Mayank
    Assiging point is saying thanks over SDN.

  • Errors occurred during the extraction - Generic datasource

    Hi,
    We had created a Generic datasource based on Infoset. While executing RSA3 for that datasource, 'Errors occurred during the extraction' message is getting displayed.
    In the Error log, it says, "Field catalog does not agree with the fields of the functional area".
    Please let us know on how to resolve this error asap.
    Thanks in advance!!!!

    hi haripriya,
    just go to RSO2.
    Enter the name of your datsource.
    then Click on Delete.
    Then Again Recreate your data source  with correct structure and definition.
    then activate it and replicate it in BW.
    hope this will help u.
    thanks

  • Delta extraction for a generic datasource

    Hi BWers,
    I want put in Delta the extraction of a generic datasource.
    Currently this generic datasource is based on the table VBPA (Sales Document: Partner). Any time field exists.
    We need a time field in order to converse to a Delta extraction. This time field exists in the table VBAP (Sales Document: Item data). In fact two time fields exist: one which is filled at the creation of the sales order (ERDAT), another at the change of the sales order (AEDAT).
    The fields VBELN, POSNR and MANDT are keys in the tables VBAP and VBPA.
    The table VBAP changes when partner functions is created or changed in a sales order (VBELN) :
    - When it is a creation of a new sales order (with new partner functions), a new record is created in VBAP and the field ERDAT (Created on) is filled. The field AEDAT (Changed on) is empty.
    - When is a change of an existing sales order, the corresponding record in VBAP changed, and the field AEDAT is filled. ERDAT stays unchanged.
    In order to converse to the Delta extraction, i need a only one time-field (calendar day) in RSO2 / Generic Delta.
    But there is 2 time-fields ERDAT and AEDAT. So i just need to get AEDAT if it is filled, else if AEDAT is empty I will get ERDAT.
    I would base my datasource on a view between VBPA and VBAP with one field which will be filled by AEDAT or ERDAT (with the conditions below). But it seems it is not possible.
    Can you give me other ideas ?
    Thanks a lot.
    Cheers,
    Vince.

    In order to create a generic delta from two source fields, ERDAT and AEDAT in this case, you're going to have to create your generic extractor from a Function Module. Otherwise you'll only have the standard functionality available to you for creating the generic delta, which allows you to base it on only one column.
    Here's a sample you can use, that was created for VBFA, and change for your DataSource.
    FUNCTION y_docu_flow.
    *"*"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  YSDS_DOCU_FLOW OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    *& Global Data Declarations
    * Type for VBFA Data
      TYPES : BEGIN OF ty_vbfa            ,
                mandt   TYPE vbfa-mandt   ,
                vbelv   TYPE vbfa-vbelv   ,
                posnv   TYPE vbfa-posnv   ,
                vbeln   TYPE vbfa-vbeln   ,
                posnn   TYPE vbfa-posnn   ,
                vbtyp_n TYPE vbfa-vbtyp_n ,
                rfmng   TYPE vbfa-rfmng   ,
                meins   TYPE vbfa-meins   ,
                rfwrt   TYPE vbfa-rfwrt   ,
                waers   TYPE vbfa-waers   ,
                vbtyp_v TYPE vbfa-vbtyp_v ,
                plmin   TYPE vbfa-plmin   ,
                erdat   TYPE vbfa-erdat   ,
                aedat   TYPE vbfa-aedat   ,
              END   OF ty_vbfa            .
    * Internal Tables and Selection Criteria Structure
      DATA : t_vbfa     TYPE STANDARD TABLE OF ty_vbfa ,
             l_s_select TYPE srsc_s_select             .
    * Field Symbols
      FIELD-SYMBOLS : <fs_fields> TYPE rsfieldsel.
    * Constants
      CONSTANTS : c_error_msgty TYPE rslogparms-msgty VALUE 'E'            ,
                  c_error_msgid TYPE rslogparms-msgid VALUE 'YAERO_WTY_VSR',
                  c_error_msgv1 TYPE rslogparms-msgv1 VALUE ' MESSAGE_V1 ' ,
                  c_error_msgv2 TYPE rslogparms-msgv1 VALUE ' MESSAGE_V2 ' ,
                  c_error_msgv3 TYPE rslogparms-msgv1 VALUE ' MESSAGE_V3 ' ,
                  c_error_msgv4 TYPE rslogparms-msgv1 VALUE ' MESSAGE_V4 ' ,
                  c_error_msgno TYPE rslogparms-msgno VALUE 999            ,
                  c_alias(2)    TYPE c                VALUE 'A~'           ,
                  c_vbfa        TYPE dntab-tabname    VALUE 'VBFA'         .
    * Maximum Database Lines, Data Package Counter and Cursor
      STATICS : s_s_if              TYPE srsc_s_if_simple ,
                s_counter_datapakid TYPE sy-tabix         ,
                s_cursor            TYPE cursor           .
    * Select Ranges
      RANGES : r_erdat FOR vbfa-erdat ,
               r_aedat FOR vbfa-aedat ,
               r_vbelv FOR vbfa-vbelv ,
               r_posnv FOR vbfa-posnv ,
               r_vbeln FOR vbfa-vbeln ,
               r_posnn FOR vbfa-posnn .
    *& Processing Logic
    * Refresh Internal Table and Clear work area
      REFRESH: t_vbfa   ,
               e_t_data .
    * Check the Extraction Mode (Delta Initialization Or Delta)
      IF i_initflag EQ sbiwa_c_flag_on.
    *   Determine DataSource Validity
        IF i_dsource NE 'YSDDS_DOCU_FLOW'.
    *     Call Function to Write Log
          CALL FUNCTION 'RSAL_LOG_WRITE'
            EXPORTING
              i_msgty = c_error_msgty
              i_msgid = c_error_msgid
              i_msgno = c_error_msgno
              i_msgv1 = c_error_msgv1
              i_msgv2 = c_error_msgv2
              i_msgv3 = c_error_msgv3
              i_msgv4 = c_error_msgv4.
    *     Raise Exception
          RAISE error_passed_to_mess_handler.
        ENDIF.                  " IF i_dsource NE 'YSDDS_DOCU_FLOW'.
    *   Append the Selection Criteria
        APPEND LINES OF i_t_select TO s_s_if-t_select.
    *   Fill parameter buffer for data extraction calls
        MOVE : i_requnr  TO s_s_if-requnr  ,
               i_dsource TO s_s_if-dsource ,
               i_maxsize TO s_s_if-maxsize .
    *   Append Fields to be Selected
        APPEND LINES OF i_t_fields TO s_s_if-t_fields.
    *   Add the Alias to Fields
        LOOP AT s_s_if-t_fields
          ASSIGNING <fs_fields>.
          CONCATENATE c_alias
                      <fs_fields>-fieldnm
                 INTO <fs_fields>-fieldnm.
          CONDENSE <fs_fields>-fieldnm NO-GAPS.
        ENDLOOP.                " LOOP AT s_s_if-t_fields..
      ELSE.                     " IF i_initflag EQ sbiwa_c_flag_on
    *   For First Data Package, Open Cursor
        IF s_counter_datapakid EQ 0.
    *     Clear Ranges
          CLEAR : r_erdat ,
                  r_aedat ,
                  r_vbelv ,
                  r_posnv ,
                  r_vbeln ,
                  r_posnn .
    *     Fill Selection Ranges
          LOOP AT s_s_if-t_select
            INTO l_s_select.
    *       Determine Selection Range Field Name
            CASE l_s_select-fieldnm.
    *         Created On Date
              WHEN 'ERDAT'.
                MOVE : l_s_select-sign   TO r_erdat-sign   ,
                       l_s_select-option TO r_erdat-option ,
                       l_s_select-low    TO r_erdat-low    ,
                       l_s_select-high   TO r_erdat-high   .
                APPEND r_erdat.
    *           Fill the change date too
                MOVE r_erdat[] TO r_aedat[].
    *         Predecessor Document Number
              WHEN 'VBELV'.
                MOVE : l_s_select-sign   TO r_vbelv-sign   ,
                       l_s_select-option TO r_vbelv-option ,
                       l_s_select-low    TO r_vbelv-low    ,
                       l_s_select-high   TO r_vbelv-high   .
                APPEND r_vbelv.
    *         Predecessor Document Line Item
              WHEN 'POSNV'.
                MOVE : l_s_select-sign   TO r_posnv-sign   ,
                       l_s_select-option TO r_posnv-option ,
                       l_s_select-low    TO r_posnv-low    ,
                       l_s_select-high   TO r_posnv-high   .
                APPEND r_posnv.
    *         Successor Document Number
              WHEN 'VBELN'.
                MOVE : l_s_select-sign   TO r_vbeln-sign   ,
                       l_s_select-option TO r_vbeln-option ,
                       l_s_select-low    TO r_vbeln-low    ,
                       l_s_select-high   TO r_vbeln-high   .
                APPEND r_vbeln.
    *         Successor Document Line Item
              WHEN 'POSNN'.
                MOVE : l_s_select-sign   TO r_posnn-sign   ,
                       l_s_select-option TO r_posnn-option ,
                       l_s_select-low    TO r_posnn-low    ,
                       l_s_select-high   TO r_posnn-high   .
                APPEND r_posnn.
            ENDCASE.            " CASE l_s_select-fieldnm.
          ENDLOOP.              " LOOP AT s_s_if-t_select..
    *     Open Cursor on View to Fetch data
    *     If full load with Selection on Fiscal Year
          IF r_aedat[] IS INITIAL.
    *       Full Extraction
            OPEN CURSOR
            WITH HOLD s_cursor FOR
          SELECT (s_s_if-t_fields)
            FROM vbfa      AS a
            JOIN pnwtyv    AS b
              ON a~vbelv   EQ b~sdvbeln
           WHERE a~vbelv   IN r_vbelv
             AND a~posnv   IN r_posnv
             AND a~vbeln   IN r_vbeln
             AND a~posnn   IN r_posnn
             AND a~rfmng   NE 0
             AND a~erdat   IN r_erdat
             AND b~sdvbeln NE space.
          ELSE.
    *       Delta Extraction Using ERDAT and AEDAT
            OPEN   CURSOR
            WITH   HOLD s_cursor FOR
          SELECT   (s_s_if-t_fields)
            FROM   vbfa      AS a
            JOIN   pnwtyv    AS b
              ON   a~vbelv   EQ b~sdvbeln
           WHERE   a~vbelv   IN r_vbelv
             AND   a~posnv   IN r_posnv
             AND   a~vbeln   IN r_vbeln
             AND   a~posnn   IN r_posnn
             AND   a~rfmng   NE 0
             AND ( a~erdat   IN r_erdat
              OR   a~aedat   IN r_aedat )
             AND   b~sdvbeln NE space.
          ENDIF.                " IF r_aedat[] IS INITIAL
        ENDIF.                  " IF s_counter_datapakid..
    *   Fetch Records into Interface Table
        FETCH NEXT CURSOR s_cursor
             APPENDING CORRESPONDING FIELDS
              OF TABLE t_vbfa
          PACKAGE SIZE s_s_if-maxsize.
    *   No More Data, Raise Exception
        IF sy-subrc NE 0.
    *     Close the Cursor
          CLOSE CURSOR s_cursor.
    *     Raise Exception
          RAISE no_more_data.
        ELSE.
    *     Move Extracted Data to Output Structure
          MOVE t_vbfa[] TO e_t_data[].
    *     Release Memory
          FREE t_vbfa.
    *     Sort Output Structure
          SORT e_t_data BY vbelv
                           posnv
                           vbeln
                           posnn
                           vbtyp_n.
    *     Delete Duplicate Records from Output Structure
          DELETE ADJACENT DUPLICATES
            FROM e_t_data
       COMPARING vbelv
                 posnv
                 vbeln
                 posnn
                 vbtyp_n.
    *     Increment Data Package Number
          s_counter_datapakid = s_counter_datapakid + 1.
        ENDIF.                  " IF sy-subrc NE 0
      ENDIF.                    " IF i_initflag EQ sbiwa_c_flag_on
    ENDFUNCTION.              
    Edited by: Dennis Scoville on Jul 16, 2009 8:29 AM
    Edited by: Dennis Scoville on Jul 16, 2009 8:29 AM

  • Creating generic datasource

    Hi Experts,
    while i have created a generic datasource from RSO2 and when i am trying to check data for that datasource it is giving that that datasource is not there in the source system.
    can any pls explain how to solve this and when i am creating datasource i could not able to give the specific application for the data source. where should we assign source system for this generic datasource.
    thans,
    sree

    Hi,
    Which type of data source you have created.are you able to see your data source in RSA6??
    If you are able to see it there then only you can use RSO2 for it.
    Try RSA2 for the data source and see if it shows you or not.
    You have to put in transaction or master or text and then check in RSO2.
    Generally the data source is assigend to the area which it belongs..like if the datsource is related to SD module then create it in the SD application area.You can also create a Z apllication area for generic data source and assign them to the newly created data source...but still should prefer to create in the area related to the data source...and replicate them to BW.
    Thanks
    Ajeet

Maybe you are looking for

  • U43M1D204 this the error message upon upating creative  suite?

    each i am notified of update to cs5.5 on window 8.1 this message appears after up date?

  • USER_TAB_COLUMNS and ALL_TAB_COLUMNS

    Dear Experts, I'm logged on a schema called Product with a user having the following rights: - Create Session - Select any sequence - Select any table If I perform a select on USER_TAB_COLUMNS I don't get any row returned but I do get results if I pe

  • Exception Aggregation is not working while Expanding hierarchy increases the total count

    Hi All , I am working on Headcount report. I need to count the Employee based on the National Insurance no of a Employee so that the Employee will be count only once. On query execution query gives a correct result. After expanding the Org. Unit Hier

  • RABAX_STATE Dynpro not found

    Hello there I've a problem with my ITS. After modify my ITS Programm and my Dynpro programms it doesn't work. I've the problem, when I call the transaction from the web, which i've modified, than it works. But when I will forward to an other page fro

  • Help needed with my flash software.

    I had a problem with my software where it quit working and advise me to uninstall and re install.  but my system wouldnt let me do that.  so i use the cs3clean utility to remove it and tried re installing it.  however the initializing pop up comes up