Hola Jaime:
No se si lo he entendido bien, corrigeme si me equivoco:
Tienes un programa que recibe 2 parámetros ¿alfanuméricos?, el primero es el
nombre de la variable a cambiar y el otro el valor que debes cambiar.
El problema lo tienes con los campos numéricos empaquetados, supongo que la
pega se genera porque el registro completo lo estás leyendo como un sólo campo
y a través de la DS sabes donde empieza cada campo y su longitud ¿es así?.
Si voy bien con estas suposiciones el problema es que el valor, cuando es
numérico, y además es empaquetado, tu lo estás recibiendo como alfanumérico (o
numérico desempaquetado que prácticamente es lo mismo), y lo que necesitas es
empaquetar el parámetro en memoria pero no como numérico sino como alfanumérico
para asi poder actualizar el campo del registro que, físicamente está
empaquetado, pero que el programa lo lee como alfanumérico.
¿Es este el planteamiento?, lo pregunto porque yo también tengo dudas y me
gustaría aclararlas antes de empezar a decir bobadas.
Un saludo.
Juanra
----- Original Message -----
From: Fernando Pérez
To: forum.help400
Sent: Thursday, January 31, 2008 5:48 PM
Subject: Re: Actualizar un campo numérico tipo P...Fernando Pérez
Caray, pues ahí sí que se pone la cosa bastante complicada. Supongo que con
variables auxiliares de los distintos tamaños posibles se podría solventar el
tema, pero no de una forma elegante.
Lo que no acabo de imaginar es qué situación requiere ese tipo de
funcionamiento. Si no es indiscreción, ¿Podrías detallarlo un poco? Así
tranquilizamos mi curiosidad y a lo mejor encontramos una solución alternativa
(si la cosa va de parámetros que pueden ser de cualquier tipo de datos, con
punteros se podría solventar, dependiendo de vuestras necesidades).
Saludos.
Fernando Pérez
Cerámica Saloni. Dpto. Auditoría y Organización
Jaime Villa Torres escribió:
Ese no es el problema, tienes el programa que le ingresan dos parámetros,
un parámetro que contiene el nombre de la variable a actualizar y otro con el
valor, par a todos los campos sabemos la posición inicial de cada campo en la
ds y utilizando %subst, actualizamos el campo, pero esta forma no sirve para
campos numéricos empaquetados.
Gracias otra vez.
----- Original Message -----
From: Fernando Pérez
To: forum.help400
Sent: Thursday, January 31, 2008 3:24 AM
Subject: Re: Actualizar un campo numérico tipo P
5 es el tamaño que ocupa en memoria, pero el campo es de 8 dígitos.
Solo tendrás problemas si lo quieres actualizar con MOVE/MOVEL, en cuyo
caso tendrás que usar una variable del mismo tipo (8p 0). Si utilizas ADD,
Z-ADD, EVAL o la asignación en formato libre (por ejemplo, variable = *date) no
tendrás ningún problema.
Saludos.
Fernando Pérez
Cerámica Saloni. Dpto. Auditoría y Organización
Jaime Villa Torres escribió:
Señores tengo el siguiente problema-
Exite un pgm con una ds de un archivo
d dsarchivo e ds extname(archivo)
a este programa llega un nombre de variable de esta ds del archivo y un
valor, cuando el campo es alfa o numérico desempaquetado no hay problema con el
procedimiento que tenemos para actualizar el campo, pero cuando este es
numérico empaquetado no hemos encotrado la forma de actualizar dicho campo.
Ejemplo, el campo fecha de 8p 0, este en el sistema realmente es de 5,
y el valor que tengo es 20080125, como volverlo empaquetado.???
Una solucion es realizar un select por cada campo, pero no es practico,
dependiendo del numero de campos que tenga el archivo. en este caso, el archivo
tiene mas de 400 campos y si cambia el archivo, se debe cambiar el select, no
es nada dinámico.
Cualquier consejo es bien venido.
Gracias como siempre. __________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400