Fatch data in ALV Reports from multiple Tables

Respected Sir,
How to fatch data in ALV Grid report from selected Field and selected Table.
Please Help and My require Field and Table is :
sono LIKE vbak-vbeln,
       sodat LIKE vbak-erdat,
       cust LIKE kna1-name1,
       pono LIKE vbkd-bstkd,
       podat LIKE vbkd-bstdk,
       item_no LIKE vbap-posnr,
       item_des LIKE vbap-arktx,
       name LIKE vbak-kunnr,
       pdate LIKE vbak-bstdk,
       acdel LIKE lips-lgmng,
       netweight LIKE likp-ntgew,
       ordval LIKE VBRP-netwr,
   CUST_MAT_NO LIKE VBAP-KDMAT,
       order_qty LIKE vbap-kwmeng,
       desp_qty(5) TYPE p DECIMALS 2, "LIKE lips-lfimg,
       balance(5) TYPE p DECIMALS 2,
       delv_no LIKE likp-vbeln,
       delv_dat LIKE likp-bldat,
       invoice LIKE vbrk-vbeln,
       exnum like J_1IEXCHDR-exnum,
       invoice_dat LIKE vbrk-fkdat,
       invoice_val LIKE konv-kwert,
       END OF it_out.
*Please Refere the following code and if u wnt to change at ur own ieda u can change and reply me back.*
*Thnaks In ADVANCE.*
*Please Do  need full it.*
*Bhavesh Panchal*
*Baroda*
Also I Make Reports For SO : full coding is.
*& Report  Z_NEW1
REPORT  Z_NEW1.
TABLES : vbak,    "Sales Document: Header Data
         vbkd,    "Sales Document: Business Data
         likp,    "SD Document: Delivery Header Data
         vbrk,    "Billing Document: Header Data
         konv,    "Conditions (Transaction Data)
         lips,    "SD document: Delivery: Item data
         vbap,    "Sales Document: Item Data
         vbrp,    "Billing Document: Item Data
         kna1,    "General Data in Customer Master
         J_1IEXCHDR.
DATA : i_vbak LIKE vbak OCCURS 10 WITH HEADER LINE.
DATA : it_vbkd LIKE vbkd OCCURS 10 WITH HEADER LINE.
DATA : it_likp LIKE likp OCCURS 10 WITH HEADER LINE.
DATA : it_vbrk LIKE vbrk OCCURS 10 WITH HEADER LINE.
DATA : it_konv LIKE konv OCCURS 10 WITH HEADER LINE.
DATA : it_lips LIKE lips OCCURS 10 WITH HEADER LINE.
DATA : it_vbap LIKE vbap OCCURS 10 WITH HEADER LINE.
DATA : it_vbrp LIKE vbrp OCCURS 10 WITH HEADER LINE.
DATA : it_kna1 LIKE kna1 OCCURS 10 WITH HEADER LINE.
DATA : it_vbrp1 LIKE vbrp OCCURS 10 WITH HEADER LINE.
DATA : it_temp LIKE lips OCCURS 10 WITH HEADER LINE.
DATA : it_lips1 LIKE lips OCCURS 10 WITH HEADER LINE.
DATA : it_lips2 LIKE lips OCCURS 10 WITH HEADER LINE.
DATA : it_lips3 LIKE lips OCCURS 10 WITH HEADER LINE.
DATA : it_vbak1 LIKE vbak OCCURS 10 WITH HEADER LINE.
DATA : it_vbak2 LIKE vbak OCCURS 10 WITH HEADER LINE.
DATA : it_vbap1 LIKE vbap OCCURS 10 WITH HEADER LINE.
DATA : it_posnv LIKE zdelprt OCCURS 10 WITH HEADER LINE.
DATA : BEGIN OF it_out OCCURS 10,
       sono LIKE vbak-vbeln,
       sodat LIKE vbak-erdat,
       cust LIKE kna1-name1,
       pono LIKE vbkd-bstkd,
       podat LIKE vbkd-bstdk,
       item_no LIKE vbap-posnr,
       item_des LIKE vbap-arktx,
       name LIKE vbak-kunnr,
       pdate LIKE vbak-bstdk,
       acdel LIKE lips-lgmng,
       netweight LIKE likp-ntgew,
       ordval LIKE VBRP-netwr,
   CUST_MAT_NO LIKE VBAP-KDMAT,
       order_qty LIKE vbap-kwmeng,
       desp_qty(5) TYPE p DECIMALS 2, "LIKE lips-lfimg,
       balance(5) TYPE p DECIMALS 2,
       delv_no LIKE likp-vbeln,
       delv_dat LIKE likp-bldat,
       invoice LIKE vbrk-vbeln,
       exnum like J_1IEXCHDR-exnum,
       invoice_dat LIKE vbrk-fkdat,
       invoice_val LIKE konv-kwert,
       END OF it_out.
SELECT-OPTIONS: sono FOR vbak-vbeln.
SELECT-OPTIONS: customer FOR vbak-kunnr.
SELECT-OPTIONS: d_date FOR likp-bldat.
   LOOP AT it_OUT.
   select * into table i_vbak from vbak
   where vbeln IN sono.
   sono = vbak-vbeln.
   append it_out.
   modify it_out.
   endloop.
LOOP AT it_out.
      SELECT single vbeln netwr FROM vbak
          INTO (it_out-pono,it_out-podat)
          WHERE vbeln = it_out-sono.
          "it_out-item_no.
     append it_out.
   ENDLOOP.
    select * into table i_vbak from vbak
    where vbeln IN sono.
    call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
    i_structure_name = 'VBAK'
    I_grid_title     = 'Bhavesh Panchal'
    tables
    t_outtab = i_vbak
    t_outtab = it_out
     exceptions
     others = 1.

Hi Bhavesh Panchal  ,
You have to create another internal table with fields which you would like to display in the ALV output.
once you fetch the data from different tables into respective internal tables.  loop those internal tables and insert the field values to internal table which you want to display in ALV output.
Create  field catalog for the internal table created for  ALV  output.
Hope it shall be useful.
Regards
Santosh Kumaar.M

Similar Messages

  • Report from multiple tables - two tired

    Hi,
    I am trying to create a report with data coming from two tables in Apex, similar to one with a header record followed by detail records. The output would be similar to the output that would be generated from the statement below. Do you know if this is possible? Could you please help with the process to create this. Thank you.
    SET SERVEROUTPUT ON
    DECLARE
    BEGIN
    FOR rec IN (select SEQ_MAJ_GOALS as SEQ_MAJ_GOALS from MAJOR_GOALS where EMP_NO = :EMPNO and r_status = 'Open')
    LOOP
    DBMS_OUTPUT.PUT_LINE('SEQ_MAJ_GOALS');
    DBMS_OUTPUT.PUT_LINE(rec.SEQ_MAJ_GOALS);
    FOR tasks IN (select TASK_NO, TASK_DESC, LEAD_REQ, TASK_STATUS from TASKS where SEQ_MAJ_GOALS = rec.SEQ_MAJ_GOALS)
    LOOP
    DBMS_OUTPUT.PUT_LINE(rpad(ltrim(tasks.TASK_NO),11)||rpad(ltrim(tasks.TASK_DESC),30)||rpad(ltrim(tasks.LEAD_REQ),20)||rpad(ltrim(tasks.TASK_STATUS),10)||chr(10));
    END LOOP;
    END LOOP;
    END;

    I do this by using a PL/SQL region and use of the htp.p('');
    An example:
    create a procedure and DECLARE a cursor with variables to hold each value from the cursor. In the BEGIN section create your FOR loop, use the cursor to populate the variables, then use the htp.p call to create your own table output.
    It might look something like this:
    declare
      cursor c_rec is select SEQ_MAJ_GOALS
               from MAJOR_GOALS where EMP_NO = :EMPNO and r_status = 'Open';
      v_goals    NUMBER;
      cursor c_task is select TASK_NO, TASK_DESC, LEAD_REQ, TASK_STATUS
               from TASKS where SEQ_MAJ_GOALS = v_goals;
      v_taskno  NUMBER;
      v_taskdesc  VARCHAR2(255);
      v_leadreq    VARCHAR2(42);
      v_taskstatus  VARCHAR2(20);
    begin
      htp.p('<table>');
      open c_rec;
        LOOP
          FETCH c_rec into v_goals;
          EXIT WHEN c_rec%NOTFOUND;
            htp.p('<tr><th colspan="4">SEQ_MAJ_GOALS</th></tr>');
            htp.p('<tr><td colspan="4">'||v_goals||'</td></tr>');
            open c_task;
              LOOP
                FETCH c_task into v_taskno, v_taskdesc, v_leadreq, v_taskstatus;
                EXIT WHEN c_task%NOTFOUND;
                  htp.p('<tr><td>'||v_taskno||'</td><td>'||v_taskdesc||'</td><td>'||v_leadreq||'</td><td>'||v_taskstatus||'</td></tr>');
              END LOOP;
          close c_task;
        END LOOP;
      close c_rec;
      htp.p('</table>');
    end;You can add your own styles and formatting.

  • Move data from multiple Tables to a Single Table & Convert the list to ALV.

    Hi,
    My aim is to get the list of Materials with their descriptions, with MRP Controller, with Unrestriced Qty. & the Reorder Qty. So, I have to fetch the data from different tables. But finally I am not able to copy or move the fetched data from multiple tables into the single final table.
    Also tell me how to convert this list into ALV.
    Below is the program code.
    *& Report  Y_REORDER_REPORT
    REPORT  Y_REORDER_REPORT.
    tables : marc,makt, mard.
    DATA: Begin of i_final occurs 0,
            matnr type marc-matnr,
            maktx type makt-maktx,
            DISPO type marc-DISPO,
            MINBE type marc-MINBE,
            LABST type mard-LABST,
          end of i_final.
    DATA: Begin of i_marc occurs 0,
           matnr type marc-matnr,
           DISPO type marc-DISPO,
           MINBE type marc-MINBE,
          end of i_marc.
    DATA: Begin of i_makt occurs 0,
           matnr type makt-matnr,
           maktx type makt-maktx,
          end of i_makt.
    DATA: Begin of i_mard occurs 0,
           matnr type mard-matnr,
           LABST type mard-LABST,
           LGORT TYPE MARD-LGORT,
          end of i_mard.
    SELECT  matnr
            dispo
            minbe from marc
            into corresponding fields of table i_marc
            where dispo EQ 'STR'.
    SORT I_MARC by MATNR.
    WRITE: /10  'Material',
            75  'MRP',
            80  'Reorder Qty.'.
    LOOP at i_marc.
    Write: /10  i_marc-matnr,
            75  i_marc-dispo,
            80  i_marc-minbe.
    ENDLOOP.
    write: /.
    SELECT  matnr
            MAKTX from makt
            into corresponding fields of table i_makt
            for all entries in i_marc
            where matnr = i_marc-matnr.
    LOOP at i_makt.
    Write: /10 i_makt-matnr,
            30 i_makt-maktx.
    ENDLOOP.
    SELECT  matnr
            LGORT
            LABST from mard
            into corresponding fields of table i_mard
            for all entries in i_marc
            where matnr = i_marc-matnr.
    LOOP at i_mard.
    Write: /10 i_mard-matnr,
            30 I_MARD-LGORT,
            40 i_mard-labst.
    ENDLOOP.
    move  i_mard-matnr to i_final-matnr.
    move  i_marc-dispo to i_final-dispo.
    move  i_marc-minbe to i_final-minbe.
    move  i_makt-maktx to i_final-maktx.
    move  i_mard-labst to i_final-labst.
    WRITE: /10  'Material',
            30  'Material Desc.',
            75  'MRP',
            80  'Reorder Qty.',
            105 'Current Stock'.
    LOOP at i_final.
    Write: /10  i_final-matnr,
            30  i_final-maktx,
            75  i_final-dispo,
            80  i_final-minbe,
            105 i_final-labst.
    ENDLOOP.
    *LOOP at i_mard.
    *Write: /10  i_mard-matnr,
           30  i_makt-maktx,
           75  i_marc-dispo,
           80  i_marc-minbe,
           105 i_mard-labst.
    *ENDLOOP.
    Regards,
    Vishal

    Change like this,
    SELECT matnr
    lgort
    labst FROM mard
    INTO CORRESPONDING FIELDS OF TABLE i_mard
    FOR ALL ENTRIES IN i_marc
    WHERE matnr = i_marc-matnr.
    LOOP AT i_mard.
       WRITE: /10 i_mard-matnr,
       30 i_mard-lgort,
       40 i_mard-labst.
    ENDLOOP.
    LOOP AT i_marc.
       READ TABLE i_mard WITH KEY matnr =  i_marc-matnr.
       READ TABLE i_makt WITH KEY matnr =  i_marc-matnr.
       MOVE i_mard-matnr TO i_final-matnr.
       MOVE i_marc-dispo TO i_final-dispo.
       MOVE i_marc-minbe TO i_final-minbe.
       MOVE i_makt-maktx TO i_final-maktx.
       MOVE i_mard-labst TO i_final-labst.
       APPEND i_final.
    ENDLOOP.
    WRITE: /10 'Material',
    30 'Material Desc.',
    75 'MRP',
    80 'Reorder Qty.',
    105 'Current Stock'.

  • ALV for fields from multiple tables and make them editable

    Hi,
    I am working on a forecasting report. We have created few custom table e.g. store forcaset detail for whole year month wise. tables are say sales data, budget data, forcast data etc.
    Now i need to make a report based on monthwise based on above mention table.
    eg.o/p looks like:
    column name                     type desc monthapr monthmay .......
    table forcast                      Qty  sales    100          150
    table budget/sales             amt   amou    20.50    130.50
    table sales vs forcast       amt   amount  3000     50000
    -Now i don't know how to display data from multiple table in single ALV list that to with different field type.
    -2nd issue is i need to make only perticuler row editable so that user can chage data.
    -3rd when user change data and press calulate button - it should calculate data for future month - i got formula for that and disply the calulated data.
    - 4th if user like the forcast data then when press save - change data should update dbtable.
    Is this all possible with simple abap FM Or need to use ABAPOO.
    I will appericiate all expert help.
    Many thanks in advance.
    KDE.
    Edited by: kde_test on Jun 4, 2010 5:44 PM

    Hi,
    Solutions :
    1. You can use  FM REUSE_ALV_HIERSEQ_LIST_DISPLAY as guided by Ashutosh.
    You can also check out this
    [http://www.sap technical.com/Tutorials/ABAP/3DGraph/demo.htm]  change link to saptechnical without space
    2. [How to make certain rows in ALV grid editable...;
    3 & 4. Use two importing paramaters 'PF_STATUS_SET' 'USER_COMMAND' of  REUSE_ALV_GRID_DISPLAY.
    create two function codes 'CALC and 'SAVE' in pf-status and provide your required functionality to these function codes using User-Command.
    Sorry am unable to provide you with supporting code, but you can search for it and It can solve your problem
    Regards,
    Rohit

  • Generic datasource by function module to fetch data from multiple tables?

    I'm writing a function module to fetch price, for generic datasource.
    At first, extract test is OK. But InfoPackage never stop  when loading data to PSA in BW.
    And I find the example codes:
         OPEN CURSOR WITH HOLD S_CURSOR FOR
          SELECT (S_S_IF-T_FIELDS) FROM SFLIGHT
                                   WHERE CARRID  IN L_R_CARRID AND
                                         CONNID  IN L_R_CONNID.
        ENDIF.                             "First data package ?
    * Fetch records into interface table.
    *   named E_T_'Name of extract structure'.
        FETCH NEXT CURSOR S_CURSOR
                   APPENDING CORRESPONDING FIELDS
                   OF TABLE E_T_DATA
                   PACKAGE SIZE S_S_IF-MAXSIZE.
        IF SY-SUBRC <> 0.
          CLOSE CURSOR S_CURSOR.
          RAISE NO_MORE_DATA.
        ENDIF.
        S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
      ENDIF.
    There using Cursor to fetch data package by package, and raise exception NO_MORE_DATA to stop the loading process.
    Now I fetch data from multiple tables, I don't think I can use Cursor.
    Then How can I handle this?  
    Thanks a lot.

    Thanks
    IF IT_999[] IS INITIAL.
        SELECT A~KNUMH A~MATNR A~KSCHL VKORG VTWEG A~DATBI A~DATAB KBETR KMEIN KPEIN C~MTART APPENDING CORRESPONDING FIELDS OF
          TABLE TP_DATA
            FROM A999 AS A
              INNER JOIN KONP AS B
                  ON A~KNUMH = B~KNUMH
              INNER JOIN MARA AS C
                 ON A~MATNR = C~MATNR
    *          FOR ALL ENTRIES IN IT_999
                    WHERE
    *      A~KNUMH = IT_999-KNUMH  AND
           ( ( A~KSCHL = 'ZPRC' AND VKORG = 'Z000' AND VTWEG = 'Z1' ) OR
                          ( A~KSCHL = 'ZPRD' AND VKORG = 'A000' AND VTWEG = 'Y3' ) ) AND
    *                      A~DATBI >= SY-DATUM AND
                          LOEVM_KO = ''.
        SELECT A~KNUMH A~MATNR A~KSCHL VKORG VTWEG A~DATBI A~DATAB KBETR AS KHETR  KMEIN KPEIN C~MTART APPENDING CORRESPONDING FIELDS OF
          TABLE TP_DATA
            FROM A999 AS A
              INNER JOIN KONP AS B
                  ON A~KNUMH = B~KNUMH
              INNER JOIN MARA AS C
                 ON A~MATNR = C~MATNR
    *          FOR ALL ENTRIES IN IT_999
                    WHERE
    *      A~KNUMH = IT_999-KNUMH AND
          A~KSCHL = 'ZPR3' AND A~VKORG = 'I000' AND
    *                      DATBI >= SY-DATUM AND
                          LOEVM_KO = ''.
      ENDIF.
      IF IT_997[] IS INITIAL.
        SELECT A~KNUMH A~MATNR A~KSCHL VTWEG A~DATBI A~DATAB KBETR AS KHETR KMEIN KPEIN C~MTART APPENDING CORRESPONDING FIELDS OF
          TABLE TP_DATA
            FROM A997 AS A
              INNER JOIN KONP AS B
                  ON A~KNUMH = B~KNUMH
              INNER JOIN MARA AS C
                 ON A~MATNR = C~MATNR
    *          FOR ALL ENTRIES IN IT_997
                    WHERE
    *      A~KNUMH = IT_997-KNUMH      AND
          A~KSCHL = 'ZPRA' AND VTWEG = 'Y1' AND
    *                      DATBI >= SY-DATUM AND
                      LOEVM_KO = ''.
      ENDIF.
      IF IT_996[] IS INITIAL.
        SELECT A~KNUMH A~MATNR A~KSCHL A~DATBI A~DATAB KBETR AS KHETR KMEIN KPEIN C~MTART APPENDING CORRESPONDING FIELDS OF
           TABLE TP_DATA
             FROM A996 AS A
               INNER JOIN KONP AS B
                   ON A~KNUMH = B~KNUMH
               INNER JOIN MARA AS C
                  ON A~MATNR = C~MATNR
    *          FOR ALL ENTRIES IN IT_996
                    WHERE
    *      A~KNUMH = IT_996-KNUMH AND
          A~KSCHL = 'ZPRB' AND
    *                       DATBI >= SY-DATUM AND
          LOEVM_KO = ''.
      ENDIF.
      SELECT   MATNR     "u7269u6599u53F7u7801
               MEINH     "u4ED3u50A8u5355u4F4Du7684u5907u7528u8BA1u91CFu5355u4F4D
               UMREZ     "u57FAu672Cu8BA1u91CFu5355u4F4Du8F6Cu6362u5206u5B50
               UMREN     "u8F6Cu6362u4E3Au57FAu672Cu8BA1u91CFu5355u4F4Du7684u5206u6BCD
          FROM MARM
          INTO CORRESPONDING FIELDS OF TABLE IT_MARM
           FOR ALL ENTRIES IN TP_DATA
         WHERE MATNR = TP_DATA-MATNR AND  MEINH = TP_DATA-KMEIN.
      LOOP AT TP_DATA.
        IF TP_DATA-KPEIN NE 0.
          TP_DATA-KBETR =  TP_DATA-KBETR / TP_DATA-KPEIN.
          TP_DATA-KHETR =  TP_DATA-KHETR / TP_DATA-KPEIN.
        ENDIF.
        IF TP_DATA-KSCHL = 'ZPRA'.
    *       TP_DATA-MEINH = 'ZI'.
    *      TP_DATA-KSCHL = 'B4'.
          IF TP_DATA-KMEIN = 'ZI'.
            TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
          ELSE.
            READ TABLE IT_MARM INTO WA_MARM1 WITH KEY MATNR = TP_DATA-MATNR MEINH = TP_DATA-KMEIN.
    *           READ TABLE IT_MARM INTO WA_MARM2 WITH KEY MATNR = TP_DATA-MATNR MEINH = 'CT'.
            TP_DATA-KHETR = TP_DATA-KHETR * WA_MARM1-UMREN / WA_MARM1-UMREZ.
    *           * WA_MARM2-UMREZ / WA_MARM2-UMREN.
            TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
          ENDIF.
        ELSEIF TP_DATA-KSCHL = 'ZPRB'.
    *      TP_DATA-KSCHL = 'L0'.
    *       TP_DATA-MEINH = 'ZI'.
          IF TP_DATA-KMEIN = 'ZI'.
            TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
          ELSE.
            READ TABLE IT_MARM INTO WA_MARM1 WITH KEY MATNR = TP_DATA-MATNR MEINH = TP_DATA-KMEIN.
    *           READ TABLE IT_MARM INTO WA_MARM2 WITH KEY MATNR = TP_DATA-MATNR MEINH = 'BAG'.
            TP_DATA-KHETR = TP_DATA-KHETR * WA_MARM1-UMREN / WA_MARM1-UMREZ.
    *           * WA_MARM2-UMREZ / WA_MARM2-UMREN.
            TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
          ENDIF.
        ELSEIF TP_DATA-KSCHL = 'ZPRC' OR TP_DATA-KSCHL = 'ZPRD'.
    *       TP_DATA-MEINH = 'ZI'.
          IF TP_DATA-KMEIN = 'ZI'.
            TP_DATA-KHETR = TP_DATA-KBETR * '1.17'.
          ELSE.
            READ TABLE IT_MARM INTO WA_MARM1 WITH KEY MATNR = TP_DATA-MATNR MEINH = TP_DATA-KMEIN.
    *           READ TABLE IT_MARM INTO WA_MARM2 WITH KEY MATNR = TP_DATA-MATNR MEINH = 'WZI'.
            TP_DATA-KBETR = TP_DATA-KBETR * WA_MARM1-UMREN / WA_MARM1-UMREZ.
    *           * WA_MARM2-UMREZ / WA_MARM2-UMREN.
            TP_DATA-KHETR = TP_DATA-KBETR * '1.17'.
          ENDIF.
        ELSEIF TP_DATA-KSCHL = 'ZPR3'.
    *      TP_DATA-KSCHL = 'B2'.
          IF TP_DATA-KMEIN = 'ZI'.
            TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
          ELSE.
            READ TABLE IT_MARM INTO WA_MARM1 WITH KEY MATNR = TP_DATA-MATNR MEINH = TP_DATA-KMEIN.
    *           READ TABLE IT_MARM INTO WA_MARM2 WITH KEY MATNR = TP_DATA-MATNR MEINH = 'BAG'.
            TP_DATA-KHETR = TP_DATA-KHETR * WA_MARM1-UMREN / WA_MARM1-UMREZ.
    *           * WA_MARM2-UMREZ / WA_MARM2-UMREN.
            TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
          ENDIF.
        ENDIF.
        TP_DATA-MEINH = '01'.
        MODIFY TP_DATA.
    E_T_DATA-MATNR =   TP_DATA-MATNR.
    E_T_DATA-KSCHL =   TP_DATA-KSCHL.
    E_T_DATA-KHETR =   TP_DATA-KHETR.
    E_T_DATA-KBETR =   TP_DATA-KBETR.
    E_T_DATA-KMEIN =   TP_DATA-KMEIN.
    E_T_DATA-DATAB =   TP_DATA-DATAB.
    E_T_DATA-DATBI =   TP_DATA-DATBI.
    APPEND E_T_DATA.
        CLEAR WA_MARM1.
        CLEAR WA_MARM2.
      ENDLOOP.
    Edited by: Shen Peng on Oct 20, 2010 10:09 AM

  • How to extract data from multiple tables (always got errors)

    Dear Experts,
    I have a simple mapping to extract data from multiple tables as a source (A, B, C) to a target table (X). Below is the picture:
    (Sources)....(Target)
    A----------------***
    B----------------X
    C----------------***
    Sample Source Data:
    Table A:
    ColA1
    100
    200
    etc
    Table B:
    ColB1 ColB2 ColB3
    10 Y Ten
    20 Y Twenty
    30 Y Thirty
    etc
    Table C:
    ColC1 ColC2
    11
    12
    13
    etc
    Target table (X) should be (just has 1 group INGRP1):
    ColA1 ColB1 ColB3 ColC1
    100 10 Ten 11
    100 10 Ten 12
    100 20 Twenty 21
    etc
    Scenarios:
    1. Directly map from A, B, C to X. Unable to map with error message: "API8003: Connection target attribute group is already connected to an incompatible data source. Use a Joiner or Set operator to join the upstream data first before connecting it into this operator."
    2. Map each source to Expression Operator and then map from each Expression to target table. I am able to map all attributes successfully but got error when validating it with message: "VLD-1104: Attributes flowing into TEST.EXPR_SRC.INGRP1 have different data sources."
    How can I achieve the correct mapping for this purpose?
    Use Joiner? I have no key to join the sources
    Use Set? The sources have different number of columns
    Thanks in advance
    Prat

    Thanks Nico,
    I think it will results data like this:
    100 10 Ten 11
    200 20 Twenty 12
    300 30 Thirty 13
    etc
    and not the expected:
    100 10 Ten 11
    100 10 Ten 12
    100 20 Twenty 21
    etc
    But it inspired me to solve this by adding key expression in each source table (B & C) to be joined to table A with this formula:
    100+TRUNC(INGRP1.COLB1,-2)
    Regards
    Prat

  • JDBC-XI-FILE scenario. How to extract data from multiple tables

    Hi,
    At this moment I didn't have the access for XI system. So here I have some silly question. Could you please clarify the same ??
    If I got to extract data from single table using JDBC adapter I can put the below query in communication channel
    SELECT *FROM orders WHERE new='true'.
    But if I got to extract data from multiple tables, logic to be used should be like as shown below. ( from previous thread------prabhu).
    SELECT <Table_2>.EID, <Table_2>.FName, <Table_2>.LName, <Table_1>.REC_DAT, <Table_1>.DESCRP
    FROM <Table_1> INNER JOIN <Table_2> on
    <Table_1>.CARDNO = <Table_2>.CARD
    where REC_DAT = <condition>
    union
    SELECT <Table_2>.EID, <Table_2>.FName, <Table_2>.LName, <Table_1>.REC_DAT, <Table_1>.DESCRP
    FROM <Table_1> INNER JOIN <Table_2> on
    <Table_1>.CARDNO = <Table_2>.CARD
    where REC_DAT = <condition>
    But my query is ........how to put the above entire code in one line. (i.e in Qery place of communication channel ) ??
    Thanks
    Kumar

    Hi Palnati,
        You either use a select query with join or a stored procedure which will contain the logic to extract the data from multiple tables. But, the limitation in case of stored procedure is u can hv only one selct query in it.
    You write ur actual query provided in the parameter 'Query SQL Statement". u can also wrt a stored procedure in it. Also, u can provide a update statement in it which will update a certain flag so tht u don selct the data again.
    Check the following link
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm">http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm</a>
    Regards,
    Akshay
    Message was edited by:
            Akshay Salunke

  • Loading Data from multiple tables into essbase using ODI

    Hi,
    We have a scenario where data comes from multiple tables. I would like to know how will ODI load this data for the right combination of the members

    Hi,
    I take it each data table has a field which maps to the other table. You can just drag the datastores on to the source interface and create a join between the tables.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Does ODI has ability to extract data from multiple tables

    We have requirement using ODI to extract data from multiple tables depending on certain logic and spool 100+ files.
    How efficient ODI is in data extraction from several multiple tables especially when the extraction is dependent on certain business logic conditions ? Also, if anyone used Peoplesoft Application Engine process to extract volumes of data, how efficient Peoplesoft Applicaiton Engine process is as compared to ODI ? I will really appreciate if someone throws some light on this ? Thanks in advance.
    Ram

    One more option
    Create two Integration Interfaces and launch them sequentially:
    1st Interface : select a IKM ... Append and activate the Distinct rows check box.
    2nd Interface : select an IKM ... Incremental Update and set the UPDATE option to No.
    Be aware that the update key in this Integration Interface should be composed of all the target columns mapped. Also activate the Distinct rows check box.
    Thanks,
    Sutirtha
    Edited by: Sutirtha Roy on Jul 21, 2009 10:08 AM

  • Displaying data from multiple table/column

    hello ..
    anybody can help me how to diplaying data from multiple table/ column in PHP. TQ

    Follow the "How do I SELECT, INSERT, UPDATE and DELETE data from PHP?" example from http://wiki.oracle.com/page/PHP+Oracle+FAQ and change the "select ..." query to your favourite join, e.g.
    select country_name, region_name from countries, regions where countries.region_id = regions.region_id;

  • Jdbc getting data from multiple tables

    hi guys
    how can i get data from multiple tables in MSAccess
    please help

    >
    here is code thata i want to do
    i have 3 tables in my MSAccess databace
    Stud_O which consist name,surname fields
    Stud_I consist address,tel
    Stud_E department,faculty fields
    Based on this I would guess that you are missing a key field. There is no way to connect the tables.
    I make the class to insert data to the tables. But
    cant do getting datas from this tables.
    can anybody help me in making query
    and method that displays reultset strings to the
    textBoxes
    A select ...
    select name,surname from Stud_O. Use the executeQuery() method.

  • Update On data from multiple Tables

    How can i update data from multiple tables(Using a Join)
    using a single update statement.

    Hii
    Suppose i have following tables
    create table emp_mas(empno number primary key,name varchar2(30));
    create table emp_grad(empno number primary key,grade varchar2(1));
    SQL> select * from emp_grad;
    EMPNO G
    100 A
    101 A
    102 B
    SQL> select * from emp_mas;
    EMPNO NAME
    100 GREG
    101 THOMAS
    102 SAM
    I would like to update information of employee 'GREG' Using a single update statement as
    UPDATE (SELECT E.EMPNO,E.NAME,G.GRADE FROM EMP_MAS E,EMP_GRAD G WHERE E.EMPNO=G.EMPNO) J
    SET J.NAME='GREG THOMAS',J.GRADE='B' WHERE EMPNO=100
    Then i am getting Error message like this.
    ERROR at line 2:
    ORA-01776: cannot modify more than one base table through a join view
    How can i achieve the result

  • POWL accessing data from multiple tables/objects

    Hello,
    I have a query on the POWL applications.
    If the powl application has to access data from multiple tables/objects, then the solution would be creating a data structure of those tables/objects and referring to that structure in GET_OBJECT_DEF methods.
    Is there any other soln? or I am right here?
    The queries which are saved for a particular user are transportable? if not, how can they be made transportable?
    Thanks & regards,
    Ravish

    you are right, you can do in get_objects method.
    POWL_QUERIES are transportab;e, you can save them in POWL_QUERY transaction.
    Best regards,
    Rohit
    http://wiki.sdn.sap.com/wiki/display/WDABAP/POWL

  • Update data provider queryspecification wiith columns from multiple tables

    Hi
    I have scenario like I need  updated a queryspecificaiton with columns from multiple tables
    1. Ex:
      <bOQuery name="Query">
              <resultObjects identifier="DS0.DO1" name="A$Application_ID"/>
              <resultObjects identifier="DS0.DO2" name="A$Column_Name"/>
    A$Application_ID is from Table A and A$Column_Name from table B
    The query is not adding to dataprovier when I am trying to updated from REST API.
    Please help me.
    Thanks
    Kalyan

    Have a look at the Business Intelligence platform RESTful Web Service Developer Guide, section 3.4.7 (p. 197) - Report structure: getting and updating the structure (specifications) of a report, may be a good place to start(?). Also see KBA 1952419 - How to update the properties of a web intelligence report using RESTful web service SDK .
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • Can a block in Oracle contain rows/data from multiple tables?

    Hi during my discussion with one of the DBAs, a point came up i.e. A block shouldn't have rows from multiple tables...
    Is that true? I read in one of the OTN thread (i don't exactly remember the thread name) that a block can have data from multiple tables. If it doesn't have, what's the table directory in block signifies?
    Please share your views.
    Thanks,
    CSM

    CSM.DBA wrote:
    Hi,
    As per the above link,
    Table directory
    For a heap-organized table, this directory contains metadata about tables whose rows are stored in this block. Multiple tables can store rows in the same block. (Logical Storage Structures)
    And by default Oracle creates heap organized tables only.(heap-organized table: A table in which the data rows are stored in no particular order on disk. By default, CREATE TABLE creates a heap-organized table.) (Glossary)
    So I can say a block can contain rows from multiple tables. Isn't it?
    CSM
    See Logical Storage Structures
    Given:  A segment is a set of extents allocated for a specific database object, such as a table.
    Given:  An extent is a set of logically contiguous data blocks

Maybe you are looking for

  • Can't find driver for printer

    I have an HP PSC 750 connected to an airport express base station. It shows up in the printer browser when I click the add printer button (it says Bonjour under the connection type). However, under the 'print using' drop menu it won't auto select a d

  • How to dynamic change Step Name?

    I have a step inside For Loop. I would like that step have different name related to loop Number. how do I do it? For example In Test stand, for i=0; i++;i<10 stepnamei end So in this way, If the step fail, I could know on which loop it fails. Please

  • Download of CS6 problems

    Need help with Adobe CS6 Master Collection--get message error using window 8 not xp or visita, does that matter?

  • I get 'redirected' or 'jump' instead of what I 'googled'; I get ads etc

    After loading Firefox 'Home' and using the search bar -say for instance- Walthers.com [a model RR products store] I get a listing of many 'walthers' sites but not the one I asked for [walthers.com]. If I fill in ..'www.walthers.com' on Foxfire's ''''

  • Failed to send mail

    Hi, Following is the exception that im getting when im sending the mail for the first time. If i open my outlook and close it and if i try to send the mail, then im able to send the mail How can i avoid this problem of opening the mailbox before send