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.

Similar Messages

  • 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

  • Problem while creating generic DataSource using table

    Hello all,
    I am creating a generic DataSource using table EKBE. It is giving error " invalid extract structure template EKBE ". The reason is " The system tried to generate an extract structure with the template structure EKBE. This operation failed, because the template structure quantity fields or currency fields, for example, field MENGE refer to a different table (EKPO)".
    Could you suggest how to approach?
    Thanks,
    Zak.

    hi zahir,
    In your case the reference table used for quantity is ekko and the field is meins.
    and the reference table used for currency is ekpo and the field is waers.
    So you are not taking data from a single table. so you better create a view give the table name ekbe and select the corresponding fields you want.
    Add MEINS and WAERS and as well your required field in the view for example Zview and for Quantity field mention Zview as reference table and reference field as MEINS same for WAERS.
    try this if it doent work, tell me what error you are facing.
    with regards!
    ramesh

  • Generic Extraction - Using Function Modules

    Hi Friends,
    Can you pl let me know the step by step process for creating generic extraction using function module?
    Thanks in Advance.
    Regards,
    Ari.
    Please search the forum before posting a thread
    Edited by: Pravender on Aug 5, 2010 7:31 PM

    Hi,
    Plz find this doc.
    http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a0f46157-e1c4-2910-27aa-e3f4a9c8df33.
    And go this link...
    http://www.sdn.sap.com/irj/scn/advancedsearch?query=genericextractionwithfunctionmadule
    Regards.....KP
    Edited by: kundan.sap on Aug 5, 2010 4:35 PM

  • 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

  • IS-U enhancing transaction FPBW (open items extraction using table DFKKOPBW

    Has anybody experiances with IS-U Accounts Receivable & payable - 'Open Items' extraction using transaction FPBW
    (which fill the table DFKKOPBW).
    1. I need to fill an custom included structure in this table (DFKKOPBW) and I am searching for the correct time (for performance reasons) & place in the (SAP) source (in the program flow) to do this.
    2. Anybody any clues on Custum/user exits in this part?
    See also function group FKKOPBW.
    Jos Reithofer

    Try this code that can search a user exit in a transaction. I got it from previous post in this forum.
    *& Report  Y_SEARCH_USEREXIT                                           *
    REPORT y_search_userexit LINE-SIZE 140 NO STANDARD PAGE HEADING.
    CONSTANTS
    *CONSTANTS: c_user_exit(22) TYPE c VALUE 'CALL CUSTOMER-FUNCTION',
    constants: c_badi(30) type c value 'CALL METHOD CL_EXITHANDLER=>',
               c_funcao_1(13) TYPE c VALUE 'CALLFUNCTION''',
               c_funcao_2(13) TYPE c VALUE 'CALL FUNCTION',
               c_include(07) TYPE c VALUE 'INCLUDE',
               c_submit(06) TYPE c VALUE 'SUBMIT',
               c_comentario TYPE c VALUE '*',
               c_ponto TYPE c VALUE '.',
               c_aspa TYPE c VALUE '''',
               c_x TYPE c VALUE 'X'.
    TABELAS INTERNAS
    DATA: BEGIN OF ti_programa OCCURS 0,
    codigo_fonte(200) type c, " LIKE rssource-line,
    END OF ti_programa.
    DATA: BEGIN OF ti_includes OCCURS 0,
    nome LIKE sy-repid,
    nivel(2) TYPE n,
    END OF ti_includes.
    DATA: BEGIN OF ti_user_exit OCCURS 0,
    programa LIKE sy-repid,
    linha(10) TYPE n,
    codigo_fonte LIKE rssource-line,
    nivel(2) TYPE n,
    END OF ti_user_exit.
    VARIÁVEIS GLOBAIS
    DATA: vg_caracter TYPE c,
    vg_palavra(50) TYPE c,
    vg_inicial LIKE sy-index,
    vg_conta_aspa TYPE n,
    vg_pname LIKE tfdir-pname,
    vg_texto(50) TYPE c,
    vg_contador LIKE sy-tfill,
    vg_nivel(2) TYPE n,
    vg_ini_contagem TYPE c, " INDICA QUE DEVE SER INICIADA A CONTAGEM
    vg_conta_espaco TYPE n. " TOTAL DE ESPAÇOS ( MÁXIMO 2 )
    PARAMETERS
    *- DADOS OBRIGATÓRIOS.
    SELECTION-SCREEN BEGIN OF BLOCK bl01 WITH FRAME TITLE tl_001 .
    selection-screen begin of line.
    selection-screen comment 1(25) tl_003.
    PARAMETERS: p_prog LIKE sy-repid.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(25) tl_004.
    parameters: p_tcode LIKE sy-tcode.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(25) tl_009.
    parameters: p_exit(30) TYPE c default 'CALL CUSTOMER-FUNCTION'.
    selection-screen end of line.
    SELECTION-SCREEN END OF BLOCK bl01.
    *- DADOS OPCIONAIS.
    SELECTION-SCREEN BEGIN OF BLOCK bl02 WITH FRAME TITLE tl_002.
    selection-screen begin of line.
    PARAMETERS: p_incl TYPE c AS CHECKBOX.
    selection-screen comment 4(25) tl_005.
    selection-screen end of line.
    selection-screen begin of line.
    parameters: p_func TYPE c AS CHECKBOX.
    selection-screen comment 4(25) tl_006.
    selection-screen end of line.
    selection-screen begin of line.
    parameters: p_submit TYPE c AS CHECKBOX.
    selection-screen comment 4(25) tl_007.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(25) tl_008.
    parameters: p_nivel(2) TYPE n.
    selection-screen end of line.
    SELECTION-SCREEN END OF BLOCK bl02.
    initialization.
      tl_001 = 'Program Selection'.
      tl_002 = 'Search Depth'.
      tl_003 = 'Program Name'.
      tl_004 = 'Transaction Code'.
      tl_005 = 'Process INCLUDEs'.
      tl_006 = 'Process FUNCTION MODULEs'.
      tl_007 = 'Process SUBMITs'.
      tl_008 = 'Depth level'.
      tl_009 = 'Search string'.
    INÍCIO
    START-OF-SELECTION.
    *- CONSISTÊNCIAS DOS PARÂMETROS.
      PERFORM consisti_parametros.
    *- INICIALIZA TABELA.
      PERFORM inicializa_tabela.
    *- VERIFICA SE NO PROGRAMA EXISTE ALGUM INCLUDE,FUNÇÃO OU SUBMIT.
      PERFORM verifica_include_funcao_submit.
    *- ANALISA OS INCLUDES E PROCURA POR USER EXIT.
      PERFORM procura_user_exit.
    *- EXIBE TODAS USER EXIT ENCONTRADAS.
      PERFORM exibe_user_exit.
    FIM
    END-OF-SELECTION.
    *& Form PROCURA_USER_EXIT
    text
    --> p1 text
    <-- p2 text
    FORM procura_user_exit.
    *- VERIFICA SE NOS INCLUDES SELECIONADOS EXISTEM USER EXITS.
      LOOP AT ti_includes.
    *- ESVAZIA TABELA INTERNA.
        REFRESH ti_programa.
    *- REALIZA LEITURA DO INCLUDE ARMAZENANDO-O EM TABELA INTERNA
        READ REPORT ti_includes-nome INTO ti_programa.
        LOOP AT ti_programa.
    *- VERIFICA SE NA LINHA DO PROGRAMA EXISTE ALGUM INCLUDE.
          SEARCH ti_programa-codigo_fonte FOR p_exit.
    *- SE ENCONTROU INCLUDE E SE A LINHA NÃO ESTÁ COMENTADA...
          IF sy-subrc EQ 0
          AND ti_programa-codigo_fonte+0(1) NE c_comentario.
            CLEAR ti_user_exit.
    *- REMOVE ESPAÇOS NO INÍCIO DA STRING.
            SHIFT ti_programa-codigo_fonte LEFT DELETING LEADING space.
            MOVE: ti_includes-nome TO ti_user_exit-programa,
            sy-tabix TO ti_user_exit-linha,
            ti_programa-codigo_fonte TO ti_user_exit-codigo_fonte,
            ti_includes-nivel TO ti_user_exit-nivel.
            APPEND ti_user_exit.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    ENDFORM. " PROCURA_USER_EXIT
    *& Form EXIBE_USER_EXIT
    text
    --> p1 text
    <-- p2 text
    FORM exibe_user_exit.
      PERFORM cabecalho.
      PERFORM user_exit_nao_encontrada.
      PERFORM lista_user_exit_encontrada.
      PERFORM rodape.
    ENDFORM. " EXIBE_USER_EXIT
    *& Form PROCURA_INCLUDE
    text
    --> p1 text
    <-- p2 text
    FORM procura_include.
      CLEAR vg_palavra.
    *- VERIFICA SE NA LINHA DO PROGRAMA EXISTE ALGUM INCLUDE.
      SEARCH ti_programa-codigo_fonte FOR c_include.
    *- SE ENCONTROU INCLUDE E SE A LINHA NÃO ESTÁ COMENTADA...
      IF sy-subrc EQ 0
      AND ti_programa-codigo_fonte+0(1) NE c_comentario.
    *- VERIFICA TODOS OS 72
        DO 72 TIMES.
          vg_inicial = sy-index - 1.
          MOVE ti_programa-codigo_fonte+vg_inicial(1) TO vg_caracter.
          IF NOT vg_caracter IS INITIAL.
    *- VERIFICA SE NÃO É FIM DO COMANDO.
            IF vg_caracter EQ c_ponto.
              EXIT.
            ENDIF.
    *- MONTA PALAVRA.
            CONCATENATE vg_palavra vg_caracter INTO vg_palavra.
    *- CONVERTE PARA MAÍUSCULA PARA FUTURA COMPARAÇÃO.
            TRANSLATE vg_palavra TO UPPER CASE.
    *- SE ENCONTROU ALGUM INCLUDE
            IF vg_palavra EQ c_include.
              CLEAR vg_palavra.
            ENDIF.
          ENDIF.
        ENDDO.
    *- SALVA NOME DO INCLUDE P
        READ TABLE ti_includes WITH KEY nome = vg_palavra.
        IF NOT sy-subrc IS INITIAL.
          IF vg_nivel LE p_nivel.
            MOVE: vg_palavra TO ti_includes-nome,
            vg_nivel TO ti_includes-nivel.
            APPEND ti_includes.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM. " PROCURA_INCLUDE
    *& Form PROCURA_FUNCAO
    text
    --> p1 text
    <-- p2 text
    FORM procura_funcao.
      CLEAR: vg_conta_aspa,
      vg_palavra.
    *- VERIFICA SE NA LINHA DO PROGRAMA EXISTE ALGUM INCLUDE.
      SEARCH ti_programa-codigo_fonte FOR c_funcao_2.
    *- SE ENCONTROU INCLUDE E SE A LINHA NÃO ESTÁ COMENTADA...
      IF sy-subrc EQ 0
      AND ti_programa-codigo_fonte+0(1) NE c_comentario.
    *- VERIFICA TODOS OS 72
        DO 72 TIMES.
          vg_inicial = sy-index - 1.
          MOVE ti_programa-codigo_fonte+vg_inicial(1)
          TO vg_caracter.
          IF NOT vg_caracter IS INITIAL.
    *- VERIFICA SE NÃO É FIM DO COMANDO.
            IF vg_caracter EQ c_aspa.
              ADD 1 TO vg_conta_aspa.
              IF vg_conta_aspa EQ 2.
                EXIT.
              ENDIF.
            ENDIF.
    *- MONTA PALAVRA.
            CONCATENATE vg_palavra vg_caracter INTO vg_palavra.
    *- CONVERTE PARA MAÍUSCULA PARA FUTURA COMPARAÇÃO.
            TRANSLATE vg_palavra TO UPPER CASE.
    *- SE ENCONTROU ALGUM INCLUDE
            IF vg_palavra EQ c_funcao_1.
              CLEAR vg_palavra.
            ENDIF.
          ENDIF.
        ENDDO.
    *- PESQUISA NOME DA FUNÇÃO PARA FUTURA PESQUISA POR USER EXIT.
        CLEAR vg_pname.
        SELECT SINGLE pname
        INTO vg_pname
        FROM tfdir
        WHERE funcname EQ vg_palavra.
        IF sy-subrc EQ 0.
          READ TABLE ti_includes WITH KEY nome = vg_pname.
          IF NOT sy-subrc IS INITIAL.
            IF vg_nivel LE p_nivel.
              MOVE: vg_pname TO ti_includes-nome,
              vg_nivel TO ti_includes-nivel.
              APPEND ti_includes.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM. " PROCURA_FUNCAO
    *& Form VERIFICA_INCLUDE_FUNCAO_SUBMIT
    text
    --> p1 text
    <-- p2 text
    FORM verifica_include_funcao_submit.
      LOOP AT ti_includes.
        ADD 1 TO vg_contador.
        DESCRIBE TABLE ti_includes.
        PERFORM evitar_time_out USING sy-tfill.
        MOVE ti_includes-nivel TO vg_nivel.
        ADD 1 TO vg_nivel.
    *- ESVAZIA TABELA INTERNA.
        REFRESH ti_programa.
        READ REPORT ti_includes-nome INTO ti_programa.
        LOOP AT ti_programa.
    *- PROCURA POR INCLUDES.
          IF p_incl EQ c_x.
            PERFORM procura_include.
          ENDIF.
    *- PROCURA POR FUNÇÃO.
          IF p_func EQ c_x.
            PERFORM procura_funcao.
          ENDIF.
    *- PROCURA POR SUBMIT.
          IF p_submit EQ c_x.
            PERFORM procura_submit.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    ENDFORM. " VERIFICA_INCLUDE_FUNCAO_SUBMIT
    *& Form EVITAR_TIME_OUT
    text
    -->P_SY_TFILL text
    -->P_SY_SUBRC text
    FORM evitar_time_out USING p_sy_tfill.
      DATA: vl_total(10) TYPE n,
      vl_atual(10) TYPE n.
      MOVE: p_sy_tfill TO vl_total,
      vg_contador TO vl_atual.
      CONCATENATE 'Total:' vl_total '-' 'Atual:' vl_atual
      INTO vg_texto
      SEPARATED BY space.
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
        EXPORTING
          text = vg_texto.
    ENDFORM. " EVITAR_TIME_OUT
    *& Form PROCURA_SUBMIT
    text
    --> p1 text
    <-- p2 text
    FORM procura_submit.
      CLEAR: vg_conta_espaco, vg_palavra, vg_ini_contagem.
    *- VERIFICA SE NA LINHA DO PROGRAMA EXISTE ALGUM INCLUDE.
      SEARCH ti_programa-codigo_fonte FOR c_submit.
    *- SE ENCONTROU INCLUDE E SE A LINHA NÃO ESTÁ COMENTADA...
      IF sy-subrc EQ 0
      AND ti_programa-codigo_fonte+0(1) NE c_comentario.
    *- VERIFICA TODOS OS 7
        DO 72 TIMES.
          vg_inicial = sy-index - 1.
          MOVE ti_programa-codigo_fonte+vg_inicial(1) TO vg_caracter.
          IF vg_ini_contagem EQ c_x AND vg_caracter IS INITIAL.
            ADD 1 TO vg_conta_espaco.
          ENDIF.
          IF NOT vg_caracter IS INITIAL.
            MOVE c_x TO vg_ini_contagem.
            IF vg_caracter EQ c_ponto.
              EXIT.
            ENDIF.
    *- MONTA PALAVRA.
            IF vg_conta_espaco LT 2.
              CONCATENATE vg_palavra vg_caracter INTO vg_palavra.
    *- CONVERTE PARA MAÍUSCULA PARA FUTURA COMPARAÇÃO.
              TRANSLATE vg_palavra TO UPPER CASE.
    *- SE ENCONTROU ALGUM INCLUDE
              IF vg_palavra EQ c_submit.
                CLEAR vg_palavra.
              ENDIF.
            ELSE.
              EXIT.
            ENDIF.
          ENDIF.
        ENDDO.
    *- PESQUISA NOME DA FUNÇÃO
        READ TABLE ti_includes WITH KEY nome = vg_palavra.
        IF NOT sy-subrc IS INITIAL.
          IF vg_nivel LE p_nivel.
            MOVE: vg_palavra TO ti_includes-nome,
            vg_nivel TO ti_includes-nivel.
            APPEND ti_includes.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM. " PROCURA_SUBMIT
    *& Form CONSISTI_PARAMETROS
    text
    --> p1 text
    <-- p2 text
    FORM consisti_parametros.
      IF p_nivel IS INITIAL.
        MOVE 1 TO p_nivel.
      ENDIF.
      IF p_prog IS INITIAL AND p_tcode IS INITIAL.
    *- NOME DO PROGRAMA E NOM
    *- DEVE SER INFORMADO.
        MESSAGE ID 'ZF' TYPE 'I' NUMBER '000' WITH text-003.
        STOP.
      ENDIF.
      IF NOT p_prog IS INITIAL AND NOT p_tcode IS INITIAL.
    *- SOLICITA AO U
        MESSAGE ID 'ZF' TYPE 'I' NUMBER '000' WITH text-004.
        STOP.
      ENDIF.
    ENDFORM. " CONSISTI_PARAMETROS
    *& Form INICIALIZA_TABELA
    text
    --> p1 text
    <-- p2 text
    FORM inicializa_tabela.
      DATA vl_pgmna LIKE tstc-pgmna.
      REFRESH ti_includes.
      IF NOT p_prog IS INITIAL.
        MOVE: p_prog TO ti_includes-nome,
        '0' TO ti_includes-nivel.
        APPEND ti_includes.
      ELSEIF NOT p_tcode IS INITIAL.
        SELECT SINGLE pgmna
        FROM tstc
        INTO vl_pgmna
        WHERE tcode EQ p_tcode.
        IF sy-subrc EQ 0.
          MOVE: vl_pgmna TO ti_includes-nome,
          '0' TO ti_includes-nivel.
          APPEND ti_includes.
        ENDIF.
      ENDIF.
    ENDFORM. " INICIALIZA_TABELA
    *& Form CABECALHO
    text
    --> p1 text
    <-- p2 text
    FORM cabecalho.
      DATA vl_complemento(50) TYPE c.
      IF p_tcode IS INITIAL.
        CONCATENATE '(Program)' p_prog
        into vl_complemento
        SEPARATED BY space.
      ELSE.
        CONCATENATE '(Transaction)' p_tcode
        INTO vl_complemento
        SEPARATED BY space.
      ENDIF.
      FORMAT COLOR COL_KEY.
      WRITE: /001 sy-uline,
      /001 sy-vline,
      040 'User Exits in a Program',
      vl_complemento,
      140 sy-vline,
      /001 sy-uline.
      WRITE: /001 sy-vline,
      003 'Program Name',
      044 sy-vline,
      046 'Level',
      052 sy-vline,
      054 'Lineno',
      065 sy-vline,
      067 'UserExit',
      140 sy-vline,
      /001 sy-uline.
    ENDFORM. " CABECALHO
    *& Form USER_EXIT_NAO_ENCONTRADA
    text
    --> p1 text
    <-- p2 text
    FORM user_exit_nao_encontrada.
      DESCRIBE TABLE ti_user_exit.
      CHECK sy-tfill IS INITIAL.
      FORMAT COLOR COL_NORMAL INTENSIFIED ON.
      WRITE: /003 'Userexit does not exist',
      139 ' '.
      FORMAT RESET.
    ENDFORM. " USER_EXIT_NAO_ENCONTRADA
    *& Form LISTA_USER_EXIT_ENCONTRADA
    text
    --> p1 text
    <-- p2 text
    FORM lista_user_exit_encontrada.
      DATA vl_cor TYPE c.
      LOOP AT ti_user_exit.
        IF vl_cor EQ c_x.
          CLEAR vl_cor.
        ELSE.
          MOVE c_x TO vl_cor.
        ENDIF.
    *- AJUSTA COR NA TELA.
        IF vl_cor EQ c_x.
          FORMAT COLOR COL_NORMAL INTENSIFIED ON.
        ELSE.
          FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        ENDIF.
    *- INÍCIO DA IMPRESSÃO.
        WRITE: /003 ti_user_exit-programa,
        046 ti_user_exit-nivel,
        054 ti_user_exit-linha,
        067 ti_user_exit-codigo_fonte,
        139 ' '.
      ENDLOOP.
    ENDFORM. " LISTA_USER_EXIT_ENCONTRADA
    *& Form RODAPE
    text
    --> p1 text
    <-- p2 text
    FORM rodape.
      DESCRIBE TABLE ti_includes.
      FORMAT COLOR COL_TOTAL.
      WRITE: /001 sy-uline,
      /001 sy-vline,
      003 'Total include searched:', sy-tfill,
      ' - with level:', p_nivel,
      140 sy-vline,
      /001 sy-uline.
    ENDFORM. " RODAPE

  • Generic extraction using function module and view

    hi every one ,
    iam new to bw and can anyone plz tell me how to extract the data from R/3 to bw using generic extractor by creating function module and a view
    thank u,
    kishore

    Hi Kishore,
    Check this blog:
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    Also Check this doc:
    http://help.sap.com/saphelp_nw04/helpdata/en/3f/548c9ec754ee4d90188a4f108e0121/frameset.htm
    Generic Extractors
    Generic data sources
    Generic DS
    Bye
    Dinesh

  • Delta for generic extraction using FM

    Hi All,
    I am trying to create generic datasource using function module. I need to set delta functionality for this DS but I don't know how to set delta for FM.
    Do I need to give delta specific field in RSO2? My delta specific field is either AEDAT or ERDAT? Is it possible? how to write code for this?
    I have around 13 tables & there is no stadard DS for these table so is it correct way to use generic using FM or is there any other way?
    plz suggest & if u have any step by step document for FM plz provide.

    Hi Manesh,
    Yes you need to set up your delta enabled field in RSO2 when you click the delta button for the datasource.
    Usually for generic datasources we use any date field to genarete deltas and looks like you have the same (AEDAT and ERDAT a re date fields).
    You dont need to write any code for this. Just provide any field for executing delta and initialize. It will get you the delta based on the date.
    In some scenarios, we get postings happening on an older date and hence dates cannot be used, in those scenarios we can go by numeric pointer.
    Creating a datasource on 13 tables, i ma not sure how efficient it would be (mainly depends on the data volume on these tables) but yah writing a function module will be fine.
    Let me know in case of any clarification
    Thanks
    Sachin

  • Error occurred while loading Generic extraction using Function module

    Hi all
    I'm trying to do INIT for Generic Extractor using Function module, but i'm getting error as "Error occurred in the source system"
    Error message from the source system
    Diagnosis
    An error occurred in the source system.
    System Response
    Caller 09 contains an error message.
    Further analysis:
    The error occurred in Extractor .
    Refer to the error message.
    Procedure
    How you remove the error depends on the error message.
    Note
    If the source system is a Client Workstation, then it is possible that the file that you wanted to load was being edited at the time of the data request. Make sure that the file is in the specified directory, that it is not being processed at the moment, and restart the request.
    Job terminated in source system --> Request set to red
    Message no. RSM078
    Can u help plz....

    Hi Vishnu
    This are the Job log details i found in source system...Can u tell what whould be the problem?
    Message
    Job started
    Step 001 started (program SBIE0001, variant &0000000002861, user ID
    Asynchronous transmission of info IDoc 2 in task 0001 (0 parallel tasks)
    DATASOURCE = ZYFI102
    RLOGSYS    =
    REQUNR     = REQU_D9Y4CZDQULRIHRRVU33KOLQZO
    UPDMODE    = D
    LANGUAGES  = *
             Current Values for Selected Profile Parameters               *
    abap/heap_area_nondia......... 0                                       *
    abap/heap_area_total.......... 10737418240                             *
    abap/heaplimit................ 40000000                                *
    zcsa/installed_languages...... DE                                      *
    zcsa/system_language.......... E                                       *
    ztta/max_memreq_MB............ 2047                                    *
    ztta/roll_area................ 3000000                                 *
    ztta/roll_extension........... 2000000000                              *
    No authorization for Acct type D
    Job cancelled after system exception ERROR_MESSAGE
    Thanks in advance
    Edited by: MohanDP on Feb 25, 2011 11:58 AM
    Edited by: MohanDP on Feb 25, 2011 12:01 PM

  • Need code for Generic Extraction using FM using multiple tables.

    Hi Experts,
    We are doing a generic functional module extraction based on four tables - say,
    Table TT1 u2013 with fields AA, BB.
    Table TT2 u2013 with fields CC, DD.
    Table TT3 u2013 with fields EE, FF.
    Table TT4 u2013 with fields GG, HH.
    The value of the field BB = DD.
    The value of the field DD = FF.
    The value of the field FF = HH.
    The key field with which we have to extract data is AA.
    We have created a structure for the above tables u2013 say STR containing all the fields from the above tables.
    Now as such all the data from the tables is in the internal table ITF.
    This data from the internal table is passed to the structure STR.
    Somewhere, I think we are making a mistake. I do not know where.
    When we check the datasource extraction in RSA3, we find that there is data only from the Table TT1. Data from other tables does not populate in the datasource.
    We do not know where we went wrong.
    Kindly help us.
    Thanking you all in advance.
    With Kind Regards,
    Shreeem.

    Hi,
    You will have to use the select query with joins as given in the below example,
    SELECT  pcarrid pconnid ffldate bbookid
      INTO  CORRESPONDING FIELDS OF TABLE itab
      FROM  ( ( spfli AS p
                INNER JOIN sflight AS f ON pcarrid = fcarrid AND
                                           pconnid = fconnid    )
                INNER JOIN sbook   AS b ON bcarrid = fcarrid AND
                                           bconnid = fconnid AND
                                           bfldate = ffldate     )
      WHERE p~cityfrom = 'FRANKFURT' AND
            p~cityto   = 'NEW YORK'  AND
            fseatsmax > fseatsocc.
    But I would suggest you to better create a Data base View with all the required tables and then use that view for data selection in your FM.
    Regards,
    Durgesh.

  • Error in Data selection in R/3 Generic Extraction Using function Modules

    Hi Friends,
    I have created a a generic data source using function module to load data from PA0000 and PA0001 Tables ,Function module is working fine when i execute it indipendently and  the data source is also working fine when i extract data using RSA3. it is showing correct no of records 157.
    When loading data into DSO from BW (using 3.x/7.0 flows) data is comming to PSA  all 157 records but in the RSMO the load status is showing yellow when i look into the step by step analysis it is
    data selection successfully started
    Data selection successfully ended
    All Data packets completed.
    are showing in red.
    after and hour time load getting failed and in the error message it is showing " job terminated in source system---> Request set to red"
    it is giving this message wir no RSM 78.
    Please let me know it

    Hi Jerry,
    Thanks for the immediate replay
    But here in my source system job is getting terminated.
    this is the status of job in Job logs.
    the job is running till this step not going ahead.
    Call customer enhancement BW_BTE_CALL_BW204010_E (BTE) with 157 records 
    Result of customer enhancement: 157 records                             
    Call customer enhancement EXIT_SAPLRSAP_001 (CMOD) with 301 records     
    Result of customer enhancement: 157 records                             
    Asynchronous send of data package 000001 in task 0002 (1 parallel tasks)
    pl. update me if any idea.

  • Generic Extraction using Infoset Query

    Hi Experts,
    I am trying to create on Infoset query on the R3 side for creating one generic Extractor Joining EKKO and EKPO table.
    u2022I have created the User group in SQ03.
    u2022I have created the Infoset in SQ02 and selected few 5/6 fields from each EKKO and EKPO tables into the Field Groups of the Infoset.
    u2022I have generated the Infoset and assigned it to the user group created on SQ03
    u2022I have created a query on SQ01 using this Infoset and deselected the u201Ctextu201D fields created by default and selected the Basic list. Done everything needs to be done in there.
    Now when I am going to RSO2 and created the extractor using that Infoset, I am not seeing the Function groups that I have created in the Infoset in the Extract Structure, rather its pulling all the fields that is there in the Infoset joining both tables. It should show me those 5/6 fields that is there in the field group.
    I just want to see only those 5/6 fields in the extract structure of the DS.
    I am not sure what is missing.
    Any documentation on the same or if anyone faced similar problem, please help.

    Hi,
    You can create the infosets in r/3 using the t code Sq01,sq03 etc.
    You can create a generic extractor in r/3 using the tcode rso2 and that you can specify the infoset name.
    Regards,
    K.Manikandan.

  • Error in Generic extraction using function module

    Hi,
    I have created a generic datasource which will will have the same fields as table tcurr(except client field).
    whenever i am trying to check it in rsa3..it is giving the error"Error in extracting data".
    Can you kindly suggest where is the mistake?
    The code of my function module is as follows:
    TABLES: ZMOHSTRUCT.         "Name of the structure
    DATA: L_S_SELECT TYPE SBIWA_S_SELECT.
    STATICS: l_maxsize TYPE sbiwa_s_interface-maxsize,
    g_counter_datapakid LIKE SY-TABIX,
    g_cursor TYPE CURSOR.
    RANGES: L_R_GDATU  FOR ZMOHSTRUCT-GDATU.
    IF i_initflag = sbiwa_c_flag_on.
    CASE I_ISOURCE.
          WHEN 'ZDSTCURR'.
          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.
    APPEND LINES OF i_t_select TO g_t_select.
    g_s_interface-requnr    = i_requnr.
        g_s_interface-isource   = i_isource.
        g_s_interface-maxsize   = i_maxsize.
    APPEND LINES OF i_t_fields TO g_t_fields.
    ELSE.
      IF g_counter_datapakid = 0.
    LOOP AT g_t_select INTO l_s_select WHERE fieldnm = 'GDATU'.
            MOVE-CORRESPONDING l_s_select TO L_R_GDATU.
            APPEND L_R_GDATU.
          ENDLOOP.
    l_maxsize = g_s_interface-maxsize.
         OPEN CURSOR WITH HOLD g_cursor FOR
         SELECT KURST
          FCURR
          TCURR
          GDATU
          UKURS
          FFACT
          TFACT
    FROM TCURR
      WHERE GDATU IN L_R_GDATU.
    ENDIF.
    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.             
    Regards,
    Mohua

    Hi
    Look at below links
    Re: Generic function module for delta - which FM ?
    http://www.jt77.com/business-warehouse/work-flow-03485.html

  • Generic extraction using FM!

    Hi All,
    I am extracting the R/3 data using FM module. I want to have the time sheet data from R/3 to have all the employee historical data of thier activities for the period concerned.
    for this purpose, i have the following queries!
    1) In which of the SAP systems i need to make the FM . i mean whether in Development or production?In BW source systems, we have only R/3 development system.
    2) In BWsystem when i am trying to create the data source using RSO2  Tcode, it is saying "the specified table does not exist". i just could not understand from where the table has come into the picture .
    can any body throw some light on these issues!
    Thanks,
    Ravi

    Hi Teja,
    thank you very much for ur answer.
    yes,it is true that FM is not available as of now.Our ABAP team member is working on that.
    but i had created a simple fm for cross checking the functionality.after creating data source in r/3, i had assigned the created data source to a info sourcein bw. there in the transfer rules screen i could only find empty infoobejects . what i need to do in that situation?
    thanks,
    Ravi

  • Generic Extraction using Function Module

    i want to know the step by step procedure for this extraction and also why we need to go for this, i mean in which scenario this is the best method. and do we need to write any abap code for doing this.and also i need what alla transaction codes we use including concepts.

    1> I don't have a step by step procedre doc. But, there is a sample fucntion module, RSAX_BIW_GET_DATA_SIMPLE. You can take a look at this to create urs.
    2> It is an alternative to the of using InfoSet query (using ABAP datasource) where you cannot split the data to be extracted into DataPackages. So, it is very helpful for huge extracts.
    3> Yes, you have to write ABAP code for this.
    4> Transactions used.
    Create function module - SE37
    Create DataSource  using FM - RSO2
    that is all!
    Regards,
    Sree
    Message was edited by: Sree Damodararaj

Maybe you are looking for