ADELIA |
VADELIA |
SADELIA |
WADELIA |
MADELIA |
(I/B) |
(I/B) (C/S) |
(B) (S) |
(I/B) (C/S) |
(I) (C/S) |
Section for use
All
Syntax
MOVE_ARRAY Array VarId
MOVE_ARRAY VarId Array
MOVE_ARRAY Array Array
MOVE_ARRAY 'Constant' Array
Description
The following movements are allowed:
- Array - Variable - Array - Constant |
Þ Variable Þ Array Þ Array Þ Array |
The two parameters in this instruction must be alphanumeric.
The data movement starts with the first array element (if the array is not indexed), or with the specified element (if the array is indexed).
The data movement is complete when the number of characters moved is equal to the shortest length between the first and second parameter of the instruction.
The movement can end in the middle of an array element.
Important note: This instruction affects the entire array, and not just an element of that array. If you wish to work with a particular element, use the standard assignment as follows:
I = 5
ARR(I) = value or ARR(5) = value
If you wish to assign the same value to each element in an array, use the assignment: ARR = value.
ARR = value.
If you want to assign together two tables of the same size, matching them element for element, you should use the assignment:
TBL1 = TBL2.
Example
* Let's assume that ARR_DAYS is a seven elements array (three characters each)
ARR_DAYS = *BLANK
MOVE_ARRAY 'MonTueWedThuFriSatSun' ARR_DAYS
*
* this may also be written as follows:
J = 1
MOVE_ARRAY 'MonTueWedThuFriSatSun' ARR_DAYS(J)
*
* moving a part of the array (from element # 4)
J = 4
MOVE_ARRAY 'ThuFriSatSun' ARR_DAYS(J)
*
MOVE_ARRAY ARR_DAYS(1) WORK_FIELD
(work field is then equal to 'MonTueWedThuFriSatSun')
*
WORK_FIELD = *BLANK
MOVE_ARRAY ARR_DAYS(3) WORK_FIELD
(work field is then equal to 'WedThuFriSatSun ')
*
WORK_FIELD = 'AAABBBCCCDDDEEEFFFGGG'
MOVE_ARRAY ARR_DAYS(3) WORK_FIELD
(work field is then equal to 'WedThuFriSatSunFFFGGG')