Mostrando entradas con la etiqueta Enterprise Asset Management. Mostrar todas las entradas
Mostrando entradas con la etiqueta Enterprise Asset Management. Mostrar todas las entradas

viernes, 26 de febrero de 2016

Desactivar un Numero de Activo

Un Numero de Activo sólo puede ser desactivado si no hay Pedidos de Trabajo abiertos para el numero de activo, o si el numero de activo no es parte de una jerarquía de activos. Para ello se debe  retirar el numero de activo de la jerarquía, esto se puede lograr si se actualiza la jerarquía (padre o hijo) donde la fecha final sea  una fecha anterior / actual. Cerrar cualquier solicitud de trabajo abierto u pedido de trabajo en las que se utiliza el activo.

Una forma adecuada para desactivar un número activo, si es necesario, es realizar lo siguiente:

Primero debemos remover la relación del padre para el número de activo. Para ello debemos acceder a una responsabilidad de Enterprise Asset Management que tenga acceso de Super Usuario como por ejemplo la responsabilidad Super user de mantenimiento. Debemos  seleccionar  la organización de mantenimiento de la página principal a la que pertenece el numero de activo.



Luego hacer clic en la pestaña Activos y realizar la búsqueda en base al número de activo o Categoría de Activos que desea desactivar. Seleccionar este numero de Activo y haga clic en la opción  Historial de configuraciones.



Por defecto la página de configuraciones muestra sólo los hijos o secundarios. Elegir la opción principales  para mostrar los padres de esta página y haga clic en el botón Ir. 


Ahora se mostrará el padre del número de activo. Actualizar al padre y colocar una  Fecha final para asegurar  que el activo no tiene ningún padre.



Una vez retirado el padre debemos desactivar el numero de activos para ello debemos asegurarnos que los pedidos de de trabajo asociados al número de activo deben ser cerrados. Para ello debemos ir a un responsabilidad  Enterprise Asset Management  >> Activos >> Números de activos >>  Números de activos. Consultar el Número de activos, desmarcar  la opción de Mantenible e  Ir a Herramientas, y dar a la opción Desactivar Número de Activo.


Confirmar la desactivación y la opción Activo se habrá desmarcado.


Si desea activar nuevamente el numero de activo ir a Herramientas >> Reactivar Activo

lunes, 28 de septiembre de 2015

Responsables de Aprobación de Departamentos

Con una responsabilidad asignada a los activos circulantes propios por  departamento, puede configurar aprobadores por departamento para que las notificaciones de solicitudes de trabajo se puedan enviar a cada aprobador, a través de Oracle Workflow. Los aprobadores pueden ver estas notificaciones en la página inicial al momento de entrar al EBS. Todo el que reciba la notificación puede acceder a la solicitud de trabajo para cambiar el estado, o añadir información adicional para el registro de la solicitud de trabajo. Después de que un usuario aprueba la solicitud de trabajo, la notificación será retirada de las listas de notificaciones de los usuarios, y el estado de la solicitud de trabajo cambiará de Abierto a Espera de Pedido de Trabajo.


Una solicitud de trabajo también puede ser rechazada. Si un aprobador rechaza una solicitud de trabajo, la notificación será eliminada de la lista de notificación de aprobadores. También puede volver a asignar una notificación a otro usuario para su aprobación o información adicional, por ejemplo, el creador puede tener que proporcionar información adicional sobre la solicitud de trabajo.


Para definir Aprobadores por Departamento
Navegar a una responsabilidad de EAM >> Configuración >> Responsables de aprobación de Departamento. En la pantalla seleccionar un nombre de Responsabilidad de una lista de valores. Aquí puede indicar cuantos departamentos serán asignados para la responsabilidad(previamente deben estar creados por la organización de inventarios a la cual tiene acceso a EAM)

En la región de Departamentos, seleccione un Departamento de la lista de valores. Puede seleccionar un número ilimitado de departamentos y asociar el responsable de Aprobación, finalmente guarde los cambios.

martes, 1 de septiembre de 2015

Grupos de Atributos

Puede definir características comunes de datos específicos para Grupos de Activos, tales como información de mantenimiento, especificaciones técnicas, requisitos de regulación, tipo de motor, entre otros, mediante la creación de un grupos de atributos utilizando Flexfields descriptivos. Una vez creado el grupo de atributos, puede asignarle a un Grupo de Mantenimiento. Esto le permite definir características adicionales al definir un activo asociado con el Grupo de Mantenimiento. Los Grupos de Atributo  son Flexfields descriptivos, definidos por segmentos y valores.

Por ejemplo, puede definir un grupo de atributos,que identifique un tipo de motor. Este grupo puede ser asociado con el Grupo de mantenimiento de maquinarias. Al definir un activo dentro de este grupo, puede utilizar opcionalmente los atributos para especificar datos del tipo de motor que usa.

Para configurar Atributos
Navegar a una responsabilidad de EAM >> Configuración >> Todos >> Descriptivo >> Segmentos.  Ir a la ventana Segmentos de FlexField Descriptivo . Buscar en el campo titulo bajo el nombre de Atributos de Activos.



Descongelar la Definición FlexField desactivando la casilla Congelar Definición FlexField. En la región de Valores de campo Contexto, hacer clic en el icono Nuevo para añadir un grupo de atributos.

Ingresar el nombre del grupo de atributos en el campo Código y opcionalmente puede ingresar una descripción para este grupo de atributos. Seleccionar segmentos para agregar atributos al grupo de atributos que acaba de crear.


Ingresar cuantos segmentos se requiere para el grupo de atributos. recordar que se debe indicar un nombre para cada segmento y escoger un juego de valores. Finalmente para guardar los cambios marcar nuevamente la casilla Congelar Definición FlexField y guardar sus  cambios.

Para configurar Atributos
Para asociar el grupo de atributos con un grupo de activos,debemos navegar a la responsabilidad de EAM >> Configuración >> Asignaciones de Atributo. En esta pantalla debemos buscar cualquier grupo de Activos creado. En la opción de Grupo Atributos agregar  un Código de grupo de Atributos que tendera el Grupo de Activos.


Puede tener un número ilimitado de grupos de atributos asociados a un grupo de activos. Incluso si el atributo se vuelve obsoleto  o innecesario puede desmarcar la opción Activado para quitarlo del Grupo de activos.

Agregar Atributos para un Numero de Activos
Para agregar un atributo debemos navegar  a la responsabilidad de EAM >> Activos >> Números de Activos >> Números de Activos. Buscar un Numero de Activo y dar al botón Atributos.


En la región Valores Atributo, seleccionar un Grupo de Atributos y dependiendo del juego de valores escoger  el atributo mas apropiado para su Numero de Activo y guardar.

lunes, 23 de marzo de 2015

Clases Contables WIP

En la pantalla de Clases Contables WIP se puede definir cualquier número de clases contables. Las cuentas de valuación y de  variación se asocian con estas clases contables para  determinar qué cuentas se cobran y hasta cuándo. Para su configuración debemos navegar a una Responsabilidad de Work In Process >> Configurar >> Clases Contables WIP.


Clases Contables Discontinuas
Se pueden definir clases contables para cada tipo de producción discontinua que utilice: Discontinuo Standard, activo no Standard y Gastos no Standard. Debe asignar una Clase de Contable para todos sus trabajos discontinuos.

Discontinuo Standard
Clase Standard que se puede utilizar para los costos del trabajo en grupo. Por ejemplo, si se construye subconjuntos y productos terminados, puede definir sus clases contables para que pueda valorar por separado y reportar los costos asociados con el subconjunto y los productos terminados de producción.

Cuando se define una clase contable, debe asignar las cuentas de Valuación y Variación a la misma. Cuando se emite materiales para un trabajo que utiliza esta clase contable, las cuentas de Valuación adecuadas se pagan. Cuando se cierra el trabajo, los costos finales y las variaciones se calculan y contabilizan en las cuentas de variación y de valoración. Cuando el período contable está cerrado, estos asientos diarios se contabilizan automáticamente en el libro mayor. 


Gastos no Standard.
Clases no estándar se pueden utilizar para agrupar y reportear varios tipos de costos de producción no estándar, como los proyectos de ingeniería de reparación. Por ejemplo, para el seguimiento de los gastos recurrentes  con trabajos no estándar, puede definir y asignar una clase contable con un tipo de gasto no estándar para estos trabajos. Las cuentas de valuación  llevan los costos incurridos en estos trabajos de gastos como un activo durante el período y los escribe automáticamente a la cuenta de variación al período cercano.

Activo no Standard
Por otro lado, si utiliza trabajos discretos no estándar para rastrear los costos de producción como activos, se pueden definir y asignar a  una clase contable de tipo activo no Standard. Se  costean igual que Discontinuo Standard. Las Cuentas de valuación se pagan cuando el material se entrega a un trabajo y los costos finales y las variaciones se calculan y se envió a sus  cuentas respectivas  cuando se cierra el trabajo.


Cuentas de Valuación WIP
Las cuentas de Valuación se pagan cuando se emite componentes, Ensamblajes, y la carga de Recursos. Podemos encontrar los siguientes tipos :

Materiales
Normalmente una cuenta de activo, esta cuenta contiene los costos de material. Bajo el costeo estándar, se debita en estándar cuando se emite material a un trabajo o cronograma y se acredita al estándar cuando complete las ensamblajes  de un trabajo o cronograma , cuando se cierra un pedido de Trabajo o se cierra un periodo contable. Bajo el costeo promedio, esta cuenta se carga al costo promedio en el momento de la transacción de emisión y se acredita cuando se completan los ensamblajes  a un trabajo.

Gastos generales de material
Normalmente una cuenta de activo, esta cuenta contiene los gastos generales del material. Bajo el costeo estándar, es cargado / debitado en estándar cuando se emite el material con gastos generales de material para un trabajo o cronograma y se pasa al estándar cuando completa las ensamblajes de un trabajo u cronograma, cuando se cierra un pedido de Trabajo o se cierra un periodo contable. Bajo el costeo promedio, esta cuenta se carga al costo promedio en el momento de la transacción de emisión.

Recursos
Normalmente una cuenta de activo, esta cuenta rastrea los costos de los recursos. Bajo el costeo estándar, es cargado / debitado en estándar cuando los recursos se cargan a un trabajo o cronograma y se  acreditan en estándar cuando se cuando completa las ensamblajes de un trabajo u cronograma, cuando se cierra un pedido de Trabajo o se cierra un periodo contable. Bajo el costeo promedio, esta cuenta se debita y acredita al tipo de recursos en el momento en que el recurso está cargado.

Procesamiento Externo
Normalmente una cuenta de activo, esta cuenta contiene los costos de Procesamiento Externo. Bajo costeo estándar es debitado cuando se  recibe los artículos para un trabajo o cronograma. Se le atribuye al estándar cuando se completa las ensamblajes de un trabajo u cronograma, cuando se cierra un pedido de Trabajo o se cierra un periodo contable Bajo el costeo promedio, el débito de esta cuenta se basa en la recepción del artículo.

Gasto General

Normalmente una cuenta de activo que rastrea las  cuentas de gastos generales del departamento o recurso. Bajo costeo estándar se debita al estándar cuando los recursos se cargan a un trabajo o cronograma. Se releva al estándar cuando se cuando completa las ensamblajes de un trabajo u cronograma, cuando se cierra un pedido de Trabajo o se cierra un periodo contable


Cuentas de Variación WIP
Las cuentas de Variación se pagan cuando se cierran los trabajos.  Podemos encontrar los siguientes tipos:

Materiales
Esta cuenta contiene las  variaciones que se producen cuando los costos de las materiales anteriormente cargados al  trabajo o cronograma no son iguales a los últimos cargados. Este cálculo le da un uso de material y configuración de variación neta.

Recursos
Contiene variaciones que se producen cuando los costos de los recursos con cargo al trabajo no tiene los costos iguales a los siguientes recursos.

Procesamiento Externo
Contiene variaciones que se producen cuando los costos de OSP cargados a trabajo no son iguales a  los siguientes costos de OSP del trabajo

Gasto General
Esta cuenta rastrea las variaciones que se producen cuando los gastos generales a cargo del  trabajo o cronograma no son iguales a los relevos siguientes. Estas variaciones incluyen tanto la eficiencia y método de varianza.

Costo Standard

Esta cuenta de variación se aplica sólo a Standard Discontinuo y activos no Standard. Esta cuenta se cobra por la suma de todos los ajustes de los costos estándar cuando se realiza una actualización estándar de costos donde se  impacta a  una tarea activa.

Clases Contables repetitivas
Se  utilizan para los costos de producción de grupo y se deben asignar a cada asociación de línea / montaje repetitivo que se crea. Por cada cronograma para el ensamblaje debe  utilizar estas cuentas. Las cuentas se cobran cada vez que usted tramita contra la asociación de línea / montaje.

Clases Contables basado en Lote
Oracle Shop Floor Management aumenta el trabajo en la funcionalidad de proceso utilizando las ruteos, las transacciones basadas en lote, y el rendimiento de costeo basado en funcionamiento. Si tiene Oracle Shop Floor Management instalado, puede definir clases contables para la producción estándar y gastos de trabajo.

Clases Contables  Mantenimiento

Se utilizan para gastos de grupo para los Pedidos de trabajo utilizados en Oracle Enterprise Asset Management (EAM). Por ejemplo, si va a crear pedidos de trabajo para las actividades de mantenimiento de una empresa o planta, puede definir sus clases contables paraa valorar por separado y el informe de los costos relacionados con los activos. Las Clases Contables se ejecutan automáticamente al crear Pedidos de trabajo en EAM.

miércoles, 11 de marzo de 2015

Ruteos de Mantenimiento

Un Ruteo de Mantenimiento es el conjunto de operaciones o trabajos necesarios para llevar a cabo una actividad. Cuando se crea un Pedido de trabajo para una actividad, El  Ruteo de mantenimiento debe contener todas las operaciones especificadas de mantenimiento las cuales se copian en el Pedido de trabajo como sus operaciones.

Rutas de mantenimiento no son Ruteos de Activos. Las Operaciones de Actividades difieren de las operaciones de fabricación porque estas operaciones  deben realizarse de forma secuencial, mientras que las operaciones de Mantenimiento no necesitan ser realizadas de forma secuencial. En el Modulo de EAM , las operaciones no pueden ser secuenciales. Puede especificar que una sola operación dependa de otro. Además, es posible que dos operaciones no relacionadas pueden ocurrir al mismo tiempo. Una operación puede ser dependiente de múltiples operaciones. Operaciones múltiples pueden ser dependientes de una sola operación. La dependencia no puede ser totalmente relacionada.

Definir un Ruteo de Mantenimiento
Navegar a una responsabilidad de EAM >> Actividades >> Ruteos de Mantenimiento. En la pantalla de Ruteo seleccionar la actividad para la que desea crear una ruta de Operaciones. En la región de Operaciones  tendrá la pestaña principal donde ingresar una secuencia de operación, o dejar que el sistema genere uno automáticamente. Para copiar o hacen referencia a operaciones estándar en una ruta, debe usar la lista de códigos de operación del juego de  valores. Se puede definir una nueva operación estándar seleccionando Operaciones estándar en el menú Herramientas.


Si utiliza un código de operación estándar, la información de operación para el código se copiará en la operación actual. A continuación, puede actualizar esta información si lo desea.


Seleccionar un Departamento de la lista de valores, donde se realizará la operación. Luego seleccione la casilla Referido para indicar que cualquier cambio en las operaciones estándar se reflejarán en el enrutamiento. Si se selecciona la operación estándar, esta casilla está seleccionada por defecto. Seleccionar la pestaña Descripción para poder ingresar una descripción por cada operación. Finalmente grabar



Si lo desea, dar clic al botón Red Ruteo  para ver las dependencias de cada operación para la ruta activo corriente. Si lo desea, seleccione una operación y luego seleccionar Recursos de Operación para ver los recursos asociados con el departamento que actualmente se atribuye a esta operación. Opcionalmente, puede modificar la lista de recursos.

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


miércoles, 21 de enero de 2015

Finalización de Pedidos de Trabajo

Los Pedidos de Trabajo se crean contra activos. Pueden definirse manualmente, o se generan automáticamente en función de una Actividad programada. Si adjunta un Pedido de trabajo creado manualmente a una actividad (normalmente el planificador), el pedido de trabajo hereda los atributos de la actividad, como la lista de materiales de Activos, la Ruta de Activos, archivos adjuntos, planes de calidad, información de costos y programación de reglas.

Las operaciones dentro de un Pedido de Trabajo no necesitan ser completadas a fin de completar un pedido de trabajo. Sin embargo, se debe llenar una fecha que sea mayor  o igual a la fecha de finalización de la operación que tiene como fecha final. Del mismo modo, la fecha inicial debe ser anterior o igual a la fecha de inicial de la operación.

Para finalizar Pedidos de trabajo debemos navegar a a una responsabilidad de EAM >> Planificación de Pedido de Trabajo >> Banco de Trabajo de Mantenimiento o accediendo a EAM >> Finalización de Pedido de Trabajo >> Finalización de Pedido de Trabajo. Buscar el Pedido de Trabajo, Indicar una fecha de transacción y grabar para finalizar.


viernes, 26 de diciembre de 2014

API Actualizar estados de Pedidos de Trabajo EAM

El API  EAM_PROCESS_WO_PUB.PROCESS_WO es un procedimiento para actualizar un pedido de trabajo del modulo de EAM. Usando esta API podemos cambiar el estado de un Pedido de trabajo de  estado Provisorio a Cancelado o de  Finalizado a Finalizar - Sin Cargos. 

A continuación dejo el siguiente script para poder actualziar un Pedido de Trabajo de Finalizado a Finalizar - Sin Cargos. 


DECLARE
  G_EAM_WO_RELATIONS_TBL0    EAM_PROCESS_WO_PUB.EAM_WO_RELATIONS_TBL_TYPE;
  G_EAM_WO_RELATIONS_REC     EAM_PROCESS_WO_PUB.EAM_WO_RELATIONS_REC_TYPE;
  G_EAM_OP_REC0              EAM_PROCESS_WO_PUB.EAM_OP_REC_TYPE;
  G_EAM_OP_REC1              EAM_PROCESS_WO_PUB.EAM_OP_REC_TYPE;
  G_EAM_OP_NETWORK_REC0      EAM_PROCESS_WO_PUB.EAM_OP_NETWORK_REC_TYPE;
  G_EAM_OP_NETWORK_REC1      EAM_PROCESS_WO_PUB.EAM_OP_NETWORK_REC_TYPE;
  G_EAM_MAT_REQ_REC0         EAM_PROCESS_WO_PUB.EAM_MAT_REQ_REC_TYPE;
  G_EAM_MAT_REQ_REC1         EAM_PROCESS_WO_PUB.EAM_MAT_REQ_REC_TYPE;
  G_EAM_DI_REC0              EAM_PROCESS_WO_PUB.EAM_DIRECT_ITEMS_REC_TYPE;
  G_EAM_DI_REC1              EAM_PROCESS_WO_PUB.EAM_DIRECT_ITEMS_REC_TYPE;
  G_EAM_RES_REC0             EAM_PROCESS_WO_PUB.EAM_RES_REC_TYPE;
  G_EAM_RES_REC1             EAM_PROCESS_WO_PUB.EAM_RES_REC_TYPE;
  G_EAM_RES_INST_REC0        EAM_PROCESS_WO_PUB.EAM_RES_INST_REC_TYPE;
  G_EAM_RES_INST_REC1        EAM_PROCESS_WO_PUB.EAM_RES_INST_REC_TYPE;
  G_EAM_OP_TBL0              EAM_PROCESS_WO_PUB.EAM_OP_TBL_TYPE;
  G_EAM_OP_TBL1              EAM_PROCESS_WO_PUB.EAM_OP_TBL_TYPE;
  G_EAM_OP_NETWORK_TBL0      EAM_PROCESS_WO_PUB.EAM_OP_NETWORK_TBL_TYPE;
  G_EAM_RES_TBL0             EAM_PROCESS_WO_PUB.EAM_RES_TBL_TYPE;
  G_EAM_RES_INST_TBL0        EAM_PROCESS_WO_PUB.EAM_RES_INST_TBL_TYPE;
  G_EAM_SUB_RES_TBL0         EAM_PROCESS_WO_PUB.EAM_SUB_RES_TBL_TYPE;
  G_EAM_RES_USAGE_TBL0       EAM_PROCESS_WO_PUB.EAM_RES_USAGE_TBL_TYPE;
  G_EAM_MAT_REQ_TBL0         EAM_PROCESS_WO_PUB.EAM_MAT_REQ_TBL_TYPE;
  G_EAM_DI_TBL0              EAM_PROCESS_WO_PUB.EAM_DIRECT_ITEMS_TBL_TYPE;
  G_OUT_EAM_WO_RELATIONS_TBL EAM_PROCESS_WO_PUB.EAM_WO_RELATIONS_TBL_TYPE;
  G_OUT_EAM_WO_REC           EAM_PROCESS_WO_PUB.EAM_WO_REC_TYPE;
  G_OUT_EAM_WO_TBL           EAM_PROCESS_WO_PUB.EAM_WO_TBL_TYPE;
  G_OUT_EAM_OP_TBL           EAM_PROCESS_WO_PUB.EAM_OP_TBL_TYPE;
  G_OUT_EAM_OP_NETWORK_TBL   EAM_PROCESS_WO_PUB.EAM_OP_NETWORK_TBL_TYPE;
  G_OUT_EAM_RES_TBL          EAM_PROCESS_WO_PUB.EAM_RES_TBL_TYPE;
  G_OUT_EAM_RES_INST_TBL     EAM_PROCESS_WO_PUB.EAM_RES_INST_TBL_TYPE;
  G_OUT_EAM_SUB_RES_TBL      EAM_PROCESS_WO_PUB.EAM_SUB_RES_TBL_TYPE;
  G_OUT_EAM_RES_USAGE_TBL    EAM_PROCESS_WO_PUB.EAM_RES_USAGE_TBL_TYPE;
  G_OUT_EAM_MAT_REQ_TBL      EAM_PROCESS_WO_PUB.EAM_MAT_REQ_TBL_TYPE;
  G_OUT_EAM_DI_TBL           EAM_PROCESS_WO_PUB.EAM_DIRECT_ITEMS_TBL_TYPE;

  G_EAM_WO_REC1 EAM_PROCESS_WO_PUB.EAM_WO_REC_TYPE;
  G_EAM_WO_REC2 EAM_PROCESS_WO_PUB.EAM_WO_REC_TYPE;
  G_EAM_WO_TBL0 EAM_PROCESS_WO_PUB.EAM_WO_TBL_TYPE;

  G_EAM_WO_RES_USG_TBL0 EAM_PROCESS_WO_PUB.EAM_RES_USAGE_TBL_TYPE;
  L_RETURN_STATUS       VARCHAR2(1);
  L_MSG_COUNT           NUMBER;

  G_EAM_WO_USG_REC1 EAM_PROCESS_WO_PUB.EAM_RES_USAGE_REC_TYPE;
  G_EAM_WO_USG_REC2 EAM_PROCESS_WO_PUB.EAM_RES_USAGE_REC_TYPE;

  MSG_INDEX     NUMBER;
  TEMP_ERR_MESG VARCHAR2(2000);

  P_WIP_ENTITY_ID   WIP_DISCRETE_JOBS.WIP_ENTITY_ID%TYPE;
  P_ORGANIZATION_ID WIP_DISCRETE_JOBS.ORGANIZATION_ID%TYPE;

  CURSOR C1 IS
    SELECT WIP_ENTITY_ID, ORGANIZATION_ID FROM WIP_DISCRETE_JOBS WHERE
    wip_entity_Id = (select WIP_ENTITY_ID  from eam_work_orders_v
     where  wip_entity_Name='&WORKORDER');
    ---STATUS_TYPE =4
BEGIN

  G_EAM_WO_REC1                  := NULL;
  G_EAM_WO_REC1.TRANSACTION_TYPE := EAM_PROCESS_WO_PVT.G_OPR_UPDATE;
  G_EAM_WO_REC1.BATCH_ID         := 2;
  G_EAM_WO_REC1.HEADER_ID        := 2;

  G_EAM_WO_REC1.DESCRIPTION := 'API Cambia Estado Pedido de Trabajo';
  G_EAM_WO_REC1.STATUS_TYPE := WIP_CONSTANTS.COMP_NOCHRG;---cambia estados
 
 /*Estados a tener en cuenta.
  UNRELEASED  CONSTANT NUMBER :=  1; -- Unreleased - no charges allowed
  SIMULATED   CONSTANT NUMBER :=  2; -- Simulated
  RELEASED    CONSTANT NUMBER :=  3; -- Released - charges allowed
  COMP_CHRG   CONSTANT NUMBER :=  4; -- Complete - charges allowed
  COMP_NOCHRG CONSTANT NUMBER :=  5; -- Complete - no charges allowed
  HOLD        CONSTANT NUMBER :=  6; -- Hold - no charges allowed
  CANCELLED   CONSTANT NUMBER :=  7; -- Cancelled - no charges allowed
  PEND_BOM    CONSTANT NUMBER :=  8; -- Pending bill of material load
  FAIL_BOM    CONSTANT NUMBER :=  9; -- Failed bill of material load
  PEND_ROUT   CONSTANT NUMBER := 10; -- Pending routing load
  FAIL_ROUT   CONSTANT NUMBER := 11; -- Failed routing load
  PEND_REPML  CONSTANT NUMBER := 13; -- Pending - repetitively mass loaded
  PEND_CLOSE  CONSTANT NUMBER := 14; -- Pending Close
  FAIL_CLOSE  CONSTANT NUMBER := 15; -- Failed Close
  PEND_SCHED  CONSTANT NUMBER := 16; -- Pending Scheduling 
  DRAFT       CONSTANT NUMBER := 17; -- Draft */
 
 
  G_EAM_WO_TBL0(1) := G_EAM_WO_REC1;

  OPEN C1;
  LOOP
    FETCH C1
      INTO P_WIP_ENTITY_ID, P_ORGANIZATION_ID;
    EXIT WHEN C1%NOTFOUND;
   
    G_EAM_WO_REC1.WIP_ENTITY_ID   := P_WIP_ENTITY_ID;
    G_EAM_WO_REC1.ORGANIZATION_ID := P_ORGANIZATION_ID;
   
    DBMS_OUTPUT.PUT_LINE('Cambiar estado para WIP_ENTITY_ID: ' ||
                         P_WIP_ENTITY_ID);
                        
EAM_PROCESS_WO_PUB.PROCESS_WO(P_BO_IDENTIFIER        => 'EAM',
                              P_API_VERSION_NUMBER   => 1.0,
                              P_INIT_MSG_LIST        => TRUE,
                              P_COMMIT               => 'Y',
                              P_EAM_WO_REC           => G_EAM_WO_REC1,
                              P_EAM_OP_TBL           => G_EAM_OP_TBL0,
                              P_EAM_OP_NETWORK_TBL   => G_EAM_OP_NETWORK_TBL0,
                              P_EAM_RES_TBL          => G_EAM_RES_TBL0,
                              P_EAM_RES_INST_TBL     => G_EAM_RES_INST_TBL0,
                              P_EAM_SUB_RES_TBL      => G_EAM_SUB_RES_TBL0,
                              P_EAM_RES_USAGE_TBL    => G_EAM_RES_USAGE_TBL0,
                              P_EAM_MAT_REQ_TBL      => G_EAM_MAT_REQ_TBL0,
                              P_EAM_DIRECT_ITEMS_TBL => G_EAM_DI_TBL0,
                              X_EAM_WO_REC           => G_EAM_WO_REC2,
                              X_EAM_OP_TBL           => G_OUT_EAM_OP_TBL,
                              X_EAM_OP_NETWORK_TBL   => G_OUT_EAM_OP_NETWORK_TBL,
                              X_EAM_RES_TBL          => G_OUT_EAM_RES_TBL,
                              X_EAM_RES_INST_TBL     => G_OUT_EAM_RES_INST_TBL,
                              X_EAM_SUB_RES_TBL      => G_OUT_EAM_SUB_RES_TBL,
                              X_EAM_RES_USAGE_TBL    => G_EAM_RES_USAGE_TBL0,
                              X_EAM_MAT_REQ_TBL      => G_OUT_EAM_MAT_REQ_TBL,
                              X_EAM_DIRECT_ITEMS_TBL => G_OUT_EAM_DI_TBL,
                              X_RETURN_STATUS        => L_RETURN_STATUS,
                              X_MSG_COUNT            => L_MSG_COUNT
                              -- , P_DEBUG => 'Y'
                              -- , P_OUTPUT_DIR => '/SQLCOM/LOG/LV115DYP'
                              -- , P_DEBUG_FILENAME => 'DIV_EAMBO22.LOG'
                              -- , P_DEBUG_FILE_MODE => 'W'
                              );

  DBMS_OUTPUT.PUT_LINE('Finalizado WIP_ENTITY_ID: ' || P_WIP_ENTITY_ID);
   DBMS_OUTPUT.PUT_LINE('Status : '||L_RETURN_STATUS);

IF L_MSG_COUNT > 0 then
DBMS_OUTPUT.PUT_LINE('Error Ocurrido : '||SQLERRM||' : '||SQLCODE);
END IF;
  
  END LOOP;
  CLOSE C1;
END;