IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

Predefined joins in Tamino

  • 1.  Predefined joins in Tamino

    Posted Mon May 14, 2001 07:20 PM

    There is an example in the Tamino documentation
    that shows the usage of predefined joins. All is looking good when you are using objectIDs to represent a join. But in the more interesting case of keys (a key is the contents of a Node in an instance that makes it unique e.g. a customer number and a product number)joins do not work. It’s a very important moment, because keys allow us to join nested nodes, not only root nodes. Please, help!
    May be anyone has working example?

    Looking forward for you reply.
    Thank you.


    #API-Management
    #Tamino
    #webMethods


  • 2.  RE: Predefined joins in Tamino

    Posted Mon June 25, 2001 05:16 PM

    It works for me with Tamino 2.3 as well as with 2.2.

    I have these 3 schemas defined where 2 joins are defined. One with by ino:id one by key :

    Employees

    <?xml version="1.0"?>
    <ino:collection ino:name=“join” ino:key=“ID001”>
    <ino:doctype ino:name=“employee” ino:key=“ID_employee” ino:options=“READ INSERT UPDATE DELETE” ino:structure-index=“CONDENSED”>
    <ino:node ino:name=“employee” ino:key=“id0000000270” ino:obj-type=“SEQ” ino:parent=“ID_employee” ino:search-type=“no” ino:data-type=“WCHAR” ino:map-type=“InfoField”/>
    <ino:node ino:name=“department” ino:key=“id0000000271” ino:obj-type=“PCDATA” ino:parent=“id0000000270” ino:search-type=“no” ino:data-type=“INTEGER” ino:map-type=“InfoField”/>
    <ino:node ino:name=“belongs” ino:key=“id0000000272” ino:obj-type=“EMPTY” ino:parent=“id0000000271” ino:search-type=“no” ino:map-type=“Object” ino:query=“did=%department” ino:object-ref=“join/department”/>
    <ino:node ino:name=“name” ino:key=“id0000000273” ino:obj-type=“PCDATA” ino:parent=“id0000000270” ino:search-type=“standard text” ino:data-type=“WCHAR” ino:map-type=“InfoField”/>
    </ino:doctype>
    </ino:collection>

    Project:

    <?xml version="1.0"?>
    <ino:collection ino:name=“join” ino:key=“ID001”>
    <ino:doctype ino:name=“project”
    ino:key=“ID_project”
    ino:options=“READ INSERT UPDATE DELETE”
    ino:structure-index=“CONDENSED”>
    <ino:node ino:name=“project”
    ino:key=“id0000000274”
    ino:obj-type=“SEQ”
    ino:parent=“ID_project”
    ino:search-type=“no”
    ino:data-type=“WCHAR”
    ino:map-type=“InfoField”/>
    <ino:node ino:name=“description”
    ino:key=“id0000000275”
    ino:obj-type=“PCDATA”
    ino:parent=“id0000000274”
    ino:search-type=“text”
    ino:data-type=“WCHAR”
    ino:map-type=“InfoField”/>
    <ino:node ino:name=“member”
    ino:key=“id0000000276”
    ino:obj-type=“PCDATA”
    ino:parent=“id0000000274”
    ino:multiplicity=“+”
    ino:search-type=“standard”
    ino:data-type=“INTEGER”
    ino:map-type=“InfoField”/>
    <ino:node ino:name=“emp”
    ino:key=“id0000000277”
    ino:obj-type=“EMPTY”
    ino:parent=“id0000000276”
    ino:search-type=“no”
    ino:map-type=“Object”
    ino:query=“@ino:id=%member”
    ino:object-ref=“join/employee”/>
    <ino:node ino:name=“name”
    ino:key=“id0000000278”
    ino:obj-type=“PCDATA”
    ino:parent=“id0000000274”
    ino:search-type=“text”
    ino:data-type=“WCHAR”
    ino:map-type=“InfoField”/>
    </ino:doctype>
    </ino:collection>

    Department:

    <?xml version="1.0"?>
    <ino:collection ino:name=“join” ino:key=“ID001”>
    <ino:doctype ino:name=“department”
    ino:key=“ID_department”
    ino:options=“READ INSERT UPDATE DELETE”
    ino:structure-index=“CONDENSED”>
    <ino:node ino:name=“department”
    ino:key=“id0000000266”
    ino:obj-type=“SEQ”
    ino:parent=“ID_department”
    ino:search-type=“no”
    ino:data-type=“WCHAR”
    ino:map-type=“InfoField”/>
    <ino:node ino:name=“description”
    ino:key=“id0000000267”
    ino:obj-type=“PCDATA”
    ino:parent=“id0000000266”
    ino:search-type=“text”
    ino:data-type=“WCHAR”
    ino:map-type=“InfoField”/>
    <ino:node ino:name=“did”
    ino:key=“id0000000268”
    ino:obj-type=“PCDATA”
    ino:parent=“id0000000266”
    ino:search-type=“standard”
    ino:data-type=“INTEGER”
    ino:map-type=“InfoField”/>
    <ino:node ino:name=“name”
    ino:key=“id0000000269”
    ino:obj-type=“PCDATA”
    ino:parent=“id0000000266”
    ino:search-type=“text”
    ino:data-type=“WCHAR”
    ino:map-type=“InfoField”/>
    </ino:doctype>
    </ino:collection>

    After adding some (consistent) data to it the following query works:

    employees[name~=“peter”]/department/belongs/name

    which shows the name of "peter"s department.


    #webMethods
    #API-Management
    #Tamino


  • 3.  RE: Predefined joins in Tamino

    Posted Mon August 06, 2001 03:25 PM

    Hello,

    We used your schemas as examples for creating joins, but when we try to define them we get this error message:

    “Invalid mapping specification: invalid object reference specification Line 6, Column 0: Element name=belongs, missing Node reference”

    So we couldn’t try it any further. Any idea of what the problem could be?

    Matis Workgroup
    matis@siet.ch


    #API-Management
    #Tamino
    #webMethods


  • 4.  RE: Predefined joins in Tamino

    Posted Mon August 06, 2001 04:06 PM

    Don’t forget to define the referenced schema first,before you define the schema containing the join.

    Tom

    The example above is a little bit tricky :wink: - you have to define the department, then the employees and at last the project schema.

    [This message was edited by tomklonikowski on 06 Aug 2001 at 14:48.]


    #webMethods
    #API-Management
    #Tamino


  • 5.  RE: Predefined joins in Tamino

    Posted Mon August 06, 2001 04:17 PM

    Ok we solved this problem (we just forgot to define a schema before another), but now, when we try to query the ‘employee’ schema we get a ‘Non-numeric items’ error message (ino:code=“INOXZE9696”)

    Any idea?

    Thanks in advance.

    Matis Workgroup


    #Tamino
    #webMethods
    #API-Management


  • 6.  RE: Predefined joins in Tamino

    Posted Mon August 06, 2001 04:29 PM

    Ok, all problems solved. Thanks for your help.

    Matis Workgroup


    #Tamino
    #API-Management
    #webMethods


  • 7.  RE: Predefined joins in Tamino

    Posted Fri September 21, 2001 05:41 PM

    I used following data to test, but
    employees[name~=“peter”]/department/belongs/name
    return 0 record
    if I query employees[name~=“peter”]/department
    return:

    here is the data:
    department:
    <?xml version="1.0" encoding="ISO-8859-1"?>

    This is 1
    1
    Human Resource


    This is 2
    2
    Finance


    This is 3
    3
    IT

    employee:
    <?xml version="1.0" encoding="ISO-8859-1"?>


    John



    Frank



    Jimmy



    Tom



    Peter

    What’s wrong? Please help me. Thanks in advance.


    #Tamino
    #webMethods
    #API-Management


  • 8.  RE: Predefined joins in Tamino

    Posted Fri October 19, 2001 02:26 PM

    Hi Richard
    It still works for me (Tamino 2.3).
    In my example the schema name is “employee” in your query it’s called “employees”. Please check whether you have the right schema definitions including indices.


    #webMethods
    #Tamino
    #API-Management


  • 9.  RE: Predefined joins in Tamino

    Posted Fri October 19, 2001 04:03 PM

    Hi,Peter
    Sorry, I did use “employee” in query. I just copied the schemas you posted. I am using Tamino 2.3.1.4 trial version in starter kit, is it matter?


    #webMethods
    #API-Management
    #Tamino