POD_Cancelled
POD_Cancelled = 3
Example
procedure ScriptEvent(var Value: variant);
begin
Value := GetPODStatusCode(POD_Cancelled); // 'Cancelled'
end;
Usage
POD_Cancelled identifies the Cancelled proof-of-delivery state as Shipment_POD_Status.Num value 3 for Velox scripts and mappings.
Value
| Property | Value |
|---|---|
| Script type | LongInt |
| Numeric value | 3 |
| Paired text | POD_Cancelled_String = Cancelled |
| Database domain | Shipment_POD_Status.Num |
| Data fields | Shipment_POD.StatusNum and Shipment_POD_Event.StatusNum |
Additional Technical Info
POD_Cancelled is the script-visible LongInt identifier for the Cancelled proof-of-delivery state. Its fixed value is 3, paired with POD_Cancelled_String.
It identifies a shipment POD record and its event history. It does not load a row, validate a transition, persist a value or trigger delivery processing.
Implementation
Velox declares and registers the fixed LongInt value 3. GetPODStatusCode maps it to Cancelled; GetPODStatusNum performs the reverse mapping. The numeric name is registered in the Velox tag map, so <!POD_Cancelled!> expands to 3.
Fresh-build SQL seeds only row 1=Delivered in Shipment_POD_Status, although product source exposes Updated=2 and Cancelled=3. Shipment_POD.StatusNum and Shipment_POD_Event.StatusNum reference that table. This page's value 3 is therefore recognised by product code but is not seeded by that fresh-build script.
Behaviour
Use the value only in the POD status domain. The fixed converters do not query VxData. Reading, comparing or expanding the constant does not assign a StatusNum field, change a lifecycle state or perform the action suggested by its name.
POD lifecycle StatusNum is separate from the general issue/presentation Status column on POD and event rows.
Edge cases and quirks
- POD and tracking use the same three numbers and text, but have separate constants, converters and database tables.
- PascalScript integers and strings retain no lifecycle-domain type information after evaluation; using a value with the wrong converter or field can silently express another meaning.
- The text-to-number converter is case-insensitive but non-trimming. An empty string, surrounding whitespace or unsupported text returns
Null. - The number-to-text converter returns
Nullfor aNullor unsupported number rather than selecting a default. - The tag expansion produces the number
3, not the textCancelled. - Before persisting
POD_UpdatedorPOD_Cancelled, verify that the target deployment has corresponding status rows. On an unextended fresh schema, the foreign key can reject values2and3even though the script converters recognise them.
Side effects
Reading POD_Cancelled, comparing it, expanding its tag or using the fixed converter has no I/O or state-changing side effect. Database writes, event creation and workflow transitions come from the caller.
Errors
Reading the constant does not raise an error. Converter misses return Null. A database write can still fail validation or a foreign-key constraint, particularly where the deployed Shipment_POD_Status rows do not include the script-visible value.
Performance and concurrency
This is an immutable compiled value. Access and the short fixed-case conversions are constant-time for practical purposes and carry no shared mutable lifecycle state.
Remarks
The example is source-reviewed and non-destructive. It performs only fixed in-process conversion; it does not test or change a live shipment.
Related entries
POD_Cancelled_Stringis the paired canonical text.GetPODStatusCodeconverts a supported number to text.GetPODStatusNumconverts recognised text to a number.