BW Query as datasource for generic extractor...

Hi,
I want to use a BW Query as DataSource for a generic extractor, the objective is fill an InfoCube from the result of that query. It is possible? If can it be done, how?
Thanks.
Enrique.

Hi Enrique,
You can achieve this with the APD. See this for more info:
http://help.sap.com/saphelp_nw04/helpdata/en/e3/e60138fede083de10000009b38f8cf/frameset.htm
Hope this helps...

Similar Messages

  • Infoset Query is not available for generic Extractor

    Hi,
    I've created an infoset in SAP ECC with sq02. Then I've created an Infoset Query on top of this Infoset, because I wanted to exclude records with specific values. Now I want to use this Infoset Query (with the filter restrictions) in my generic DataSource. I can only chosse the Infoset, but not the InfoSet Query. Normally I use the filter in the InfoPackage, but neither IP nor DTP can exclude values with a pattern (f.e. exclude all record that contains a $ symbol in the string)
    Any suggestions?
    Thanks and regards,
    Sebastian

    I agree with Jen, that BW side routines would work just fine.
    If it is extractor performance you are worried about and that is why you want to build the $ exclusion in the select, then I would suggest just creating an extractor from scratch using a custom written function module.  It's actually very strait forward and provides many advantages over table/view/InfoSet based generic extractors.
    I am not a fan of using InfoSets for generic extractors.. but you can create InfoSets based on a data read program in which case you code all the selects and whatnot.  But if you go that far with the InfoSet, why not just write the FM...
    Thanks

  • Function Module for Generic Extractor

    Hi, I have a generic extractor that uses a Function Module to extract the data.  I have a change I need to make that only affects the code in the Function Module.  Do I need to regenerate the DataSource or can I just change the function Module and transport the change to the function module?
    Thanks for any details...

    As long as you are not changing the extract structure, you do not need to regenerate the datasource or replicate. Send FM only.
    Regards,
    Chad

  • Delta update  for generic extractor ?? Urgent!!!!

    Hi All
    In my project I am pulling data from 4 R/3 tables... I have created view & then Generic DataSource.
    Can a delta update be set-up for the generic extractor based on adds/changes to the R/3  tables?
    Thanks & Regards,
    Sheetal
    Message was edited by:
            Sheetal Dhore

    Hi,
    Please take a look at the following doc.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d3219af2-0c01-0010-71ac-dbb4356cf4bf
    Regards,
    ®

  • How to identify update mode in function module for generic extractor

    Hi All,
    I have created generic extractor using function module which supports delta load.
    Delta logic is handeled in coding...by using ROOSGENDLM table.
    Now problem is we need to identify the update mode, requested from infopackage in our function module in order to apply logic for Repair full.
    I would like to know table or parameter in source system, which contain the update mode (Init , Delta , Full).
    Thanks,
    Niraj

    Hi Niraj
    You can use the FM import parameter "i_updmode" (This is of type "SBIWA_S_INTERFACE-UPDMODE") to determine if infopackage triggerred in full or delta mode.
    I_REQUNR     TYPE     SBIWA_S_INTERFACE-REQUNR                                                                               
    I_ISOURCE     TYPE     SBIWA_S_INTERFACE-ISOURCE                               InfoSource Name
    I_MAXSIZE     TYPE     SBIWA_S_INTERFACE-MAXSIZE                               Data Packet size
    I_INITFLAG     TYPE     SBIWA_S_INTERFACE-INITFLAG                               Initial Flag
    I_UPDMODE     TYPE     SBIWA_S_INTERFACE-UPDMODE                               Update Mode
    I_DATAPAKID     TYPE     SBIWA_S_INTERFACE-DATAPAKID                               Datapacket Id
    I_PRIVATE_MODE                                                                               
    I_CALLMODE     TYPE     ROARCHD200-CALLMODE                               Single-Character Flag
    I_REMOTE_CALL     TYPE     SBIWA_FLAG                                                                               
    Cheers
    Vasu Sattenapalli

  • BW Query as datasource for the context of a WD

    Hi all,
    I would like to implement the following scenario:
    Inside a WD I configure a set of parametrs for a query in BW. Then I want to call the web application with that query, deliver the parameters to the query and the BIApplikationFrame should then insert the result (which consists of a structure) into the context of the calling view.
    Did anyone implemnt this scenario already.
    Does anyone have comments, HowTos or other experiences related to that scenario and could this please share with me?
    Thanks the lot

    Hi Petra,
    You can use XMLA (MDX) /people/prakash.darji/blog/2006/09/04/work-with-xmla-web-service-for-bi-data-in-external-applications
    See
    http://help.sap.com/saphelp_nw04/helpdata/en/a6/c0e51914e842e19bda39dbbe4fe78c/frameset.htm
    BI Xmla Connector
    BI Java Connector Configuration problems
    Best regards, Maksim Rashchynski.

  • BW query as datasource for segmentation

    Hi,
    At help.sap.com the following is posted:
    "Only use queries that are based on InfoCubes. Queries that are based on ODS objects and BI InfoSets are only partially supported." (http://help.sap.com/saphelp_crm50/helpdata/en/af/d0efa709f811d4b2d70050da3ee986/frameset.htm)
    Does anyone of you know what partially means in this case? When is it supported and when not??
    Thanks, Camilla

    Hi
      I think partly means the SAP BW is linked to the CRM Server partly by the Middleware Broker and partly by direct RFC calls and BAPIs.
    The BW Adapter extracts data in to SAP BW.
    I hope this helps

  • How will i convince a client to go for Geniric extractor ..

    Hi All,
    How will i convince a client to go for Generic extractor and in which scenario?
    Thanks & Rgds
    -Tapas

    hi,
    Always it is suggestable to go for SAP provided business content extractors, since they have statndard routine and standard datasource for each applications. if you need addition fields then you can enhance the same.
    hence try using business content extractions. like LO,FI and HR extractors.
    SAP have standard notes for problems on business content extractors which is more useful.
    If the client requiremnet is more complex and is not fulfilled by the business content then choose to go for generic.
    Ramesh

  • Expand a generic extractor in MM

    Hello everybody,
    I need to expand a generic extractor in MM to incorporate the buyer, someone I could indicate a link to explain how to do this correctly.
    Now, thank you

    For standar extractor there is a procedure how to extend it, add one or more fields but for generic extractor, you need to understand how the logic is build, check if extractor in rso2 and see if FM or table/view or infoset query is used and based on that you need to make the changes.
    thanks.
    Wond

  • Delta fo Generic extractor using function module

    Hi,
    I am using the following function module for generic extractor but its always showing me extraction error.Could anyone please suggest to resolve the issue.
    Thanks in advance fo rsuggestion.
    FUNCTION Z_BW_SALESDATA_EXTRACT_CHNG2.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SBIWA_S_INTERFACE-REQUNR
    *"     VALUE(I_ISOURCE) TYPE  SBIWA_S_INTERFACE-ISOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SBIWA_S_INTERFACE-INITFLAG OPTIONAL
    *"     VALUE(I_UPDMODE) TYPE  SBIWA_S_INTERFACE-UPDMODE OPTIONAL
    *"     VALUE(I_DATAPAKID) TYPE  SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
    *"     VALUE(I_PRIVATE_MODE) OPTIONAL
    *"     VALUE(I_CALLMODE) LIKE  ROARCHD200-CALLMODE OPTIONAL
    *"     VALUE(I_REMOTE_CALL) TYPE  SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
    *"  TABLES
    *"      I_T_SELECT TYPE  SBIWA_T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SBIWA_T_FIELDS OPTIONAL
    *"      E_T_DATA OPTIONAL
    *"      E_T_SOURCE_STRUCTURE_NAME OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    The input parameter I_DATAPAKID is not supported yet !
    Example: InfoSource containing TADIR objects
      TABLES: VBFA,VBRK,tadir.
    Auxiliary Selection criteria structure
      DATA: l_s_select TYPE sbiwa_s_select.
    Maximum number of lines for DB table
      STATICS: l_maxsize TYPE sbiwa_s_interface-maxsize.
    user defined variables.
      DATA : X_UPDMODE(1) Type c,        " Update Type
            X_LastUpdate Like Sy-Datum. " Last Update Date
             X_LastUpdate TYPE RODELTAID. " Last Update Date   "TCS_KAP
    Select ranges
      RANGES: L_R_VBELN   FOR VBAK-VBELN,
              L_R_AUDAT   FOR VBAK-AUDAT.
    Parameter I_PRIVATE_MODE:
    Some applications might want to use this function module for other
    purposes as well (e.g. data supply for OLTP reporting tools). If the
    processing logic has to be different in this case, use the optional
    parameter I_PRIVATE_MODE (not supplied by BIW !) to distinguish
    between BIW calls (I_PRIVATE_MODE = SPACE) and other calls
    (I_PRIVATE_MODE = X).
    If the message handling has to be different as well, define Your own
    messaging macro which interprets parameter I_PRIVATE_MODE. When
    called by BIW, it should use the LOG_WRITE macro, otherwise do what
    You want.
    Initialization mode (first call by SAPI) or data transfer mode
    (following calls) ?
      IF i_initflag = sbiwa_c_flag_on.
    Initialization: check input parameters
                    buffer input parameters
                    prepare data selection
    The input parameter I_DATAPAKID is not supported yet !
    Invalid second initialization call -> error exit
        IF NOT g_flag_interface_initialized IS INITIAL.
          IF 1 = 2. MESSAGE e008(r3). ENDIF.
          log_write 'E'                    "message type
                    'R3'                   "message class
                    '008'                  "message number
                    ' '                    "message variable 1
                    ' '.                   "message variable 2
          RAISE error_passed_to_mess_handler.
          ENDIF.
    Check InfoSource validity
        CASE i_isource.
          WHEN 'Z_BW_SDDATA_CREATEON'.
          WHEN 'Y'.
          WHEN 'Z'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE e009(r3). ENDIF.
            log_write 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                      i_isource            "message variable 1
                      ' '.                 "message variable 2
            RAISE error_passed_to_mess_handler.
        ENDCASE.
    Check for supported update mode
       CASE i_updmode.
         WHEN 'F'.
         WHEN OTHERS.
           IF 1 = 2. MESSAGE e011(r3). ENDIF.
           log_write 'E'                  "message type
                     'R3'                 "message class
                     '011'                "message number
                     i_updmode            "message variable 1
                     ' '.                 "message variable 2
           RAISE error_passed_to_mess_handler.
       ENDCASE.
    Check for obligatory selection criteria
       READ TABLE i_t_select INTO l_s_select WITH KEY fieldnm = 'VBELN'.
       IF sy-subrc <> 0.
         IF 1 = 2. MESSAGE e010(r3). ENDIF.
         log_write 'E'                    "message type
                   'R3'                   "message class
                   '010'                  "message number
                   'PGMID'                "message variable 1
                   ' '.                   "message variable 2
         RAISE error_passed_to_mess_handler.
       ENDIF.
       APPEND LINES OF i_t_select TO g_t_select.
    Fill parameter buffer for data extraction calls
        g_s_interface-requnr    = i_requnr.
        g_s_interface-isource   = i_isource.
        g_s_interface-maxsize   = i_maxsize.
        g_s_interface-initflag  = i_initflag.
        g_s_interface-updmode   = i_updmode.
        g_s_interface-datapakid = i_datapakid.
        g_flag_interface_initialized = sbiwa_c_flag_on.
    Store Update mode in static variable...
       X_UPDMODE = I_UPDMODE.
        Select Single DELTAID
               Into   X_LastUpdate
               From   ROOSGENDLM
               Where  OLTPSOURCE = 'Z_BW_SDDATA_CREATEON'.
        If X_LastUpdate Is Initial.
          X_LastUpdate = '19800101'. " The oldest..., this should not happen
        Endif.
    Fill field list table for an optimized select statement
    (in case that there is no 1:1 relation between InfoSource fields
    and database table fields this may be far from beeing trivial)
        APPEND LINES OF i_t_fields TO g_t_segfields.
      ELSE.                 "Initialization mode or data extraction ?
    Data transfer: First Call      OPEN CURSOR + FETCH
                   Following Calls FETCH only
    X_UPDMODE = I_UPDMODE.
    First data package -> OPEN CURSOR
        IF g_counter_datapakid = 0.
    Fill range tables for fixed InfoSources. In the case of generated
    InfoSources, the usage of a dynamical SELECT statement might be
    more reasonable. BIW will only pass down simple selection criteria
    of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
          LOOP AT g_t_select INTO l_s_select WHERE fieldnm = 'VBELN'.
            MOVE-CORRESPONDING l_s_select TO L_R_VBELN.
            APPEND L_R_VBELN.
          ENDLOOP.
          LOOP AT g_t_select INTO l_s_select WHERE fieldnm = 'AUDAT'.
            MOVE-CORRESPONDING l_s_select TO L_R_AUDAT.
            APPEND L_R_AUDAT.
          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 InfoSource table lines and database entries, this is trivial.
    In other cases, it may be impossible and some estimated value has to
    be determined.
    *added by Yogesh
          DELETE FROM ZBWSALEDATA.
    *ended by Yogesh
          l_maxsize = g_s_interface-maxsize.
    Check for supported update mode
          CASE X_UPDMODE.
            WHEN 'F' Or 'I'. " Full or Init
    **get sales orders
              SELECT *
                           INTO CORRESPONDING FIELDS OF TABLE I_SALESDATA
                           FROM VBAK AS K
                           INNER JOIN VBAP AS P
                                 ON  PVBELN = KVBELN
                           WHERE K~VBELN IN L_R_VBELN
                           AND   K~AUDAT IN L_R_AUDAT
                           AND   K~VBTYP = 'C'.
              IF I_SALESDATA[] IS NOT INITIAL.
                PERFORM F_GET_DATA.                   "get data
                PERFORM F_DEL_VATCOND.                "delete vat conditions
                PERFORM F_GET_TAR_COSTUNIT.           "get tariff cost unit
                PERFORM F_GET_NETVAL TABLES IT_VBDPA1. "get net val of the item
                PERFORM F_GET_SALESDATA.
    *write perform with name F_INSERT_DB_ZBWSALEDATA.
                PERFORM F_INSERT_DB_ZBWSALEDATA.      "insert into table ZBWSALESDATA
               LOOP AT I_SALESDATA WHERE NETPR = 0.
                 MOVE-CORRESPONDING I_SALESDATA TO I_SALESDATA_FIN.
                 APPEND I_SALESDATA_FIN.
               ENDLOOP.
               SORT I_SALESDATA_FIN BY VBELN POSNR KSCHL.
               DELETE ADJACENT DUPLICATES FROM I_SALESDATA_FIN
                                               COMPARING VBELN POSNR
                                                         KSCHL.
               INSERT ZBWSALEDATA FROM TABLE I_SALESDATA_FIN.
              ENDIF.
            WHEN 'D'. " Delta
              SELECT *
                             INTO CORRESPONDING FIELDS OF TABLE I_SALESDATA
                             FROM VBAK AS K
                             INNER JOIN VBAP AS P
                                   ON  PVBELN = KVBELN
                            WHERE K~ERDAT >= X_LastUpdate
                             WHERE K~ERDAT >= X_LastUpdate+0(8)          "TCS_KAP
                             AND   K~VBTYP = 'C'.
              IF I_SALESDATA[] IS NOT INITIAL.
                PERFORM F_GET_DATA.                   "get data
                PERFORM F_DEL_VATCOND.                "delete vat conditions
                PERFORM F_GET_TAR_COSTUNIT.           "get tariff cost unit
                PERFORM F_GET_NETVAL TABLES IT_VBDPA1. "get net val of the item
                PERFORM F_GET_SALESDATA.
    *write perform with name F_INSERT_DB_ZBWSALEDATA.
                PERFORM F_INSERT_DB_ZBWSALEDATA.      "insert into table ZBWSALESDATA
               LOOP AT I_SALESDATA WHERE NETPR = 0.
                 MOVE-CORRESPONDING I_SALESDATA TO I_SALESDATA_FIN.
                 APPEND I_SALESDATA_FIN.
               ENDLOOP.
               SORT I_SALESDATA_FIN BY VBELN POSNR KSCHL.
               DELETE ADJACENT DUPLICATES FROM I_SALESDATA_FIN
                                               COMPARING VBELN POSNR
                                                         KSCHL.
               INSERT ZBWSALEDATA FROM TABLE I_SALESDATA_FIN.
              ENDIF.
            WHEN OTHERS.
              IF 1 = 2. MESSAGE E011(R3). ENDIF.
              LOG_WRITE 'E' "message type
              'R3' "message class
              '011' "message number
              I_UPDMODE "message variable 1
              ' '. "message variable 2
              RAISE ERROR_PASSED_TO_MESS_HANDLER.
          ENDCASE.
    **end get sales orders
          OPEN CURSOR WITH HOLD g_cursor FOR
          SELECT (g_t_fields) FROM ZBWSALEDATA.
         WHERE pgmid  IN l_r_pgmid AND
                                        object IN l_r_object.
        ENDIF.                             "First data package ?
    Fetch records into interface table. There are two different options:
    - fixed interface table structure for fixed InfoSources have to be
      named E_T_'Name of assigned source structure in table ROIS'.
    - for generating applications like LIS and CO-PA, the generic table
      E_T_DATA has to be used.
    Only one of these interface types should be implemented in one API !
        FETCH NEXT CURSOR g_cursor
                   APPENDING CORRESPONDING FIELDS
                   OF TABLE E_T_DATA
                   PACKAGE SIZE l_maxsize.
        IF sy-subrc <> 0.
          CLOSE CURSOR g_cursor.
          RAISE no_more_data.
        ENDIF.
        g_counter_datapakid = g_counter_datapakid + 1.
      ENDIF.              "Initialization mode or data extraction ?
    Best regards,
    Yogesh

    Dear Yogesh,
    Try to debug the code by putting a break point at select statement...is the FM Syntactically correct ??
    Check the Select statements..if all fields are not required avoid using Select * , and use always for all entries rather than JOINS..
    Note : For Joins you have to specify the Fields in the Select...Dont use Select * ....
    Hope it helps..
    Thanks,
    Krish

  • Generic extractor replication process

    Hi All,
    How to replicate Generic extractor in BI7.O?
    In BI 7.0 transport required for Generic extractors to replication?
    Please guide me.
    Thanks,
    KN

    Hi Kumaran,
    To Replicate follow the below steps,
    1.Go to Source System>Select your Source System(R3/ECC)>Double Click it-->It will Take u to the DS Screen
    2.Select your DS(It should be your MM,SD etc...)-->Expand the tree and check the DS which needs to be replicated
    3.Right Click and select Replicate...
    Hope it should work...  Cheers
    Regards,
    Syed

  • Generic Extractors for HR Reports using views and Infoset Query

    Hi Friends... I am working to come out with the HR reports in BW for the HR reports which are already there in R/3. The HR reports in R/3 are created based on Infoset Query.I could not find any standard business content cubes which can give me these reports.
    1)So please can anyone give me step by step approach so to create a generic extractors based on Infoset Query.
    2)And also how to populate the data into the fields of the generic extractor which is created by Infoset Query( Please provide any sample ABAP code if available)
    3)can anyone give me step by step approach so to create a generic extractors based on View/Table.
    4)And also how to populate the data into the fields of the generic extractor which is created by View/Table( Please provide any sample ABAP code if available)
    Thanks

    Hi Kalyani,
    We normally go for View or infoset when the data to be fetched in BW is distributed in different tables in SAP R/3.
    Had the data been available in one table we can easily build our datasource on that table but if there are more tables then its not possible to do it without Views or Infosets. You can use Function Modules to build your datasource in case it involves complex logic to figure out the data from various tables.
    Depending upon the table relationships we create view and include various fields from these tables in that view. Same is with the Infosets, you can have more flexible options like Outer Join, left outer Join etc.
    Regards,
    Pratap Sone

  • When to go for generic extraction using view and infoset query?

    Hi,
                        Can anyone clarify me when we should go for generic extraction using view and when we should go for generic extraction using infoset query....
    Also what is the difference between view and infoset?
    I tried but could not find out....
    Regards,
    Kalyani.

    Hi Kalyani,
    We normally go for View or infoset when the data to be fetched in BW is distributed in different tables in SAP R/3.
    Had the data been available in one table we can easily build our datasource on that table but if there are more tables then its not possible to do it without Views or Infosets. You can use Function Modules to build your datasource in case it involves complex logic to figure out the data from various tables.
    Depending upon the table relationships we create view and include various fields from these tables in that view. Same is with the Infosets, you can have more flexible options like Outer Join, left outer Join etc.
    Regards,
    Pratap Sone

  • Query for generic delta

    i need to create a extractor x_attr to bring master data attributes from a table y.how can set
    the generic delta on this x_attr generic datasource.does a generic delta exists for attr
    datasource?

    Hi,
    For delta to work properly in case of generic extractor.the field on which you want to make delta should be present in
    the data source.
    We have three delta.
    1.Time stamp.
    2.Cal day.
    3Numeric pointer.
    So depending upon your requirement and volume of your data you can choose the delta method.
    Thanks,
    Saveen Kumar

  • Generic Extractors for LO

    Hi,
    Has anyone attempted to write their own generic extractors to mimic the LO process because the results from this module did not meet their requirements? Would you recommend doing this?
    Thanks
    "<i>Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws</i>." ~ Plato (427-347 B.C.)
    "<i>Forgive your enemies, but never forget their names.</i>" ~ John F. Kennedy (1917-1963)
    Forgivenes - <i>Just get out of my life and spare me the anguish of pitying you</i> ~ Anonymous Author
    Message was edited by:
            Ellen DeGeneres

    The LO process of extraction cannot be mimicked. If the requirement is such that you need more/different  fields then you have the following options.
    1. If the fields are in the extract structure of the datasource in question then just add the fields to the datasource and use the LO extraction process.
    2. If you need to add some fields which are not in the extract structure of the datasource then add them to the datasource and use user exit to fill them.
    3. If the need is for a completely different extractor. Then creat the extractor in RSO2,
    More detailed info is in the weblogs by Robert Negro.
    Hope this helps.
    Bhargava

Maybe you are looking for

  • L7780 scan bar goes all the way across, but the light is only on for the first 1/2 inch

    If one does a scan/copy with the thing open, one can see a bar run from one side to the other, lit in one direction.  On my L7780, that light is no longer lit for the entire trip across, resulting in a mostly black scan/copy.  What do I do?  Repair?

  • Creating Authorization on queries, infocubes

    Hi All, Can any one help me by providing step by step procedure in creating authorization on queries, infocubes, infoarea etc. Thanks, Satya.

  • Ruby.

    trying to install the ruby package keeps wanting to snag x.org and friends. is there are ruby in the repos that does not have an X win dependency? pacman -Si ruby Name              : ruby Version           : 1.8.1-3 Groups            : None Provides 

  • Adding 3 new search criteria(2 dropdowns and 1 input field)

    Hi Guys, I have an issue to add 2 dropdownlist boxes the value of one will decide the entries in second drop down.ie dynamic selection.Now i want to use  both these values selected for searching Knowledge Base in the view SolSText.htm in IC_BASE appl

  • Limiting the value help for a user input variable as required

    Hello Gurus, I have a requirement :- Restrict the value help for a user input variable in a query to only a required set of values instead of the default behaviour. ie instead of having all the values in the master data of that characteristics in the