S1 и S1 являются именованными условиями.Они будут истинными или не истинными в зависимости от значения H1 (или G1 в данном случае).
Код:
Set S1 to true
приведет к значению H1 (и G1 вслучай вашей конкретной группы), чтобы быть «Y».Если вы выполните:
Set S2 to true
, значение H1 (и снова G1) будет символом 'N'.
Они могут быть проверены с использованием стандартных условий отношения.Например:
Evaluate true
when S1
Display "S1 is true"
when S2
Display "S2 is true"
End-Evaluate
If S1
Display "S1 is true"
Else
Display "S1 is false"
End-If
Бруно раскрыл большинство важных особенностей 88-уровневых или именованных условий, но я чувствую, что важно упомянуть, как они сильно злоупотребляют программами Cobol, которые просто не могутотказаться от своих навыков 1974 года.
Вы часто будете видеть, как люди делают что-то вроде:
Move 'Y' to H1
Это действительно плохая идея по нескольким причинам: - однажды кто-то собирается «двигаться»x 'до H1 "и действительно испортит ваш день - кто-то напишет код вроде" if H1 =' Y '"и сделает невозможным сканирование на предмет использования вашего названного условия
Есть способИзбегайте этого, используйте безымянный байт с вашими именованными условиями.Если ваш элемент данных выглядит следующим образом:
01 G1
02 ...
02 Filler Pic X value 'N'.
03 S1 value 'Y'.
03 S2 value 'N'.
Пропустив имя в H1, вы заставите других программистов, работающих с вашим макетом данных, использовать названные вами условия S1 и S2.Это имеет много преимуществ, главное из которых заключается в том, что вы всегда можете сканировать исходный репозиторий на наличие названных условий и легко идентифицировать все изменения.