I1220
// Generated display declaration:
I1220 = 1220
// Effective Pascal Script type and value:
const I1220: String = '1220';
// Current replacement: no named I1320 script constant exists
CurrentIssueNum := 1320;
Example
procedure ScriptEvent(var Value: variant);
var
LegacyCode: string;
CurrentIssueNum: integer;
begin
LegacyCode := I1220; // '1220'; retained for compatibility
CurrentIssueNum := 1320; // current replacement has no named script constant
Value := LegacyCode + ' -> ' + IntToStr(CurrentIssueNum);
end;
Usage
I1220 is a legacy script-visible String issue code with exact value '1220'.
- Do not use
I1220for new issue persistence on a current database. - Audit older scripts that reference
I1220; decide whether their intended current definition is 1320 and update the literal/type deliberately. - Check the live
Issuetable before changing an upgraded customer system, because custom rows may differ from the governed fresh-build state.
Migration and compatibility boundary
Upgrade v1.12 added Issue 1220. Upgrade v1.17 later removes every Order and Shipment issue reference in the 1220–1229 range before deleting those Issue definitions. That migration is destructive for the affected historical issue rows; the documentation must not imply that those references are retained or automatically renumbered.
The v1.17 upgrade text originally inserted replacement 1320 with status 1, whereas the current fresh-build table defines status 2/Warning. Treat the current fresh-build file and the live database as authoritative for new installations; treat the upgrade text as migration history.
The code gap is intentional. No I1320 member appears in the current Velox declarations, Velox scripting import or generated index. Where current logic requires the replacement, pass integer literal 1320 to an integer issue API, or string literal '1320' only when the receiving field explicitly requires text. Do not invent I1320 in script source.
Additional Technical Info
I1220 is an exposed String constant with value '1220', historically used for Order quantity more than available quantity. It is now a legacy/stale issue identifier: upgrade v1.17 deleted Issue definitions 1220–1229 and dependent Order/Shipment issue rows, then introduced the 1320–1329 replacement family.
The product still registers I1220, so a script can compile and read the digit text. The current fresh-build Table_Issue.sql does not create Issue 1220. Do not interpret script visibility as evidence that the matching database definition still exists.
Declaration, historical definition and current replacement
| Property | Value/evidence |
|---|---|
| Script type/value | String / '1220' |
| Historical Issue 1220 description | Order quantity more than available quantity |
| Historical status/route | 3 (Issue) / /Transaction/Order |
| v1.17 action | Delete Order/Shipment references and Issue rows 1220–1229 |
| Current replacement number | 1320 |
| Current replacement description | Order quantity more than available quantity |
| Current fresh-build replacement status | 2 — Status_Warning |
| Current replacement route | /Transaction/Order |
Named I1320 script constant | Not registered |
Runtime risk of using the legacy value
GetIssueLevel queries the live row. On a current fresh-build database, GetIssueLevel(1220) finds no row and returns fallback 6 (Error). That fallback is not a recreated Issue definition and must not be used to conclude that 1220 is safe to persist.
An issue-persistence path that stores an Issue number under a foreign key can fail when 1220 is absent. Other paths may log text before a later insert fails or may behave differently according to their transaction and rollback boundaries. Verify the chosen API and live schema; replacing 1220 with 1320 is an intentional migration decision, not a cosmetic string change.
Constant non-effects
Reading I1220:
- does not check quantity, price, pack-size or product state;
- does not look up either the deleted 1220 row or replacement 1320;
- does not translate 1220 to 1320;
- does not recreate deleted historical issue records; and
- does not call
LogIssue, insertDIssue, change transaction status or navigate to/Transaction/Order.
Issue API behavior
The reusable Scriptlet's local CreateIssue always calls LogIssue and optionally inserts its supplied number and description into DIssue; it does not call GetIssueLevel. The separate InvoiceIssue lifecycle queries configured severity, queues data, and later persists issue rows with status and notification effects. Neither API silently maps 1220 to 1320.
Related entries
GetIssueLevelexplains why a missing row returns 6 without creating it.InvoiceIssuedocuments one persistence lifecycle and its rollback/queue quirks.Status_Warningis the current fresh-build status for replacement 1320.
No Delphi or Free Pascal standard-library equivalent exists; this is a Velox-owned compatibility identifier.
Created 2026-07-15