Skip to main content

Intf_Product_String

Intf_Product_String = 'Product'

Example

procedure ScriptEvent(var Value: variant);
begin
if DATA_Interface['Code'].AsString = Intf_Product_String then
Value := Intf_Product;
end;

Usage

Intf_Product_String provides the exact Product Interface.Code token paired with reference-interface key 22.

Value

PropertyValue
Script typeString
Exact valueProduct
Database rowInterface.Num = 22
Numeric partnerIntf_Product = 22
Module rowNo (IsModule = 0)
Fresh-build defaultActive = 0; IsConfigured = 0

Additional Technical Info

Intf_Product_String is the script-visible String code for the Product reference interface. Its exact value is Product, paired with numeric key Intf_Product = 22.

Use the constant for trusted interface-code comparisons and lookups. It identifies a category name only; it neither loads reference data nor verifies that the category is active or populated.

Implementation

The native declaration, PascalScript registration and fresh-build Interface.Code value all use the exact token Product. The String constant is maintained separately from its numeric partner.

String names are not inserted into gVeloxConstMap. <!Intf_Product_String!> is invalid configuration syntax; only Intf_Product has a numeric tag entry.

Behaviour

  • Reading the constant returns immutable text and performs no lookup.
  • It can be compared with DATA_Interface['Code'].AsString or passed to a trusted code-based lookup.
  • Exact capitalization documents the canonical stored token. SQL comparison behavior still follows the target database collation.
  • The paired numeric key is not computed from this String at runtime.

Edge cases and quirks

  • The row is not a module and is seeded inactive/unconfigured. A matching code does not prove that the category is enabled or that any Product reference record exists.
  • Script String equality and database collation are separate. Do not use altered case, added whitespace or a localized display label as a substitute for the constant.
  • GetInterfaceForCode in the Scriptlet performs a database query but interpolates its argument into SQL rather than binding a parameter. Pass this fixed/trusted constant, not external unvalidated text.
  • The native GetInterfaceNum and GetInterfaceCode implementations and registrations are commented out; there is no current general script-visible converter.
  • Database Description and CustomDescription can be presentation fields. They are not replacements for the stable Code token.

Side effects

Reading or comparing the constant has no side effects. A separate database lookup uses the caller's connection, permissions and transaction context.

Errors

The constant cannot fail. A lookup can report not found when the deployed row is absent or changed. Passing untrusted text to the interpolating Scriptlet helper can produce malformed SQL; use a constant or parameterized application logic.

Performance and concurrency

Constant access is constant-time and thread-safe. Any database lookup adds query cost and observes database collation and concurrent row state.

Remarks

Prefer Intf_Product_String over the literal Product to make the interface-category dependency explicit and keep it paired with key 22.

  • Intf_Product — numeric key and supported <!Intf_Product!> tag.
  • DATA_Interface — dataset for explicit interface-row queries.
  • ProcessTags — numeric tag processing; this String name is not a tag.

External references

No Delphi or Free Pascal equivalent applies. This code token and its database meaning are Velox-owned.

Created 2026-07-15