Ledger Mask

Designer
This manual is in pilot operation.
Applications of the Workgroup Type cannot use Ledger Masks, as described in Workgroup Type.

What is a Ledger Mask?

A "Ledger Mask" is a Design Object used to specify the input-eligible areas on a ledger. By using a Ledger Mask, you can prohibit entries into cells that do not meet certain conditions.

Mask conditions are described by designers using a syntax called "Mask Condition Expression".

Mask Condition Expression

The evaluation of mask conditions is done for each individual ledger cell. If the value of the mask condition expression for a cell is "True", input to that cell is allowed (although input may still be prohibited due to other reasons, so more accurately, it means "the mask condition expression does not prohibit input to that cell").

If no mask condition expression is specified, a mask condition that considers all ledger cells as "True" is assumed (thus, no cells are prohibited from entry due to mask conditions).

How to Write Mask Condition Expressions

Mask condition expressions are a dialect of text expressions. For detailed grammar, please refer to Explanation of Text Expressions. Here, in addition to the characteristics of mask condition expressions, we introduce several commonly used examples.

Characteristics

In mask condition expressions, the "current member" refers to the dimension member tied to the individual ledger cell being inspected (as mentioned earlier, the evaluation of mask conditions is done for each ledger cell individually). For example, writing #ACCOUNT!@CUR retrieves the account dimension member tied to the target ledger cell. Once the "current member" is obtained like this, its label or properties can be used to describe various mask conditions. Similarly, the ledger tied to the target ledger cell becomes the "current ledger". The current ledger can be retrieved with Ledgers!@CUR.

Examples
(1) Conditional judgment based on dimension member property value
  Example) DEPT!@CUR!TYPE.Label = "PRODUCTION" (1)
1 The label of the TYPE property of the department (DEPT) dimension member related to the ledger cell is "PRODUCTION".
Element of the expression Meaning

DEPT

Dimension labeled as DEPT

DEPT!@CUR

The "current member" of the above dimension

⚠In mask condition expressions, the "current member" refers to the member related to the target ledger cell.

DEPT!@CUR!TYPE

The value of the TYPE property of the above member

DEPT!@CUR!TYPE.Label

The label of the above TYPE property value

=

Tests that the values on the left and right are equal

"PRODUCTION"

String "PRODUCTION"

Note that .Label can be omitted, and the above expression can also be written as follows:

  DEPT!@CUR!TYPE = "PRODUCTION"
(2) Conditional judgment based on dimension member label
  Example) DEPT!@CUR.Label <> "RD" (1)
1 The label of the department (DEPT) dimension member related to the ledger cell is not "RD".
Element of the expression Meaning

DEPT

Dimension labeled as DEPT

DEPT!@CUR

The "current member" of the above dimension

DEPT!@CUR.Label

The label of the above member

<>

Tests that the values on the left and right are not equal

"RD"

String "RD"

Note that .Label can be omitted, and the above expression can also be written as follows:

  DEPT!@CUR <> "RD"
(3) Judgment on the use of dimensions in a ledger
  Example) DEPT!@CUR = "" (1)
1 The department (DEPT) dimension is not used in the ledger related to the ledger cell.

For dimensions not used in the ledger related to a cell, the label of the "current member" is considered blank.

(4) Judgment on ledger label
  Example) Ledgers!@CUR = "GL" (1)
1 The label of the ledger related to the ledger cell is "GL".
(5) Judgment on matching/non-matching values
  Example) ENTITY!@CUR <> PARTNER!@CUR (1)
1 The label of the company (ENTITY) dimension member related to the ledger cell and the label of the partner (PARTNER) dimension member are not equal.