Multiple Child Tables in UDO

Hi Experts,
I Have to design and create a B1 Form which will be having behavior like a Transaction Form .I have already developed some Addons with single matrix. But here I need 2 matrices but the Second Matrix will carry data specific to a single line of first matrix. Just like in SAP Transaction Forms say A/P Invoice. The matrix for Item Details is there on the screen . But line wise we can enter TAX Amount Bifurcation in separate matrix.
I need the same feature in my UI. I need to pop up the Second matrix on selection of single line of First Matrix. But at the final save of the form I want this matrix's data to be saved by UDO itself. I know that we can have multiple child tables in a single UDO Object, but I don't know how to tackle this on UI level .
I hope I am able to explain my problem.
Thanks in advance.
Regards,
Pooja Singh.

Hi,
          You link more than one Child table to a header table with document type, through code. It is highly possible.

Similar Messages

  • Multiple child tables and repeating frames

    I have three tables(A,B,and C) where A is the parent of both B, and C. There is no relation between B and C.In the data model, There are three queries, one to each table and I have set up the parent/child relationship in the data diagram.
    In the layout Window I have a master repeating frame which breaks on each record for A. And within that master frame I have two constrained repeating frames for both B and C in that order designed to print all on the same page.
    The problem is that when there is more data for B, the extra records are not displayed .For overflow conditions, I would want A and C information to be reprinted along the top and bottom of each successive page while the middle section would contine on with the extra B records. (I realize this is similar to having header (A) and footer (B) information in the margin, but it is not quite the same thing since B and C depend on A's repeating frame.)

    I'm assuming that all the rows of (C) can always fit onto the page and don't overflow to the next. If so then you'll need the following:
    A Group frame "M_A" that completely surrounds (A) fields
    A Group frame "M_B" that surrounds (B) and defines the space available for (B) to print
    A Group frame "M_C" that surrounds (C)
    Set the properties against each frame:
    M_A:
    Vertical Elasticity: "Variable"
    Print Object On: "All Pages"
    Base Printing On: "Enclosing Object"
    M_B:
    Vertical Elasticty: "Fixed"
    (Re-size this frame in the layout to define the space available for (B))
    M_C:
    Vertical Elasticity: "Variable"
    Print Object On: "All Pages"
    Base Printing On: "Enclosing Object"
    You should end up with:
    A.....
    B1....
    B2....
    B3....
    C1....
    C2....
    A.....
    B4....
    C1....
    C2....

  • Af:tree With Multiple Child Table

    Hi,
    I have a requirement where i have to show a af:tree with child records from two different view Iterators, I created one tree but facing a issue. It shows the name of the Child view iterators and then the record inside it.
    Like :-
    ---> DummyRecord1 *(Record from Parent Iterator)*
    ------------>viewIterator1 *(Name of the First Child Iterator)*
    -------------------->DummyRecord2 *(Record from First Child Iterator)*
    ------------>viewIterator2 *(Name of the Sec Child Iterator)*
    -------------------->DummyRecord2 *(Record from Sec Child Iterator)*
    But i don't want to show the Name of the Child iterators in the tree.I want the tree something like:-
    ---> DummyRecord1 *(Record from Parent Iterator)*
    -------------------->DummyRecord2*(Record from First Child Iterator)*
    -------------------->DummyRecord3 *(Record from Sec Child Iterator)*
    My .Jspx code:-
    <af:tree value="#{bindings.*someViewIterator*.treeModel}"
    var="node"
    selectionListener="#{bindings.*someViewIterator*.treeModel.makeCurrent}"
    rowSelection="single" id="t1">
    <f:facet name="nodeStamp">
    <af:outputText value="#{node}" id="ot1"/>
    </f:facet>
    </af:tree>
    My Page Def code:-
    ><variableIterator id="variables"/>
    > <iterator Binds="*someView*" RangeSize="25"
    > DataControl="AppModuleDataControl"
    id="*someViewIterator*"/>
    </executables>
    <bindings>
    <tree IterBinding="*someViewIterator*"
    id="*someView1*">
    <nodeDefinition DefName="*someView*"
    Name="*someView12*">
    <AttrNames>
    <Item Value="nodeValue"/>
    </AttrNames>
    <Accessors>
    <Item Value="viewIterator2"/>
    <Item Value="viewIterator3"/>
    </Accessors>
    </nodeDefinition>
    <nodeDefinition DefName="viewIterator2"
    Name="viewIterator123">
    <AttrNames>
    <Item Value="nodeValue"/>
    </AttrNames>
    </nodeDefinition>
    <nodeDefinition DefName="viewIterator3"
    Name="viewIterator345">
    <AttrNames>
    <Item Value="nodeValue"/>
    </AttrNames>
    </nodeDefinition>
    </tree>
    </bindings>
    I am using JDev  11.1.1.6.0
    Why is Tree component creating an extra level showing the iterator name, is there any way to remove that level and show the tree with the actual records only...Thanks in advance..

    Hi,
    trees show hierarchical dependencies of a single path. While it is possible to hack the tree binding configuration to show two root nodes, you can't show two child iterators unless you warp the ADF binding model in a custom tree model (in which case its your code that retrieves and manages the user selection)
    Frank

  • UDO WITH MORE THAN ONE CHILD TABLE

    Hello There.
    Can I handle more than one child table for a master table by code?
    if I can, how do I create this udo, I have tryed the following code, but it takes the last child table ("jobs7")
    If oUserObjectMD.GetByKey("Jbs_UO") = 0 Then
                oUserObjectMD.CanCancel = SAPbobsCOM.BoYesNoEnum.tYES
                oUserObjectMD.CanClose = SAPbobsCOM.BoYesNoEnum.tYES
                oUserObjectMD.CanCreateDefaultForm = SAPbobsCOM.BoYesNoEnum.tNO
                'oUserObjectMD.FormColumns   
                oUserObjectMD.CanDelete = SAPbobsCOM.BoYesNoEnum.tYES
                oUserObjectMD.CanFind = SAPbobsCOM.BoYesNoEnum.tYES
                oUserObjectMD.FindColumns.ColumnAlias = "Code"
                oUserObjectMD.FindColumns.Add()
                oUserObjectMD.FindColumns.SetCurrentLine(1)
                oUserObjectMD.FindColumns.ColumnAlias = "Name"
                oUserObjectMD.CanLog = SAPbobsCOM.BoYesNoEnum.tNO
                oUserObjectMD.LogTableName = ""
                oUserObjectMD.CanYearTransfer = SAPbobsCOM.BoYesNoEnum.tNO
                oUserObjectMD.ChildTables.TableName = "JOBS1"
                oUserObjectMD.ChildTables.TableName = "JOBS2"
                oUserObjectMD.ChildTables.TableName = "JOBS3"
                oUserObjectMD.ChildTables.TableName = "JOBS4"
                oUserObjectMD.ChildTables.TableName = "JOBS5"
                oUserObjectMD.ChildTables.TableName = "JOBS6"
                oUserObjectMD.ChildTables.TableName = "JOBS7"
                oUserObjectMD.ExtensionName = ""
                oUserObjectMD.ManageSeries = SAPbobsCOM.BoYesNoEnum.tNO
                oUserObjectMD.Code = "Jbs_UO"
                oUserObjectMD.Name = "Jobs UDO"
                oUserObjectMD.ObjectType = SAPbobsCOM.BoUDOObjType.boud_MasterData
                oUserObjectMD.TableName = "JOBS"
                If oUserObjectMD.Add() <> 0 Then
                    Dim ErrMsg As String
                    Dim ErrCode As Long
                    oCompany.GetLastError(ErrCode, ErrMsg)
                    MsgBox("Errorf adding UDO master Data" & vbCrLf & ErrMsg)
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserObjectMD)
                    oUserObjectMD = Nothing
                    Return False
                End If
            End If

    Hi Hagai
    after oUserObjectMD.ChildTables.TableName = "JOBS1"
    just write
    oUserObjectMD.ChildTables.Add
    that would be
    oUserObjectMD.CanYearTransfer = SAPbobsCOM.BoYesNoEnum.tNO
    oUserObjectMD.ChildTables.TableName = "JOBS1"
    oUserObjectMD.ChildTables.Add
    oUserObjectMD.ChildTables.TableName = "JOBS2"
    oUserObjectMD.ChildTables.Add
    oUserObjectMD.ChildTables.TableName = "JOBS3"
    oUserObjectMD.ChildTables.Add
    oUserObjectMD.ChildTables.TableName = "JOBS4"
    oUserObjectMD.ChildTables.Add
    oUserObjectMD.ChildTables.TableName = "JOBS5"
    oUserObjectMD.ChildTables.Add
    oUserObjectMD.ChildTables.TableName = "JOBS6"
    oUserObjectMD.ChildTables.Add
    oUserObjectMD.ChildTables.TableName = "JOBS7"

  • UDO doesn't show child table contents

    Hi everyone:
       I have a big trouble: I have a UDO form with a master table and 1 child table. When I save data in this form, everything is OK, but when I browse in the records, I just got data from master table.
       I should show child table data in a matrix. All the field of the matrix are correctly bounded. I think that it may be caused by a reference lost, but I've seen another XML Files and i didn't find the problem.
       Can anyone help me please?
       Thanks in advance.

    Hi Misael,
    If the matrix is correctly bound, the data should save and display correctly.
    Questions: Is the child data saved in the child table?
    The quickest solution (although it might seem tedious) is to look at example : C:\Program Files\SAP\SAP Business One SDK\Samples\UDO\MealOrder.
    This example works perfectly.
    Convert it to use your fields and you should see where you should alter it to get your code working.

  • Invalid XML, Expected item name child table but got 'row' UDO name

    Hi expects
    my client is using SAP 2007B, PL15
    I have problem in uploading data via DTW in UDO master type table.
    I don't have importing data
    Only i have problem in updating data in UDO master type table
    Detail log is Invalid XML, Expected item name 'TB_SALES_AGTDISC_CH' but got 'row' UDO_obj_sales_agt_disc
    TB_SALES_AGTDISC - master type
    fields are Code,Name
    'TB_SALES_AGTDISC_CH -master row type
    fields Code,vaidfrm,validto,disc_ltr
    Please give some suggestions
    Prasad

    Hi
    I checked my previous thread.
    But still I am getting problem in importing one additional row in child table.
    Message i was getting when i importing via DTW Re: Invalid XML, Expected item name<child table> but got 'row' UDO name
    Please give me some links or procedure how to import row in child tabe
    Prasad

  • Inserting multiple rows in child table

    i have two entity beans (main and child) with relationship one to many .... when i insert one row in main table (ie when i make one object for main entity bean)... how to insert multiple rows in child table...

    Can anyone pls provide some sample code for the above.. how to pass a collection and populate it in the child table.
    1.Where to pass the collection, to the childbean directly or to the parent bean and then itereate to the collectio and create child bean.
    Much obliged if you could paste some code for the above..

  • Custom Report Layout with mutliple child tables

    I am trying to create a custom report layout (using Bi Publisher) where I have parent data (multiple jobs on a page) and several child tables for each job (JobDays and JobStops) and several child tables for JobDays (JobDayProviders, JobDayCrew). On the apex screen, I have a join on Jobs and JobDays and I am using functions to string each child row value for JobDayProviders and JobDayCrew together and putting a <br> in between so that they will format on separate lines within a cell. It works fine on the screen but when trying to print to pdf, it ignores these line breaks. I have also tried using <br></br> (saw an article that said just use HTML in bi pulisher) which puts two lines in between each value on the screen and is still ignored on the pdf.
    for example:
    Table hierarchy:
    Jobs table
    Job Stops
    Job Days
    Job Day Service Providers
    Job Day Crew
    Report Layout per job (will have mutlipe jobs to print, just printing 1 day per job):
    Jobs.col1 JobStops.row1 JobDay.col1 JobDayProviders.row1 JobDayCrew.r1
    JobStops.row2 JobDayProviders.row2 JobDayCrew.r2
    JobDayProviders.row3
    Thanks,
    Linda
    First, is there a way to get bi publisher to recognize the line breaks? If not, what is the best way to create a custom report for this scenario? I tried to create a report query with mutliple queries, but cannot determine how to link the child queries to the paren query. I have seen an example where a button is pressed to print one parent row and the id of that row is saved and referenced as a parameter in each of the queries, but if printing mutliple parents on a report, how would I link the child queries to the parent query?

    Helen,
    The best way for your case is to use a content folder and customize it whichever way you like.
    however, your question is about reports. the problem in reports is this that you have to use just one single query and the layout of the results of this query are displayed in a peculiar way.
    anyway. something similar but not exactly the same as what you wanted do is the following.
    use a query like the following: (with a union in between)
    SELECT COLUMN1,NULL , NULL ,NULL ,NULL
    FROM my_source_table
    WHERE myCriteria LIKE 'SoAndSo%'
    UNION
    SELECT NULL,COLUMN2 , COLUMN3, COLUMN4, COLUMN5
    FROM my_source_table
    WHERE myCriteria LIKE 'SoAndSo%'
    ---------- Now, have the following codes in the layout segments:
    <!--- header --->
    <table border="0" cellpadding="1" cellspacing="1" width="20%" align="center">
    <!--- body --->
    <tr align="center">
    <td><table border="0" cellpadding="1" cellspacing="0" width="30%" align="center">
    <tr align="center">
    <TH><#COLUMN1.FIELD#></TH>
    </tr>
    </table>
    </td>
    <TD class="report_cell" ALIGN="LEFT"><#COLUMN2.FIELD#></TD>
    <TD class="report_cell" ALIGN="LEFT"><#COLUMN3.FIELD#></TD>
    <TD class="report_cell" ALIGN="LEFT"><#COLUMN4.FIELD#></TD>
    <TD class="report_cell" ALIGN="LEFT"><#COLUMN5.FIELD#></TD>
    </tr>
    <!--- footer --->
    <TR><TD></TD></TR>
    this should produce a report with a table structure (you may see the whole if you give BORDER="1" in the main table tag). Within this table, the first column of the first row should be showing top-leftmost column value once (COLUMN1 value) and then the next rows would show last four column values as a table block on the right-bottom part.
    with kind regards,
    naqvi

  • Master Child tables how to get the latest rows from both

    Hi,
    Need some help with the sql. I have two tables Master & Child. In my Master table I have multiple rows for the same record and in the child table also multiple rows for the same master row how can I get the latest one's from both.
    For example Data in my Master table looks like
    CONT_ID                  SEQ_NUM        DESCRIPTION
    1                         189             Update 2
    1                         188             Update 1
    1                         187              NewNow in the child table for the same CONT_ID I may have the following rows
    CONT_ID                   UPDATED_DATE                                     STATUS
    1                        3/16/2010 2:19:01.552700 PM                          P
    1                        3/16/2010 12:29:01.552700 PM                         A
    1                        3/16/2010 12:29:01.552700 PM                         P
    1                        3/16/2010 12:19:01.552700 PM                         NIn my final query how can I get the row with seq_num 189 as it's the latest in Master table and from child table the row with status of P as it's the latest one based on the time. Here is the query i have but it returns the latest row from the child table only and basically repeats the master table rows as opposed to one row that is latest from both:
    Thanks

    Hi,
    You can use the analytic ROW_NUMKBER function to find the latest row for each cont_id in each table:
    WITH     got_m_rnum     AS
         SELECT     cont_id,     seq_num,     description
         ,     ROW_NUMBER () OVER ( PARTITION BY  cont_id
                                   ORDER BY          seq_num     DESC
                           ) AS m_rnum
         FROM    master_table
    --     WHERE     ...     -- any filtering goes here
    ,     got_c_rnum     AS
         SELECT     cont_id, updated_date,     status
         ,     ROW_NUMBER () OVER ( PARTITION BY  cont_id
                                   ORDER BY          updated_date     DESC
                           ) AS c_rnum
         FROM    child_table
    --     WHERE     ...     -- any filtering goes here
    SELECT     m.cont_id,     m.seq_num,     m.description
    ,     c.updated_date,     c.status
    FROM     got_m_rnum     m
    JOIN     got_c_rnum     c     ON     m.cont_id     = c.cont_id
                        AND     m.m_rnum     = c.c_rnum
                        AND     m.m_rnum     = 1
    ;If you'd like to post CREATE TABLE and INSERT statements for the sample data, then I could test this.
    If there happens to be a tie for the latest row (say, there are only two rows in the child_table with a certain cont_id, and both have exactly the same updated_date), then this query will arbitrarily choose one of them as the latest.

  • How do I include/show data from a child table in a Modal Window?

    How do I show data from a child table in a Modal Window?
    I have an application where each customer might have multiple addresses and phone numbers which are stored in child tables.  When I show the customer in a record on a screen I can place a Modal Window button on the screen which can be pushed at runtime
    to display detail information for the particular customer parent table which works great. However, I would also like to display the data from the address and phone number child tables. Is there a way to do that?  Or can I just launch a hole separate screen
    which would automatically display the needed data for the particular customer? If yes, how? 
    Thank you for any help.

    I am not even sure how to describe my situation in such a way that this forum incident would be of benefit to other people as I think it is fairly unconventional. 
    The “add contactaddress” link does not show up on the right.  
    The contactaddress table is a child of the contact table. 
    The contact table is a child of the contactlink table.
    And the contactlink table is a child of the person table.
    I have it set up this way because the contact in the contact table may be a contact to multiple persons in the person table and I do not want to re-enter the contact info every time the contact is used. 
    In the list detail screen of the person table I can see the contactlink child collection so that I can see the name of the person in the contact table at runtime. However, the contactaddress collection is not related to the person table so it does not show
    up on the right hand side of the design screen as an “add contactaddress”; nor is there “add contact” link.
    What I would like to happen during runtime is that it is not necessary to switch screens from the person list detail screen to a contact list detail screen to see the addresses and phone numbers for the contact.
     Is my setup unnecessarily convoluted? Is there a better way? Please see the two snapshots below.
    Perhaps there is a way to call up a Detail screen from the List Detail at runtime? 
    Anyway, if you are still reading, thank you very much for your help.   
    jjjjj

  • Collect data from a dynamic XML file into multiple internal tables

    I need to convert the XML file into multiple internal tables. I tried many links and posts in SDN but still was facing difficulty in achieving this. Can some one tell me where I am going wrong.
    My XML file is of the following type.It is very complex and the dynamice.
    The following tags occur more than once in the XML file. The "I" and "L" tags and its child tags can occur ones or more than once for each XML file and it is not constant. i.e in one file they can occur 1 time and in another they can occur 100 times.
    "I" and "L" are child tags of <C>
    <I>
           <J>10</J>
             <K>EN</K>
      </I>
    <L>
             <J>20</J>
              <N>BB</N>
      </L>
    Tags <C> and <F> occur only ones for each XML file. <C> is the child tag of "A" and "F" is the child tag of <C>.
    I need to collect <D>, <E> in one internal table ITAB.
    I need to collect <G>, <H> in one internal table JTAB.
    I need to collect <J>, <K> in one internal table KTAB.
    I need to collect <J>, <N> in one internal table PTAB.
    Below is the complete XML file.
    ?xml version="1.0" encoding="iso-8859-1" ?>
    <A>
        <B/>
        <C>
           <D>RED</D>
           <E>999</E>
        <F>
           <G>TRACK</G>
           <H>PACK</H>
        </F>
        <I>
           <J>10</J>
           <K>EN</K>
        </I>
        <I>
           <J>20</J>
           <K>TN</K>
        </I>
        <I>
           <J>30</J>
           <K>KN</K>
        </I>
        <L>
           <J>10</J>
           <N>AA</N>
        </L>
        <L>
           <J>20</J>
           <N>BB</N>
        </L>
        <L>
           <J>30</J>
           <N>CC</N>
        </L>
        </C>
      </A>
    With the help of SDN I am able to gather the values of <D> <E> in one internal table.
    Now if I need to gather
    <G>, <H> in one internal table JTAB.
    <J>, <K> in one internal table KTAB.
    <J>, <N> in one internal table PTAB.
    I am unable to do. I am following  XSLT transformation method. If some one has some suggestions. Please help.
    Here is my ABAP program
    TYPE-POOLS abap.
    CONSTANTS gs_file TYPE string VALUE 'C:\TEMP\ABCD.xml'.
    * This is the structure for the data from the XML file
    TYPES: BEGIN OF ITAB,
             D(10) TYPE C,
             E(10) TYPE C,
           END OF ITAB.
    * Table for the XML content
    DATA: gt_itab       TYPE STANDARD TABLE OF char2048.
    * Table and work ares for the data from the XML file
    DATA: gt_ITAB     TYPE STANDARD TABLE OF ts_ITAB,
          gs_ITAB     TYPE ts_ITAB.
    * Result table that contains references
    * of the internal tables to be filled
    DATA: gt_result_xml TYPE abap_trans_resbind_tab,
          gs_result_xml TYPE abap_trans_resbind.
    * For error handling
    DATA: gs_rif_ex     TYPE REF TO cx_root,
          gs_var_text   TYPE string.
    * Get the XML file from your client
    CALL METHOD cl_gui_frontend_services=>gui_upload
      EXPORTING
        filename                = gs_file
      CHANGING
        data_tab                = gt_itab1
      EXCEPTIONS
        file_open_error         = 1
        file_read_error         = 2
        no_batch                = 3
        gui_refuse_filetransfer = 4
        invalid_type            = 5
        no_authority            = 6
        unknown_error           = 7
        bad_data_format         = 8
        header_not_allowed      = 9
        separator_not_allowed   = 10
        header_too_long         = 11
        unknown_dp_error        = 12
        access_denied           = 13
        dp_out_of_memory        = 14
        disk_full               = 15
        dp_timeout              = 16
        not_supported_by_gui    = 17
        error_no_gui            = 18
        OTHERS                  = 19.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    * Fill the result table with a reference to the data table.
    * Within the XSLT stylesheet, the data table can be accessed with
    * "IITAB".
    GET REFERENCE OF gt_shipment INTO gs_result_xml-value.
    gs_result_xml-name = 'IITAB'.
    APPEND gs_result_xml TO gt_result_xml.
    * Perform the XSLT stylesheet
    TRY.
        CALL TRANSFORMATION zxslt
        SOURCE XML gt_itab1
        RESULT (gt_result_xml).
      CATCH cx_root INTO gs_rif_ex.
        gs_var_text = gs_rif_ex->get_text( ).
        MESSAGE gs_var_text TYPE 'E'.
    ENDTRY.
    * Now let's see what we got from the file
    LOOP AT gt_ITAB INTO gs_ITAB.
      WRITE: / 'D:', gs_ITAB-D.
      WRITE: / 'E :', gs_ITAB-E.
    ENDLOOP.
    Transformation
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:output encoding="iso-8859-1" indent="yes" method="xml" version="1.0"/>
      <xsl:strip-space elements="*"/>
      <xsl:template match="/">
        <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
          <asx:values>
            <IITAB>
              <xsl:apply-templates select="//C"/>
            </IITAB>
          </asx:values>
        </asx:abap>
      </xsl:template>
      <item>
          <D>
            <xsl:value-of select="D"/>
          </D>
          <E>
            <xsl:value-of select="E"/>
          </E>
        </item>
      </xsl:template>
    </xsl:transform>
    Now the above pgm and transformation work well and I am able to extract data into the ITAB. Now what changes should I make in transformation and in pgm to collect
    <G>, <H> in one internal table JTAB.
    <J>, <K> in one internal table KTAB.
    <J>, <N> in one internal table PTAB.
    Please help..i am really tring hard to figure this out. I am found lot of threads addressing this issue but not my problem.
    Kindly help.
    Regards,
    VS

    Hi Rammohan,
    Thanks for the effort!
    But I don't need to use GUI upload because my functionality does not require to fetch data from presentation server.
    Moreover, the split command advised by you contains separate fields...f1, f2, f3... and I cannot use it because I have 164 fields.  I will have to split into 164 fields and assign the values back to 164 fields in the work area/header line.
    Moreover I have about 10 such work areas.  so the effort would be ten times the above effort! I want to avoid this! Please help!
    I would be very grateful if you could provide an alternative solution.
    Thanks once again,
    Best Regards,
    Vinod.V

  • Parent - child table issue wrt to count - SQL question

    I have a scenario:
    There are 2 tables (parent and child). lets say, case summary table and task level dimension table.
    for every case id in case summary table, there would be multiple tasks in task level dim table with a flag indicator set to 1 for all tasks.
    but while counting the number of cases active with flag indicator 1 (ofcourse when joining case summary table with task dimension table), for a case id only 1 instance of task needs to be accounted (even though it has more than one task , for counting active cases, the flag ind corresponding to a task in a case if set to 1 , then the case is considered active)..but while joining and taking count of case ids with flag indicator as 1, you get the count of every task row of a case which is incorrect logically. how to discard the rest of child records of a case in child table (task dimension table)?
    I am not sure how to achieve this in sql query
    Kindly help!
    Case summary table
    case id, busininess_unit, agent_name
    1001, admin, Ram
    1002, Finance, Sam
    task table
    case id, task_id,task_name, flag_indicator
    1001, 1, 'New', 1
    1001,2, 'Open',1
    1001,3,'In progress',1
    1002, 4, 'New', 1
    (In fact task_id is not a big deal... even you can assume task id doesn't exist..only task name ... )
    now my question... if my query should get the current active cases (ind=1); as per above it should essentially give 2... but my query gives me 4..you know the reason why.. but how do i get the correct count?
    Thanks!

    may be you need just this:
    select count(distinct case_id) from task
    where indicator = 1;
    If this is not what you are looking for, please elaborate and tell us the expected output and rest of the details as mentioned in FAQ Re: 2. How do I ask a question on the forums?:

  • How to store multiple child nodes using dbms_xmlstore

    Hi,
    I'm using oracle 10g environment. In DBMS_XMLSTORE package I cannot able to insert the multiple child node value into db table.
    Here I have given the xml value
    <DATAPACKET REQUEST-ID="10001094">
      <HEADER>
        <SEARCH-RESULT-LIST>
          <SEARCH-RESULT-ITEM NAME="Ra-Al-Gul" CONFIDENCE-SCORE="750" BUREAU-ID="893991307899440">
            <IDENTIFIERS>
              <IDENTIFIER IDSOURCE="0001" MATCHED="TRUE"/>
            </IDENTIFIERS>
            <SURROGATES>
              <SURROGATE ID="CH0001" MATCHED="TRUE"/>
              <SURROGATE ID="CH0002" MATCHED="TRUE"/>
              <SURROGATE ID="CH0003" MATCHED="TRUE"/>
            </SURROGATES>
          </SEARCH-RESULT-ITEM>
        </SEARCH-RESULT-LIST>
      </HEADER>
    </DATAPACKET>for this xml data I have created the below table structure
    -- Table create script
    CREATE TABLE xml_insert (datapacket t_response );
    /* Type creation  code  */
    CREATE OR REPLACE TYPE t_response AS OBJECT
      "@REQUEST-ID" VARCHAR2(100),
      header        t_resp_header
    CREATE OR REPLACE TYPE t_resp_header AS OBJECT
      "SEARCH-RESULT-LIST"    t_search_item
    CREATE OR REPLACE TYPE t_search_item AS OBJECT
    ("SEARCH-RESULT-ITEM"      t_search_list);
    CREATE OR REPLACE TYPE t_search_list AS OBJECT
    ("@NAME"           VARCHAR2(300),
    "@CONFIDENCE-SCORE"      VARCHAR2(300),
    "@BUREAU-ID"           VARCHAR2(300),
    IDENTIFIERS           t_search_identifiers,
    SURROGATES           t_search_surrogates
    CREATE OR REPLACE TYPE t_search_identifiers AS OBJECT
    (IDENTIFIER           t_search_IDENTIFIER);
    CREATE OR REPLACE TYPE t_search_identifier AS OBJECT
      "@IDSOURCE"           VARCHAR2(20),
      "@MATCHED"           VARCHAR2(20)
    CREATE OR REPLACE TYPE t_search_surrogates AS OBJECT
    (SURROGATE           t_search_SURROGATE);
    CREATE OR REPLACE TYPE t_search_surrogate AS OBJECT
    "@ID"                VARCHAR2(20),
    "@MATCHED"           VARCHAR2(20)
    CREATE OR REPLACE TYPE tb_search_surrogate AS TABLE of t_search_SURROGATE;
    /and run this block
      DECLARE
      insCtx DBMS_XMLStore.ctxType;
      rows NUMBER;
      xmldoc CLOB :=
    <ROWSET>
    <ROW>
    <DATAPACKET REQUEST-ID="Q10001094">
      <HEADER>
        <SEARCH-RESULT-LIST>
          <SEARCH-RESULT-ITEM NAME="Anis kulam" CONFIDENCE-SCORE="750" BUREAU-ID="893991307899440">
            <IDENTIFIERS>
              <IDENTIFIER IDSOURCE="0001" MATCHED="TRUE"/>
            </IDENTIFIERS>
            <SURROGATES>
              <SURROGATE ID="CH0001" MATCHED="TRUE"/>
              <SURROGATE ID="CH0002" MATCHED="TRUE"/>
              <SURROGATE ID="CH0003" MATCHED="TRUE"/>
            </SURROGATES>
          </SEARCH-RESULT-ITEM>
        </SEARCH-RESULT-LIST>
      </HEADER>
    </DATAPACKET>
    </ROW>
    </ROWSET>';
    BEGIN
      insCtx := DBMS_XMLStore.newContext('xml_check');
      rows := DBMS_XMLStore.insertXML(insCtx, xmlDoc);
      DBMS_XMLStore.closeContext(insCtx);
    END;I got the following error
    Error Messgae :
    ORA-19031: XML element or attribute SURROGATE does not match any in type DOHADEV.T_CRB_SEARCH_SURROGATES
    ORA-06512: at "SYS.DBMS_XMLSTORE", line 78
    ORA-06512: at line 28

    Hi,
    A couple of comments to begin with :
    - Your setup script, test case and error message are not consistent with each other.
    - You've not chosen the easiest road with DBMS_XMLSTORE and nested objects. As pointed out in a previous thread of yours, the whole thing would be far more simple with XMLTable.
    Do you really need to store the data in an object-relational structure at the end, or do you intend to further break it down into relational rows and columns?
    Do you have an XML schema?

  • From IDOC to Multiple Oracle tables Structure

    Hi Guys,
    I am doing a one Senario which is Custom idoc and Custom Tables of oracle they both have same fields and Same Sturucte does it possible from to do 1:1 mapping shall i process these in 1:n.Need a sugestion in these  How i can slove these problem. IF some from india will give their cont pho to my mail id [email protected] i can call them and dicuss about these problem..
      the senario is idoc to multiple oracle tables..need to map.
    Regd's
    Raj

    Hi Raj,
    you scenario can be:
    R/3 -> XI -> JDBC
    The flow is asynchronous - so you dont have any responses. If you want to use BPM/acknowledgements to catch errors have a look to <a href="/people/udo.martens/blog/2005/09/30/one-logical-system-name-for-serveral-bpm-acknowledgements Logical System Name for serveral BPM Acknowledgements</a>
    You can split the IDoc (<a href="/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible without BPM - Yes, it’s possible!</a>) to several JDBC messages or put serveral statements into one message (
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/frameset.htm">Document Formats for the Receiver JDBC Adapter</a>)
    Regards,
    Udo

  • Loading to Parent -Child Tables simultaneously

    I have a requirement to populate parent-child tables in a single interface simultaneoulsy. I couldnt find anyway to add multiple targets and am wondering why this key feature is absent in ODI. The same thing is easily achievable in BPEL.
    Could some one please advice a work around for this.
    Your help is much appreaciated

    ODI 11g does come with a new IKM 'IKM Oracle Multi Table Insert'. This does allow multi table inserts, but will require more than one interface.
    Oracle Multi-Table Inserts
    A new Integration KM for Oracle allows populating several target tables from a single source, reading the data only once. It uses the INSERT ALL statement.
    COMPONENT NAME: IKM Oracle Multi Table Insert
    COMPONENT VERSION: 11.1.2.4
    AUTHOR: Oracle
    COMPATIBILITY: ODI 11.1.1.3 and above
    DESCRIPTION:
         - Integrates data from one source into one to many Oracle target tables in append mode, using a multi-table insert statement (MTI).
    REQUIREMENTS:
         - Oracle Database 9iR1 or above
         - See BASIC CONFIGURATION section
    BASIC CONFIGURATION
         - This IKM must be used in integration interfaces that are sequenced in a Package:
              - The first interface of the Package must have a temporary target and the KM option DEFINE_QUERY set to YES.
              This first interface defines the structure of the SELECT clause of the multi-table insert statement (that is the source flow).
              - Subsequent integration interfaces must source from this temporary datastore and have the KM option IS_TARGET_TABLE set to YES.
              - The last interface of the Package must have the KM option EXECUTE set to YES in order to run the multi-table insert statement.
              - Do not set "Use Temporary Interface as Derived Table(Sub-Select)" set to true on any of the interfaces.
         - If large amounts of data are appended, consider to set the KM option OPTIMIZER_HINT to /*+ APPEND */.
    OPTIONS (Refer to the Option descriptions for more information on each option)
         - DEFINE_QUERY: Set to Yes if this interface describes the source query (SELECT clause of the statement). This interface must have a temporary target.
         - IS_TARGET_TABLE: Set to Yes this interface using the source query to load one of the target tables. This interface must source from an interface with a temporary target using this IKM and having the KM option DEFINE_QUERY set to YES.
         - EXECUTE: Set to Yes for the last interface in the Package. This interface will run the multi-table insert statement.
         - COMMIT: Commit transaction. This applies only to the last interface in the Package.
         - TRUNCATE: Set to Yes to truncate this interface target table.
         - CREATE_TARG_TABLE: Create target table? May only be used on target interfaces, but not on source interfaces (defining the source data).
         - OPTIMIZER_HINT: Hint for the multi-table insert statement.
    RESTRICTIONS:
         - This KM can only be used in integration interfaces that are part of a Package.
         - All source and target datastores need to reside on same data server.
         - Journalized source data is not supported.
         - Temporary indexes are not supported.
         - Flow/static control is not supported.
         - The TRUNCATE option cannot work, if the target table is referenced by another table (foreign key).

Maybe you are looking for