I1005
// Generated display declaration:
I1005 = 1005
// Effective Pascal Script type and value:
const I1005: String = '1005';
Example
procedure ScriptEvent(var Value: variant);
var
IssueCode: string;
IssueNum: integer;
begin
IssueCode := I1005; // '1005'
IssueNum := StrToInt(IssueCode); // 1005, for integer issue APIs
Value := IssueCode + ':' + IntToStr(IssueNum);
end;
Usage
I1005 is the script-visible String code '1005' for Issue 1005 (Cancelled).
- Use
I1005when serialising, comparing or displaying the exact code as text. - Use numeric literal
1005or explicitStrToInt(I1005)for an integer issue parameter. - Supply a useful issue description separately; never assume the generic database description records the failed value.
What the constant does
- Substitutes the immutable four-character script string
'1005'. - Performs no VxData query and does not verify that an
Issuerow exists. - Does not change flow/log status, cancel processing, add a transaction issue, update a header or enqueue a notification event.
- Carries no description, record key, application, partner or transaction context beyond the decimal code itself.
This member belongs to the general issue/status block. Its default row description is Cancelled, and its stored status intentionally mirrors one of the common Velox status values.
Additional Technical Info
I1005 is the script-visible String constant '1005'. It identifies the default VxData Issue definition Cancelled; it is not an integer constant and does not create, find, log or persist an issue by itself.
The generated Code Library index displays I1005 = 1005 without quotes. The product registration is more precise: it adds I1005 with type String and sets its value to '1005'. The example makes the conversion explicit and was source-reviewed, not executed against VxData.
Declaration and runtime value
| Property | Default/source value |
|---|---|
| Script type | String |
| Exact text | '1005' |
| Integer Issue key after conversion | 1005 |
Fresh-build Issue.Num / Issue.Code | 1005 / 1005 |
| Fresh-build description | Cancelled |
Fresh-build Issue.Status | 5 — Cancelled |
Fresh-build AdminUrl | /Dashboard/Search/Cancelled |
String versus integer APIs
The native source states that the Ixxxx constants are for cases that need the issue number as text. Public issue functions such as GetIssueLevel and InvoiceIssue formally accept an integer issue number.
Use one of these deliberate forms:
TextCode := I1005; // String context
Level := GetIssueLevel(1005); // Preferred literal in integer context
Level := GetIssueLevel(StrToInt(I1005)); // Explicit conversion when sharing the constant
Do not rely on an undocumented implicit String-to-integer coercion. StrToInt(I1005) is safe for the source-defined value but still expresses a conversion that can raise if replaced with arbitrary text.
Default definition versus live configuration
The table above describes velox-data/1. Database/Table_Issue.sql, the fresh-build database source. At runtime, GetIssueLevel(1005) queries the current VxData Issue.Status value on every call. A customer database may have been upgraded or deliberately configured differently, so source defaults are not a substitute for inspecting the live Issue row when behavior depends on severity.
If the row is missing, GetIssueLevel returns 6 (Error); it does not return 5 from compiled source and does not create issue 1046. Database/query exceptions propagate. A configured Error row and a missing row are therefore indistinguishable through that function alone.
Current deferred transaction-issue aggregation keeps the greatest numeric status queued for one record, not a separately defined semantic priority.
Product use and implementation notes
This is the generic Cancelled definition. It does not cancel a map or log by itself; cancellation behavior belongs to the API or flow operation that consumes the issue number.
The reusable Scriptlet generally creates issues with numeric literals, not the Ixxxx String constants. Its local CreateIssue helper does not call GetIssueLevel: it always calls LogIssue, then inserts the supplied number and description into DIssue only when that dataset is assigned. Consequently, the Issue row's configured status does not select the immediate Scriptlet log method; later dataset handling belongs to the owning module.
The separate transaction issue API InvoiceIssue does query severity immediately, queue an in-memory issue and persist it later through the owning flow's issue-save lifecycle. Its page documents deferred inserts, header-status updates, notification events, rollback behavior and known queue-retention/multi-record defects.
Related entries
GetIssueLevelreads the live configured status and documents the missing-row fallback.InvoiceIssueshows how an integer issue key is queued and later persisted.Cancelledis the default status constant corresponding to fresh-build status5.
No Delphi or Free Pascal standard-library equivalent exists; this is a Velox-owned scripting identifier.
Created 2026-07-15