cancel
Showing results for 
Search instead for 
Did you mean: 

consulta que incluye 3 tablas, 1 sin relacion

Former Member
0 Kudos

necesito crear una consulta que me arroje la siguiente información:

No. pedido del cliente, nombre del cliente,comentarios, estado del pedido, artículos solicitados, descripción de estos artículos, orden de producción asignado a la partida, cantidad planificada en la orden de producción, cantidad recibida de dicha orden de producción y fecha de vencimiento del pedido.

filtrada por fecha de vencimiento y por status del pedido

se que tengo que usar las tablas ORDR, RDR1 para la mayoría, pero para que me de la cantidad planificada en la orden de producción y la cantidad recibida de esa orden necesito la tabla OWOR y dicha tabla no tiene relación con ninguna de las anteriores.

Muchas gracias por su ayuda.

Miguel Gamboa

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenos dias

Puedes realizar esto

select T0.CardCode,T1.ItemCode,T2.CompnyName

from OINV T0

inner join INV1 T1 on T1.DocEntry=T0.DocEntry

inner join OADM T2 on 1=1

Saludos

Former Member
0 Kudos

Felipe buenos días

Gracias por tu aporte, sin embargo mi intención es correr la consulta con pedidos que aun  no están facturados, si no que están en proceso de fabricación. es por eso que necesito ver tanto la cantidad planificada como la cantidad recibida de la orden de fabricación y no del pedido.

Para ser mas explicito, necesito una consulta que me arroje todas las partidas de todos los pedidos abiertos y que de estas partidas me diga cuales ya tienen orden de fabricación asignada y cuales no, así mismo, de las que si tienen orden de fabricación necesito ver cuantas piezas se planearon y cuantas piezas se han recibido hasta el momento en esa orden de fabricación.

Espero me puedas ayudar

Saludos

former_member227744
Active Participant
0 Kudos

Miguel Gamboa:

Si cruzas las tablas y campos OWOR.OriginNum con ORDR.DocuNum podrías obtener las notas de ventas asociadas a ordenes de producción, siempre y cuando en las ordenes de fabricación tengas asociadas las notas de venta en cuestión.

Espero haber aportado.

Saludos,

Manuel Díaz G.

Former Member
0 Kudos

Manuel

Gracias por tu aporte, eso es exactamente lo que necesito, pero al contrario, es decir; partiendo de los pedidos del cliente necesito ver las partidas que tienen orden de fabricación asignadas y las cantidades panificadas y recibidas de las mismas.

Y efectivamente si tengo las ordenes de fabricación asociadas a los pedidos del cliente.

Se que dentro de la tabla RDR1 existe el campo PoTrgNum que me arroja la orden de fabricación asignada, tal cual como lo necesito, sin embargo no puedo crear la relación entre este campo y el DocNum de OWOR.

Alguna idea?

Gracias por tu ayuda

former_member227744
Active Participant
0 Kudos

Miguel:

En alguna oportunidad hicimos esto con apoyo de un desarrollador, se hizo un pequeño circuito que consta básicamente en crear un campo de usuario en el detalle de la nota de venta que nos indicaba si el pedido tenía asignada una Orden de fabricación (El docNum del pedido lo llevábamos al detalle del documento y lo comparábamos con el OriginNum de las OF, si coincidía lo graba en el campo) y en otro campo creamos el estado de la Orden de fabricación, así podíamos identificar si los pedidos tenían una OF asignada y en que estado se encontraba.

De forma estándar no se me ocurre como hacerlo, sorry

Saludos,

Manuel Díaz G.

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenos dias

Prueba lo siguiente, puedes agregar mas campos si quieres.

select

     T0.DocNum [Pedido]

    ,T0.DocDate

    ,T0.CardCode

    ,T0.CardName

    ,sum(T1.OpenQty) [CantPendiente]

    ,T2.DocNum [OF]

    ,T2.PostDate

    ,T2.PlannedQty

    ,T2.CmpltQty

from ORDR T0

inner join RDR1 T1 on T1.DocEntry=T0.DocEntry

left join OWOR T2 on T2.OriginNum=T0.DocNum

group by T0.DocNum,T0.DocDate,T0.CardCode,T0.CardName,T2.DocNum,T2.PostDate,T2.PlannedQty,T2.CmpltQty

having sum(T1.OpenQty)>0

Saludos

Former Member
0 Kudos

Buenos días Felipe

Lo resolví de manera similar el día de ayer por la noche.

quedo de la siguiente manera:

SELECT T0."DocNum", T0."CardName", T0."Comments", T0."DocStatus",T0."DocDueDate", T1."ItemCode", T1."Dscription", T2."DocNum", T2."PlannedQty", T2."CmpltQty", T2."Status", T2."DueDate"

FROM

ORDR T0 

INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry"

LEFT OUTER JOIN OWOR T2 ON T1."PoTrgNum" = T2."DocNum"

WHERE

T0."DocStatus" =[%0]

ORDER BY T0."DocNum"

Gracias por su apoyo.

Miguel Gamboa

Former Member
0 Kudos

Gracias por tu ayuda Manuel, lo resolvimos con un LEFT OUTER JOIN, abajo coloque como quedo resuelto.

Miguel Gamboa

former_member227744
Active Participant
0 Kudos

Ok, saludos.

Manuel

Answers (0)