JMS Data Format (XML format)

The Open Systems Event Replicator writes data to the JMS Queues and Topics in an XML format.  Each event from the source database is written to an XML document that contains one or more of the following tags:

  • CONNXdocument - This tag represents all the elements of a single event from the source database.  It contains the property "committed" which provides the date and time it was placed on the message queue.
  • method - This tag describes which of the three record formates are being represented.  Possible values are insert, update and delete.
  • tableName - This tag represents the table name as it is displayed in the CDD under the target JMS database icon.
  • fields - This tag represents a collection of field names and values.
  • field name - This tag represents the column name as it is displayed in the CDD for the table description it is part of.  If the source Adabas file was imported into the CDD via an FDT import, the field names will be represented in the CDD as the Adabas short names and will therefore be represented in the XML as short names.  If the CDD was imported using DDL or an SYSOBJH file, the CDD may contain long names and by extension, the XML will also contain long names.
  • length - Used in the Create method and specifies the length of the field.
  • pre - Used in the Create method and specifies the precision of the field.
  • scale - Used in the Create method and specifies the scale of the field.  For data types that don't use scale, the value will be zero.
  • value - This property of field name contains the value of the data for this record.
  • whereCriteria - This is the SQL Where criteria used to identify a specific record.

There are five record formats used. They are identified as:

 

Delete (Puts where Criteria in order to identify record)

 

<?xml version="1.0" encoding="UTF-8"?>

<CONNXdocument version="1"  committed="2012/05/04-12:39:25">

  <method>delete</method>

  <tableName>ADABAS_EMPLOYEES_JMS</tableName>

  <whereCriteria>"ISN_EMPLOYEES" = 1434  </whereCriteria>

</CONNXdocument>

    

Insert (Shows all fields that were inserted)

 

<?xml version="1.0" encoding="UTF-8"?>

<CONNXdocument version="1"  committed="2012/05/04-12:41:04">

  <method>insert</method>

  <tableName>ADABAS_EMPLOYEES_JMS</tableName>

  <fields>

    <field name="ISN_EMPLOYEES" value="1472" />

    <field name="PERSONNEL_ID" value="90001041" />

    <field name="FIRST_NAME" value="John" />

    <field name="LAST_NAME" value="Smith" />

    <field name="MIDDLE_NAME" value="Robert" />

    <field name="MAR_STAT" value="S" />

    <field name="SEX" value="M" />

    <field name="NBIRTH" value="711106" />

    <field name="CITY" value="Redmond" />

    <field name="POST_CODE" value="98052" />

    <field name="COUNTRY" value="USA" />

    <field name="AREA_CODE" value="425" />

    <field name="PHONE" value="5551234" />

    <field name="DEPT" value="SALES" />

    <field name="JOB_TITLE" value="SALES ENINGEER" />

    <field name="LEAVE_DUE" value="20" />

    <field name="LEAVE_TAKEN" value="1" />

  </fields>

</CONNXdocument>

 

Update (Changed CITY field to Kirkland. It shows all the fields for the updated record and contains where Criteria in order to identify the record)

 

<?xml version="1.0" encoding="UTF-8"?>

<CONNXdocument version="1"  committed="2012/05/04-12:41:09">

  <method>update</method>

  <tableName>ADABAS_EMPLOYEES_JMS</tableName>

  <whereCriteria>"ISN_EMPLOYEES" = 1472  </whereCriteria>

  <fields>

    <field name="ISN_EMPLOYEES" value="1472" />

    <field name="PERSONNEL_ID" value="90001041" />

    <field name="FIRST_NAME" value="John" />

    <field name="LAST_NAME" value="Smith" />

    <field name="MIDDLE_NAME" value="Robert" />

    <field name="MAR_STAT" value="S" />

    <field name="SEX" value="M" />

    <field name="NBIRTH" value="711106" />

    <field name="CITY" value="Kirkland" />

    <field name="POST_CODE" value="98052" />

    <field name="COUNTRY" value="USA" />

    <field name="AREA_CODE" value="425" />

    <field name="PHONE" value="5551234" />

    <field name="DEPT" value="SALES" />

    <field name="JOB_TITLE" value="SALES ENINGEER" />

    <field name="LEAVE_DUE" value="20" />

    <field name="LEAVE_TAKEN" value="1" />

  </fields>

</CONNXdocument>

 

Create (This is for CREATE TABLE.  It displays the meta data for the table)

 

<?xml version="1.0" encoding="UTF-8"?>

<CONNXdocument version="1"  committed="2015/02/05-16:23:33">

  <method>create</method>

  <tableName>EMPLOYEES</tableName>

  <fields>

    <field name="ISN_EMPLOYEES" type="integer" length="4" pre="0" scale="0" />

    <field name="PERSONNEL_ID" type="string" length="8" pre="0" scale="0" />

    <field name="FIRST_NAME" type="string" length="20" pre="0" scale="0" />

    <field name="NAME" type="string" length="20" pre="0" scale="0" />

    <field name="MIDDLE_NAME" type="string" length="20" pre="0" scale="0" />

    <field name="MAR_STAT" type="string" length="1" pre="0" scale="0" />

    <field name="SEX" type="string" length="1" pre="0" scale="0" />

    <field name="NBIRTH" type="date" length="6" pre="0" scale="0" />

    <field name="CITY" type="string" length="20" pre="0" scale="0" />

    <field name="POST_CODE" type="string" length="10" pre="0" scale="0" />

    <field name="COUNTRY" type="string" length="3" pre="0" scale="0" />

    <field name="AREA_CODE" type="string" length="6" pre="0" scale="0" />

    <field name="PHONE" type="string" length="15" pre="0" scale="0" />

    <field name="DEPT" type="string" length="6" pre="0" scale="0" />

    <field name="JOB_TITLE" type="string" length="25" pre="0" scale="0" />

    <field name="LEAVE_DUE" type="integer" length="4" pre="0" scale="0" />

    <field name="LEAVE_TAKEN" type="integer" length="4" pre="0" scale="0" />

  </fields>

</CONNXdocument>

 

Drop (This is for DROP TABLE.)

 

<?xml version="1.0" encoding="UTF-8"?>

<CONNXdocument version="1"  committed="2015/01/26-13:59:48">

  <method>drop</method>

  <tableName>EMPLOYEES</tableName>

</CONNXdocument>