Skip to content

BSL174 — Deny incomplete values for dimensions

Summary

Deny incomplete values for dimensions

Identifiers

Field Value
Rule code BSL174
Compatible alias DenyIncompleteValues
Severity WARNING
Enabled by default Yes
Implemented Yes
Tags transaction, error-handling

Behavior

  • The public identifier BSL174 and alias DenyIncompleteValues are stable.
  • The rule reports the cases documented on this page.
  • Suppressions and project configuration are applied before publication.
  • The rule requires neither an external analyzer nor network access.

Configuration and suppression

BSL### is the primary stable identifier. The compatible alias is accepted in select, ignore, and compatible block suppression comments.

[tool.onec-hbk-bsl]
select = ["BSL174"]
ignore = ["DenyIncompleteValues"]

All three suppression families support both a current line and a range. When an opening comment follows code, it affects only that line. Use any one form:

  • noqa:
Value = "example";  // noqa: BSL174
  • bsl-disable:
Value = "example";  // bsl-disable: BSL174
  • compatible BSLLS form:
Value = "example";  // BSLLS:DenyIncompleteValues-off

When the same opening comment is on a line by itself, it starts a range. Close it with the matching marker from the same family:

// noqa: BSL174
// code without this diagnostic
// noqa-enable: BSL174

// bsl-disable: BSL174
// code without this diagnostic
// bsl-enable: BSL174

// BSLLS:DenyIncompleteValues-off
// code without this diagnostic
// BSLLS:DenyIncompleteValues-on

To disable the rule until the end of the file, omit the closing noqa-enable, bsl-enable, or BSLLS:…-on marker.

Opening and closing markers must belong to the same family.

Description

Often when designing a metadata structure, it is required that the dimensions of a register must always be filled with values (should not be empty).

Checking for completeness of the dimension value should be done using the "Deny Incomplete Values" flag for the register dimension; additional software control of measurement filling is not required. It is assumed that records with an empty dimension value do not make sense in the infobase. The absence of a set flag can lead to potential problems if the application developers have not provided a value validation algorithm.

The current rule may give a lot of false positives, use at your own risk.

The rule applies to the following registers: - information register - accumulation register - accounting register - calculation register

Examples

Sources