Imprimiendo en dos columnas
Se supone que formamos una serie de nombres que ocurren 108 veces. Se supone que tenemos el nombre 1-54 en la columna de la izquierda y los nombres 55-108 en la columna de la derecha. Después de haber habido 108 nombres para una página, inicializamos nuestra matriz y comenzamos de nuevo. La salida de mi código muestra los nombres 1-54 impresos y, en lugar de estar en la misma página y al lado de los nombres 1-54, los nombres 55-108 en la columna de la derecha pero después de los nombres 1-54. Cualquier pensamiento sería apreciado grandemente
Aquí está algo de mi código:
PERFORM UNTIL ARE-THERE-MORE-RECORDS = 'NO '
READ NAMELIST-FILE-IN
AT END
MOVE 'NO ' TO ARE-THERE-MORE-RECORDS
NOT AT END
PERFORM 200-PROCESS-ONE-RECORD
END-READ
END-PERFORM
CLOSE NAMELIST-FILE-IN
CLOSE NAMELIST-FILE-OUT
STOP RUN.
200-PROCESS-ONE-RECORD.
ADD 1 TO NAME-SUB
MOVE NAME-IN TO NAME-1 (NAME-SUB)
PERFORM 220-MOVE-RECORDS.
220-MOVE-RECORDS.
IF NAME-SUB <= 54
MOVE NAME-1 (NAME-SUB) TO LEFT-LABEL
MOVE SPACES TO RIGHT-LABEL
END-IF
IF NAME-SUB >= 55
MOVE NAME-1 (NAME-SUB) TO RIGHT-LABEL
MOVE SPACES TO LEFT-LABEL
END-IF
MOVE DETAIL-LINE TO NAMELIST-RECORD-OUT
WRITE NAMELIST-RECORD-OUT
AFTER ADVANCING 1 LINE
IF NAME-SUB >= 108
MOVE SPACES TO DETAIL-LINE
MOVE ZERO TO NAME-SUB
PERFORM 300-WRITE-HEADING
END-IF.
He codificado todas las entradas correctas de ALMACENAMIENTO DE TRABAJO para acomodar la información. ¿Sabe si hay algún problema con la forma en que escribo la línea de detalles o es la forma en que estoy procesando mis datos?