Короткая форма VALUE при формировании таблиц

У оператора VALUE #( ) при формировании внутренних таблиц есть так называемая короткая форма:

Что соответствует следующему полному синтаксису:

Таким образом мы можем не указывать все столбцы, если хотим их заполнить на основе столбцов вне внутренних скобок.

Удобно использовать для формирования диапазонов:

Все что указано за пределами внутренних скобок дублируется в следующие строки:

SIGN OPTION LOW HIGH
I BT  1 10
BT  21 30
I BT 41 50
I GE 61 0

Но данный синтаксис в случае вложенных конструкторных операторов может приводить к непредвиденным результатам.

Исходя из документации в третьей строке мы должны увидеть пустые значения sign и option, т.к. мы ничего не указывали за пределами внутренних скобок, однако они заполнены из второй строки:

SIGN OPTION LOW HIGH
    1 0
I EQ 2 0
I EQ 3 0

Описанное поведение судя по всему является багом, исправление будет под нотой: 3042453

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *