Importing Parent-child Data When the Parent Key is a Generated Value

Previous Next

Use xml.import with the multi-table-import parameter set to import p parent-child data when the parent key is a generated value. In the XML, use a RELATE element to point to the relationship between tables and the column that has to be automatically filled.

A standard manner to reference an element in XML is to use id-href pairs. One element declares an attribute called id and another element that needs to reference that initial element specifies an attribute called href with the value: #<value of the id attribute>. The problem in this case is that we cannot use id as an attribute since it could be the name of a column in the parent table. For this reason we will use <table name>. id.

The structure of the XML is as follows:

<?usoft-xml version="1.0" action="multi-tables-import" use-io-formats="no" verify-original-values="no" return-corrected-records ="yes"?>

<MultiImport>

  <Departments documentName ="Departments">

    <DEPARTMENT NAME= "CON" DEPARTMENT.id="CON"/>

    <DEPARTMENT NAME= "INT" DEPARTMENT.id="INT"/>

  </Departments>

  <Employees documentName ="Employees">

    <EMPLOYEE ID="1" NAME = "CONSTANTINC">

      <RELATE ROLE="has" href="#CON"/>

    </EMPLOYEE>

    <EMPLOYEE ID="1" NAME = "FRANS">

      <RELATE ROLE="has" href="#INT"/>

    </EMPLOYEE>

  </Employees>

</MultiImport>

 

The value of the DEPARTMENT.id can be any value chosen by the user; USoft uses this value only to match the reference from the child record with the parent record.