JMS Data Format (XML format)
InstantdbSync 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 and attributes:
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, Insert, Update, Create, and Drop.
Delete
The following example uses whereCriteria to identify specific records.
<?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
The following example 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
The following example changes a CITY field to Kirkland. Then it shows all the fields for the updated record. The example uses whereCriteria to identify a specific 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
The following example shows the meta data for a table from CREATE 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
The following example 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>