La semántica de MOVE en COBOL
MOVE ajusta el emisor al receptor: rellena con espacios hacia un lado, corta hacia el otro.
IDENTIFICATION DIVISION.
PROGRAM-ID. MOVE-SEMANTICS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 LONG-NAME PIC X(12) VALUE "Persephone".
01 WIDE-NAME PIC X(16).
01 SHORT-NAME PIC X(6).
PROCEDURE DIVISION.
*> MOVE fits the sender to the receiver: pad with spaces, or cut.
MOVE LONG-NAME TO WIDE-NAME
MOVE LONG-NAME TO SHORT-NAME
DISPLAY "Padded: [" WIDE-NAME "]"
DISPLAY "Truncated: [" SHORT-NAME "]"
STOP RUN.
Cómo funciona
- Tres campos alfanuméricos difieren solo en ancho: 12, 16 y 6 caracteres.
- Mover al campo ancho justifica a la izquierda y rellena con espacios al final.
- Mover al campo angosto conserva los seis caracteres izquierdos y descarta el resto.
Palabras clave y builtins usados aquí
DATADISPLAYDIVISIONIDENTIFICATIONMOVEPROCEDURESECTIONSTOP
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 416
- Tokens
- 50
- Ritmo de tres estrellas
- 40 tpm
Al ritmo de tres estrellas de 40 tokens por minuto, este intento toma unos 75 segundos.
Paso 1 de 3 en Mover datos; paso 7 de 27 en Fundamentos del lenguaje.