Использование фиктивных операторов

Существуют операции, которые невозможно однозначно присвоить конкретной стране и классу программ. Некоторые параметры могут быть допустимыми для любых комбинаций, тогда как другие - только для некоторых стран или классов программ. Когда для отдельных стран или классов программ создаются различные версии проверок, удаляются все части кода программы, недопустимые для рассматриваемой комбинации. При использовании параметра операции, недопустимого для рассматриваемой страны или класса программ, будет выдано сообщение об ошибке.

Это обеспечивается путем использования специальных фиктивных операторов. Те части программного кода, которые относятся к конкретным странам и классам программ, отделяются условными операторами IF.

Обратите внимание на то, что эти фиктивные операторы ставятся только в строках комментариев.

Следующий пример иллюстрирует описанную схему:

ERROR = 4.   ” Поскольку части кода удаляются позже, предполагается,
                 ”вообще говоря, что появляется ошибка, и эту ошибку
                 ”следует сбрасывать в ноль только при правильной настройке
                 ”всех параметров.

"Код программы в этом месте означает, что отсутствует разграничение на
"отдельные страны или классы программ.

* CIF PCL:T.   "Здесь следует размещать элементы программы, относящиеся
                 "только к Управлению временными данными.

* CENDIF.

* CIF PCL:C.

     "Программный код, относящийся к расчету заработной платы

     * CIF CNT:01 .

       "Программный код, относящийся к расчету заработной платы в Германии

     * CENDIF .

     * CIF CNT:02,03 .

       "Программный код, относящийся к расчету заработной платы в Швейцарии и Австрии.

     * CENDIF.

* CENDIF.

Таким образом можно осуществлять всесторонний контроль допустимости параметров. Разработчики системы планируют в дальнейшем расширить подобные возможности до уровня компонентов. Необходимость в таких фиктивных операторах возникает только при невозможности присвоить некоторую операцию классу программ или стране на уровне параметров.