Group Moves

A group move is one in which one or both of the sending and receiving items are group items. A group move is treated exactly as though it were an alphanumeric elementary move, except that there is no conversion of data from one form of internal representation to another. In a group move, the receiving item is filled without consideration for the individual elementary items contained within either the sending item or the receiving item. All group moves are valid.

IBM Extension
IBM Extension

In the following discussion, on the MOVE statement and pointers, pointers refers to both the pointer data item (USAGE POINTER) and the procedure-pointer data item (USAGE PROCEDURE-POINTER).

A pointer can be part of a group that is referred to in a MOVE statement.

A pointer move occurs when all of the following conditions are met:
  • The sending or receiving item of a MOVE statement contains a pointer
  • Both items are at least 16 bytes long and properly aligned
  • Both are alphanumeric or group items

If the items being moved are 01-level items, or part of a 01-level structure, they must be at the same offset relative to a 16-byte boundary. All 01-level items in Working-storage are aligned on 16-byte boundaries.

For more information about pointer alignment, see Pointer Alignment.

A pointer can be part of a group that is referred to in a MOVE CORRESPONDING statement; however, movement of the pointer will not take place.

End of IBM Extension
End of IBM Extension