MOVE OLD-AIDX TO NEW-AIDX
MOVE OLD-A-NUM TO NEW-A-NUM.
MOVE OLD-A-DEPT TO NEW-A-DEPT
MOVE OLD-A-CDE TO NEW-A-CDE
MOVE OLD-A-TYPE-CDE TO NEW-A-TYPE-CDE
MOVE OLD-A-RECD-NUM TO NEW-A-RECD-NUM
MOVE OLD-A-DATA-AREA TO NEW-A-DATA-AREA
MOVE OLD-A-DATA(OLD-AIDX) TO
MOVE OLD-A-SHORT-REC TO
In case you did not read the meaning of a file status 44 in the COBOL Language Reference manual:
| | | 4 | A boundary violation exists because an attempt was made to rewrite a |
| | | | record to a file and the record was not the same size as the record being |
| | | | replaced. Or an attempt was made to write or rewrite a record that was |
| | | | larger than the largest or smaller than the smallest record allowed by |
| | | | the RECORD IS VARYING clause of the associated file-name.
Once you read this, you will realize that absolutely nothing you posted is helpful. The issue is NOT with the MOVE statements, the problem is that you have not properly specified the record length in your DATA DIVISION.