PORTLM: Shipment Maintenance
The Shipment Maintenance business object is used to add purchase order lines to a new or existing shipment or to maintain existing lines for a shipment.
A new purchase order line can be created should the quantity being attached to the shipment be less than the original order quantity on the purchase order line, and the parameter <CreatePurchaseOrderLine> is set to Y.
The purchase order line will be updated if the quantity being attached to the shipment is less than the original order quantity on the purchase order line, and the parameter <CreatePurchaseOrderLine> is set to N, or the quantity being attached to the shipment is greater than the original order quantity.
This business object does not apportion fixed costs defined against an element and these will be ignored.
To process a shipment receipt, use PORTLR.
Properties
| Syspro Module | Purchase Orders |
| Class | Transaction |
| Methods | Post |
| Functional Area | Purchase Order LCT System |
| Initial version released | Syspro 7 Update 1 |
Input XML
The .XML and .XSD input files indicate the parameters schema and an instance of an XML document for this business object.
<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2025 SYSPRO Ltd. -->
<!--
This is an example XML instance to demonstrate
use of the LCT Shipment Maintenance Business Object
-->
<ShipmentMaintenance xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="portlm.xsd">
<Parameters>
<ValidateOnly>N</ValidateOnly>
<IgnoreWarnings>N</IgnoreWarnings>
<ApplyIfEntireDocumentValid>Y</ApplyIfEntireDocumentValid>
<ApplyApportionmentAndMinimum>N</ApplyApportionmentAndMinimum>
</Parameters>
</ShipmentMaintenance>
<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2025 SYSPRO Ltd. -->
<!--
Schema for LCT Shipment Maintenance Business Object
-->
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="ShipmentMaintenance">
<xsd:annotation>
<xsd:documentation>This is the root element</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:all>
<xsd:element name="Parameters">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ValidateOnly" default="N" minOccurs="0">
<xsd:annotation>
<xsd:documentation>This element indicates which processing phases are to be performed. If set to 'Y' all items are validated and an XML string is returned with the result of the validation. No updating will take place. If set to 'N', each item is validated and updating is performed based on setting of the element 'ApplyIfEntireDocumentValid'. Default is 'N'. Valid values are 'N' and 'Y'.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="N" />
<xsd:enumeration value="Y" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="IgnoreWarnings" default="N" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Specifies if warnings are to be ignored. Y - any warnings will be ignored, N - any warnings will be returned as error messages in the XML, W - warnings will be returned as warning messages in the XML.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="N" />
<xsd:enumeration value="Y" />
<xsd:enumeration value="W" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ApplyIfEntireDocumentValid" default="Y" minOccurs="0">
<xsd:annotation>
<xsd:documentation>This element indicates whether to process entire document only if all items are valid. If set to 'N', each item is validated and rejected if in error or processed if correct. This is the fastest option. If set to 'Y', all items are validated and only processed if entire document is valid. Default is 'Y'. Valid values are 'Y' and 'N'.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="Y" />
<xsd:enumeration value="N" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ApplyApportionmentAndMinimum" default="N" minOccurs="0">
<xsd:annotation>
<xsd:documentation>This element indicates whether to apportion any fixed cost elements automatically across the associated shipment and apply minimum values if applicable from the LCT element. Default is 'N'. Valid values are 'Y' and 'N'.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="Y" />
<xsd:enumeration value="N" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>
The DOC.XML and DOC.XSD files indicate the schema and an instance of an XML document for this business object.
<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2010 SYSPRO Ltd.-->
<!--
This is an example XML instance to demonstrate
use of the LCT Shipment Maintenance Business Object
-->
<ShipmentMaintenance xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="portlmdoc.xsd">
<Item>
<Action>A</Action>
<Vessel>VESS01</Vessel>
<DepartureDate>2006-10-01</DepartureDate>
<ShipmentReference>0000000122</ShipmentReference>
<PurchaseOrder>000045</PurchaseOrder>
<PurchaseOrderLine>0001</PurchaseOrderLine>
<QuantityShipped>9.000</QuantityShipped>
<Units></Units>
<Pieces></Pieces>
<CreatePurchaseOrderLine>N</CreatePurchaseOrderLine>
<PurchaseOrderLineDueDate></PurchaseOrderLineDueDate>
<UnitPrice></UnitPrice>
<DiscType>P</DiscType>
<DiscLessPlus>L</DiscLessPlus>
<DiscPercent1>0</DiscPercent1>
<DiscPercent2>0</DiscPercent2>
<DiscPercent3>0</DiscPercent3>
<DiscValue>0</DiscValue>
<ExchangeRate></ExchangeRate>
<ExchMD>M</ExchMD>
<eSignature/>
</Item>
</ShipmentMaintenance>
<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2014 SYSPRO Ltd.-->
<!--
Schema for the LCT Shipment Maintenance Business Object
-->
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="ShipmentMaintenance">
<xsd:annotation>
<xsd:documentation>This is the root element</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Item">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Action">
<xsd:annotation>
<xsd:documentation>This element indicates what action will be taken to the shipment line. A - Add, C - Change, X - Delete</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
<xsd:enumeration value="A"/>
<xsd:enumeration value="C"/>
<xsd:enumeration value="X"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Vessel">
<xsd:annotation>
<xsd:documentation>The vessel number of the shipment line requiring maintenance. Must be a valid vessel </xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DepartureDate">
<xsd:annotation>
<xsd:documentation>Departure date of vessel of the shipment line requiring maintenance. Must be a valid date format - CCYY-MM-DD and must be a valid date against the vessel.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ShipmentReference">
<xsd:annotation>
<xsd:documentation>Shipment reference of the shipment line requiring maintenance. Must be a valid shipment number.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PurchaseOrder">
<xsd:annotation>
<xsd:documentation>Purchase order number of the shipment line requiring maintenance. Must be a valid purchase order. </xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PurchaseOrderLine">
<xsd:annotation>
<xsd:documentation>Purchase order line of the shipment line requiring maintenance. Must be a valid line on the purchase order.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="QuantityShipped" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Quantity shipped on this shipment line. This must be supplied if the line is being added.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Units" minOccurs="0">
<xsd:annotation>
<xsd:documentation>If stock code is a unit-qty type stock code and quantity element is not supplied, the quantity of the transaction must be supplied as units and pieces. At least one of these elements must be supplied. None of the quantity fields may be negative</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Pieces" minOccurs="0">
<xsd:annotation>
<xsd:documentation>If stock code is a unit-qty type stock code and quantity element is not supplied, the quantity of the transaction must be supplied as units and pieces. At least one of these elements must be supplied. None of the quantity fields may be negative</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CreatePurchaseOrderLine" default="N" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Should a new purchase order line be created when the quantity entered is less than the purchase order quantity Y - Yes, N - No, Default - N</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
<xsd:enumeration value="N"/>
<xsd:enumeration value="Y"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PurchaseOrderLineDueDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Due date to be used if a new purchase order line is created. Must be a valid date format - CCYY-MM-DD, Default - todays date</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="UnitPrice" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The Unit price to be aplied to the line.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscType" default="P" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Indicates if the discount has been entered as a value or percentages. Possible values - P (percentage) or V (value). Default P when element is spaces or is not entered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
<xsd:enumeration value="P"/>
<xsd:enumeration value="V"/>
<xsd:enumeration value=""/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscLessPlus" default="L" minOccurs="0">
<xsd:annotation>
<xsd:documentation>You use the Discount elements to enter/change the discount percentages to be applied to the line. This element indicates if the discount should be added or subtracted from the line value. Possible values: L - less or P - Plus. Default - L when element is spaces or is not entered..</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
<xsd:enumeration value="L"/>
<xsd:enumeration value="P"/>
<xsd:enumeration value=""/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscPercent1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>First discount percent, only applicable when discount type is percent.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscPercent2" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Second discount percent, only applicable when discount type is percent, and first discount percent is not zero.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscPercent3" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Third discount percent, only applicable when discount type is percent, and second discount percent is not zero.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscValue" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Discount value, only applicable when discount type is value.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ExchangeRate" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Exchange rate to be applied to the shipment.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ExchMD" default="M" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Multiple or divide exchange rate. M - Multiply, D - Divide, or spaces. Default - M when element is spaces or is not entered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
<xsd:enumeration value="M"/>
<xsd:enumeration value="D"/>
<xsd:enumeration value=""/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="eSignature" minOccurs="0">
<xsd:annotation>
<xsd:documentation>If required, this element must contain a GUID, for the eSignature system to accept the transaction as having been authenticated. The GUID format is in the format {36303032-3330-3031-3038-323434363433}, where the numbers can be replaced with any character. It is up to the developer to have requested a password to protect the transaction. An example is that a GUID associated with the act of entering a valid password could be obtained and presented.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Output XML
The OUT.XML indicates a sample of the XML returned by this business object.
<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2010 SYSPRO Ltd.-->
<!--
This is an example XMLOut instance to demonstrate
use of the LCT Shipment Maintenance Business Object
-->
<shipmentmaintenance Language='05' CssStyle='' DecFormat='1' DateFormat='01' Role='01' Version='6.0.000'>
<Item>
<Key>
<Vessel>556699</Vessel>
<DepartureDate>20060405</DepartureDate>
<ShipmentReference>874</ShipmentReference>
<PurchaseOrder>000874</PurchaseOrder>
<PurchaseOrderLine>0001</PurchaseOrderLine>
</Key>
</Item>
<StatusOfItems>
<ItemsProcessed>0000000001</ItemsProcessed>
<ItemsInvalid>0000000000</ItemsInvalid>
</StatusOfItems>
</shipmentmaintenance>
Prerequisites
No prerequisites are required to use this business object.
Limitations
No limitations apply to this business object.
Copyright © 2026 Syspro PTY Ltd.