Mostrando entradas con la etiqueta Inventory. Mostrar todas las entradas
Mostrando entradas con la etiqueta Inventory. Mostrar todas las entradas

lunes, 7 de marzo de 2016

Redes de envío

Utilice la ventana Redes de envío para definir la información contable y las relaciones que existen entre las organizaciones de envío y de destino. Puede especificar si una organización es una organización de envío, una organización de destino, o ambas cosas.

Primero debemos buscar una organización de Inventarios y le ingresamos un Alcance. Para determinar si la organización va a ser de envió se coloca por defecto  Desde Organización , de destino se escoge Hasta Organización, o ambos con Desde o Hasta organización.



El artículo se transfiere con los campos Desde  la organización  a Hasta Organización.


El tipo Transferencia se crea para cada relación de organizaciones, se debe indicar qué tipo de transferencia se utiliza. Si decide utilizar el inventario En Tránsito,  Inventory mueve el material a un inventario en tránsito antes de que llegue a la organización de destino cuando se realiza una transferencia entre organización. Por lo general, se transfiere el material a través del inventario en tránsito cuando el tiempo de transporte es significativo. Si elige la opción Directo, Inventory mueve su material directamente a la organización de destino cuando se realiza una transferencia entre organización. Si escoge esta opción los campos  FOB y ruteo de Recibo son deshabilitados.

El campo FOB (Envió / Recibo) determina la propiedad del material. Si se trata de embarque, el propietario  va a recibir desde la organización que ha enviado el material. Si se trata de la recepción el propietario  transfiere desde la organización de Envió a la organización de Recibo cuando el material es recibido en la organización de recepción.

El campo Ruteo de Recibo  se habilita si sha seleccionado  el campo Tipo de transferencia como En Transito, seleccione una de las siguientes opciones:

Standard: Recibe en primer lugar el artículo, luego realiza la entrega sin inspección.
Directo: En la recepción, entrega el  artículo directamente a su localizador.

Inspección: Recibe en primer lugar el artículo, lo inspecciona y luego entrega.


También se debe especificar si el Pedido Interno Requerido se requiere en la organización de destino para realizar transferencias entre organizaciones. Oracle Inventory no permite llevar a cabo transferencias que utilizan la ventana de Transferencia Inter-organizacion a una organización que requiere requisiciones internas.

Seleccione el tipo de cargo transferencia Interorganziación para el cálculo de los gastos de transferencia:

Ninguno: No añade los gastos de transferencia.

Porcentaje Predefinido: Añade automáticamente un porcentaje predefinido del valor de transacción.

Valor Solicitado: Introduce un valor discreto para agregar.

Porcentaje Solicitado: Introduce un porcentaje discreto del valor de transferencia para agregar.


El valor predeterminado es el valor que ha definido en la ventana de Parámetros de la Organización para la organización de envío.

Además, debe proporcionar las cuentas contables para registrar los débitos y créditos implicados en una transferencia entre organización. Ingresar una cuenta para el Crédito de Transferencia utilizado para recoger los gastos de transferencia para la organización del envío. El valor predeterminado es el valor que ha definido en la ventana Parámetros Organización para la organización de envío.

Ingresar la cuenta utilizada para recoger la Variación del Precio de Compra para las recepciones entre organizacion en organizaciones de costos estándar. Debe introducir una cuenta si su organización utiliza el costeo estándar.

Ingresar una Cuenta a Cobrar utilizada como una cuenta de liquidación de cuentas entre la organización para la organización de envío. Esta cuenta debe ser igual a la Cuentas a Pagar entre organizaciones responsables de la organización receptora.


Finalmente ingresar los Métodos de Envío seleccionando en el menú Herramientas para abrir la pantalla Redes de envío Interorg. Ingresar el método de envío para el que desea asociar principalmente tiempo en tránsito para el que se muestra desde y hacia las organizaciones e ingresar el tiempo en tránsito en unidades.


jueves, 3 de diciembre de 2015

Correcciones de Transacciones de Inventory

La pantalla de  Correcciones  sirve para registrar las operaciones de corrección contra transacciones los cuales se han recepcionado en la pantalla de Recepciones.  Esto no incluye a las transacciones realizadas por envíos internos (internal shipments).

Para seleccionar las transacciones para  correcciones debe ir a una responsabilidad de Purchasing >> Recepción >> Correcciones. Saldra la pantalla  Encontrar correcciones, esta pantalla sirve para buscar los documentos para  los que se deseas realizar correcciones. Escribir cualquiera de los siguientes criterios de búsqueda, como por ejemplo El numero de Orden de compra y seleccione el botón Buscar para pasar a la ventana Correcciones de Recepción.

En la pantalla  Correcciones de Recepción puede navegar a esta ventana a las pestañas alternativas para mostrar información adicional acerca de las transacciones. Se tiene la pestaña de transacciones donde contiene la información del Tipo de destino, el número de artículos, el número de revisiones, Descripción de artículo, ubicación, persona, subinventario, y el localizador.

En la pestaña Detalles, puede ver la Nota de Embalaje, número de lote entre otros. En la pestaña de Información del pedido, puede ver el Tipo de pedido , número de pedido, el número de despacho, número de línea, número de envío, Proveedor, Cantidad pedida, UDM y fecha de vencimiento.

En la región de Servicios externos, se puede ver el trabajo / cronograma, Línea, Secuencia de operación, y el Departamento. Ingrese la cantidad de corrección positiva o negativa para la línea actual. Una vez marcado las líneas con los cambios guardar el registro para generar la corrección.


martes, 17 de noviembre de 2015

Query para obtener información de transacciones por Pedido de Movimientos

En Oracle Inventory podemos realizar pedidos de Movimiento de una organización de Inventarios a otro. Una vez aprobado y transaccionado se genera movimientos de material por la transacción, Las siguientes tablas se utilizan en el proceso de Pedidos de Movimiento.

MTL_TXN_REQUEST_HEADERS: Tabla donde se localiza la cabecera de los pedidos de movimientos donde se almacena el número de Pedido de movimiento en la columna (REQUEST_NUMBER). Tiene un estado, pero esto no se utiliza tanto como el estado de las líneas para conducir la funcionalidad.

MTL_TXN_REQUEST_LINES: Tabla donde se localiza las línea de los pedidos de Movimiento, este es el que impulsa más consultas y comprobaciones de estado del pedido de movimiento, ya que cada línea puede ser transaccionado de forma individual.

MTL_MATERIAL_TRANSACTIONS_TEMP: Tabla temporal de transacciones de material también llamado la tabla  de transacción temporal, esto retiene las asignaciones que actúan como reservas de inventario. Una asignación es donde tienes que elegir un artículo específico en el inventario hasta el lote, localizador, serial, revisión de movimiento, pero no se realiza en realidad el movimiento.

MTL_MATERIAL_TRANSACTIONS: Tabla que almacena un registro de cada transacción de materiales o de cada actualización de costos realizado en Inventarios. La columna move_order_line_id contiene el id d la línea del pedido de movimiento transaccionado.

1. Cuando se crea el pedido de movimiento se tiene los siguientes valores:
Quantity: 10
Quantity_Delivered: NULL
Quantity_Detailed: NULL
Required_ Quantity: NULL
Line_Status: 1 (Incompleto)

2. Cuando se aprueba el  pedido de movimiento se tiene los siguientes valores:
Quantity: 10
Quantity_Delivered: NULL
Quantity_Detailed: NULL
Required_ Quantity: NULL
Line_Status: 3 (Aprobado)

3. Cuando se asigna el  pedido de movimiento se tiene los siguientes valores:
Quantity: 10
Quantity_Delivered: NULL
Quantity_Detailed: 10
Required_ Quantity: NULL
Line_Status: 3 (Aprobado)

4. Cuando se transacciona el  pedido de movimiento se tiene los siguientes valores:
Quantity: 10
Quantity_Delivered: 10
Quantity_Detailed: 10
Required_ Quantity: NULL
Line_Status: 5 (Cerrado)

NOTA: Cuando un pedido de movimiento se asigna, se inserta un registro correspondiente en la tabla de pendientes MTL_MATERIAL_TRANSACTIONS_TEMP. Cuando el pedido de movimiento se transacciona, el registro se mueve de la tabla pendiente a la tabla histórica MTL_MATERIAL_TRANSACTIONS.

a) Ejemplo de consulta para enlazar pedidos de movimiento con la tabla pendientes:

SELECT mmtt.transaction_temp_id,
  tol.organization_id,
  toh.request_number,
  toh.header_id,
  tol.line_number,
  tol.line_id,
  tol.inventory_item_id,
  toh.description,
  toh.move_order_type,
  tol.line_status,
  tol.quantity,
  tol.quantity_delivered,
  tol.quantity_detailed
FROM mtl_txn_request_headers toh,
  mtl_txn_request_lines tol,
  mtl_material_transactions_temp mmtt
WHERE toh.header_id = tol.header_id
 AND toh.organization_id = tol.organization_id
 AND tol.line_id = mmtt.move_order_line_id;

b) Ejemplo de consulta que une MTL_MATERIAL_TRANSACTIONS a la orden de movimiento:

SELECT mmt.transaction_id,
  tol.organization_id,
  toh.request_number,
  toh.header_id,
  tol.line_number,
  tol.line_id,
  tol.inventory_item_id,
  toh.description,
  toh.move_order_type,
  tol.line_status,
  tol.quantity,
  tol.quantity_delivered,
  tol.quantity_detailed
FROM mtl_txn_request_headers toh,
  mtl_txn_request_lines tol,
  mtl_material_transactions mmt
WHERE toh.header_id = tol.header_id
 AND toh.organization_id = tol.organization_id
 AND tol.line_id = mmt.move_order_line_id
 AND toh.request_number = '&PedidoMovimiento';

La tabla de pedidos de movimientos (MTL_TXN_REQUEST_LINES) proporciona el estado del pedido en la columna de la LINE_STATUS como numérico. A continuación se enumeran los diferentes estados y de los códigos:

 1 Incompleto
 2 Aprobación Pendiente
 3 Aprobado
 4 No Aprobado
 5 Cerrado
 6 Cancelado
 7 Pre-Aprobado
 8 Parcialmente Aprobado
 9 Cancelado por Origen

Estos se pueden encontrar en el lookup MTL_TXN_REQUEST_STATUS:


miércoles, 9 de septiembre de 2015

Detalles sobre el Numero de Pedido de Movimiento

Los Pedidos de movimientos son solicitudes de pedidos de materiales para una organización. En particular. Cuando empezamos a generar un Pedido podemos ingresar un numero o bien podemos da clic en otro campo y un numero secuencial se genera automáticamente. Ahora ¿Cómo se genera el número de orden de movimiento?
               
Los Número de  Pedido de Movimiento se genera automáticamente utilizando  la secuencia MTL_TXN_REQUEST_HEADERS_S . Sin embargo los  usuarios pueden definir sus propios números de pedidos de movimiento. Ahora este  campo es de tipo varchar. Los usuarios pueden introducir sus propios números de Pedidos de movimiento siempre que no exista en la tabla MTL_TXN_REQUEST_HEADERS.



¿Cómo funciona la secuencia de Pedido de movimiento?
Cada vez que se ingresa un Numero en Pedidos de Movimiento, la secuencia se incrementa usando la opción nextval. Así que, en caso de que el usuario no guarde los cambios en el formulario de Pedidos de Movimiento, el número de secuencia no podrá ser reseteado o pueda retroceder a un numero anterior. Pongamos el siguiente ejemplo: Si un usuario A se desplaza fuera del campo de número de Pedido de Movimiento, se genera el siguiente número de secuencia para el Pedido de Movimiento. Por otro lado un  usuario B también navega por la pantalla y consigue otro nuevo número de secuencia. Ahora bien, si el usuario A cierra el formulario sin guardar los cambios y el usuario B guarda los cambios, el número de secuencia no se cambia y se mantiene de acuerdo a como se genero en su momento.

El last_value o last_number es el último número generado por el sistema en la secuencia que incluye la memoria caché. Por lo tanto, no es el último número de Pedido de movimiento generado a través del formulario de Pedidos de Movimiento.

¿Cómo sabemos cuál es el siguiente número en la secuencia?
El siguiente sql se puede utilizar para conocer el siguiente valor para el Pedido de movimiento:

SELECT MTL_TXN_REQUEST_HEADERS_S.NEXTVAL FROM DUAL

Sin embargo, tenga en cuenta que una vez que se ejecuta este sql, usted no será capaz de utilizar ese número otra vez. Al momento de  ejecutar el sql, ya se utiliza el siguiente valor. De la misma forma se comporte en la pantalla de Pedido de Movimientos cuando damos TAB o damos clic fuera del campo Numero.
  
SELECT MTL_TXN_REQUEST_HEADERS_S.CURRVAL FROM DUAL


El sql anterior puede utilizarse para obtener el valor actual del pedido de movimiento. Sin embargo, tenga en cuenta que no será capaz de ejecutar este sql sin correr el primero sql mencionado anteriormente.

miércoles, 19 de agosto de 2015

Articulo de Inventario y de Gastos

Aquellos Artículos que se les da un mantenimiento y  seguimiento por existencias son Artículos de Inventario. Este tipo de artículos se crean bajo un código único. Por ejemplo: Piezas de maquinarias, materias primas, repuestos,entre otros.

Aquellos artículos que no son inventariables y solo son para ingresos y salidas directas son Artículos de Gastos. Para este tipo de artículos no hay necesidad de crear un código único por cada gasto , mas bien puede ser usado para uno en general. por ejemplo: Servicios, proyectos, consumibles, entre otros.

Para configurar un articulo de gasto debemos desmarcar la casilla Articulo de inventario en la pestaña Inventario. Las casillas Comprado y Adquirible se puede marcar para que este articulo sea usado como gasto en las ordenes de Compra.


No se puede definir un artículo como gasto o de Inventario al mismo tiempo. Pero puede definir el artículo como artículo de inventario y cuando desea utilizarlo como un gasto,debe mover el articulo a un subinventario de gasto. 

Para ello tenemos que desactivar el atributo de Subinventario de Activos en el subinventario especificado. Debemos desmarcar la casilla Subinventario Activos y  asegurarse que las cuentas del subinventario esten bien configurados.


martes, 18 de agosto de 2015

Estado de Articulo

Puede usar los Estados de Articulo proporcionar valores predeterminados para ciertos atributos de artículos para controlar la funcionalidad de cada articulo de Inventory. Al actualizar los valores para un estado, todos los artículos a los que se asigna también se actualizan.

Tener en cuenta que cuando su organización actual no es la organización de Maestra de artículos, la organización se cambia temporalmente a la organización del Maestro de artículos hasta que salga de esta ventana. Puede utilizar los estados creados aquí en todas las organizaciones definidas.


Un Estado de Articulo controla ciertos atributos de artículos designados como atributos de estado. Los atributos de estado son:

  • BOM Autorizada
  • Construcción en WIP
  • Pedidos de Clientes Activados
  • Pedidos Internos Activados
  • Factura Activada
  • Adquirible
  • Disponible para Stock
  • Apto para Transacción

Para cada Estado de Articulo se le asocia sus atributos. Esta opción determina si un valor de atributo se establece por cada estado. Puede elegir si el valor es controlable o por defecto en la pantalla Controles de Atributo.

Crear Estado de Articulo
Para ello ir a una Responsabilidad de Inventory >> Configuración >> Artículos >> Códigos de Estado. Ingresar un nombre único como el código o nombre del Estado.Para cada atributo, utilice la opción de Valor para indicar la funcionalidad que está controlado por el Estado. 

Una vez creado solo puede eliminar un estado si no se ha utilizado. De lo contrario lo puede desactivar para ello debe ingresar una fecha en el campo Fecha InactivaA partir de esta fecha, ya no podrá usar este estado para un articulo.A su vez el estado sigue siendo válido para los artículos a los que ya está asignado.

miércoles, 12 de agosto de 2015

Transferir transacciones a GL

Oracle proporciona a los usuarios un programa estándar llamando Transferir transacciones a GL que se pueden utilizar para transferir la información de Inventory a General Ledger. El programa recoge todos los registros de la tabla MTL_TRANSACTION_ACCOUNTS que tienen el campo gl_batch_id = -1 para luego enviarlo a la GL_INTERFACE. Lo puede ejecutar como una solicitud o navegando en la responsabilidad de Inventory >> Ciclo de Cierre Contable >> Transferencias de General Ledger


Puede realizar la transferencia de General Ledger en cualquier momento durante un período abierto antes de su cierre. Estas transferencias provisionales le permiten conciliar y transferir la información semanal, haciendo que el proceso de cierre por período cuando llegue a fin de mes sea mucho más simple y más rápido.

La transferencia de General Ledger se carga a nivel de resumen o detalle de la actividad contable para cualquier período abierto en la interface  de General Ledger, esto incluye tanto el inventario y las ingresos en Work in Process. Cuando más de un período esta abierto, la transferencia selecciona las transacciones desde el primer período Abierto, hasta la fecha de la transferencia ingresada, y pasa la fecha contable correcta y la información financiera en la interface de General Ledger.

Supongamos el siguiente caso: Al transferir información a detalle, la fecha de la transacción es la fecha contable en cada línea transferida. Al transferir asientos de resumen con dos períodos abiertos y ingresar una fecha de transferencia en el segundo período, el proceso de transferencia asigna el primer periodo como fecha final para todas las transacciones resumidas en el primer periodo y asigna la fecha de transferencia para las transacciones que se resumen en el segundo periodo.

Para habilitar el proceso resumido tiene la opción de realizar este proceso de forma automática o manualmente utilizando la opción de perfil CST: Resumen de Período. Si la opción de perfil se establece en Automático, el plazo se cierra y se resume cuando cambia el estado de Abierto a Cerrado.


Si la opción de perfil está establecido en Manual, puede retrasar el resumen, pero debe resumir estos períodos retrasados en orden de período contable. Por ejemplo, si se demora el resumen para un período determinado, el período siguiente no puede ser resumido hasta que se realice el resumen  del período anterior. Si usted no elige resumir períodos, se establece el estado de periodo a Cerrado No Resumido.

Para cada organización de inventario,  Cost Management  transfiere transacciones a la tabla de interface de General Ledger , línea por línea. Si transfiere la información en resumen, Cost Management agrupa las transacciones por lotes, por categoría, por código de divisa, y por cuenta.

Nota: La transferencia a detalle es valido sólo si tiene bajos volúmenes de transacción. La transferencia por grandes cantidades de transacciones a detalle puede afectar negativamente el rendimiento de General Ledger.

Tanto para transferencias a detalle y de resumen, Cost Management pasa el código de la organización, número de lote de GL, descripción y fecha del lote. Al transferir en detalle, también se pasa el material o el trabajo en proceso. Cost Management utiliza el Origen de Asientos de inventarios tanto para operaciones de Inventory y Work In Process . La Categorías de Asientos se distinguen de  Inventory y Work In Process.

Scripts para localizar transacciones pendientes

Las transacciones pendientes para un cierre de un período de inventario se pueden ver en la pantalla de Períodos Contables de InventarioSeleccione un período Abierto y haga clic en el botón Pendiente



Aquellas Transacciones bajo Solución Requerida y Transacciones de Envió no Procesadas deben ser resueltos antes de cerrar el  período contable. Aquellas Transacciones en Solución Recomendada no evitará el cierre de un período, pero estas operaciones no se podrán resolver después de que un período contable este cerrado.

Los siguientes Scripts nos podrán ayudar a localizar cuantos registros tenemos pendientes antes de cerrar un periodo contable dentro del modulo de Inventarios.

--Transacciones de Materiales no Procesadas

SELECT COUNT(*)
  FROM MTL_MATERIAL_TRANSACTIONS_TEMP
WHERE ORGANIZATION_ID =
       (SELECT ORGANIZATION_ID
          FROM APPS.ORG_ORGANIZATION_DEFINITIONS
         WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE' AND
       TRANSACTION_DATE <
       (SELECT SCHEDULE_CLOSE_DATE + 1
          FROM APPS.ORG_ACCT_PERIODS
         WHERE ORGANIZATION_ID =
               (SELECT ORGANIZATION_ID
                  FROM APPS.ORG_ORGANIZATION_DEFINITIONS
                 WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
           AND PERIOD_NAME = '&PERIOD_NAME'))
  AND NVL(TRANSACTION_STATUS, 0) <> 2

--Transacciones de Materiales Sin costear

SELECT /*+ INDEX (MMT MTL_MATERIAL_TRANSACTIONS_N10) */
 COUNT(*)
  FROM MTL_MATERIAL_TRANSACTIONS MMT
 WHERE ORGANIZATION_ID =
       (SELECT ORGANIZATION_ID
          FROM APPS.ORG_ORGANIZATION_DEFINITIONS
         WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
   AND TRANSACTION_DATE <
       (SELECT SCHEDULE_CLOSE_DATE + 1
          FROM APPS.ORG_ACCT_PERIODS
         WHERE ORGANIZATION_ID =
               (SELECT ORGANIZATION_ID
                  FROM APPS.ORG_ORGANIZATION_DEFINITIONS
                 WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
           AND PERIOD_NAME = '&PERIOD_NAME')
   AND COSTED_FLAG IS NOT NULL

--Transacciones WIP Sin costear

SELECT COUNT(*)
  FROM WIP_COST_TXN_INTERFACE
 WHERE ORGANIZATION_ID =
       (SELECT ORGANIZATION_ID
          FROM APPS.ORG_ORGANIZATION_DEFINITIONS
         WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
   AND TRANSACTION_DATE <
       (SELECT SCHEDULE_CLOSE_DATE + 1
          FROM APPS.ORG_ACCT_PERIODS
         WHERE ORGANIZATION_ID =
               (SELECT ORGANIZATION_ID
                  FROM APPS.ORG_ORGANIZATION_DEFINITIONS
                 WHERE ORGANIZATION_CODE ='&ORGANIZATION_CODE')
           AND PERIOD_NAME =  '&PERIOD_NAME')

--Transacciones WSM Sin costear
     
SELECT COUNT(*)
  FROM WSM_SPLIT_MERGE_TRANSACTIONS
 WHERE ORGANIZATION_ID =
       (SELECT ORGANIZATION_ID
          FROM APPS.ORG_ORGANIZATION_DEFINITIONS
         WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
   AND TRANSACTION_DATE <
       (SELECT SCHEDULE_CLOSE_DATE + 1
          FROM APPS.ORG_ACCT_PERIODS
         WHERE ORGANIZATION_ID =
               (SELECT ORGANIZATION_ID
                  FROM APPS.ORG_ORGANIZATION_DEFINITIONS
                 WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
           AND PERIOD_NAME = '&PERIOD_NAME')

--Transacciones Interface WSM Sin costear

SELECT COUNT(*)
  FROM WSM_SPLIT_MERGE_TXN_INTERFACE
 WHERE ORGANIZATION_ID =
       (SELECT ORGANIZATION_ID
          FROM APPS.ORG_ORGANIZATION_DEFINITIONS
         WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
   AND TRANSACTION_DATE <
       (SELECT SCHEDULE_CLOSE_DATE + 1
          FROM APPS.ORG_ACCT_PERIODS
         WHERE ORGANIZATION_ID =
               (SELECT ORGANIZATION_ID
                  FROM APPS.ORG_ORGANIZATION_DEFINITIONS
                 WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
           AND PERIOD_NAME = '&PERIOD_NAME')

--Transacciones de Recepcion Pendientes

SELECT COUNT(*)
FROM RCV_TRANSACTIONS_INTERFACE
 WHERE TO_ORGANIZATION_ID =
       (SELECT ORGANIZATION_ID
          FROM APPS.ORG_ORGANIZATION_DEFINITIONS
         WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
   AND TRANSACTION_DATE <
       (SELECT SCHEDULE_CLOSE_DATE + 1
          FROM APPS.ORG_ACCT_PERIODS
         WHERE ORGANIZATION_ID =
               (SELECT ORGANIZATION_ID
                  FROM APPS.ORG_ORGANIZATION_DEFINITIONS
                 WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
           AND PERIOD_NAME = '&PERIOD_NAME')
   AND DESTINATION_TYPE_CODE = 'INVENTORY'
  
--Transacciones de Materiales Pendientes

SELECT COUNT(*)
  FROM MTL_TRANSACTIONS_INTERFACE
 WHERE ORGANIZATION_ID =
       (SELECT ORGANIZATION_ID
          FROM APPS.ORG_ORGANIZATION_DEFINITIONS
         WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
   AND TRANSACTION_DATE <
       (SELECT SCHEDULE_CLOSE_DATE + 1
          FROM APPS.ORG_ACCT_PERIODS
         WHERE ORGANIZATION_ID =
               (SELECT ORGANIZATION_ID
                  FROM APPS.ORG_ORGANIZATION_DEFINITIONS
                 WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
           AND PERIOD_NAME = '&PERIOD_NAME')
   AND PROCESS_FLAG <> 9

--Transacciones Movimiento de Planta Pendientes

SELECT COUNT(*)
  FROM WIP_MOVE_TXN_INTERFACE
 WHERE ORGANIZATION_ID =
       (SELECT ORGANIZATION_ID
          FROM APPS.ORG_ORGANIZATION_DEFINITIONS
         WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
   AND TRANSACTION_DATE <
       (SELECT SCHEDULE_CLOSE_DATE + 1
          FROM APPS.ORG_ACCT_PERIODS
         WHERE ORGANIZATION_ID =
               (SELECT ORGANIZATION_ID
                  FROM APPS.ORG_ORGANIZATION_DEFINITIONS
                 WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
           AND PERIOD_NAME = '&PERIOD_NAME')

--Transacciones de envios no Procesados

SELECT WTS.ACTUAL_DEPARTURE_DATE--COUNT(*)
  FROM WSH_DELIVERY_DETAILS     WDD,
       WSH_DELIVERY_ASSIGNMENTS WDA,
       WSH_NEW_DELIVERIES       WND,
       WSH_DELIVERY_LEGS        WDL,
       WSH_TRIP_STOPS           WTS
 WHERE WDD.SOURCE_CODE = 'OE'
   AND WDD.RELEASED_STATUS = 'C'
   AND WDD.INV_INTERFACED_FLAG IN ('N', 'P')
   AND WDD.ORGANIZATION_ID = (SELECT ORGANIZATION_ID
                  FROM APPS.ORG_ORGANIZATION_DEFINITIONS
                 WHERE ORGANIZATION_CODE = '&ORGANIZATION_CODE')
   AND WDA.DELIVERY_DETAIL_ID = WDD.DELIVERY_DETAIL_ID
   AND WND.DELIVERY_ID = WDA.DELIVERY_ID
   AND WND.STATUS_CODE IN ('CL', 'IT')
   AND WDL.DELIVERY_ID = WND.DELIVERY_ID
   AND WTS.PENDING_INTERFACE_FLAG IN ('Y', 'P')
   AND TO_CHAR(TRUNC(WTS.ACTUAL_DEPARTURE_DATE),'MON-YY')='&PERIOD_NAME'

   AND WDL.PICK_UP_STOP_ID = WTS.STOP_ID