MovementTypes

This component runs the Movement Types (MTS) function that allows you to set up and maintain different types of movements used in your system.

Methods

Closed
Driver Type: SASI
Use this method to change the status of a movement type to Closed.
Create
Driver Type: SASI
Use this method to create a movement type. If the movement type already exists, an error message is produced and the payload is rejected.
CreateAsDraft
Driver Type: SASI
Use this method to create one or more draft movement types.
CreateOrAmend
Driver Type: SASI
Use this method to create or amend one or more movement types. A movement type is created if it does not exist and amended if it does. Whereas the Create and Amend methods depend on you to know whether the data does or does not exist in advance, this method can be used if you are unsure.
Note: Do not include Stage data in the payload for this method if there are existing Stage records for the transaction type. The update/insert of Stage records is prevented if any Stage data already exists. In this case, Stage records must be created/amended via SunSystems.
Delete
Driver Type: SASI
Use this method to delete one or more movement types.
Note: You cannot delete a MovementTypes record if child data, such as Stage or Value data, exist. When this occurs, use the DeleteChildData method prior to using the Delete method.
DeleteChildData
Driver Type: SASI
Use this method to delete child data (MO Assign Preset, MO Analysis, Value, Stage) but retain the parent record (Movement Type).
It is also possible to delete 'grandchild' data. The deletion of child and grandchild data is controlled by a <DeletionFlag> node at child level. If the flag is set to Y, both child and grandchild is deleted. Otherwise, the child data is retained.

For example, the <Stage> node contains child data, and the <LedgerIFReversal> node contains grandchild data. The <DeletionFlag> node is set to Y, so the <LedgerInterfaceDefinitionCode> data is deleted first, followed by the <Stage> data:

<MovementTypes>
<MovementOrderDefinition>MVMT</MovementOrderDefinition>
<Stage>
<Stage>0</Stage>
<DeletionFlag>
<DeleteStageAfterLIReversalDeleted>Y</DeleteStageAfterLIReversalDeleted>
</DeletionFlag>
<LedgerIFReversal>
<LedgerInterfaceDefinitionCode>LIDEF</LedgerInterfaceDefinitionCode>
</LedgerIFReversal>
</Stage>
</MovementTypes>
Note: 
  • Stage data must be deleted in reverse order, i.e. you must not delete a stage that is defined as a Sequence on another record.
  • A MovementTypes payload that deletes Movement Quantity is invalid and will return the error message One Movement Quantity must be set per Movement Transaction Type. This is because all Order Fulfilment transaction types must have one value label that is flagged as the Quantity.
Note: 
Hidden
Driver Type: SASI
Use this method to change the status of a movement type to Hidden.
Open
Driver Type: SASI
Use this method to change the status of a movement type to Open.
Query
Driver Type: Export
Use this method to obtain movement type details or to extract movement types data from SunSystems.
Suspended/Held
Driver Type: SASI
Use this method to change the status of a movement type to Suspended/Held.

Mandatory fields

General
  • When creating, amending or deleting a movement type, a value must be supplied for Movement Order Definition - payload element <MovementOrderDefinition>
  • When creating or amending movement type accounts, a value must be supplied for:
    • Account Recognition Code - payload element <AccountRecognitionCode>
    • Account Code - payload element <AccountCode>
  • When creating or amending movement type stage, a value must be supplied for Stage - payload element <Stage>
  • When creating or amending movement type stage ledger interface reversal, a value must be supplied for Ledger Interface Type - payload element <LedgerInterfaceType>.
Deleting Child Data
  • When deleting child data, a value must be supplied for Movement Order Definition - payload element <MovementOrderDefinition>
  • When deleting MO Preset child data, a value must be supplied for Preset Code - payload element <MOLPreset.PresetCode>
  • When deleting MO Analysis child data, a value must be supplied for Analysis Category ID - payload element <MOAnalysis.AnalysisCategoryID.AnlCat_Shead>
  • When deleting Value child data, a value must be supplied for:
    • Value Category ID - payload element <Value.ValueCategoryID.ShortHeading>
    • Value Label Type - payload element <Value.ValueLabelValueType>
  • To delete Stage data, or establish the key of the Ledger IF Reversal data to be deleted, a value must be supplied for Stage - payload element <Stage.Stage>
  • If Ledger IF Reversal is to be deleted, a value must also be supplied for Ledger Interface Definition Code - payload element <Stage.LedgerIFReversal.LedgerInterfaceDefinitionCode>
Note: At runtime the component validates the payload contents to ensure that the values supplied are correct. Various combinations of values may require other elements in the payload to be specified before the payload can be processed successfully.

Related data

  • Account Recognition Code
  • Stage (Ledger IF Reversal)
  • Movement Order Line Preset
  • Value (Value Category ID)
  • Movement Order Analysis.