Cobol - suma de varibles

 
Vista:

suma de varibles

Publicado por Freesbee (2 intervenciones) el 02/03/2001 02:22:36
Tengo dos variables declaradas asi.
77 a pic x(30).
77 b pic x(30).
y una tercera asi.
77 c pic x(60).
¿como hago para que la suma de a + b me aparezca en c?
si a vale 'hola' y b vale 'mundo' en c quiero que aparezca 'holamundo', me explico?.
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:suma de varibles

Publicado por ignacio (1 intervención) el 02/03/2001 14:08:52
Hola,
lo que hago yo cuando quiero unir dos o mas variables alfanumericas, es construir una rutina que me lea cada variable caracter por caracter y las guardo en una tercera que tenga el largo de la que quiero por resultado. Cuando leo caracter a caracter voy preguntando si la ubicacion es igual a blanco y la ubicacion siguiente tambien es blanco, en ese caso salgo de la rutina y continuo con la otra variable.
ojala me entiendas, en caso contrario enviame un correo y podria enviarte una rutina.
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

RE:suma de varibles

Publicado por Victor Machuca (4 intervenciones) el 02/03/2001 14:17:34
WORKING
77 A PIC X(30).
77 B PIC X(30).
01 C.
05 C1 PIC X(30).
05 C2 PIC X(30).

PROCEDURE DIVISION
MOVE A TO C1
MOVE B TO C2
DISPLAY C

Estoy suponiendo que A y B son necesarias, de lo contrario te vastaria con aceptar la información en C1 y C2 y luego trabajar con C
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

RE:suma de varibles

Publicado por FreesBee (1 intervención) el 03/03/2001 03:22:22
Ya prové esto y no es exactamente lo que quiero.
porque si.
A es igual a "Hola" y B es igual a "Mundo" y hago lo que tu dices obtengo en C algo como:
"Hola Mundo "
es la cantidad de espacio entre Hola y Mundo lo que me molesta.
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

RE:suma de varibles

Publicado por Victor Machuca (4 intervenciones) el 07/03/2001 15:35:50
Para manejar los espacios, tienes que realizar la siguiente definicion
01 PP.
05 PP1 pic x(30).
05 PP2 pic x(30).
01 PPP redefines PP.
05 PPP1 occurs 60 times pic x.
con esta definicion tu al realizar un movimiento como el que querias
move "hola" TO PP1
move "mundo" TO PP2
cargas al mismo tiempo el vector "PPP" con la misma información y como cada posición del vector es de largo 1, puedes recorrerlo y sacar los espacios. Para esto puedes crear otro vector donde solo traspases los caracteres validos
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

RE:suma de varibles

Publicado por Claudio Munoz (3 intervenciones) el 04/03/2001 05:22:55
Yo haria lo siguiente:

Initialize c
String a delimited by " "
b delimited by " "
into c
Display c.

Lo que tengo entre las comillas son 2 espacios, aunque bastaria con uno.

Salu2.
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

RE:suma de varibles

Publicado por FreesBee (2 intervenciones) el 04/03/2001 18:14:57
Funcionó perfecto, gracias!
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

RE:suma de varibles

Publicado por Alfonso (1 intervención) el 31/03/2001 15:13:56
He estado mirando todas las respuestas y aunque la última me parece muy buena y bastante simple, cuando cualquiera de las 2 variables de entrada tengan más de 2 espacios entre palabras NO funcionaría bien.

Prueba esto a ver si te funciona:
77 A PIC X(30).
77 B PIC X(30).
77 C PIC X(60).
77 L PIC 99.
77 M PIC 99.
* ESTAS 2 VARIABLE NUMERICAS SON PARA SABER HASTA * DONDE TIENEN CARACTERES LAS VARIABLE A y B.

PROCEDURE DIVISION.
.
.
.
PERFORM VARYING L FROM 30 BY -1
UNTIL A(L:1) NOT = SPACE OR L = 0.
PERFORM VARYING M FROM 30 BY -1
UNTIL B(M:1) NOT = SPACE OR M = 0.

* SI L o M TOMAN VALOR 0 ES QUE A o B ESTÁN VACIAS

INITIALIZE C.
STRING A(1:L) B(1:M) DELIMITED BY SIZE
INTO C.

Espero que te funcione, ya me contarás.
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

RE:suma de varibles

Publicado por Super Indio (1 intervención) el 15/05/2001 21:23:31
A ver Gente Cobolera y de buena Voluntad !!!

Al tratar un cursor
*******************
Al Abrirlo necesito saber la cantidad de filas que selecciono sin hacer ningun Fetch ?????

Mil Gracias
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