cancel
Showing results for 
Search instead for 
Did you mean: 

Fecha de Cierre de cada linea en Orden de Venta.

Former Member
0 Kudos

Estimados:

Necesito crear una query que me entregue la informacion de la fecha de cierre de cada linea en las Ordenes de Venta.

Estoy buscando en las tablas, pero al parecer no existe ningun campo que me traiga ese dato.

Alguien sabe como puedo obtener esta informacion?

De antemano muchas gracias.

Saludos,

VMC.

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Viviana

Se me ocurre traer la fecha de la ultima entrega asociada a la linea de la orden de venta

Slds

Former Member
0 Kudos

Y como seria esto?

Debo aclarar que no siempre las ordenes de ventas se cierran con una entrega pueden tener solo facturas.

Saludos,

VMC.

felipe_loyolarodriguez
Active Contributor
0 Kudos

El campo TargetType señala que tipo de documeto se copio la linea, ya que muestra el objtype

solo bastaria con hacer un CASE WHEN del campo

Trabajo en eso

Slds

Edited by: Floyola on Mar 23, 2011 11:12 AM

Former Member
0 Kudos

Hola Viviana, no tienes como saber la fecha de cierre de una linea, dado que la unica fecha que podria darte un indicio de esto es el campo UpdateDate y este se encuentra en la cabecera y no en las lineas.

por lo tanto, aunque consultaras sobre el log de modificaciones por el ultimo registro que tiene Linestatus O (abierto) no la fecha que te entregue no necesariamente será la fecha de cierre para esa Linea.

espero entiendas la explicación.

Aunque se me ocurre que podria llegar a optenerse el dato con una onsulta algo compleja, pero eso tiene otro precio.

slds.

felipe_loyolarodriguez
Active Contributor
0 Kudos

Con esta query debe funcionar


SELECT T0.DocNum'OV', T1.LineNum,
CASE
    WHEN T1.TargetType = 13 AND T1.LineStatus = 'C' THEN 'Factura'
    WHEN T1.TargetType = 15 AND T1.LineStatus = 'C' THEN 'Entrega'
END'Documento',
CASE
    WHEN T1.TargetType = 15 AND T1.LineStatus = 'C' THEN (SELECT Y0.DocNum FROM ODLN Y0 WHERE Y0.DocEntry = (SELECT TOP 1 Y1.DocEntry FROM DLN1 Y1 WHERE Y1.BaseLine = T1.LineNum AND Y1.DocEntry = T1.TrgetEntry ORDER BY Y1.DocEntry DESC))
    WHEN T1.TargetType = 13 AND T1.LineStatus = 'C' THEN (SELECT Y0.DocNum FROM OINV Y0 WHERE Y0.DocEntry = (SELECT TOP 1 Y1.DocEntry FROM INV1 Y1 WHERE Y1.BaseLine = T1.LineNum AND Y1.DocEntry = T1.TrgetEntry ORDER BY Y1.DocEntry DESC))
END'# Int SAP',
CASE
    WHEN T1.TargetType = 15 AND T1.LineStatus = 'C' THEN (SELECT Y0.DocDate FROM ODLN Y0 WHERE Y0.DocEntry = (SELECT TOP 1 Y1.DocEntry FROM DLN1 Y1 WHERE Y1.BaseLine = T1.LineNum AND Y1.DocEntry = T1.TrgetEntry ORDER BY Y1.DocEntry DESC))
    WHEN T1.TargetType = 13 AND T1.LineStatus = 'C' THEN (SELECT Y0.DocDate FROM OINV Y0 WHERE Y0.DocEntry = (SELECT TOP 1 Y1.DocEntry FROM INV1 Y1 WHERE Y1.BaseLine = T1.LineNum AND Y1.DocEntry = T1.TrgetEntry ORDER BY Y1.DocEntry DESC))
END'Fecha de Cierre'
FROM RDR1 T1
LEFT JOIN ORDR T0 ON T0.DocEntry = T1.DocEntry 

Slds

Answers (1)

Answers (1)

Former Member
0 Kudos

Tabla: RDR1

Campo: LineStatus

Valor: "C"

Former Member
0 Kudos

Gonzalo:

Lo que yo necesito es la fecha del cierre.

Se que cuando una linea se cierra cambia su estado de "O" a "C".

Saludos,

VMC.