Interface Message Formats: Difference between revisions

From Commander4j
Created page with "== Output Messages == === Production Declaration === <?xml version="1.0" encoding="UTF-8"?> <message> <hostRef>service</hostRef> <messageRef>18722440</messageRef> <interfaceType>Production Declaration</interfaceType> <messageInformation>SSCC=350001615053457609</messageInformation> <interfaceDirection>Output</interfaceDirection> <messageDate>2024-03-03T16:25:10</messageDate> <messageData> <productionDeclaration> <SSCC>35..."
 
Improved by ClaudeAI documentation bot — expanded content
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Commander4j exchanges data with external systems (typically an ERP such as SAP) using XML file-based messages. Each message follows a common envelope structure containing a header section and a <code>messageData</code> payload. Messages are processed by the [[Interface_Admin|Interface]] service running on the Commander4j server.
All dates and times use ISO 8601 format: <code>YYYY-MM-DDTHH:MM:SS</code>.
== Common Header Fields ==
The following fields appear in the outer envelope of every message, regardless of direction or type:
{| class="wikitable"
! Field !! Description
|-
| <code>hostRef</code> || Identifies the source system or service that generated the message.
|-
| <code>messageRef</code> || A unique reference assigned to this message, used for logging and duplicate detection.
|-
| <code>interfaceType</code> || Describes the message type — e.g. ''Production Declaration'', ''Process Order'', ''Material Definition''.
|-
| <code>messageInformation</code> || A brief human-readable summary of the message content, used in the [[Interface_Log|Interface Log]].
|-
| <code>interfaceDirection</code> || Either <code>Input</code> (inbound to Commander4j) or <code>Output</code> (outbound from Commander4j).
|-
| <code>messageDate</code> || The date and time the message was created.
|-
| <code>messageData</code> || Contains the type-specific payload described in the sections below.
|}
== Output Messages ==
== Output Messages ==


=== Production Declaration ===
=== Production Declaration ===


<?xml version="1.0" encoding="UTF-8"?>
Sent by Commander4j to the ERP when a pallet has been confirmed on the [[Production_Declaration|Production Declaration]] screen. Contains the full details of the pallet that has just been produced and confirmed.
<message>
 
    <hostRef>service</hostRef>
Key fields within <code>productionDeclaration</code>:
    <messageRef>18722440</messageRef>
 
    <interfaceType>Production Declaration</interfaceType>
{| class="wikitable"
    <messageInformation>SSCC=350001615053457609</messageInformation>
! Field !! Description
    <interfaceDirection>Output</interfaceDirection>
|-
    <messageDate>2024-03-03T16:25:10</messageDate>
| <code>SSCC</code> || The unique Serial Shipping Container Code (SSCC / barcode) of the pallet.
    <messageData>
|-
        <productionDeclaration>
| <code>processOrder</code> || The Process Order number the pallet was produced against.
            <SSCC>350001615053457609</SSCC>
|-
            <processOrder>28946352</processOrder>
| <code>material</code> || The material (product) code.
            <recipe>100000000053316048</recipe>
|-
            <requiredResource>P1VK12</requiredResource>
| <code>description</code> || The material description.
            <material>44219856</material>
|-
            <description>Premium Widget Blue</description>
| <code>ean</code> || The EAN/GTIN barcode of the material.
            <old_code/>
|-
            <moveAfterMake>N</moveAfterMake>
| <code>batch</code> || The batch number assigned to the pallet.
            <moveLocationID/>
|-
            <customerID>SELF</customerID>
| <code>batchStatus</code> || The batch quality status — e.g. ''Unrestricted'', ''Restricted''.
            <customerName>My Company</customerName>
|-
            <customerNameOnLabel>Y</customerNameOnLabel>
| <code>expiryDate</code> || The best-before or expiry date of the batch.
            <customerOverridePack>N</customerOverridePack>
|-
            <customerPackModule/>
| <code>productionQuantity</code> || The quantity produced on this pallet.
            <customerOverridePallet>N</customerOverridePallet>
|-
            <customerPalletModule/>
| <code>productionUOM</code> || The unit of measure for the production quantity.
            <customerBatchOverride>N</customerBatchOverride>
|-
            <customerBatchFormat/>
| <code>location</code> || The location ID where the pallet was produced.
            <customerData01/>
|-
            <customerData02/>
| <code>plant</code> || The plant code.
            <customerData03/>
|-
            <customerData04/>
| <code>confirmed</code> || <code>Y</code> if the pallet has been confirmed; <code>N</code> if unconfirmed.
            <ean>05000161030460</ean>
|-
            <variant>11</variant>
| <code>productionDate</code> || The date and time the pallet was confirmed.
            <status>Unrestricted</status>
|-
            <batchDefaultFormat>{YEAR1}{JULIAN_DAY}{PLANT}</batchDefaultFormat>
| <code>requiredResource</code> || The production line or resource the pallet was produced on.
            <batch>4063093330</batch>
|-
            <batchStatus>Restricted</batchStatus>
| <code>customerID</code> || The customer this pallet is associated with (defaults to <code>SELF</code> for own-stock pallets).
            <expiry_Mode>BATCH</expiry_Mode>
|}
            <expiryDate>2026-03-31T00:00:00</expiryDate>
 
            <location>WISBECH</location>
Example:
            <name>Purina Wisbech</name>
<pre>
            <gln>5000161800292</gln>
<?xml version="1.0" encoding="UTF-8"?>
            <plant>0933</plant>
<message>
            <warehouse>734</warehouse>
  <hostRef>service</hostRef>
            <storageLocation>0001</storageLocation>
  <messageRef>18722440</messageRef>
            <storageSection/>
  <interfaceType>Production Declaration</interfaceType>
            <storageBin>DESPATCH</storageBin>
  <messageInformation>SSCC=350001615053457609</messageInformation>
            <storageType>PRO</storageType>
  <interfaceDirection>Output</interfaceDirection>
            <productionQuantity>5616.000</productionQuantity>
  <messageDate>2024-03-03T16:25:10</messageDate>
            <productionUOM>EA</productionUOM>
  <messageData>
            <confirmed>Y</confirmed>
      <productionDeclaration>
            <productionDate>2024-03-03T16:25:08</productionDate>
          <SSCC>350001615053457609</SSCC>
        </productionDeclaration>
          <processOrder>28946352</processOrder>
    </messageData>
          <material>44219856</material>
</message>
          <description>Premium Widget Blue</description>
          <ean>05000161030460</ean>
          <batch>4063093330</batch>
          <batchStatus>Restricted</batchStatus>
          <expiryDate>2026-03-31T00:00:00</expiryDate>
          <productionQuantity>5616.000</productionQuantity>
          <productionUOM>EA</productionUOM>
          <location>WISBECH</location>
          <plant>0933</plant>
          <confirmed>Y</confirmed>
          <productionDate>2024-03-03T16:25:08</productionDate>
          <requiredResource>P1VK12</requiredResource>
          <customerID>SELF</customerID>
      </productionDeclaration>
  </messageData>
</message>
</pre>


== Input Messages ==
== Input Messages ==
Line 64: Line 106:
=== Process Order ===
=== Process Order ===


<?xml version="1.0" encoding="UTF-8"?>
Sent from the ERP to Commander4j to create or update a [[Process_Orders|Process Order]]. Commander4j uses Process Orders to drive label printing and production recording.
<message>
 
  <plant>1234</plant>
Key fields within <code>processOrder</code>:
  <hostRef>DEMO</hostRef>
 
  <messageRef>CRID 20240303155409</messageRef>
{| class="wikitable"
  <interfaceType>Process Order</interfaceType>
! Field !! Description
  <messageInformation>Process Order=28998413</messageInformation>
|-
  <interfaceDirection>Input</interfaceDirection>
| <code>orderNo</code> || The Process Order number.
  <messageDate>2024-03-03T15:54:11</messageDate>
|-
  <messageData>
| <code>status</code> || The order status — e.g. ''Ready'', ''Running'', ''Discarded''.
      <processOrder>
|-
        <orderNo>28998413</orderNo>
| <code>material</code> || The material (product) code to be produced.
        <receipeId>100000000053478322</receipeId>
|-
        <dueDate>2024-03-03T20:27:35</dueDate>
| <code>description</code> || The material description.
        <status>Ready</status>
|-
        <plant>0933</plant>
| <code>requiredQuantity</code> || The total quantity required for this order.
        <warehouse>734</warehouse>
|-
        <storageLocation>0001</storageLocation>
| <code>requiredUom</code> || The unit of measure for the required quantity.
        <storageBin>P3OSL</storageBin>
|-
        <storageType>141</storageType>
| <code>requiredResource</code> || The production line or resource this order is assigned to.
        <location>FACTORY1</location>
|-
        <material>44066725</material>
| <code>dueDate</code> || The date and time the order is due to complete.
        <description>Flux Capacitor</description>
|-
        <requiredQuantity>48480</requiredQuantity>
| <code>plant</code> || The plant code.
        <requiredUom>KG</requiredUom>
|-
        <defaultPalletStatus>Unrestricted</defaultPalletStatus>
| <code>location</code> || The storage location for finished goods.
        <requiredResource>TP3OSL</requiredResource>
|-
      </processOrder>
| <code>defaultPalletStatus</code> || The initial quality status to assign to pallets produced against this order.
  </messageData>
|}
</message>
 
<pre>
<?xml version="1.0" encoding="UTF-8"?>
<message>
  <hostRef>DEMO</hostRef>
  <interfaceType>Process Order</interfaceType>
  <interfaceDirection>Input</interfaceDirection>
  <messageDate>2024-03-03T15:54:11</messageDate>
  <messageData>
    <processOrder>
        <orderNo>28998413</orderNo>
        <status>Ready</status>
        <material>44066725</material>
        <description>Flux Capacitor</description>
        <requiredQuantity>48480</requiredQuantity>
        <requiredUom>KG</requiredUom>
        <requiredResource>TP3OSL</requiredResource>
        <dueDate>2024-03-03T20:27:35</dueDate>
        <plant>0933</plant>
        <location>FACTORY1</location>
        <defaultPalletStatus>Unrestricted</defaultPalletStatus>
    </processOrder>
  </messageData>
</message>
</pre>


=== Process Order Status Change ===
=== Process Order Status Change ===


<?xml version="1.0" encoding="UTF-8"?>
Updates the status of an existing Process Order in Commander4j without replacing the full order record. Typically used to close or discard an order from the ERP side.
<message>
 
  <hostRef>DEMO</hostRef>
<pre>
  <messageRef>CRID 100000000052491880</messageRef>
<?xml version="1.0" encoding="UTF-8"?>
  <interfaceType>Process Order Status Change</interfaceType>
<message>
  <messageInformation>Process Order=005000335533</messageInformation>
  <hostRef>DEMO</hostRef>
  <interfaceDirection>Input</interfaceDirection>
  <interfaceType>Process Order Status Change</interfaceType>
  <messageDate>2023-10-06T11:35:23</messageDate>
  <interfaceDirection>Input</interfaceDirection>
  <messageData>
  <messageDate>2023-10-06T11:35:23</messageDate>
      <processOrderStatusChange>
  <messageData>
        <orderNo>5000335533</orderNo>
    <processOrderStatusChange>
        <receipeId>100000000052491880</receipeId>
        <orderNo>5000335533</orderNo>
        <status>Discarded</status>
        <status>Discarded</status>
      </processOrderStatusChange>
    </processOrderStatusChange>
  </messageData>
  </messageData>
</message>
</message>
</pre>


=== Pallet Status Change ===
=== Pallet Status Change ===


<?xml version="1.0" encoding="UTF-8"?>
Updates the quality status of one or more pallets already recorded in Commander4j. Allows the ERP to push status decisions (e.g. releasing a restricted batch) back to Commander4j without a full pallet record update.
<message>
 
  <hostRef>DEMO</hostRef>
<pre>
  <messageRef>ID 0000002754166783</messageRef>
<?xml version="1.0" encoding="UTF-8"?>
  <interfaceType>Pallet Status Change</interfaceType>
<message>
  <messageInformation>TransferSchedule=0000002754166783</messageInformation>
  <hostRef>DEMO</hostRef>
  <interfaceDirection>Input</interfaceDirection>
  <interfaceType>Pallet Status Change</interfaceType>
  <messageDate>2024-03-03T16:34:58</messageDate>
  <interfaceDirection>Input</interfaceDirection>
  <messageData>
  <messageDate>2024-03-03T16:34:58</messageDate>
      <palletStatusChange>
  <messageData>
        <sscc/>
    <palletStatusChange>
        <status>Unrestricted</status>
        <sscc>350001615053457609</sscc>
        <update>
        <status>Unrestricted</status>
            <sscc/>
    </palletStatusChange>
            <status>Unrestricted</status>
  </messageData>
        </update>
</message>
      </palletStatusChange>
</pre>
  </messageData>
</message>


=== Material Definition ===
=== Material Definition ===


<?xml version="1.0" encoding="UTF-8"?>
Creates or updates a [[Materials|Material]] record in Commander4j. Typically sent from the ERP when a new product is set up or when material master data changes. Includes unit of measure conversions and EAN barcode assignments.
<message>
 
  <plant>1234</plant>
Key fields within <code>materialDefinition</code>:
  <warehouse>001</warehouse>
 
  <hostRef>DEMO</hostRef>
{| class="wikitable"
  <interfaceType>Material Definition</interfaceType>
! Field !! Description
  <interfaceDirection>Input</interfaceDirection>
|-
  <messageRef>DOCNUM 2752685867</messageRef>
| <code>material</code> || The material (product) code.
  <messageInformation>Material=12249278/FERT</messageInformation>
|-
  <messageDate>2024-03-01T13:03:09</messageDate>
| <code>description</code> || The material description.
  <messageData>
|-
      <materialDefinition>
| <code>base_uom</code> || The base unit of measure.
        <material>12249278</material>
|-
        <old_material/>
| <code>gross_weight</code> / <code>net_weight</code> || Gross and net weights of the base unit.
        <materialType>FERT</materialType>
|-
        <base_uom>EA</base_uom>
| <code>weight_uom</code> || Unit of measure for the weight values.
        <gross_weight>90.000</gross_weight>
|-
        <net_weight>85.000</net_weight>
| <code>shelf_life</code> / <code>shelf_life_uom</code> || Shelf life duration and its unit (e.g. <code>24</code> / <code>M</code> for 24 months).
        <weight_uom>GRM</weight_uom>
|-
        <description>Reverse Ratcheting Router</description>
| <code>enabled</code> || <code>Y</code> to make the material active; <code>N</code> to disable it.
        <enabled>Y</enabled>
|-
        <equipment_Type/>
| <code>materialUOMDefinition</code> || Repeating block defining each unit of measure with its EAN barcode, variant and conversion factor.
        <shelf_life>24</shelf_life>
|}
        <shelf_life_uom>M</shelf_life_uom>
        <shelf_life_rule>+</shelf_life_rule>
        <materialUOMDefinition>
            <uom>LR</uom>
            <ean/>
            <variant/>
            <numerator>576</numerator>
            <denominator>1</denominator>
        </materialUOMDefinition>
        <materialUOMDefinition>
            <uom>ZZ2</uom>
            <ean/>
            <variant/>
            <numerator>24</numerator>
            <denominator>1</denominator>
        </materialUOMDefinition>
        <materialUOMDefinition>
            <uom>EA</uom>
            <ean>07613034588241</ean>
            <variant>01</variant>
            <numerator>1</numerator>
            <denominator>1</denominator>
        </materialUOMDefinition>
        <materialUOMDefinition>
            <uom>CS</uom>
            <ean>07613034588258</ean>
            <variant>01</variant>
            <numerator>24</numerator>
            <denominator>1</denominator>
        </materialUOMDefinition>
        <materialUOMDefinition>
            <uom>D97</uom>
            <ean>07613034754530</ean>
            <variant>00</variant>
            <numerator>4032</numerator>
            <denominator>1</denominator>
        </materialUOMDefinition>
        <validLocations/>
      </materialDefinition>
  </messageData>
</message>


=== Pallet Move ===
=== Pallet Move ===


<?xml version="1.0" encoding="UTF-8"?>
Instructs Commander4j to update the location of a pallet. Used when the ERP records a stock movement and needs Commander4j's pallet records to reflect the new location.
<message>
 
  <hostRef>service</hostRef>
<pre>
  <messageRef>18763875</messageRef>
<?xml version="1.0" encoding="UTF-8"?>
  <interfaceType>Pallet Move</interfaceType>
<message>
  <messageInformation>SSCC=350001615053666100</messageInformation>
  <hostRef>service</hostRef>
  <interfaceDirection>Input</interfaceDirection>
  <interfaceType>Pallet Move</interfaceType>
  <messageDate>2024-03-03T16:23:38</messageDate>
  <interfaceDirection>Input</interfaceDirection>
  <messageData>
  <messageDate>2024-03-03T16:23:38</messageDate>
      <palletMove>
  <messageData>
        <pallet>
    <palletMove>
            <sscc>350001615053666100</sscc>
        <pallet>
            <fromLocation>FACTORY1</fromLocation>
          <sscc>350001615053666100</sscc>
            <moveAfterMake>Y</moveAfterMake>
          <fromLocation>FACTORY1</fromLocation>
            <toLocation>FACTORY2</toLocation>
          <toLocation>FACTORY2</toLocation>
        </pallet>
        </pallet>
      </palletMove>
    </palletMove>
  </messageData>
  </messageData>
</message>
</message>
</pre>


=== Batch Status Change ===
=== Batch Status Change ===


Updates the quality status of a material batch across all pallets in Commander4j that carry that batch number. Useful when an ERP quality decision covers an entire batch rather than individual pallets.
<pre>
<?xml version="1.0" encoding="UTF-8"?>
<message>
  <hostRef>DEMO</hostRef>
  <interfaceType>Batch Status Change</interfaceType>
  <interfaceDirection>Input</interfaceDirection>
  <messageDate>2024-03-03T12:33:36</messageDate>
  <messageData>
    <batchStatusChange>
        <batch>4062093355</batch>
        <material>43898974</material>
        <status>Unrestricted</status>
    </batchStatusChange>
  </messageData>
</message>
</pre>
See also: [[Interface_Admin|Interface Admin]], [[Interface_Log|Interface Log]], [[Interface_Example_Data_Flow_1|Interface Example Data Flow 1]], [[Interface_Example_Data_Flow_2|Interface Example Data Flow 2]].


<?xml version="1.0" encoding="UTF-8"?>
[[Category:Commander4j]]
<message>
  <hostRef>DEMO</hostRef>
  <messageRef>ID 0000002754117823</messageRef>
  <interfaceType>Batch Status Change</interfaceType>
  <messageInformation>Material=43898974, Batch=4062093355</messageInformation>
  <interfaceDirection>Input</interfaceDirection>
  <messageDate>2024-03-03T12:33:36</messageDate>
  <messageData>
      <batchStatusChange>
        <batch>4062093355</batch>
        <material>43898974</material>
        <status>Unrestricted</status>
      </batchStatusChange>
  </messageData>
</message>

Latest revision as of 11:22, 1 April 2026

Commander4j exchanges data with external systems (typically an ERP such as SAP) using XML file-based messages. Each message follows a common envelope structure containing a header section and a messageData payload. Messages are processed by the Interface service running on the Commander4j server.

All dates and times use ISO 8601 format: YYYY-MM-DDTHH:MM:SS.

Common Header Fields

The following fields appear in the outer envelope of every message, regardless of direction or type:

Field Description
hostRef Identifies the source system or service that generated the message.
messageRef A unique reference assigned to this message, used for logging and duplicate detection.
interfaceType Describes the message type — e.g. Production Declaration, Process Order, Material Definition.
messageInformation A brief human-readable summary of the message content, used in the Interface Log.
interfaceDirection Either Input (inbound to Commander4j) or Output (outbound from Commander4j).
messageDate The date and time the message was created.
messageData Contains the type-specific payload described in the sections below.

Output Messages

Production Declaration

Sent by Commander4j to the ERP when a pallet has been confirmed on the Production Declaration screen. Contains the full details of the pallet that has just been produced and confirmed.

Key fields within productionDeclaration:

Field Description
SSCC The unique Serial Shipping Container Code (SSCC / barcode) of the pallet.
processOrder The Process Order number the pallet was produced against.
material The material (product) code.
description The material description.
ean The EAN/GTIN barcode of the material.
batch The batch number assigned to the pallet.
batchStatus The batch quality status — e.g. Unrestricted, Restricted.
expiryDate The best-before or expiry date of the batch.
productionQuantity The quantity produced on this pallet.
productionUOM The unit of measure for the production quantity.
location The location ID where the pallet was produced.
plant The plant code.
confirmed Y if the pallet has been confirmed; N if unconfirmed.
productionDate The date and time the pallet was confirmed.
requiredResource The production line or resource the pallet was produced on.
customerID The customer this pallet is associated with (defaults to SELF for own-stock pallets).

Example:

<?xml version="1.0" encoding="UTF-8"?>
<message>
   <hostRef>service</hostRef>
   <messageRef>18722440</messageRef>
   <interfaceType>Production Declaration</interfaceType>
   <messageInformation>SSCC=350001615053457609</messageInformation>
   <interfaceDirection>Output</interfaceDirection>
   <messageDate>2024-03-03T16:25:10</messageDate>
   <messageData>
       <productionDeclaration>
           <SSCC>350001615053457609</SSCC>
           <processOrder>28946352</processOrder>
           <material>44219856</material>
           <description>Premium Widget Blue</description>
           <ean>05000161030460</ean>
           <batch>4063093330</batch>
           <batchStatus>Restricted</batchStatus>
           <expiryDate>2026-03-31T00:00:00</expiryDate>
           <productionQuantity>5616.000</productionQuantity>
           <productionUOM>EA</productionUOM>
           <location>WISBECH</location>
           <plant>0933</plant>
           <confirmed>Y</confirmed>
           <productionDate>2024-03-03T16:25:08</productionDate>
           <requiredResource>P1VK12</requiredResource>
           <customerID>SELF</customerID>
       </productionDeclaration>
   </messageData>
</message>

Input Messages

Process Order

Sent from the ERP to Commander4j to create or update a Process Order. Commander4j uses Process Orders to drive label printing and production recording.

Key fields within processOrder:

Field Description
orderNo The Process Order number.
status The order status — e.g. Ready, Running, Discarded.
material The material (product) code to be produced.
description The material description.
requiredQuantity The total quantity required for this order.
requiredUom The unit of measure for the required quantity.
requiredResource The production line or resource this order is assigned to.
dueDate The date and time the order is due to complete.
plant The plant code.
location The storage location for finished goods.
defaultPalletStatus The initial quality status to assign to pallets produced against this order.
<?xml version="1.0" encoding="UTF-8"?>
<message>
  <hostRef>DEMO</hostRef>
  <interfaceType>Process Order</interfaceType>
  <interfaceDirection>Input</interfaceDirection>
  <messageDate>2024-03-03T15:54:11</messageDate>
  <messageData>
     <processOrder>
        <orderNo>28998413</orderNo>
        <status>Ready</status>
        <material>44066725</material>
        <description>Flux Capacitor</description>
        <requiredQuantity>48480</requiredQuantity>
        <requiredUom>KG</requiredUom>
        <requiredResource>TP3OSL</requiredResource>
        <dueDate>2024-03-03T20:27:35</dueDate>
        <plant>0933</plant>
        <location>FACTORY1</location>
        <defaultPalletStatus>Unrestricted</defaultPalletStatus>
     </processOrder>
  </messageData>
</message>

Process Order Status Change

Updates the status of an existing Process Order in Commander4j without replacing the full order record. Typically used to close or discard an order from the ERP side.

<?xml version="1.0" encoding="UTF-8"?>
<message>
  <hostRef>DEMO</hostRef>
  <interfaceType>Process Order Status Change</interfaceType>
  <interfaceDirection>Input</interfaceDirection>
  <messageDate>2023-10-06T11:35:23</messageDate>
  <messageData>
     <processOrderStatusChange>
        <orderNo>5000335533</orderNo>
        <status>Discarded</status>
     </processOrderStatusChange>
  </messageData>
</message>

Pallet Status Change

Updates the quality status of one or more pallets already recorded in Commander4j. Allows the ERP to push status decisions (e.g. releasing a restricted batch) back to Commander4j without a full pallet record update.

<?xml version="1.0" encoding="UTF-8"?>
<message>
  <hostRef>DEMO</hostRef>
  <interfaceType>Pallet Status Change</interfaceType>
  <interfaceDirection>Input</interfaceDirection>
  <messageDate>2024-03-03T16:34:58</messageDate>
  <messageData>
     <palletStatusChange>
        <sscc>350001615053457609</sscc>
        <status>Unrestricted</status>
     </palletStatusChange>
  </messageData>
</message>

Material Definition

Creates or updates a Material record in Commander4j. Typically sent from the ERP when a new product is set up or when material master data changes. Includes unit of measure conversions and EAN barcode assignments.

Key fields within materialDefinition:

Field Description
material The material (product) code.
description The material description.
base_uom The base unit of measure.
gross_weight / net_weight Gross and net weights of the base unit.
weight_uom Unit of measure for the weight values.
shelf_life / shelf_life_uom Shelf life duration and its unit (e.g. 24 / M for 24 months).
enabled Y to make the material active; N to disable it.
materialUOMDefinition Repeating block defining each unit of measure with its EAN barcode, variant and conversion factor.

Pallet Move

Instructs Commander4j to update the location of a pallet. Used when the ERP records a stock movement and needs Commander4j's pallet records to reflect the new location.

<?xml version="1.0" encoding="UTF-8"?>
<message>
  <hostRef>service</hostRef>
  <interfaceType>Pallet Move</interfaceType>
  <interfaceDirection>Input</interfaceDirection>
  <messageDate>2024-03-03T16:23:38</messageDate>
  <messageData>
     <palletMove>
        <pallet>
           <sscc>350001615053666100</sscc>
           <fromLocation>FACTORY1</fromLocation>
           <toLocation>FACTORY2</toLocation>
        </pallet>
     </palletMove>
  </messageData>
</message>

Batch Status Change

Updates the quality status of a material batch across all pallets in Commander4j that carry that batch number. Useful when an ERP quality decision covers an entire batch rather than individual pallets.

<?xml version="1.0" encoding="UTF-8"?>
<message>
  <hostRef>DEMO</hostRef>
  <interfaceType>Batch Status Change</interfaceType>
  <interfaceDirection>Input</interfaceDirection>
  <messageDate>2024-03-03T12:33:36</messageDate>
  <messageData>
     <batchStatusChange>
        <batch>4062093355</batch>
        <material>43898974</material>
        <status>Unrestricted</status>
     </batchStatusChange>
  </messageData>
</message>

See also: Interface Admin, Interface Log, Interface Example Data Flow 1, Interface Example Data Flow 2.