miércoles, 30 de julio de 2014

Dando Formato de Numero en XML Publisher

Mientras se diseñan los reportes  en XML Publisher, muchas veces tenemos que jugar con los números y cambiar sus formatos, como parte de las necesidades del cliente. He aquí una breve explicación de algunos tips que se debe utilizar al hacer cualquier cambio de formato de número en XML Publisher.

XML Publisher admite dos métodos para especificar el formato de número:
  • Función format-number de Oracle
  • Máscara de formato de número nativo de Microsoft Word
Ahora ... antes de entrar en detalles, por favor recuerde algunas cosas como:

Para utilizar el formato  de Oracle o de Microsoft, los números en el origen de datos (Archivo XML) deben estar en un formato crudo, sin ningún formato aplicado. Utilice sólo uno de estos métodos. Si se especifica la máscara de formato de número utilizando ambos métodos, los datos se formatean dos veces y pueden provocar un comportamiento inesperado.

Si está diseñando una plantilla para ser traducible, en la moneda por la máscara de formato de Microsoft no se recomienda a menos que desee que los datos reportados en la misma moneda para todas las traducciones. El uso de la máscara establece la moneda en la plantilla de modo que no se puede actualizar en tiempo de ejecución.

Cómo utilizar el formato de la máscara de Oracle:
Para aplicar la máscara de formato Oracle a un campo de formulario: 
  1. Hacer doble Clic en un campo PlaceHolder y se abrirá las propiedades de BI Publisher.
  2. Ajuste el tipo de "texto regular".
  3. Dar al botón Agregar Ayuda, ingresar la definición de máscara de acuerdo con el siguiente 
Ejemplo:    <?format-number:NombreCampo;’999G999D99′?>

Donde NombreCampo es el nombre de la etiqueta XML del elemento que se va a formatear y 999G999D99 es la definición de la máscara.




Cómo utilizar el formato de la máscara  de Microsoft: 
Para dar formato a valores numéricos, utilice las características de formato de campo de Microsoft Word disponibles en el cuadro de diálogo Opciones de campo de texto. El siguiente gráfico muestra un ejemplo: 


Para aplicar un formato de número de un campo: 

  1. Ingresar en las Propiedades del campo. 
  2. Cambiar a  Tipo de campo como número 
  3. Desde el cuadro de  Formato de número seleccionar el formato que desee.

Funcion  format-number Nativo de XSL:
También puede utilizar la función de XSL de formato a los números. La función toma el formato básico:

format-number(numero,formato,[decimalformato])

Dónde:
numero (obligatorio) - Especifica el número a ser formateado.
Formato (obligatorio) - Especifica el modelo de formato. 

Utilice los siguientes caracteres para especificar el patrón:


Formato decimal (Opcional) - Para obtener más información sobre el formato decimal consulte cualquier manual básico XSLT. 

Dar formato Moneda: 
Esta es otra de las características de XML Publisher que permite definir máscaras específicas de formato de moneda a aplicar a los datos publicados en tiempo de ejecución. 

Para utilizar el formato de moneda, usted debe: 


  1. Defina sus formatos de moneda en la interfaz de administración de XML Publisher. 
  2. Asignar el formato de moneda,establecer como una propiedad de configuración en el nivel deseado (localización, definición de datos, o una plantilla). 
  3. Introduzca el comando format-moneda en la plantilla RTF para aplicar el formato al campo en tiempo de ejecución. 
En el cuadro de diálogo  del campo que desea formatear, escriba la siguiente sintaxis:


<?format-currency:ELEMENT_NAME;’currency-format-code’?>

Por ejemplo: 

<?format-currency:BALACE_TOTAL;’USD’?>

El código de la moneda debe corresponder a un formato de moneda que se define en el formato de moneda que se usará con este informe. 

Nota: Problemas al visualizar decimales en Oracle
Hay ocasiones que al dar formato de decimales y realizar pruebas en BI Publisher funciona y se visualizan correctamente Ejemplo 125.50. El problema sucede cuando en el ORACLE EBS, luego de ejecutar la solicitud se visualiza incompleto el numero 125.5

Esto sucede en ocasiones que mientras se setea los datos del xml a la plantilla RTF la información setea bien pero el formato no se muestra como uno lo desea.Incluso el formato esta bien especificado ya sea por código o configuración. En este caso la solución efectiva es dar la cantidad  de espacios por decimal que se necesita con la barra espaciadora a la derecha del campo donde se mostrara con decimales.



La celda donde se realiza el formateo no tiene los espacios necesarios o esta fijo y por eso no muestra el valor deseado. Una vez corregido volver a cargar el RTF y al volverá imprimir el reporte mostrara correctamente el numero en este caso seria 125.50.

No hay comentarios:

Publicar un comentario