Skip to main content

I1421

// Generated display declaration:
I1421 = 1421

// Effective Pascal Script type and value:
const I1421: String = '1421';

Example

procedure ScriptEvent(var Value: variant);
var
IssueCode: string;
IssueNum: integer;
begin
IssueCode := I1421; // '1421'
IssueNum := StrToInt(IssueCode); // 1421 for integer issue APIs
Value := IssueCode + ':' + IntToStr(IssueNum);
end;

Usage

I1421 is the script-visible String code '1421' for Issue 1421 (Missing Required Value).

  • Use I1421 for exact text serialisation or comparison; use 1421 or explicit conversion for an integer parameter.
  • Select this member only for missing required Product data; use a distinct invalid-value/not-found diagnostic when the value is present but unusable.
  • Put the field name, failing record key, rule and source scope in the separate issue description.

Scope and routing

The fresh-build route associates this definition with product/party mapping administration. It is only an operator-navigation hint; it does not perform validation or prove that the affected row exists.

The shared description is intentionally generic. A useful issue message must name the missing field, identify the relevant record or code, explain the source/application/partner scope, and state the rule that made the value required. Do not encode that context by choosing a nearby number.

The 14101446 family is sparse and fixed, and no I1411 constant is available. Never derive a member by adding an offset or assume that a gap is valid.

Additional Technical Info

I1421 is the script-visible String constant '1421' for the fresh-build VxData Missing Required Value Issue associated with Product master data. It identifies a configured diagnostic; reading it does not inspect product/party mapping data, decide which value is required, or create an issue.

The generated index displays I1421 = 1421 without quotes. Native code and the Pascal Script import both provide digit text. The example was source-reviewed and was not executed against VxData.

Declaration and fresh-build definition

PropertyDefault/source value
Script type/valueString / '1421'
Integer Issue.Num after conversion1421
Fresh-build Issue.Code1421
Fresh-build descriptionMissing Required Value
Fresh-build Issue.Status6Status_Error
Fresh-build AdminUrl/Administration/ProductParty
Master-data scopeProduct

String versus integer issue parameters

The compiled member is text. GetIssueLevel, InvoiceIssue, and the reusable Scriptlet's local CreateIssue accept integer issue numbers.

TextCode := I1421; // exact text '1421'
Level := GetIssueLevel(1421); // integer API, preferred literal
Level := GetIssueLevel(StrToInt(I1421)); // explicit shared conversion

Do not depend on implicit String-to-integer coercion. StrToInt(I1421) is deterministic for this compiled constant; arbitrary external text still needs normal conversion-error handling.

Severity history and live configuration

The v1.15 upgrade initially inserts this family with status 3/Issue and later in the same upgrade updates every Issue from 1400 through 1499 to status 6/Error. The current fresh-build script therefore correctly defines 1421 as Error. A partial or customised historical database can differ, so inspect the live row when severity controls processing.

GetIssueLevel(1421) queries the live Issue.Status on each call. If the row is absent it returns fallback 6, which equals the current default but does not prove that the Issue definition or route exists. The transaction issue queue uses the greatest numeric configured level among newly queued issues; that implementation detail is not a general semantic-priority model.

Constant non-effects and persistence

The constant itself:

  • does not test Null, Unassigned, empty, blank or whitespace values;
  • does not apply field optionality, partner rules, defaults or referential validation;
  • does not look up or create product/party mapping master data;
  • does not navigate to /Administration/ProductParty; and
  • does not call LogIssue, insert an issue row, update transaction status or enqueue a notification.

No representative runtime consumer of this named constant was found at the reviewed product baseline beyond declaration and script registration. The calling map must perform the validation and choose its issue API deliberately.

The reusable Scriptlet's local CreateIssue always calls LogIssue and optionally inserts the supplied number/description into DIssue; it does not query Issue.Status. The separate InvoiceIssue lifecycle queries configured severity, queues data and persists it later with header-status and notification-event effects. Those deferred-save, rollback and queue-retention quirks belong to that API, not to I1421.

Related entries

  • GetIssueLevel documents live severity lookup and missing-row fallback.
  • InvoiceIssue documents one integer issue-consumer lifecycle.
  • Status_Error is the current fresh-build status value 6.

No Delphi or Free Pascal standard-library equivalent exists; this is a Velox-owned scripting identifier.

Created 2026-07-15