AS/400 - Estructura de datos externa cambia letras del alfabeto por números en campos numéricos

 
Vista:

Estructura de datos externa cambia letras del alfabeto por números en campos numéricos

Publicado por Edwin Luqueiro (1 intervención) el 23/06/2018 00:15:26
Buenas tardes.
Necesito leer un archivo de un solo registro validar las 2 primeras posiciones y si pasa la validación pasar el registro a un archivo con estructura, hasta ahí normal.
Declare una estructura de datos externa que contiene los campos del archivo con estructura:
CAMPOSARC E DS EXTNAME(ARCHIVO:*OUTPUT)

El archivo con estructura contienen campos tanto numéricos como alfa, requiero guardar los registros inconsistentes en un archivo distinto, para esto utilize la función MONITOR:

MONITOR
CAMPOSARC = DATOS ;
WRITE ARCHIVO CAMPOSARC ;
ON-ERROR ;
EXSR REGISTRAINSISTENCIA ;
ENDMON ;

Mi problema es que cuando vienen letras del alfabeto en posiciones que corresponden a campos números en lugar de ir por ON-ERROR las remplaza por números y escribe el registro, por ejemplo A se replaza por 1, b por 2 y así, esto no pasa con carácteres distintos solo con las letras del alfabeto.

Esto me genera data errónea y estos registros deberían quedar en el archivo de inconsistencias.

Agradecería su ayuda para solucionar esto puesto que ya e probado con varios ajustes y no e dado con la solución.
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