SYNCHRONIZED 句

SYNCHRONIZED 句は、コンピューター メモリの固有の境界に合わせて基本項目の配置を指定する。

XOPEN この機能は標準 COBOL 定義には含まれているが、X/Open の COBOL 言語定義では明示的に除外されているため、X/Open の COBOL 準拠のソース プログラムでの使用は推奨されない。

一般形式


*

指令

  1. 予約語リストのフラグ設定および修正を行うコンパイラ指令に加えて、以下の指令が、本セクションに記載の構文または意味内容に影響を与える可能性がある。
    • IBMCOMP - NOIBMCOMP を指定した場合、SYNCHRONIZED 句は注記になる。

構文規則

  1. この句は、基本項目でのみ使用できる。

    OSVSVSC2 SYNCHRONIZED 句は、基本項目以外でも使用できる。

  2. SYNC は SYNCHRONIZED の省略形である。

一般規則

  1. SYNCHRONIZED RIGHT は、基本項目を配置する固有の境界の右端の文字位置で終了するように基本項目を配置することを指定する。

    これは、IBMCOMP 指令を設定した場合にのみ効力を発揮する。

  2. SYNCHRONIZED 句で LEFT を指定しても効力はない。
  3. SYNCHRONIZED 句の効力は、定義上、実装に依存する。
  4. この句は、対象データ項目をコンピューター内で整列することを指定する。これにより、そのデータ項目を区切るコンピューター メモリの左端および右端の固有の境界の間にある文字位置を他のデータ項目が占有しないようにする。

    このデータ項目を格納するために必要な文字位置の個数が、これらの固有の境界の間の文字位置の個数よりも少ない場合、使用されない文字位置 (またはその部分) を他のデータ項目が使用することはできない。ただし、そのような使用されない文字位置は、以下のように処理される。

    1. その基本項目が属する集団項目の大きさには含まれる。
    2. そのデータ項目が REDEFINES 句の右辺である場合に再定義される文字位置に含まれる。

    SYNCHRONIZED 句は基本項目の大きさを変更することはないが、追加の文字位置を割り当てる。

  5. SYNCHRONIZED 句で RIGHT または LEFT を指定しない場合、基本データ項目を効率的に使用できるように、基本項目を固有の境界の間に位置付けるように指定される。
  6. SYNCHRONIZED 項目を参照する場合は、項目のサイズに依存する操作 (桁寄せ、切り捨て、桁あふれなど) を決定する際に、項目の元のサイズ (PICTURE 句で指定) が使用される。
  7. 項目のデータ記述に SYNCHRONIZED 句および演算符号が含まれる場合、その項目の符号は通常の演算符号の位置に配置される。この際、SYNCHRONIZED LEFT または SYNCHRONIZED RIGHT のどちらを指定したかは、演算符号の位置に影響しない。
  8. OCCURS 句も含むデータ項目のデータ記述項、またはその下位に属するデータ項目のデータ記述項に、SYNCHRONIZED 句を指定すると、以下とおり処理される。
    1. 反復される各データ項目が桁詰めされる。
    2. 同じ表内の他のデータ項目に対して生成される FILLER が、反復されるデータ項目ごとに暗黙的に生成される。
  9. OSVSVSC2 基本項目以外の項目に SYNCHRONIZED 句を指定した場合、その項目に属するすべての項目に SYNCHRONIZED 句が適用される。
  10. SYNCHRONIZED 句を使用する際の効果については、「COBOL 言語の概念」の章の「文字の表現および基数の選定」トピックを参照。