MOVE(転記)文は、編集規則に従って、データをいくつかのデータ領域に移す。
オブジェクト参照データ項目、プログラムポインター データ項目、
ポインター データ項目、手続きポインター データ項目
入力ポインター データ項目、モニターポインター データ項目、ミューテックスポインター データ項目、セマフォポインター データ項目、およびスレッドポインター データ項目
は、MOVE文の作用対象にすることはできない。
ポインター データ項目、手続きポインター データ項目、
オブジェクト参照データ項目、プログラムポインター データ項目、
イベントポインター データ項目、モニターポインター データ項目、ミューテックスポインター データ項目、セマフォポインター データ項目、およびスレッドポインター データ項目
一意名-1が部分参照されているか、添字付けされているか、あるいは関数一意名である場合、その部分参照、添字、関数一意名の評価は、受取り側作用対象の最初のデータに転記が行われる直前に、1回だけ行われる。
下記の文は
MOVE a(b) TO b, c(b)
下記の3つの文に相当する。
MOVE a(b) TO temp MOVE temp TO b MOVE temp TO c(b)
ここで、temp
は中間結果を保持する項目であり、COBOLコンパイラによって用意される。
各国語、各国語編集、
または浮動小数点数
これらの項類はPICTURE句に説明してある。数字定数は、数字の項類に属する。文字定数は、英数字の項類に属する。表意定数のZEROは、数字項目または数字編集項目に転記される場合は数字の項類に属し、それ以外の場合には英数字の項類に属する。表意定数のSPACEは、英数字の項類に属する。その他の表意定数は、すべて英数字の項類に属する。
これらの項類の間の基本項目転記に関して、下記の規則が適用される。
この制限は撤廃された。
または暗黙的に示されている逆編集
も併せて行われる。
送出し側の項目の項類が数字編集である場合、その項目の編集されていない値を取り出すために、暗黙の逆編集が行われる。逆編集された値には、符号が付くことがある。次いで、編集されていない値が受取り側の項目に転記される。逆編集の効果は、DE-EDIT指令の影響を受ける。
受取り側の項目が符号付きの数字である場合、送出し側の符号は受取り側項目に転記される。(データ部 - ファイルおよびデータ記述の章のSIGN(符号)句SIGN(符号)句節を参照。) 必要に応じて、符号の表現形式の変換が行われる。送出し側の項目に符号が付いていない場合には、受取り側項目用に正符号が付加される。
受取り側の項目が符号なしの数字である場合、送出し側の項目の絶対値が受取り側の項目に転記され、符号は付けられない。
送出し側の項目の項類が英数字である場合、送出し側の項目が符号なしの整数として記述されているように、データが転記される。
受取り側の項目が数字または数字編集であり送出し側の項目が英数字である場合、送出し側の項目の内容が整数でないと、結果はどうなるかわからない。送出し側の英数字項目が整数でない文字定数である場合は、エラーが報告されて、ゼロがその対象に転記される。(手続き部の章の矛盾するデータ節を参照。)
送出し側の項目が数字である場合、転記し戻すと数字編集項目に同じ値が現れるように転記操作が行われる(ただし、切り捨てが発生した場合は除く)。このデータ項目に編集文字列に適合しないデータが含まれる場合、受取り側にはゼロが転記される。
受取り側の項目が各国語である場合、送出し側の項目も2バイト文字または各国語でなければならない。送出し側の項目の大きさと受取り側の項目の大きさが異なる場合は、送出し側の項目の右側が切り捨てられるか、受取り側の項目の右側に各国語の空白が埋められる。
この処理は、各宛先集団ごとに繰り返される。
送出し側のデータ項目の項類 | 受取り側のデータ項目の項類1 | |||||||
---|---|---|---|---|---|---|---|---|
英字 | 英数字/英数字編集 | 数字(整数/非整数) | 数字編集外部/内部浮動小数点数 | 各国語 | 非NCHAR DBCS | NCHAR DBCS | ブーリアン | |
英字 | Yes/4c | Yes/4a | No/3a | No/3a | Yes | No/4e | Yes | No/3f |
英数字 | Yes/4c | Yes/4a | Yes/4b2 | Yes/4b | Yes | No/4e | Yes | Yes/3e |
英数字編集 | Yes/4c | Yes/4a | No/3a | No/3a | Yes | No/4e | Yes | No/3f |
数字:整数 | No/3b | Yes/4a | Yes/4b | Yes/4b | No | No/4e | No | No/3f |
数字:非整数 | No/3b | No/3c | Yes/4b | Yes/4b | No | No/4e | No | No/3f |
数字編集 | No/3b | Yes/4a | Yes/4b | Yes/4b | Yes/4b | No/4e | Yes | No/3f |
各国語 | No | No | Yes | Yes | Yes | Yes | Yes | No |
非NCHAR DBCS | No/4e | No/4e | No/4e | No/4e | Yes | Yes/4e | Yes | No/3f |
NCHAR DBCS | Yes | Yes | Yes | No | No | Yes | Yes/4e | No |
ブーリアン | No/3c | Yes/4a | No/3b | No/3b | No | No/3g | No | Yes/4f |
1 | 各欄に該当する一般規則の番号を示す。 |
2 | 非整数の英数字定数が送出し側として使用された場合、エラーとなる。 |