COBOL2002 言語 拡張仕様編

[目次][索引][前へ][次へ]

22.3.1 表意定数

一般規則
  1. 次の規則は動的長基本項目には該当しない。
    表意定数がVALUE句に指定されている場合,またはデータ項目や定数や中間結果項目に関連づけられている場合,文字列は1文字ずつ右側へと反復されて,でき上がった文字列の長さは,関連するデータ項目か定数の中間結果項目の中の文字位置の個数以上になる。
  2. 動的長基本項目に表意定数を関連付ける場合,次の規則が適用される。
    表意定数が「ALL 定数」以外の場合,文字列の長さは1文字とする。
    表意定数が「ALL 定数」の場合,文字列の長さは定数の長さとする。
(例)
    01 MY-DYNAMIC PIC X DYNAMIC LENGTH C-STRING
          LIMIT 20.
             :
    MOVE  'abc'  TO  MY-DYNAMIC.
      *> 動的長基本項目MY-DINAMICに'abc'が転記され,MY-DYNAMICは長さが3となる。
 
    MOVE  SPACE  TO  MY-DYNAMIC.
      *> SPACEは3文字でなく空白1文字が転記され,MY-DYNAMICは長さが1となる。
 
    MOVE  ALL 'abc'  TO  MY-DYNAMIC.
      *> 'abc'が転記され,MY-DYNAMICは長さが3となる。
 
    MOVE  ALL SPACE  TO  MY-DYNAMIC.
      *> SPACEは1文字のため,空白1文字が転記され,MY-DYNAMICは長さが1となる。

【標準仕様との関連】
COBOL2002 言語 標準仕様編 4.2.1(2)(d) 表意定数の値