Creating a Custom VMD File For ACK Verification


If you are creating a channel whose destination component is LLP Client, and you have selected Verified ACK Message from the ACK verification list box to indicate that you want to verify the acknowledgment message, you can create a custom VMD file that specifies how acknowledgment verification is to be performed.

The easiest way to do this is to make a copy of the ack_verify.vmd file that is included with Iguana and then change it to perform the acknowledgment verification that you want.

If you have any questions about using Chameleon please contact us at

Tutorial Instructions [top]

Follow these steps:

  1. Copy the ack_verify.vmd file:
    1. Copy the the ack_verify.vmd file in the Iguana install directory.
    2. Name the copy as ack_verify_custom.vmd
  2. Double click on the ack_verify_custom.vmd file to open it in Chameleon:
  3. In the Workspace, double-click the MSH table:
    chameleon workspace table
  4. This table contains a list of the fields to be matched during the verification process:
    chameleon table properties
  5. Add fields that you want to use to perform additional verification, for example Receiving Application (MSH.5):

    For example, if you want to ensure that the Receiving Application field (the fifth field of the MSH segment, also referred to as MSH.5) of the original message matches the Sending Application field (MSH.3) of the acknowledgment message, you can add a ReceivingApplication field to the MSH table.

    chameleon add table field

  6. Open the ACK Message Grammar by by double clicking on it:
    chameleon message grammar
  7. Open the Table Mapping window by double clicking on MSH in the Table Grammar:
    chameleon message grammar
  8. Select Message as the Grammar Root:
    1. Open the Grammar Root Selection window by clicking the “…” button by the Grammar Root list box:
      chameleon message mapping
    2. In the Grammar Root Selection window, select Message and click OK:
      chameleon choose grammar root

      Note: By default, the grammar root for the ACK message definition’s table grammar is the MSA segment. If the additional fields that you are using for ACK verification are contained in the MSA segment, you do not need to change the grammar root for the ACK message definition.

      The example outlined in this section uses the Receiving Application and Sending Application fields for additional verification. Since these fields are in the MSH segment, the grammar root must be changed to allow mapping from fields other than the MSA segment.

    3. You should now see Message selected as the Grammar Root, like this:
      Chameleon Grammar root
  9. Add the mappings:

    We add two example mappings, you can follow the same procedure to add the mappings you require.

    1. We need to add these two mappings:
      • MessageControlID > MSA.2 (Message Control ID)
      • ReceivingApplication > MSH.3.1 (Sending Application.Namespace ID)
    2. In the Table Mapping window, locate the segment containing the field that you want to use for verification and expand it. Drag the field from the right panel to the Mapping column of the table. Repeat if necessary.
    3. Locate the MSA.2 field and drag it to the Mapping column for the MessageControlID field:
      chameleon drag mapping field
    4. Locate the MSH.3.21 field and drag it to the Mapping column for the ReceivingApplication field:
      chameleon drag mapping field
    5. The mappings should look like this:
      chameleon mapping field

      Note: In the Default message definition, the grammar root is the MSH segment. Since, in most cases, the fields that you will want to use for ACK verification can be found in this segment, you normally do not need to change the grammar root. However, if you want to use a field from another segment as part of your ACK verification, you can set the grammar root for this table grammar to be the entire message by following the procedure described above for the ACK message definition.

  10. Save your changes using File > Save, or by clicking the disk icon on the toolbar:
    chameleon save
  11. Update your Iguana channel to use the new ack_verify_custom.vmd file:

    Remember that we are using an an LLP Destination component to perform the ACK verification. The verification is performed according the settings in the specified VMD file that it uses — in this case the new ack_verify_custom.vmd file that we just created.

    1. Edit your channel settings and open the LLP Client destination tab.
    2. Update the ACK VMD Path to refer to the ack_verify_custom.vmd file:
      update llp destination
    3. Click the Save Changes button at the bottom of the page.
  12. Your channel will now perform the ACK verification that you have specified in this file. ACK verification consists of the following steps:
    • The acknowledgment message is processed by the ACK message definition, and the values of the fields specified in the ACK message definition’s Table Mapping window are retrieved.
    • The original message is processed by the default message definition, and the values of the fields specified in the default message definition’s Table Mapping window are also retrieved.
    • Each retrieved value from the original message is compared to its corresponding value in the acknowledgment message. If all corresponding values match, the acknowledgment message is considered successfully verified.

More Information [top]

Leave A Comment?