DS AuxValor 1 20 A AuxPack 1 200P
AuxPack= %dec(%trim(Valor)); en aux valor tiene el campo en alfanumerico con formato empaquetado, ya lo puedes guardar como si fuera un campo alfabetico. -----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nombre de Jaime Villa Torres Enviado el: lunes, 04 de febrero de 2008 14:01 Para: [EMAIL PROTECTED]; forum.help400 Asunto: Re: Actualizar un campo numérico tipo P...Fernando Pérez Si tienen en un campo alfa 1234567 y lo ingresar como en el ejemplo que envié, en un campo de 7.2 el valor se almacena de una forma correcta en el campo. Respecto a la pregunta si sabemos en el programa el número de decimales. ----- Original Message ----- From: Vicente Gomez (P.Blatem to help400) (E-mail) To: 'forum.help400' Sent: Monday, February 04, 2008 4:50 AM Subject: RE: Actualizar un campo numérico tipo P...Fernando Pérez ¿Sabeis la cantidad de decimales que tiene el campo numerico empaquetado? -----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nombre de Jaime Villa Torres Enviado el: viernes, 01 de febrero de 2008 3:24 Para: forum.help400 Asunto: Actualizar un campo numérico tipo P...Fernando Pérez Nicolás y Juan Ramón, gracias por la respuesta, pero la sentencia MOVE AUXPacked TuCampoDS, no aplica, ya que tendrías que realizarlo por cada campo, y eso no es dinámico. Imagina el siguiente programa d dsmiarchivo e ds extname(archivo) c *entry plist c parm nomvar 10 nombre de la variable c parm valor 50 valor de la variable c parm close //free If close <> 'C' .... .... con los datos de la *InzSr, buscamos la información correspondiente al campo ingresado y.... %substs(Dsmiarchivo:poscision inicial:longitud en bytes) = %trim(valor); ... ESTO FUNCIONA PERFETAMENTE EN LA MAYORIA DE LOS ARCHIVOS, YA QUE LA APLICACIÓN DONDE SE APLICA CASI TODO ES ALFANUMERICO...PERO LLEGO LA EXCEPCIÓN, UN CAMPO EMPAQUETADO. Else; cuando termina de actualizar el el registro. envia a un programa el parámetro Dsmiarchivo, y este último programa realiza otras acciones con el registro. *Inlr = *on; EndIf; Return Begsr *InzSr; en este punto utilizamos un api, de la empresa, que genera la información de todos los campos del archivo y nos devuelve, la posición inicial del campo, la longitud en bytes y la longitud real. EndSR; ....... ----- Original Message ----- From: Nicolas Machado To: forum.help400 Sent: Thursday, January 31, 2008 12:21 PM Subject: Re: Actualizar un campo numérico tipo P...Fernando Pérez Hola Jaime, aver que te parece esta idea. Podes utilizar la funcion %DEC para convertir un valor a una campo Packed. Supongo que recibes 2 parametros, entro otros: VAriable (Alfanumerico de x posiciones) Valor (Alfanumerico de x Posiciones ) Entonces ... Si la VAriable es = 'TuCAmpoPacked' MOVE VALOR AUXZoned Zoned de igual tamaño en longitud a VALOR, sin Decimales AuxPAcked = %DEC(AUZZoned) MOVE AUXPacked TuCampoDS Endif No se si funcionaria, es un idea. Quiza hasta puedas hacer algo para saber si un campo es packed con alguna funcion ... Y no haces el IF. Espero te sirva la idea. Saludos Nicolas 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&#225;s de NEWS/400. &#169; 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 -------------------------------------------------------------------- __________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; 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 ---------------------------------------------------------------------- __________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; 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 -- .::. Nicolas Machado Metodo Argentina S.A. _____________________ ------------------------------------------------------------------------ __________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; 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 ---------------------------------------------------------------------------- __________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; 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
__________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; 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

