 
 
 
 If the sending or receiving item is a pointer data item or an ADDRESS OF operand, then the other operands of the MOVE statement must also be pointer data items or ADDRESS OF operands or, in the case of the sending item, NULL.
 If the sending or receiving item is a pointer data item or an ADDRESS OF operand, then the other operands of the MOVE statement must also be pointer data items or ADDRESS OF operands or, in the case of the sending item, NULL.  If the sending or receiving item is an object reference, a program-pointer, an entry-pointer, a monitor-pointer, a mutex-pointer, a semaphore-pointer or a thread-pointer, then all other operands of the MOVE statement must be of the same type or, in the case of the sending item, NULL.
 If the sending or receiving item is an object reference, a program-pointer, an entry-pointer, a monitor-pointer, a mutex-pointer, a semaphore-pointer or a thread-pointer, then all other operands of the MOVE statement must be of the same type or, in the case of the sending item, NULL. 
 If either the sending or receiving item is a DBCS (USAGE DISPLAY-1) item, then both must be DBCS items. The figurative constant SPACE can be the DBCS sending item.
 If either the sending or receiving item is a DBCS (USAGE DISPLAY-1) item, then both must be DBCS items. The figurative constant SPACE can be the DBCS sending item. 

 When Format 1 is specified, all identifiers can be either group or elementary items. The data in the sending area is moved into the data item referenced by each identifier-2 in the order in which it is specified.
 When Format 1 is specified, all identifiers can be either group or elementary items. The data in the sending area is moved into the data item referenced by each identifier-2 in the order in which it is specified.  Identifier-1 may be a numeric function-identifier.
 Identifier-1 may be a numeric function-identifier. 
 POINTER, PROCEDURE-POINTER
 POINTER, PROCEDURE-POINTER 
 OBJECT-REFERENCE, PROGRAM-POINTER
  OBJECT-REFERENCE, PROGRAM-POINTER  EVENT-POINTER, MONITOR-POINTER, MUTEX-POINTER, SEMAPHORE-POINTER, THREAD-POINTER.
  EVENT-POINTER, MONITOR-POINTER, MUTEX-POINTER, SEMAPHORE-POINTER, THREAD-POINTER.  If identifier-1 is a numeric function-identifier, then identifier-2 must be either a numeric or numeric-edited item.
 If identifier-1 is a numeric function-identifier, then identifier-2 must be either a numeric or numeric-edited item.  If identifier-1 is reference modified, subscripted, or is a function-identifier, the reference modifier, subscript, or function-identifier is evaluated only once, immediately before data is moved to the first of the receiving operands.
 If identifier-1 is reference modified, subscripted, or is a function-identifier, the reference modifier, subscript, or function-identifier is evaluated only once, immediately before data is moved to the first of the receiving operands. 
 The result of the statement:
 The result of the statement: 
 
 MOVE a(b) TO b, c(b)
 is equivalent to:
 is equivalent to: 
 
 MOVE a(b) TO temp MOVE temp TO b MOVE temp TO c(b)
 where temp is an intermediate result item provided by your COBOL system.
 where temp is an intermediate result item provided by your COBOL system. 

 national, national-edited, boolean
 national, national-edited, boolean 


 or floating-point.
 or floating-point. 
These categories are described in the PICTURE clause. Numeric literals belong to the category numeric, and nonnumeric literals belong to the category alphanumeric. The figurative constant ZERO belongs to the category numeric when moved to a numeric or numeric-edited item. The figurative constant ZERO belongs to the category alphanumeric in all other cases. The figurative constant SPACE belongs to the category alphabetic. All other figurative constants belong to the category alphanumeric.
The following rules apply to an elementary move between these categories:

 , or boolean
 , or boolean 
 This restriction is removed.
 This restriction is removed. 

 , or a boolean data item
 , or a boolean data item

 , or boolean data item
 , or boolean data item

 If identifier-2 is a boolean data item, it can only receive figurative constants whose associated characters are boolean characters.
 If identifier-2 is a boolean data item, it can only receive figurative constants whose associated characters are boolean characters. 

 An alphabetic, alphanumeric-edited, numeric, or national data item must not be moved to a boolean data item.
 An alphabetic, alphanumeric-edited, numeric, or national data item must not be moved to a boolean data item. 

 A boolean data item must not be moved to a national data item.
 A boolean data item must not be moved to a national data item. 
 , or de-editing implied by,
 , or de-editing implied by, 
 When the sending operand is numeric-edited, de-editing is implied to establish the operand's unedited numeric value, which can be signed; then the unedited numeric value is moved to the receiving field. The effect of de-editing depends on the setting of the DE-EDIT Compiler directive
 When the sending operand is numeric-edited, de-editing is implied to establish the operand's unedited numeric value, which can be signed; then the unedited numeric value is moved to the receiving field. The effect of de-editing depends on the setting of the DE-EDIT Compiler directive 
When a signed numeric item is the receiving item, the sign of the sending item is placed in the receiving item. (See the topic The SIGN Clause.) Conversion of the representation of the sign takes place as necessary. If the sending item is unsigned, a positive sign is generated for the receiving item.
When an unsigned numeric item is the receiving item, the absolute value of the sending item is moved and no operational sign is generated for the receiving item.
When a data item described as alphanumeric is the sending item, data is moved as if the sending item were described as an unsigned numeric integer.
When the receiving item is numeric or numeric-edited and the sending item is defined as alphanumeric, if the content of the sending item is not an integer, the results of the move are undefined. If the alphanumeric sending item is a literal whose contents do not represent an integer, an error is reported, and zero moved to the target. (See the topic Incompatible Data in the chapter Procedure Division.)
 When the numeric data item is the sending item the action of the move is such that a reverse of the move would cause the same value to appear in the numeric-edited field (except for truncation). If the data item contains data which does not conform to the edited picture, zero is moved to the target.
 When the numeric data item is the sending item the action of the move is such that a reverse of the move would cause the same value to appear in the numeric-edited field (except for truncation). If the data item contains data which does not conform to the edited picture, zero is moved to the target. 


 When the receiving field is floating-point, the sending item is converted first to internal floating-point and then moved. When data is moved to or from an external floating-point item, the data is converted first to or from its equivalent internal floating-point value.
 When the receiving field is floating-point, the sending item is converted first to internal floating-point and then moved. When data is moved to or from an external floating-point item, the data is converted first to or from its equivalent internal floating-point value. 
 When the receiving field is DBCS the sending item must be DBCS or national; no conversion takes place. If the sending and receiving items are not the same size the data item is either truncated or padded with DBCS spaces on the right.
 When the receiving field is DBCS the sending item must be DBCS or national; no conversion takes place. If the sending and receiving items are not the same size the data item is either truncated or padded with DBCS spaces on the right. 

 When the receiving field is national the sending item must be DBCS or national; no conversion takes place. If the sending and receiving items are not the same size the data item is either truncated or padded with national spaces on the right.
 When the receiving field is national the sending item must be DBCS or national; no conversion takes place. If the sending and receiving items are not the same size the data item is either truncated or padded with national spaces on the right. 

 When the receiving field is boolean, the boolean value of the sending item is moved, with conversion of data representation if necessary, and any necessary alignment and zero filling as defined in the topic Standard Alignment Rules in the sectionConcepts of the COBOL Language. If the sending field is not boolean, it is treated as if it were a boolean data item with the same usage and number of character positions as the sending field. If the content of the sending field would result in a false value in a boolean class condition, an error is reported (see the topic Incompatible Data in the section Procedure Division.)
 When the receiving field is boolean, the boolean value of the sending item is moved, with conversion of data representation if necessary, and any necessary alignment and zero filling as defined in the topic Standard Alignment Rules in the sectionConcepts of the COBOL Language. If the sending field is not boolean, it is treated as if it were a boolean data item with the same usage and number of character positions as the sending field. If the content of the sending field would result in a false value in a boolean class condition, an error is reported (see the topic Incompatible Data in the section Procedure Division.) 
 The process is repeated for each destination group.
 The process is repeated for each destination group. 
| Category of Sending Item | Category of Receiving Data Items (the relevant rule number is quoted in these columns) | |||||
|---|---|---|---|---|---|---|
| Alphabetic | Alphanumeric-Edited/ Alpha-numeric | Numeric Integer/Non-Integer | Numeric-Edited External/Internal Floating Point | DBCS, national or national-edited | Boolean | |
| Alphabetic | Yes/4c | Yes/4a | No/3a | No/3a | No/4e | No/3f | 
| Alphanumeric | Yes/4c | Yes/4a | Yes/4b2 | Yes/4b | No/4e | Yes/3e | 
| Alphanumeric-Edited | Yes/4c | Yes/4a | No/3a | No/3a | No/4e | No/3f | 
| Numeric Integer | No/3b | Yes/4a | Yes/4b | Yes/4b | No/4e | No/3f | 
| Numeric Non-Integer | No/3b | No/3c | Yes/4b | Yes/4b | No/4e | No/3f | 
| Numeric-Edited | No/3b | Yes/4a | Yes/4b | Yes/4b | No/4e | No/3f | 
| DBCS national or national-edited | No/4e | No/4e | No/4e | No/4e | Yes/4e | No/3f | 
| Boolean | No/3c | Yes/4a | No/3b | No/3b | No/3g | Yes/4f | 
 
 
