プログラム可能なスイッチの動作を、標準ISO2002に準拠させる。
>>-.---.-.----.--SWITCH-TYPE--"integer"------------------->< +-/-+ +-NO-+
integer | 下記のいずれか1つ
|
省略値: | SWITCH-TYPE"1" |
段階: | 構文チェック |
$SET: | 任意 |
ISO2002 標準規格および Siemens BS2000 COBOL 方言では、スイッチは実行単位内で持続的かつ可視的となる。たとえば、プログラム A でプログラム B を呼び出す場合、A でのスイッチの変更は、B が呼び出された際に可視的となる。また、B で変更された内容は、制御が A に戻った時点で、A において可視的となる。ただし A が終了して B が呼び出された場合、 A によって行われた変更内容は失われる。スイッチが格納される領域は、1 つの実行単位内のプログラムすべてで共有されるため、スイッチへの変更はすべてのプログラムで可視的となる。
COBOLシステムおよびMicro Focus COBOLの旧バージョンでは、呼び出されるサブプログラム(例ではBのサブプログラム)は、他のプログラムとは独立したCOBOLスイッチのセットを 持っ ている。プログラムAがプログラムBを呼び出す場合、 プログラムBのスイッチには、プログラムAのスタート時点のスイッチと同じ値が設定される。つまり、Aがスイッチに対して行う変更は無視される。制御がプ ログラムAに戻ると、Aのスイッチはプログラムの制御が変わる以前と同じ状態になる。プログラムBがスイッチに対して行う変更は無視される。 Bのスイッチは(キャンセルされない限り)保持される。再度プログラムBが呼び出されると、スイッチはプログラムAを呼び出したときと同様に設定される。 ス イッチが格納される領域は、各プログラムにとり、固有のものとみなすことができる。
SWITCH-TYPE"3" は、Siemens BS2000 COBOL TSW-n および USW-n スイッチをサポートする。
必要な実行時サポートを提供する BS2000 アドオンがある場合は、SWITCH-TYPE"3" のみを使用する。