I1109
// Generated display declaration:
I1109 = 1109
// Effective Pascal Script type and value:
const I1109: String = '1109';
Example
procedure ScriptEvent(var Value: variant);
var
IssueCode: string;
IssueNum: integer;
begin
IssueCode := I1109; // '1109'
IssueNum := StrToInt(IssueCode); // 1109 for integer issue APIs
Value := IssueCode + ':' + IntToStr(IssueNum);
end;
Usage
I1109 is the script-visible String code '1109' for Issue 1109 (Voyage Not Found).
- Use
I1109for exact string serialisation or comparison; use1109or explicit conversion for an integer parameter. - Match the issue definition to the exact header/child lookup that failed rather than inferring a nearby number.
- Put the failed key and parent/application scope in the separate description.
Scope and non-effects
This member identifies a transaction header. A header code is not interchangeable with the child-row definitions later in the range, even when both belong to the same transaction.
The constant itself:
- performs no header, line, package, batch, serial, manifest or related master-data lookup;
- does not test whether the relevant transaction exists;
- does not call
LogIssue, insertDIssue, update a transaction status or enqueue an event; and - carries no failed key, parent identifier, application or partner context beyond the four digits.
The numeric gaps and family offsets are fixed source choices. Do not derive a line code by adding to a header code or treat an unlisted number as supported.
Additional Technical Info
I1109 is the script-visible String constant '1109' for the default VxData Issue definition Voyage Not Found. It is a named text code, not an integer lookup result, and assigning it does not query transaction data or create an issue.
The generated index displays I1109 = 1109 without quotes. Product source registers the constant as String and supplies '1109'; the native declaration also stores digit text. The example was source-reviewed and not executed against VxData.
Declaration and fresh-build definition
| Property | Default/source value |
|---|---|
| Script type/value | String / '1109' |
Integer Issue.Num after conversion | 1109 |
Fresh-build Issue.Code | 1109 |
| Fresh-build description | Voyage Not Found |
Fresh-build Issue.Status | 3 — Status_Issue |
Fresh-build AdminUrl | /Transaction/Voyage |
String versus integer issue parameters
The native comment says the Ixxxx constants are intended when an issue number is needed as text. GetIssueLevel, InvoiceIssue and the reusable Scriptlet's local CreateIssue accept integer issue numbers.
TextCode := I1109; // exact text '1109'
Level := GetIssueLevel(1109); // integer API, preferred literal
Level := GetIssueLevel(StrToInt(I1109)); // explicit shared conversion
Do not depend on implicit String-to-integer coercion. StrToInt(I1109) is deterministic for the compiled constant; arbitrary input still requires normal conversion-error handling.
Live Issue definition
The description, status and AdminUrl above come from the current fresh-build Table_Issue.sql. GetIssueLevel(1109) queries the live VxData Issue.Status on each call, so an upgraded or customised database can return a different status. If the row is absent, the function returns 6 (Error) rather than the compiled default 3 and does not create an Issue Not Found record.
A configured level is data, not behavior embedded in I1109. The current transaction-issue queue retains the greatest numeric configured level among newly queued issues for one record; that numeric comparison is not a separately defined semantic-priority table.
Product use and quirks
Voyage lookup helpers use numeric issue 1109 for failed application-scoped code and numeric-key lookups. The generated detail includes the attempted code/application or numeric key.
The reusable Scriptlet's local CreateIssue always calls LogIssue and then inserts the supplied number/description into DIssue only when that dataset is assigned. It does not call GetIssueLevel, so changing Issue.Status does not select the immediate Scriptlet log method.
The separate InvoiceIssue path queries configured severity, queues issue data and persists it later with header-status and notification-event effects. Its documented deferred-save, rollback, queue-retention and multi-record quirks apply only when that API/lifecycle is used; the constant alone has none of those effects.
Related entries
GetIssueLeveldocuments live severity lookup and the missing-row fallback.InvoiceIssuedocuments one integer issue-consumer lifecycle.Status_Issueis the fresh-build status value 3 used by this definition.
No Delphi or Free Pascal standard-library equivalent exists; this is a Velox-owned scripting identifier.
Created 2026-07-15