RE:STRING: ELIMINAR BLANCOS
Hola
Mira si las Variables alfanumerica tienen valoes con blancos en el medio
como por ejemplo: 01 DOMICILIO PIC X(60) VALUE "SAN MARTIN 4567 PB DPTO A".
entonces te hace falta un algoritmo como este:
01 W-Works.
03 W Pic 9(02) Value 0.
03 X Pic 9(02) Value 0.
03 WPos Pic 9(02) Value 0.
03 W-FRASE Pic X(25) Value Spaces.
01 W-Salida Pic 9(01) Value 0.
88 SalgoBucle Value 9.
01 MiFrase.
03 Frase.
05 F1 Pic X(25) Value "Yo Los Conozco,".
05 F2 Pic X(25) Value "Son Ocho Los Monos,".
05 F3 Pic X(25) Value "Son Todos Los Trolos,".
05 F4 Pic X(25) Value "Lolo, Pololo, Montoto".
05 F5 Pic X(25) Value "Corolo, Bartolo, ".
05 F6 Pic X(25) Value "Son Todos Chorros".
03 OFrase REDEFINES Frase OCCURS 6 TIMES.
05 EFr PIC X(25).
01 Frase-Final Pic x(150) Value Spaces.
Procedure Division.
Main-Cobol.
Perform Varying W From 1 By 1 Until W > 6
MOVE Efr(W) TO W-FRASE
MOVE Zeros TO Wpos, W-Salida, X
Perform Varying X From 25 By -1 Until X = 0 Or SalgoBucle
If W-FRASE(X : 1) NOT = SPACES Then
Move X TO WPos
SET SalgoBucle TO TRUE
Compute Wpos = Wpos + 1
End-If
End-Perform
MOVE "_" TO W-FRASE(WPos : 1)
Move W-FRASE TO Efr(W)
Display W-FRASE
End-Perform.
STRING F1 " "
F2 " "
F3 " "
F4 " "
F5 " "
F6 DELIMITED BY "_" INTO Frase-Final
END-STRING.
Display Frase-Final.
/*------------------------------------------------------------*/
Si los valores a unir con el STRING no tienen " " en el medio:
01 USUARIO.
03 APELLIDO PIC X(20) VALUE "ISMAEL"
03 NOMBRES PIC X(30) VALUE "ELIAS"
03 ALIAS PIC X(15) VALUE "SUPERINDIO"
In This case debes el STRING ES mas facil
STRING APELLIDO "_"
NOMBRES "_"
ALIAS "_"
DELIMITED BY SPACES INTO W-USUARIO
END-STRING
INSPECT W-USUARIO REPLACING ALL "_" BY " ".
Display W-USUARIO
Y listo