MovementOrder
This component allows you set up and maintain movement orders and runs the Movement Order Entry (MOE) function.
This component also provides various methods that allow you to progress movement orders through certain stages. If doing so, you must ensure that movement orders are at the correct stage in order to be processed.
Depending on how your movement type stages have been set up, some component methods will be not be relevant.
There are three ways to improve performance of movement order imports:
- Restricting the payload - the payload definition for movement orders is composed of all data items that are used within order fulfillment. As your SunSystems installation may not use all available data items, you can reduce the time taken to process movement orders by ensuring that your payloads only include those data items that you wish to work with.
- Reduce the number of processing options in SunSystems. If you are importing movement orders from an external application you can set up a particular Movement type that does not carry out the various calculations, validations and lookups that would normally happen. These can significantly increase the time taken to process a given Movement Order.
- Ensure that any line numbers are in numerical order, as disordered line numbers will
impact performance. If both the User Line Number
(
MovementOrder.MovementOrderLine.UserLineNumber
) and the System Line Number (MovementOrder.MovementOrderLine.LineNumber
) are provided, then User Line Number is used.
You should of course ensure that any data you do import is correct.
Creating new orders line using the 'End of Document' preset type will not work, because an empty line is required to insert the new lines information. However, the empty line is not present if this preset type has been used.
Methods
- ConfirmLineOrder
- Driver Type: SASI
- CreateOrAmend
- Driver Type: SASI
- CreateorAmendandConfirm
- Driver Type: SASI
- CreateOrAmendWithSerialNumbers
- Driver Type: SASI
- DeleteLineOrder
- Driver Type: SASI
- DeleteLines
- Driver Type: SASI
- DeleteWholeOrder
- Driver Type: SASI
- HoldLineOrder
- Driver Type: SASI
- Query
- Driver Type: Export
- ReleaseLineOrder
- Driver Type: SASI
Mandatory fields
As movement orders can be tailored to suit customer needs, there are no fields that are always mandatory. The minimum amount of data required for entering movement orders is very small. However, you should bear in mind that the actual amount needed to create meaningful orders and to progress those orders is much larger. This is wholly dependent on how your system is configured.
As a guide, you will probably find that the following need to be supplied:
- General
-
- Movement Order Definition Code - payload element
<MovementOrderDefinitionCode>
- Movement Order Reference - payload element
<MovementOrderReference>
- Either User Line Number - payload element
<UserLineNumber>
or Line Number - payload element<LineNumber>
.
See individual methods for specific field requirements.
- Movement Order Definition Code - payload element
- Standard text
-
- When creating or attaching standard text associated with a Movement Order, values
for the following must be supplied:
- Standard Text Class Code - payload element
<StdTextMo_StdTextClassCode>
- Standard Text Code - payload element
<StdTextMo_StdTextCode>
.
- Standard Text Class Code - payload element
- When creating or attaching standard text associated with a Movement Order Line,
values for the following must be supplied:
- Standard Text Class Code - payload element
<StdTextMo1_StdTextClassCode>
- Standard Text Code - payload element
<StdTextMo1_StdTextCode>
- Standard Text Class Code - payload element
- When creating or attaching standard text associated with a Movement Order, values
for the following must be supplied:
Related data
- Analysis Quantity 1-10
- Item Characteristics
- Stage
- Value Labels 1-50
- Movement Order Standard Text
- Movement Order Line Standard Text.
Example Payload using CreateOrAmendWithSerialNumbers
Receipt
For an example payload, two items codes are used - ITMAUTO, with automated serial numbers, and ITMUSER, with user generated serial numbers. A payload for a three line movement order is given below:
<MovementOrder>
...
<MovementOrderLine>
<DemandQuantity>2</DemandQuantity>
<ItemCode>ITMAUTO</ItemCode>
<LineNumber>1</LineNumber>
...
</MovementOrderLine>
<MovementOrderLine>
<DemandQuantity>4</DemandQuantity>
<ItemCode>ITMAUTO</ItemCode>
<LineNumber>2</LineNumber>
...
</MovementOrderLine>
<MovementOrderLine>
<DemandQuantity>3</DemandQuantity>
<ItemCode>ITMUSER</ItemCode>
<LineNumber>3</LineNumber>
...
</MovementOrderLine>
<SerialNumbersForLine>
<SerialNumbers></SerialNumbers>
</SerialNumbersForLine>
<SerialNumbersForLine>
<SerialNumbers>
<SerialNumber>USERENTERED1</SerialNumber>
</SerialNumbers>
<SerialNumbers>
<SerialNumber>USERENTERED2</SerialNumber>
</SerialNumbers>
<SerialNumbers>
<SerialNumber>USERENTERED3</SerialNumber>
</SerialNumbers>
</SerialNumbersForLine>
</MovementOrder>
Issue
The example payload here uses the same two items codes as the Receipts example - ITMAUTO, with automated serial numbers, and ITMUSER, with user generated serial numbers. However, for Issues the serial number format used does not make any difference – the requirement is for the correct number of valid serial numbers for the item code. The example below assumes that Value Label 1 is used for Quantity (i.e. 3 of ITMAUTO and 2 of ITMUSER):
<MovementOrder>
...
<MovementOrderLine>
<ItemCode>ITMAUTO</ItemCode>
<LineNumber>1</LineNumber>
...
<VLAB1>
<Base>
<VMolVlabEntry_Val>3.00000</VMolVlabEntry_Val>
</Base>
</VLAB1>
<IssueSerialNumbers>
<IssueSerialNumber>
<SerialNumber>A000004</SerialNumber>
</IssueSerialNumber>
<IssueSerialNumber>
<SerialNumber>A000123</SerialNumber>
</IssueSerialNumber>
<IssueSerialNumber>
<SerialNumber>A000041</SerialNumber>
</IssueSerialNumber>
</IssueSerialNumbers>
</MovementOrderLine>
<MovementOrderLine>
<ItemCode>ITMUSER</ItemCode>
<LineNumber>2</LineNumber>
...
<VLAB1>
<Base>
<VMolVlabEntry_Val>2.00000</VMolVlabEntry_Val>
</Base>
</VLAB1>
<IssueSerialNumbers>
<IssueSerialNumber>
<SerialNumber>USERENTERED5</SerialNumber>
</IssueSerialNumber>
<IssueSerialNumber>
<SerialNumber>USERENTERED4</SerialNumber>
</IssueSerialNumber>
</IssueSerialNumbers>
</MovementOrderLine>
</MovementOrder>