viernes, 27 de febrero de 2015

Lista de Materiales de Mantenimiento

Puede identificar y seleccionar los artículos necesarios que conforman un activo o actividad. Una Lista de Materiales (BOM) se puede utilizar para enumerar todos los artículos y componentes que constituyen un activo en particular o los procesos o servicios para una Actividad de Mantenimiento. El BOM se puede definir para cada Grupo de Activos o Actividades. Los artículos definidos en una lista de materiales de activos son componentes de inventario estándar.



Configurar Lista de Materiales para Activos
Navegara una responsabilidad de EAM >> Activos >> BOM de Activo. Seleccione un Grupo de Activos de la lista de artículos. Dentro de la pestaña Principal, ingresar una Secuencia de Articulo y un valor de Secuencia de OperaciónIngresar el componente de inventario(Articulo) para compensar el número de equipo. Ingresar la cantidad de ese componente necesario para el activo.



En la pestaña Efectividad de Serie. Seleccione los número de activos que estarán asociados a los componentes de los artículos de inventario, para ello debe ingresarlos en los campos Desde y HastaSi el componente está instalado en todos los números de activos dentro del Grupo de Activos, introduzca 0 en el campo, y dejar el campo en blanco.


Opcionalmente, seleccione la pestaña Control de Materiales, e ingresar una ubicación a nidel del subinventario  o localizador para esta lista de materiales.

Configurar Lista de Materiales para Actividades
Navegara una responsabilidad de EAM >> Actividades >> BOM de Mantenimiento. Seleccione una actividad de la lista de artículos. Dentro de la pestaña Principal. Debe ingresar los valores predeterminados de  Secuencia de Artículo y Secuencia de Operación para cada componente. Ingresar los componentes necesarios y sus cantidades que se requieren para llevar a cabo la actividad. Puede ingresar artículos inventariables como no inventariables.


Opcionalmente, seleccione la casilla de Solicitud Automática de Material para indicar que las requisiciones y órdenes de compra se crean automáticamente, para el componente, cuando se libere el Pedido de Trabajo.


Opcionalmente, seleccione la ficha Efectividad Fecha para especificar fechas de vigencia por componente en los campos Desde y Hasta


jueves, 26 de febrero de 2015

Paquete UTL_FILE

UTL_FILE es un paquete incorporado en Oracle que se puede utilizar para operaciones con archivo de texto ubicados dentro de un directorio. El directorio puede existir ya sea en el servidor o en la máquina del cliente.Los archivos accedidos por UTL_FILE son archivos de texto claros y no archivos binarios, debido a su incapacidad para manejar los caracteres especiales.



UTL_FILE no puede acceder directamente a cualquiera de los archivos que se encuentran en los sistemas operativos, para esto debe hacerse la lectura por  de directorios de bases de datos. El DBA crea el directorio de servidor para el archivo, en el que el usuario debe tener acceso de lectura y escritura antes de utilizarlo en la operación UTL_FILE.

Si el archivo de destino esta ubicado en el servidor, UTL_FILE no tiene restricciones de acceso. Pero si la ubicación del archivo esta en una máquina cliente, UTL_FILE sólo tiene acceso a esos lugares, que son compartidos y accesibles desde el servidor.

Directorios de bases de datos
Como se dijo anteriormente, los directorios de bases de datos son objetos del lado del servidor que apuntan a una ubicación específica en un sistema. La ubicación puede ser en el servidor de base de datos o en la máquina cliente. Por defecto, sólo SYSDBA goza del privilegio CREATE ANY DIRECTORY, por lo que sólo un DBA puede crear el directorio bajo petición. El usuario, que está usando el directorio, debe tener acceso de lectura / escritura en él. Compruebe la sintaxis siguiente para crear el directorio Si la ubicación es en el sistema operativo del servidor, el directorio tiene que ser creado por la vía real.

CREATE DIRECTORY DIR_ITEMS AS '/usr/tmp';

Las funciones mas conocidas del paquete ULT_FILE son:

UTL_FILE.FOPEN()
La función abre un archivo desde el directorio del parámetro location en el modo open_mode  y se identifica el nombre del archivo filename. Los modos para abrir pueden ser :
R para leer el texto
W para escribir texto
A para añadir texto
RB para leer en modo bytes
WB para escribir en modo bytes
AB para el modo de añadir byte s

El último parámetro max_linesize es la longitud máxima de los caracteres en una línea del archivo. El valor se encuentra en el rango de 1para 32767. Por defecto, su valor es de 1024.

UTL_FILE.FOPEN (
location IN VARCHAR2,
filename IN VARCHAR2,
open_mode IN VARCHAR2,
max_linesize IN BINARY_INTEGER)
RETURN file_type;

UTL_FILE.PUT()
El procedimiento escribe un texto en el archivo, que está bajo la operación de escritura. Tenga en cuenta que se tiene capacidad para escribir sólo una parte del texto en el archivo, pero no cambia la línea. En realidad, se escribe el texto en el búfer de archivo, que puede contener máximo de 32767 bytes.

UTL_FILE.PUT (
FILE IN FILE_TYPE,
buffer IN VARCHAR2);

UTL_FILE.GET_LINE()
El procedimiento devuelve un texto contenida por el archivo. El archivo, en modo de lectura, permite una línea de texto que se leerá y se asigna al parámetro buffer. LEN especifica los caracteres de la línea que se deben leer cada intento. Si es nulo, entonces el procedimiento lee la línea hasta la línea se termina, siempre que la longitud es menor que la max_linesize.

UTL_FILE.GET_LINE (
FILE IN FILE_TYPE,
buffer OUT VARCHAR2,
len IN PLS_INTEGER DEFAULT NULL);

UTL_FILE.FCLOSE()
El procedimiento cierra un archivo, que se apertura  para su lectura o escritura.

UTL_FILE.FCLOSE (FILE IN OUT FILE_TYPE);

miércoles, 25 de febrero de 2015

Secuencias en Asientos de General Ledger


Una secuencia de números de documento son correlativos generados para un producto del Oracle, podemos encontrar los números de comprobantes en Cuentas por Pagara o Numero de transacciones en Cuentas por Cobrar. 

En General Ledger  se utiliza como un número de referencia para cada asiento creado que se genera con respecto a la categoría y la secuencia asignada. Sin embargo, puede asignar la misma secuencia de documentos a más de una combinación de Aplicación, Categoría, Juego de libros, y método. General Ledger crea automáticamente asientos cuando se realizan tareas como Importar Asientos, Reversión de Asientos,Consolidar juegos de libros entre otros.

Categoría de Documentos
Navegar a Administrador de Sistema >> Aplicación >> Documento >> Categorías. Las  categorías  de Documentos ya estan creados para las diferentes aplicaciones de General Ledger. Solo debe crear una nueva categoría para crear asientos por un proceso exterior al EBS.



Secuencia de Documentos 
Navegar a Administrador de Sistema >> Aplicación >> Documento >> Definir.  Debemos crear una secuencia, en nuestro caso hemos creado una secuencia mensual donde el numero inicial sera 1 , mismo numero el cual empezaran los asientos por cada categoría.


Asignaciones de Secuencia 
Navegar a Administrador de Sistema >> Aplicación >> Documento >> Asignar. Ahora debemos colocar cada categoría  y asignarla con una secuencia la cual debemos haber creado.


martes, 24 de febrero de 2015

Grupo de Solicitudes


Cuando definimos una Responsabilidad también podemos asignar un Grupo de Solicitudes a la misma. Un Grupo de Solicitudes es una lista de los Programas concurrentes o Juegos de Solicitudes que por cada responsabilidad tendrá acceso a su ejecución. Cada Usuario del EBS puede tener uno o mas responsabilidades de acuerdo a su puesto dentro de la organización.

Por ejemplo: Un usuario de Contabilidad puede tener acceso a las responsabilidades pertenecientes a los módulos de General Ledger y Payables. Pero por cada responsabilidad tendrá su propio Grupos de Solicitudes, donde podrá ejecutar dependiendo del modulo sus programas concurrentes correspondientes.


Crear Grupo de Solicitudes
Para crear un grupo de solicitudes, debe navegar a la responsabilidad del Administrador del Sistema >> Seguridad >> Responsabilidad >> Solicitud y la ventana de Grupos Solicitudes se abrirá.

Dar un nombre para el Grupo, indicar la aplicación a la cual se va asociar,si el grupo es para el modulo de Payables debe indicar la misma aplicación. Para aquellos grupos de solicitudes personalizados es recomendable colocar un código para la generación de LDT. Los Grupos que viene con el EBS no contienen este campo por lo cual siempre se recomienda crear uno nuevo. Opcionalmente puede dar una descripción para su Grupo de solicitudes.


En la región de Solicitudes, Puede ingresar un Tipo de Solicitud, el cual puede escoger entre Programa para un programa concurrente o Juego para un Juego de solicitudes. Luego deberá colocar el nombre del programa o juego de solicitud y grabar el registro.

Tiene la opción de colocar Aplicación cuando desea incorporar otros programas de otros módulos para no estar asignando nuevamente programas concurrentes. Por ejemplo puede crear una responsabilidad de Compras el cual se le quiere asignar concurrentes para la generación de recepciones o movimientos de Inventarios, en este caso se le asigna la aplicación Inventory para que tenga acceso a estos concurrentes del modulo de Inventory.

Ejecutar el programa concurrente
Ahora podemos ejecutar el programa concurrente que hemos creado. Para ejecutar el programa concurrente, deberá iniciar sesión en Oracle con el usuario que tiene la responsabilidad a la cual se le ha asignado el programa juego que necesita ejecutar.Una vez situado en la responsabilidad ir a Ver >> Solicitudes. Dar clic a Ejecutar una Nueva Solicitud.



En la siguiente pantalla podrá escoger en ejecutar una Solicitud Única o un Juego de Solicitudes. Luego hacer clic en el botón Aceptar.





La pantalla de Ejecutar Solicitud, se abrirá, buscar el nombre del programa concurrente, si tiene parámetros indicar los valores para su ejecución. Luego hacer clic en el botón Ejecutar. En  ese momento la solicitud ha sido enviada correctamente.


Se abrirá la ventana Encontrar Solicitudes, dar al botón Refrescar Datos hasta que el programa termina en fase finalizado y estado Normal. Si desea puede Visualizar Output o Visualizar Registro.


viernes, 20 de febrero de 2015

Juego de Valores Independiente

Un Juego de Valores de Tipo Independiente proporciona una lista predefinida de valores para un segmento. Estos valores pueden tener una descripción asociada. El significado de un valor en este tipo de juego de valores no depende de el valor de cualquier otro segmento. Los Valores independientes se almacenan en una tabla de Oracle AOL. 


Valores Segmento
Cuando se crea un Juego de valores de Tipo Independiente debe usar la pantalla Valores Segmento para definir los valores válidos para la lectura del Juego de Valores. Debe utilizar esta ventana para definir los valores que pertenecen a Tipo Independiente, Dependiente, traducible Independiente o traducible Dependiente. Puede definir nuevos valores de segmento agregando una  descripción por valor para sus valores y para activar o desactivar los valores existentes también.


También puede especificar Calificadores para valor de segmento, grupos de resumen, y rangos secundarios. También puede visualizar y mover  las jerarquías de valor para el segmento Accounting FlexField  o para cualquier flexfields de aplicaciones personalizadas que utilizan el valor jerarquías. Tener en cuenta que debido a que el Accounting FlexField es el único flexfield clave de Oracle E-Business Suite que utiliza la matriz, el grupo de resumen, el nivel de la jerarquía y calificadores de segmento, sólo es necesario ingresar esta información para los valores que se asocian con su Plan de cuentas alojado en Accounting FlexField.

Agregar Valores a Juego de Valores Independiente
Para definir valores navegar a la responsabilidad de Administrador de sistema >> Validación >> Valores.  Consultar por un Juego de Valores  establecido como Independiente. Ingresar un Valor de segmento que es válido para su aplicación. Un valor válido puede ser una palabra, frase, abreviatura o código numérico. Los usuarios pueden ingresar este valor en un segmento flexfield o un parámetro de reporte que utiliza este juego de valores. 

Cualquier valor que defina debe ajustarse a los criterios definidos para su juego de valores. Por ejemplo, si su juego de valores sólo puede aceptar los valores de un carácter sin caracteres alfabéticos o especiales permitidos, sólo puede ingresar los valores de 0 a 9 en este campo.

Dado que los valores individuales pueden ser referenciados desde otros modulos, no puede eliminar los valores válidos que ya han sido definidos, ni se puede cambiar esos valores. Puede, sin embargo, cambiar la descripción de un valor válido en el campo DescripciónLos usuarios ven esta descripción junto con su valor cada vez que se seleccione un valor en un segmento flexfield que utiliza este Juego de Valores.

Marque la casilla de Activado para hacer que su valor sea valido. Si quiere tener el valor efectivo por un tiempo limitado, puede ingresar una fecha Desde o Hasta para él. No puede borrar los valores de esta ventana, ya que se hace referencia en otras partes del sistema, pero se puede desactivar en cualquier momento. 

Visualizar Facturas desde una Orden de compra

La pantalla Visualizar Facturas sirve para  saber con que facturas se han asociado algún documento del modulo de Compras  y cuanto ha sido el importe asociado.  Durante los procesos de Asociación de Facturas esta pantalla se va actualizando de acuerdo a cada asociación por línea de Orden de Compra, Despacho o Recepción.

Visualizar Facturas
Navegar a una Responsabilidad de Purchasing >> Ordenes de Compra >> Resumen de Orden de Compra.  Buscar un documento de Compra como por ejemplo una Orden de Compra Standard, ubicarse ya sea en la cabecera o una línea de la barra de herramientas escoger la opción Consultar >> Visualizar Facturas.


Purchasing muestra la pantalla FacturasAcá podrá observar el Numero de Orden de Compra junto con el nombre de Proveedor, Divisa y el Total de la OC. Lo importante en esta pantalla es que se puede verificar el importe Asociado. Normalmente uno puede asociar facturas por cada línea de OC, pero en ocasiones puede volver a facturar ocasionando que el importe asociado sea mayor al Total de la Línea,causando una sobrefacturación.  


El total de OC debe ser igual o mayor que el importe Asociado. Cada factura se visualiza con su  Número de factura, su fecha factura,el importe facturado, Pendiente y Asociado. Se puede observar la fecha del Pago de cada factura y su Número de Cheque. Si estuviera retenido la factura el campo Retenido estará en Sí. 

jueves, 19 de febrero de 2015

Creando Empleados

En Oracle el modulo de Human Resources se crean Empleados para realizar un seguimiento de la información personal, tales como habilidades, ventajas, puestos de trabajo, y estados. Después de que los empleados se definen en el sistema, pueden ser utilizados para actividades de aprobación, el procesamiento de planillas, y la asignación de  activos fijos.

Tener en cuenta que  si el modulo de Recursos Humanos no se ha configurado previamente, cualquier modulo  que requiera empleados tendrán acceso limitado a la tabla  de los empleados.

Creando Nuevo empleado
Usar el formulario Ingrese y mantener Persona para ingresar información personal básica, direcciones y detalles de asignación de trabajo para sus empleados. El sistema le avisa si introduce dos personas con el mismo nombre y fecha de nacimiento.

Para ingresar un nuevo empleado debemos navegar a una Responsabilidad de Human Resources >> Personas >> Ingresar y Mantener. Saldrá la pantalla Encontrar Persona, Dar clic en Nuevo. En el formulario de Personas Ingresar  el nombre del empleado. Sólo se requiere el Apellido no obstante debe completar los demás campos para completar la información completa del nombre del futuro empleado. Indicar un El Genero de la persona e indicar en Acción Crear Empleo



Si la empresa utiliza el ingreso manual de número de empleado, ingresar  un número de empleado y el número de identificación nacional (Visualizado como Seguridad Social en el caso de EE.UU.). Si su empresa utiliza la generación automática de números, ingresar un número de identificación nacional. El número de empleado se muestra automáticamente al guardar su registro.

Ingresar los  Fechas Efectivas referentes al tiempo de contratación del empleado. Puede Ingresar en las Pestañas Personal, la información referente al empleado como lugar y fecha de nacimiento, su nacionalidad o estado civil. En la pestaña Empleo todo lo referente a su tipo de contratación. En la pestaña Detalles Oficina puede ingresar información  de la oficina y correo del futuro trabajador Por ejemplo: Payables al generar  los cheques de Gastos  puede utilizar los correos electrónicos de los empleados.

Guardar el registro si desea luego puede agregar una nueva dirección o asignar el puesto  de trabajo al trabajador.

miércoles, 18 de febrero de 2015

Agrupando resultados con GROUP BY




La cláusula GROUP BY unida a un SELECT permite agrupar filas según las columnas que se indiquen como parámetros, y se suele utilizar en conjunto con las funciones de agrupación, para obtener datos resumidos y agrupados por las columnas que se necesiten.

Por ejemplo: Si quieres saber la cantidad total de gastos en sueldos  por cada departamento, la consulta sería:

SELECT dept, SUM (salary)
FROM employee

GROUP BY dept;

Al ejecutar el script obtendremos los mismos datos pero agrupándolos por departamento, de modo que para cada departamento sabemos cuántos en gastos se ha realizado.

   dept              salary
--------------  --------------
Electrical           25000
Electronics          55000
Aeronautics          35000
InfoTech             30000


Es muy importante tener en cuenta que cuando utilizamos la cláusula GROUP BY, los únicos campos que podemos incluir en el SELECT sin que estén dentro de una función de agregación, son los que vayan especificados en el GROUP BY. 

La cláusula GROUP BY se puede utilizar con más de un campo al mismo tiempo. Si indicamos más de un campo como parámetro nos devolverá la información agrupada por los registros que tengan el mismo valor en los campos indicados. 

Tener en cuenta que al utilizar la cláusula GROUP BY no garantiza que los datos se devuelvan ordenados. Se recomienda incluir una cláusula ORDER BY por las mismas columnas que utilicemos en GROUP BY, especificando el orden que no mas se adecue a nuestra necesidad.


SELECT dept_id dept, SUM(salary)
  FROM employee
 GROUP BY dept_id, dept
 ORDER BY dept_id, dept asc

martes, 17 de febrero de 2015

Exportar a Excel en Oracle Discoverer

En Oracle Discoverer puede exportar datos  de manera que pueda utilizar la información en una aplicación diferente. Por ejemplo, es posible exportar una hoja de trabajo de Discoverer en formato HTML.

Exportar datos a Excel
Abrir la hoja de trabajo que desea exportar. Seleccionar Archivo >> Exportar, luego podrá visualizar el Asistente de exportación,el cual le permite especificar las partes del la Hoja de Trabajo que desea exportar.Luego dar Siguiente.


Luego le pedirá especificar el formato de exportación, en este caso escogemos Libro de Trabajo de Microsoft Excel. Debemos especificar el Destino dónde vamos a guardar el de exportación. Finalmente indicar un Nombre para nuestro Archivo y dar Siguiente.

Si va a exportar gráficos, debe especificar las opciones de tamaño del gráfico. Si la hoja de trabajo contiene parámetros, deberá introducir los valores de los parámetros para generar la exportación.


En la opción de Supervisar debe elegir si desea o no supervisar la exportación para confirmar si la exportación salió sin problemas y sino se reflejen los mensajes de advertencia. Por ejemplo, en el modo Supervisado, si se excede el número máximo de filas permitidos en una consulta, se muestra un mensaje de advertencia. Puede confirmar esta advertencia, haga clic en Aceptar o en Cancelar para detener el proceso.


Haga clic en Terminar para iniciar la exportación. Oracle Discoverer muestra el cuadro de Log de Exportación que muestra una lista de los archivos creados durante la exportación. Si desea abrir el primer archivo de exportación en su aplicación asociada, seleccione la casilla de verificación Abrir la primera hoja exportada.Haga clic en Aceptar para cerrar el registro de exportación.


No es necesario utilizar el Asistente para exportación para exportar la hoja de trabajo actual (y un gráfico asociado) a formato Microsoft Excel o HTML. Oracle Discoverer  proporciona las opciones Exportar a Excel y Exportar a HTML en la opción de Archivo, lo cual es más rápido.

lunes, 16 de febrero de 2015

Ingresando Asientos en General Ledger


General Ledger es el modulo principal del EBS, Cada asiento que se crea en el modulo de contabilidad General contiene tres componentes importantes: Lote, Cabecera y Lineas de Asientos.

Lotes de Asientos
Puede organizar los asientos con atributos comunes en lotes. Por ejemplo, puede agrupar sus asientos por tipo o fecha. Puede tener varias revistas en un solo lote, o puede tener un lote separado para cada asiento.

Todas los asientos de un lote deben compartir el mismo período. Puede crear un lote para cualquier período contable Abierto o Futuro, pero sólo se puede contabilizar aquellos  lotes en períodos contables abiertos. 

Ingresando Asientos
Para ingresar manualmente un asiento debemos navegar a una responsabilidad de General Ledger >> Asientos >> Ingresar. Podemos ingresar el asiento a un lote existente, crear un nuevo lote o podemos crear un asiento sin lote.

Para crear asientos para un nuevo lote, seleccione Nuevo Lote desde la ventana Encontrar Asientos y crear un nuevo lote. En esta ventana ingresar un nombre para el lote y el periodo contable. Luego dar al botón Asientos.


En la pantalla de Asientos, ingresar un nombre único para su asiento. Si no introduce un nombre, GL asigna automáticamente un nombre con el siguiente formato: Source Journal ID DateSi no introduce un nombre de lote antes de ingresar sus asientos , GL utiliza el nombre del primer asiento en el lote para crear un nombre de lote predeterminado.

Ingresar el período contable para el asiento, el cual debe ser igual al del lote. Ingresar una Categoría y Origen para describir el propósito de su Asiento, todas las líneas del asiento comparten la misma categoría de la cabecera. Tipo Saldo es un campo de sólo lectura. Muestra real cuando está introduciendo asiento reales, Presupuesto cuando está introduciendo asientos de presupuesto, y Compromiso cuando están ingresando asientos de compromiso.

Si utiliza la numeración manual, ingresar un Número de Documento único. Este campo sólo está disponible si la opción de perfil de numeración secuencial se establece en Usado Siempre o Parcialmente Usado.  Ingresar un Total de Control si desea verificar los débitos totales de las líneas de asiento contra el control total diario.

En la región de Conversión, acepte la moneda por defecto (la moneda funcional para su juego de libros), o cambiar la moneda asiento para ingresar en una moneda extranjera. En la región del Estado, el campo de Contabilización muestra si un lote diario esta contabilizado. El campo Fondos muestra el estado de los fondos para un lote y el campo Aprobación muestra si el lote es aprobado para su Contabilización.

En la región Reversión, Ingresar una  Fecha, Método y Período para revertir el asiento. Puede generar un asiento de reversión a ese período y la fecha efectiva. Los métodos pueden ser:

Cambiar Dr / Cr: Contabilidad General crea tu asiento de reversión al cambiar los importes de débito y de crédito del asiento original

Cambiar Signo: Contabilidad General crea tu asiento  de reversión cambiando el signo de su asiento original de positivo a negativo. 


Finalmente nos ubicaremos en una sección de Lineas, aquí debemos ingresar el Nro de Línea, una cuenta contable la cual tendrá por cada línea un importe en el Débito o el el Crédito. Opcionalmente puede ingresar  una descripción por cada línea identificando el origen del importe. Cuando se crea un asiento Manual la opción de Desglose Línea estará desactivado ya que aquí encontramos el detalle del asiento que proviene de otros módulos.

Podemos completar mas información en los Flexfields descriptivos a nivel de cada línea del asiento para una mejor ayuda al analizar las cuentas y importes de nuestro modulo de GL. Una vez completado grabar el asiento y estará listo para su revisión y contabilzación.


viernes, 13 de febrero de 2015

Ingresando factura en Payables

Para ingresar facturas en el modulo de Payables podemos  utilizar el Banco de Trabajo de factura o ingresar por la porpia pantalla de facturas. Para ello navegar a una responsabilidad de Payables >> Facturas >> Facturas. Cada documento  contiene 3 regiones: Cabecera, Lineas y distribución. (A partir de EBS R12, anteriormente solo tenia Cabecera y distribución.)

Cabecera de Factura
Primero debemos ingresar un número del proveedor, fecha factura, fecha contable y el numero y monto de factura como campos necesarios.Al escoger el numero de proveedor se compeltara automáticamente el nombre del proveedor y la Sucursal del Proveedor.Este ultimo si es que el proveedor tiene varias sucursales  debemos escoger una. Es esencial indicar el monto de la factura y los términos de Pagos.



Líneas de Factura
A partir de R12 se ingresa esta región, para ingresar en líneas de factura debemos seleccionar la pestaña Líneas. Ingresar una línea de factura para cada línea que aparece en la factura del proveedor. Tener en cuenta que el  total bruto de las líneas de la factura debe ser el mismo que el Importe de la cabecera de la factura, caso contrario la factura no va a pasar la validación.

Ingresar el tipo de línea. Los tipos posibles son: Artículo, Cargos o Impuestos. Opcionalmente, ingresar  la cantidad facturada, UDM, y el precio unitario del articulo que se esta facturando.



Distribuciones de Factura
Las distribuciones son la distribución de varias cuentas gastos o de activos. Por ejemplo, puede distribuir los gastos de una factura de suministros de oficina a cuentas de gastos para varios departamentos. Payables utiliza distribuciones para crear asientos contables para las facturas. Para ello de clic al botón Distribuciones.

Ingrese la información de distribución para cada línea. Puede introducir las distribuciones de las siguientes maneras:

Automáticamente mediante un juego de distribución. Revise la distribución establecida para la línea. Si el juego de distribución s establecido en  la cabecera de la factura no es la correcta puede cambiar la distribución establecida según sea necesario.

Automáticamente por asociación de una  Orden de Compra. Por defecto se asocias con la factura lascuentas de una orden de compra.

Manualmente. Para ingresar manualmente las distribuciones de la línea, haga clic en Distribuciones. No se puede ingresar manualmente las distribuciones para loa tipos de Línea que viene asociado a una Orden de Compra o alguna corrección.



Validación de Factura
Una vez grabado los cambios dar al botón Acciones, marcar la opción Validar Factura y dar Aceptar. Con ello nuestra factura cambia de estado a Validado y esta lista para pagar. 

jueves, 12 de febrero de 2015

Registros PL/SQL


Los registros (Records) son un de tipos de datos que Oracle permite definir como un marcador de posición. Los registros son tipos de datos compuestos, lo que significa que son una combinación de diferentes tipos de datos escalares como char, varchar, número, entre otros. Cada tipos de datos escalar en el registro tiene un valor. Un registro puede ser visualizado como una fila de datos. Puede contener todo el contenido de una fila.

Creando un Registro
Para definir un registro debe ubicarse en la parte declarativa de un bloque PL / SQL. La sintaxis para definir el registro es la siguiente:

TYPE type_name IS RECORD
     (field_declaration[, field_declaration]…);

También puede  declarar  opcionalmente los componentes internos de este tipo de registro.
En la sintaxis:

identifier  type_name;

field_name {field_type | variable%TYPE
           | table.column%TYPE | table%ROWTYPE}
           [[NOT NULL] {:= | DEFAULT} expr]

type_name : Es el nombre del tipo de registro (Se utiliza para declarar los registros.)
field_name: Es el nombre de un campo dentro del registro
field_type: Es el tipo de datos del campo

Puede utilizar los atributos % TYPE y % ROWTYPE. La variable expr es el field_type o un valor inicial. La restricción NOT NULL impide asignar valores nulos a esos campos. 

Estructura del Registro
Los campos de un registro se acceden por  el nombre del registro. Para hacer referencia o inicializar un campo individual, utilice lo siguiente:

record_name.field_name

Por ejemplo, se hace referencia el campo job_id en el registro emp_record de la siguiente manera:

emp_record.job_id

A continuación, puede asignar un valor al campo de registro:

emp_record.job_id: = '5600';


En un bloque o subprograma, los  registros definidos por el usuario se crean en instancias cuando entran al bloque o subprograma. Ellos dejan de existir cuando se sale del bloque o subprograma.

Atributo %TYPE 
El atributo %TYPE se utiliza para declarar una variable de un tipo de columna. La variable tiene el mismo tipo de datos y tamaño que la columna de la tabla. El beneficio de%TYPE es que no tiene que cambiar la variable si la columna se altera. Además, si la variable se utiliza en todos los cálculos, no necesita preocuparse acerca de su precisión.

Atributo %ROWTYPE 
El atributo%ROWTYPE se utiliza para declarar un registro, que puede llevar toda una fila de una tabla o vista. Los campos en el registro toman sus nombres y tipos de datos de las columnas de la tabla o vista. El registro también puede almacenar una fila completa de datos obtenidos a partir de una variable de cursor o cursor. Normalmente se usa cuanto uno no está seguro acerca de la estructura de la tabla de base de datos.

La principal ventaja de utilizar %ROWTYPE es que simplifica el mantenimiento. Se asegura que los tipos de datos de las variables declaradas con este atributo cambian dinámicamente cuando se altera la tabla. Si una sentencia DDL cambia las columnas de una tabla, a continuación, la unidad de programa PL / SQL se invalida. Cuando se compila el programa, se reflejará automáticamente el nuevo formato de tabla. El atributo% ROWTYPE es particularmente útil cuando se desea recuperar toda una fila de una tabla. En ausencia de este atributo, se verá obligado a declarar una variable para cada una de las columnas devueltas por la sentencia select.