1. Feature Overview
The Information Code is the foundational building block of the entire Master Data Information app. Every piece of structured data in MDI — whether it's an item specification, a customer attribute, a document-level note, or a file attachment — is organised under an Information Code. Think of it as a configurable attribute definition: you create an Information Code (e.g. "COLOUR", "WEIGHT", "CERTIFICATE"), define its behaviour (data type, allowed values, descriptions, sorting, file storage), and then assign it to master data records via Information Entries.
An Information Code doesn't just define what data to capture — it controls how that data behaves across the entire MDI ecosystem. Through its configuration fields, a single Information Code governs: how values are validated (Validation Datatype), how they appear in composed descriptions (Long Description, Item Description, Report Description), whether they trigger pop-up messages on documents, whether they're included in Specification Search, how they interact with BC's native Item Attributes, whether they roll up through hierarchies, whether they drive logical dependencies in the Sales Configurator, and how they're surfaced on pages via Specification on Pages. The Information Code is the control centre that connects all MDI features.
Key Facts
| Property | Detail |
|---|---|
| Table | SCB New Information Code (6083265) |
| Pages | Information Code List, Information Code Card (6224014) |
| Primary key | Code (Code[20]) |
| Child tables | Information Value (SCB Information Value), Information Entry (SCB Information Entry) |
| Subtype options | Specification, Text, File — categorises the intended use of the code |
| Validation Datatype options | (blank), Decimal, Integer, DateFormula, Boolean, Date, DateTime — enforces data type on all values entered |
| Description Setup integration | 4 separate Description Setup references: Information Setup Description, Long Description, Item Description, Report Description |
| Sorting keys | By Code (primary), by Long Description Order, by Sorting Level |
| Deletion cascade | Deletes all child records: Information Values, Information Entries, Extended Text, Languages, Templates, Document Content lines, and Specification on Pages mappings |
| Delete protection | "Delete Not Allowed" flag prevents accidental deletion |
| Table filter | Optional Table field restricts the Information Code to a specific BC table |
2. Related Concepts
Information Value — The predefined options under an Information Code (e.g. under "COLOUR": "RED", "BLUE", "GREEN"). Each Information Value can have its own Description, Value, Sorting Level, File Attachment, Print Description, and web settings. Changes to an Information Value can cascade to existing Information Entries.
Information Entry — The actual data record linking an Information Code + Value to a specific master data record (e.g. Item "1000" has COLOUR = "RED"). This is the runtime data that appears on pages and documents.
Description Setup — Controls how Information Code data is formatted into composed text strings. Defines which components to include (Code Description, Value Description, Value), their order, and separator signs. Referenced by four fields on the Information Code.
3. User Stories
US-01: Create a basic specification attribute for items
As a Master Data Manager
I want to create an Information Code that represents a product specification (e.g. "COLOUR", "MATERIAL", "SIZE")
So that I can start capturing structured attribute data on my items
Setup:
- Open the Information Code Card or Information Code List.
- Enter a Code (e.g. "COLOUR") and Description (e.g. "Product Colour").
- Set Subtype = Specification (this is the default).
- Add Information Values under this code (e.g. "RED", "BLUE", "GREEN") with their descriptions.
- The Information Code is now available for use in Information Entries, Specification on Pages, Master Data on Documents, and all other MDI features.
Note: The Code field auto-generates a Web Name (prefixed with "NAV") for webshop integration. The Subtype defaults to Specification on insert.
US-02: Create a text-type Information Code for longer notes
As a Master Data Manager
I want to create an Information Code intended for storing longer text notes rather than structured specifications
So that I can clearly distinguish between attribute data and free-text notes in my MDI setup
Setup:
- Create a new Information Code.
- Set Subtype = Text.
- This categorises the code as intended for text content rather than specification attributes.
- If you change the Subtype on an existing code, the system offers to update all existing Information Entries to match.
Note: Subtype is primarily a classification/filter mechanism — it doesn't change the technical behaviour of the code, but allows users to filter the Information Code List by type.
US-03: Create a file-type Information Code for attachments
As a Master Data Manager
I want to create an Information Code specifically for managing file attachments (certificates, drawings, photos)
So that file-related attributes are clearly separated from specification and text data
Setup:
- Create a new Information Code.
- Set Subtype = File.
- Set File Storage Type to the appropriate storage mechanism (Database, Azure Blob, SharePoint, etc.).
- Use the Attachment (File Placement) field on the Information Code to attach a default/template file if needed.
Note: The File Storage Type on the Information Code serves as the default for Information Values and Entries created under this code.
US-04: Enforce data type validation on values
As a Master Data Manager
I want to ensure that values entered for a specific Information Code are always of a certain data type (e.g. only decimal numbers for weight, only dates for expiry)
So that data quality is enforced at the point of entry and downstream features (Specification Search, Specification on Pages) work correctly
Setup:
- On the Information Code Card, set Validation Datatype to the desired type: Decimal, Integer, DateFormula, Boolean, Date, or DateTime.
- When any user enters a Value for this Information Code (in Information Entries, Matrix, or via Specification on Pages), the system validates and converts the input to the correct format.
- If the value cannot be converted, an error is raised.
- Changing the Validation Datatype on an existing code triggers an update of all existing Information Entries — the system checks compatibility and converts the Numeric Value field.
Note: The Validation Datatype also governs which Specification on Pages field slots (Date, Decimal, Boolean, etc.) can be used with this Information Code. A mismatch produces an error at setup time.
US-05: Restrict an Information Code to a specific table
As a Master Data Manager
I want to restrict an Information Code so it only appears when working with a specific entity (e.g. only on Items, only on Customers)
So that users don't accidentally assign irrelevant attributes to the wrong entity type
Setup:
- On the Information Code Card, set the Table field to the desired table number (e.g. 27 for Item, 18 for Customer, 23 for Vendor).
- The Table Name is populated automatically.
- When this code is used in lookups (e.g. on Information Setup pages), the system filters to only show codes relevant to the current table.
Note: Leaving the Table field blank (0) makes the Information Code available for all tables. When inserting a new code from a filtered page (e.g. from the Item Card's Information Setup), the Table is automatically set from the page filter.
US-06: Include an Information Code in the composed Long Description
As a Master Data Manager
I want to have the values of this Information Code automatically included when the system composes the Long Description on the Item Card
So that the item's long description is built automatically from structured specification data
Setup:
- On the Information Code Card, set Include in Long Description (Long Description) to a Description Setup code (e.g. "IC_IV_V" to include Information Code, Information Value, and Value with defined separators).
- Set the Long Description Order to control where this code appears in the composed string (lower = earlier). Leave blank for alphabetic ordering.
- When saving, the system offers to update all existing Information Entries and Information Values with the new Description Setup reference.
- It then offers to recalculate all Long Descriptions across all items.
Note: The Description Setup code (e.g. "IC_IV_V") defines exactly which components are included and in what order, with configurable separator signs between them.
US-07: Include an Information Code in the composed Item Description
As a Master Data Manager
I want to have this Information Code contribute to the auto-composed Item Description field
So that the standard BC Description field on the Item Card is built from structured MDI data
Setup:
- On the Information Code Card, set Include in Type Description (Item Description) to a Description Setup code.
- Set the Item Description Order (Type Description Order) to control the sequence.
- Updating cascades to existing Information Entries and Values.
- The system offers to recalculate descriptions.
Note: This requires "Update Item Translations" to be enabled in the Master Data Information Setup for the item description to be auto-composed.
US-08: Include an Information Code in the Report Description for documents
As a Master Data Manager
I want to have this Information Code included in the Report Description that appears on Master Data on Documents
So that printed documents show a structured summary of key item specifications
Setup:
- On the Information Code Card, set Include in Report Description (Report Description) to a Description Setup code.
- Set the Report Description Order to control sequencing.
- Changes cascade to existing Information Entries and Values.
Note: The Report Description is used by the Master Data on Documents feature when a template has "Add Long Report Description" enabled.
US-09: Control how the Information Entry description is auto-composed
As a Master Data Manager
I want to control how the Description field on each Information Entry is automatically formatted
So that the Description column on the Information Setup page shows a clean, consistent representation of the data
Setup:
- On the Information Code Card, set Information Setup Description (Create Description) to a Description Setup code.
- This controls how the Description field on the Information Entry is auto-generated when an entry is created or modified.
- For example, using "IC_IV" would compose the description from the Information Code description and Information Value description.
US-10: Allow multiple Information Values per entity
As a Master Data Manager
I want to allow the same Information Code to be assigned multiple times to a single entity with different Information Values
So that an item can have e.g. multiple certifications (ISO9001, ISO14001) under one "CERTIFICATION" code
Setup:
- On the Information Code Card, enable "Allow Multiple Information Values".
- Users can now add multiple Information Entries with the same Information Code but different Information Values to a single master data record.
- This also enables the multi-field mapping in Specification on Pages (mapping the same code to multiple field slots).
Note: Without this flag, the system allows only one Information Entry per Information Code per entity.
US-11: Restrict to exactly one Information Value per entity
As a Master Data Manager
I want to enforce that each entity can only have one entry per Information Value for this Information Code
So that duplicate entries are prevented (e.g. an item cannot have "COLOUR=RED" twice)
Setup:
- On the Information Code Card, enable "Only one Information Value".
- The system validates that no existing Information Entries violate this constraint before allowing it to be enabled.
- If duplicates exist, an error is raised naming the offending Information Value.
US-12: Allow users to create new Information Values on the fly
As a Master Data Manager
I want to let end users create new Information Values directly when entering data via Specification on Pages
So that the predefined list grows organically without requiring administrator involvement for every new value
Setup:
- On the Information Code Card, enable "Allow Users to Add Information Values".
- When a user types a value that doesn't exist in the Information Value list (via a Specification on Pages field), the system automatically creates a new Information Value record with that code.
US-13: Automatically delete zero-value entries
As a Master Data Manager
I want to have the system automatically remove Information Entries when a user enters 0 in a numeric field
So that the Information Entry table stays clean and doesn't accumulate meaningless zero records
Setup:
- On the Information Code Card, enable "Delete Zero Values".
- When a user enters 0 in a Decimal or Integer field (via Specification on Pages or Information Matrix), the system treats it as blank and deletes the underlying Information Entry instead of storing a 0.
Note: Only applies when the Validation Datatype is Decimal or Integer.
US-14: Protect an Information Code from accidental deletion
As a Master Data Manager
I want to prevent critical Information Codes from being accidentally deleted
So that foundational attribute structures are protected from user error
Setup:
- On the Information Code Card, enable "Delete Not Allowed".
- Any attempt to delete this Information Code will be blocked with an error: "Deleting this Information Code is not allowed".
Note: Deleting an Information Code cascades to all child records: Information Values, Information Entries, Extended Text, Languages, Templates, Document Content lines, and Specification on Pages mappings. The delete protection prevents this entire cascade.
US-15: Control the sorting order of Information Codes on pages
As a Master Data Manager
I want to control the order in which Information Codes appear on the Information Setup page and Master Data on Documents
So that the most important attributes appear first
Setup:
- On the Information Code Card, set the Sorting Level field (integer, default 99).
- Lower numbers sort first.
- When changing the Sorting Level, the system offers to update all existing Information Entries to match the new value.
Note: The Sorting Level is a secondary key on the Information Code table and propagates to Information Entries for consistent ordering.
US-16: Enable pop-up messages triggered by this Information Code
As a Master Data Manager
I want to configure pop-up messages that appear when documents are created for entities that have this Information Code
So that users are alerted to important information (e.g. "This customer requires cold chain handling")
Setup:
- On the Information Code Card, the Pop-up Message field shows whether pop-ups are configured (read-only indicator).
- Click the AssistEdit to open the Pop-up Message Types page.
- Add rows specifying the Pop-up Message Area (Sales or Purchase) and enable Show Pop-up = Yes.
- When a Sales or Purchase document is processed for an entity that has an Information Entry with this code, the pop-up is triggered.
Note: Pop-up Messages are area-specific — you can enable them for Sales only, Purchase only, or both.
US-17: Include an Information Code in Specification Search
As a Master Data Manager
I want to include this Information Code's values in the Specification Search index
So that users can find items by searching on this attribute's values
Setup:
- On the Information Code Card, enable "Include in Specification Search" (Include in Item Search).
- When the Specification Search String is calculated for items, values from this Information Code are included in the search index.
Note: This requires the Specification Search feature to be enabled in the MDI setup. The search string is calculated via the "Calculate Item Search" report.
US-18: Enable roll-up through Master Data Hierarchies
As a Master Data Manager
I want to have this Information Code's values roll up (propagate) through the Master Data Hierarchy
So that child items automatically inherit specifications from their parent in the hierarchy
Setup:
- On the Information Code Card, enable "Roll up Hierarchy".
- When the hierarchy is processed, Information Entries for this code propagate from parent to child records.
US-19: Enable Logical Dependencies for guided selection
As a Master Data Manager
I want to enable this Information Code for use in the Logical Dependencies / Sales Configurator engine
So that the available values for this code can be filtered based on selections made for other codes
Setup:
- On the Information Code Card, enable "Logical Dependencies".
- Configure the dependency rules in the Logical Dependencies setup (Configuration Dependencies, Criteria, Filters).
- When users select values via Specification on Pages or the Sales Configurator, the system filters available choices based on the dependency rules.
US-20: Integrate with BC's native Item Attributes
As a Master Data Manager
I want to synchronize an Information Code bi-directionally with a BC Item Attribute
So that data entered via Item Attributes appears in MDI and vice versa, without maintaining two separate systems
Setup:
- On the Information Code Card, ensure the Table is set to 27 (Item).
- In the Item Attributes section, set the Item Attribute Name to link to an existing (or new) Item Attribute.
- Set Item Attribute Integration with to specify which field synchronises: Description, Information Value, or Value.
- Enable Continuous Item Attribute Integration for real-time bi-directional sync — changes in either Item Attributes or MDI Information Entries automatically update the other.
Note: Each Item Attribute can only be linked to one Information Code. The system validates this and raises an error if a duplicate mapping is attempted. The Information Code must be restricted to the Item table (Table = 27).
US-21: Configure webshop export settings
As an E-commerce Manager
I want to control whether and how this Information Code's data is exported to our webshop
So that product specifications are available for filtering and display on the online store
Setup:
- On the Information Code Card (Web Shop section), enable "Export to webshop".
- Enable "Filter on Web" if this code should be available as a filter/facet on the webshop.
- Set "Web value option" to control which data components are exported: Information Value, Value, Description, or combinations thereof (e.g. "Information Value-Value-Description").
- The Web Name is auto-generated from the Code (prefixed with "NAV") and can be customised.
Note: Changes to Web value option cascade to existing Information Entries on confirmation.
US-22: Attach a file to an Information Code
As a Master Data Manager
I want to attach a default file (template, reference document, image) directly to the Information Code
So that it serves as a reference or default attachment for all entries using this code
Setup:
- On the Information Code Card, use the Attachment (File Placement) field to upload a file.
- The file is stored in the Thumbnail Blob field.
- Set the File Storage Type to specify the storage mechanism.
Note: Files can also be attached at the Information Value level and Information Entry level. The Information Code-level attachment is typically used for reference/template files.
US-23: Create Information Codes from existing BC field data
As a Functional Consultant
I want to bulk-create Information Codes and their entries by importing data from an existing BC table field
So that I can quickly migrate existing structured data into the MDI framework without manual re-entry
Setup:
- From the Information Code page, run the Create Configuration from Field action.
- In the dialog, select the source table, field, and the Information Code/Value to create.
- Choose whether the field data should be stored as Information Values or as Values.
- Choose a Description Setup for Long Description inclusion.
- The system iterates all records in the source table and creates Information Values and Information Entries for each non-empty value found.
- A progress dialog shows the migration status and reports the number of entries created.
Note: This is particularly useful for migrating data from existing Option or Code fields on Item, Customer, or Vendor tables into MDI's structured attribute model.
US-24: Use Description Setup to control composed text formatting
As a Functional Consultant
I want to define reusable formatting rules for how Information Code data is composed into text strings
So that Long Descriptions, Item Descriptions, Report Descriptions, and Information Setup descriptions follow a consistent, configurable format
Setup:
- Open the Description Setup page and create or review the available codes.
- Each code defines: which components to include (Information Code Description, Information Value Description, Value, Description), the order of components (6 permutations available), and the separator signs between each component.
- Enable "Force Sign After" if separator signs should always appear even when the following component is empty.
- Run the DefaultSetup action to create a standard set of codes covering common permutations (IC, IV, V, IC_IV_V, IC_V_IV, IV_IC_V, etc.).
- Reference these codes on Information Codes in the Long Description, Item Description, Report Description, and Information Setup Description fields.
Note: The default setup creates 14 standard Description Setup codes covering all practical combinations. The Order field uses a descriptive format: CC = Information Code, CV = Information Value, V = Value.
4. Information Code Field Reference
| Field | Purpose |
|---|---|
| Code | Primary key, Code[20]. Auto-generates Web Name on validate. |
| Description | Free-text description, Text[250]. |
| Subtype | Specification, Text, or File. Categorises the intended use. Cascades to Information Entries on change. |
| Validation Datatype | (blank), Decimal, Integer, DateFormula, Boolean, Date, DateTime. Enforces data type on all values. |
| Table | Restricts the code to a specific BC table. 0 = available everywhere. |
| Allow Multiple Information Values | Permits multiple entries per entity with different Information Values. |
| Only one Information Value | Enforces max one entry per Information Value per entity. |
| Allow Users to Add Inf. Values | Lets users create new Information Values on the fly via Specification on Pages. |
| Delete Not Allowed | Prevents deletion of the Information Code. |
| Delete Zero Values | Auto-deletes entries when value is set to 0 (numeric codes only). |
| Sorting Level | Controls display order on Information Setup and MDI on Documents pages. Default 99. |
| Include in Long Description | Description Setup code for Long Description composition. |
| Long Description Order | Sequence in the composed Long Description. |
| Include in Type Description | Description Setup code for Item Description composition. |
| Type Description Order | Sequence in the composed Item Description. |
| Include in Report Description | Description Setup code for Report Description composition. |
| Report Description Order | Sequence in the composed Report Description. |
| Create Description | Description Setup code for Information Entry description auto-composition. |
| Include in Item Search | Includes values in the Specification Search index. |
| Pop-up Message | Indicates whether pop-up messages are configured (read-only; configure via Pop-up Message Types). |
| Logical Dependencies | Enables for use in the Logical Dependencies / Sales Configurator engine. |
| Roll up Hierarchy | Enables value propagation through Master Data Hierarchies. |
| Item Attribute ID | Links to a BC Item Attribute for bi-directional sync. |
| Item Attribute Integration with | Which MDI field syncs with the Item Attribute: Description, Information Value, or Value. |
| Continuous Item Attribute Integration | Enables real-time bi-directional sync with the linked Item Attribute. |
| Export to webshop | Marks for webshop export. |
| Filter on Web | Makes available as a webshop filter/facet. |
| Web value option | Controls which data components are exported to the webshop. |
| Web Name | Auto-generated identifier for webshop integration (NAV + cleaned Code). |
| File Placement / File Storage Type | Attachment and storage mechanism at the Information Code level. |
| External ID | External system identifier for integration purposes. |
| Modified Date | Auto-set on insert and modify. |
5. Validation Datatype Reference
| Option | Validates As | Specification on Pages Field Slots | Numeric Value Support |
|---|---|---|---|
| (blank) | No validation — any text accepted | Fields 1–10 (Text[250]) | No |
| Decimal | Decimal number, rounded to 5 decimals | Fields 14–16 (Decimal) | Yes |
| Integer | Whole number | Field 17 (Integer) | Yes |
| DateFormula | BC DateFormula expression | Field 18 (DateFormula) | No |
| Boolean | true/false | Fields 20–24 (Boolean) | Yes (0/1) |
| Date | Date value | Fields 11–13 (Date) | Yes (days since epoch) |
| DateTime | DateTime value | Field 19 (DateTime) | Yes |
6. Description Setup Default Codes
| Code | Components Included | Order |
|---|---|---|
| IC | Information Code Description only | CV-V-CC |
| IV | Information Value Description only | CV-V-CC |
| V | Value only | CV-V-CC |
| IC_IV | Information Code + Information Value | CC-CV-V |
| IV_IC | Information Value + Information Code | CV-CC-V |
| IC_IV_V | All three: Code + Value + Value | CC-CV-V |
| IC_V_IV | Code + Value + Value Description | CC-V-CV |
| IV_IC_V | Value Description + Code + Value | CV-CC-V |
| IV_V_IC | Value Description + Value + Code | CV-V-CC |
| V_IC_IV | Value + Code + Value Description | V-CC-CV |
| V_IV_IC | Value + Value Description + Code | V-CV-CC |
| V_IV | Value + Value Description | V-CV-CC |
| IV_V | Value Description + Value | CV-V-CC |