7.6.3 Deliver Method
The Deliver Method puts a delivery request into the machine engine. When successfully executed, the delivery request shall be added to the DeliveryRequests Variable, and, considering the internal logic of the machine engine with respect to the order of the delivery requests, being executed. The status of the execution shall be reflected in the DeliveryProgress Variable.
If the execution of the Method cannot be done due to some application logic, the Method should return an Uncertain StatusCode and provide details of the failure in the Status output Argument. When the Method returns an Uncertain StatusCode, the Method is considered to be failed, and no entries are added to the DeliveryRequests and DeliveryProgress Variables.
The signature of this Method is specified below. Table 21 and Table 22 specify the Arguments and AddressSpace representation, respectively.
Signature
Deliver (
[in] 0:String SelectionId,
[in] OptionSelectionDataType[] Options,
[in] 0:UInt64 TransactionId,
[out] 0:Int32 Status);| Argument | Description |
| SelectionId | SelectionId of the order. Method execution shall fail, if SelectionId not in the SelectionList of the Capabilities Object. |
| Options | List of selected options for the SelectionId. May be an empty array, if no option is selected. The option shall be allowed for the SelectionId as defined in the SelectionList of the Capabilities Object. |
| TransactionId | A unique identifier given into the machine engine that uniquely identifies the deliver request. It shall be used as the TransactionId in the DeliveryRequests and the DeliveryProgress Variables. The TransactionId shall only be used by the machine engine if the method returns successful (StatusCode is Good and Status is 0). |
| Status | Status of the execution of the method. If issues occurred during execution. 0 = Execution was successful -1 = Invalid SelectionId -2 = Invalid Options -3 = Invalid TransactionId - duplicate -4 = Cannot execute delivery Vendors may return a vendor specific status starting with number -16 or smaller. |
Method Result Codes (defined in Call Service)
| Result Code | Description |
| Bad_UserAccessDenied | See OPC 10000-4 for a general description. |
| Attribute | Value | ||||
| BrowseName | Deliver | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| 0:HasProperty | Variable | 0:InputArguments | 0:Argument[] | 0:PropertyType | 0:Mandatory |
| 0:HasProperty | Variable | 0:OutputArguments | 0:Argument[] | 0:PropertyType | 0:Mandatory |