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

Responder a