Cobol - STRING: ELIMINAR BLANCOS

 
Vista:

STRING: ELIMINAR BLANCOS

Publicado por MANOLI (1 intervención) el 19/11/2007 12:19:58
Buenas tardes...

Alguien sabe como eliminar espacios en blanco a la derecha de un string?

Un saludo y muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:STRING: ELIMINAR BLANCOS

Publicado por SuperIndio (161 intervenciones) el 19/11/2007 15:43:59
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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar