MOVE ステートメントの規則

IBM Extension

IBM Extension 送り出し項目または受け入れ項目が DBCS データ項目の場合は、両方とも DBCS 項目でなければなりません。 DBCS 送り出し項目は DBCS リテラルまたは表意定数 SPACE にすることができます。 データ変換が行われない場合、データは切り捨てられるかまたは DBCS スペースで右側から埋められます。 End of IBM Extension

End of IBM Extension

MOVE ステートメントでは、指標データ項目を指定することはできません。

IBM Extension

IBM Extension MOVE ステートメントでは、ポインター・データ項目 (USAGE POINTER) またはプロシージャー・ポインター・データ項目 (USAGE PROCEDURE-POINTER) を指定することはできません。 アドレスをポインターまたはプロシージャー・ポインター・データ項目に移動するには、SET ステートメントを使用してください。 End of IBM Extension

End of IBM Extension

送り出し項目または受け入れ項目の長さの評価は、OCCURS 文節の DEPENDING ON 句によって影響を受けることがあります (OCCURS 文節を参照してください)。

送り出し項目 (ID-1 またはリテラル-1) に関連する長さ評価、添え字付け、参照 変更、または関数は、 データが最初の受け入れ項目に移動される直前に一度だけ 評価されます。 受け入れ項目 (ID-2) に関連する長さ評価、添え字付け、または参照変更は、データが受け入れ項目に移動される直前に評価されます。

例えば、次のステートメント
MOVE A(B) TO B, C(B).
の結果は、次のステートメントの結果と同じです。
MOVE A(B) TO TEMP.
MOVE TEMP TO B.
MOVE TEMP TO C(B).
ここで TEMP は、中間結果項目です。 添え字 B は、最初の転送が行われる時点と最後の C(B) への転送が行われる時点では値が異なります。

MOVE ステートメントの実行後、送り出し項目は、実行前と同じデータを含ん でいます (受け入れ項目が、ストレージで送り出し項目と重複す る場合を除く。重複する場合、その内容は予測不可能です)。