ILE COBOL 解説書

MOVE ステートメントの規則

+----------------------------------IBM 拡張----------------------------------+

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

+------------------------------End of IBM 拡張-------------------------------+

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

+----------------------------------IBM 拡張----------------------------------+

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

+------------------------------End of IBM 拡張-------------------------------+

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


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]