Cobol - HEXADECIMALES EN COBOL

   
Vista:

HEXADECIMALES EN COBOL

Publicado por ISMAEL (1 intervención) el 17/03/2010 15:00:38
Hola, necesito ayuda en lo siguiente :
Resulta que estoy trabajando en Cobol para AS-400 y tengo un programa que recibe como único parámetro un string de largo 100, el tema es que necesito validar caracter x caracter si en el string que recibe el programa viene un caracter tipo NULL, el cual viene a corresponder al caracter X'00' en hexadecimal.

Entonces lo que necesito hacer es :
1.- Recibo el parametro BUFFER_IN (donde buffer_in el PIC X(100)
Ejemplo
BUFFER_IN ="'ESTE ES 1 MENSAJE DE PRUEBA"

2.- Traducir cada uno de los caracteres de BUFFER_IN a caracteres HEXADECIMALES.

Favor si alguien me puede ayudar se los agradeceria,
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
información
Otras secciones de LWP con contenido de Cobol
- Código fuente de Cobol
- Cursos de Cobol
- Temas de Cobol
- Chat de Cobol
información
Códigos de Cobol
- Buscaminas
- Juego de Memoria
- Gestión de videoclub

RE:HEXADECIMALES EN COBOL

Publicado por Pakito (4 intervenciones) el 17/03/2010 19:37:58
¿Necesitas realmente pasar a hexadecimal? El carácter NULL se corresponde con el valor 0 en el código ASCII. Si lo que quieres es comprobar si hay un carácter nulo en el string, mira los caracteres uno a uno para ver si uno de ellos es cero.

Saludos,
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:HEXADECIMALES EN COBOL

Publicado por OSCAR (37 intervenciones) el 22/03/2010 22:33:21
Para solucionar el problema que planteas yo haría:
01 CERO PIC 99 BINARY VALUE 0.
01 CE-RO REDEFINES CERO.
03 PIC X.
03 NULO PIC X..
01 X pic 999.

01 CADENA.
03 CC PIC X OCCURS 100 TIMES.

Luego de recibida la cadena para averiguar donde está el caracter NULL compara cada campo CC de la cadena
______MOVE 0 TO X
______PERFORM UNTIL CC(X) = NULO
_________ADD 1 TO X
______ END-PERFORM..
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