SAP - Cree una consulta en Query Maneger referente al pago de rendiciones

 
Vista:
sin imagen de perfil

Cree una consulta en Query Maneger referente al pago de rendiciones

Publicado por Gerardo (2 intervenciones) el 21/07/2017 16:14:19
Estimados tengo una consulta la cual consiste en mostrar una lista de rendiciones de SAP en una consulta de SQL por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT	T0.[DocStatus] AS 'ESTADO_OC', T0.[DocNum] AS 'OC', T1.[BaseRef] 'NV', T1.[ItemCode], T1.[Dscription],
		T1.[LineTotal] AS 'LINE_OC', T2.[LineTotal] AS 'LINEA_NV', T1.[OcrCode4] AS 'PERSO',
		CASE WHEN T1.[TargetType]='-1' THEN 'NO_TIENE' WHEN T1.[TargetType]='18' THEN 'FACTURA' ELSE 'OTRO' END AS 'DESTINO',
		CASE WHEN (T4.[DocTotal] <> T4.[PaidToDate] OR ISNULL (T4.[DocTotal], '0')=0) THEN 'NO_PAGADO' ELSE 'PAGADO' END AS 'STATUS_FC', T3.[PrcName]
FROM 	OPRC T3 INNER JOIN OPOR T0 INNER JOIN
		POR1 T1 ON T0.[DocEntry] = T1.[DocEntry] INNER JOIN
		RDR1 T2 ON T1.[BaseEntry] = T2.[DocEntry] AND T1.[BaseLine] = T2.[LineNum] ON
		T3.[PrcCode] = T1.[OcrCode4] LEFT OUTER JOIN
		OPCH T4 ON T1.[TrgetEntry] = T4.[DocEntry]
WHERE 	(T1.[BaseType]=17)
		AND (T1.[BaseRef] LIKE '15%')
		AND (T0.[CANCELED]='N')
		AND ((CASE WHEN (T4.[DocTotal] <> T4.[PaidToDate] OR ISNULL (T4.[DocTotal],'0')=0) THEN 'NO_PAGADO' ELSE 'PAGADO' END) = 'NO_PAGADO')

La cual muestra una lista como la siguiente, quite una columnas que no me sirven:

# Estado OC OC NV Número Descripción DESTINO STATUS FC Nombre
1 O 6267 15000356 ADRE0001 REND./11111111 NO TIENE NO PAGADO Luis
30 C 6300 15000368 ADRE0004 RENDICION FACTURA NO PAGADO Ana
140 C 5278 15000224 ADRE0001 AUTOMATICOS NO TIENE NO PAGADO Daniel

Como podría hacer para que me elimine u oculte la tercera fila la cual tiene la siguiente condición Estado C, Destino NO TIENE y Status FC NO PAGADO, mi problema es que este un un listado muy grande, acá solo deje los tres tipos de resultados que me muestra, favor su ayuda gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Cree una consulta en Query Maneger referente al pago de rendiciones

Publicado por Gerardo Bustos (2 intervenciones) el 21/07/2017 21:25:55
Estimados lo resolví de la siguiente forma

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
SELECT	T0.[DocStatus] AS 'ESTADO_OC', T0.[DocNum] AS 'OC', T1.[BaseRef] 'NV', T1.[ItemCode], T1.[Dscription],
		T1.[LineTotal] AS 'LINE_OC', T2.[LineTotal] AS 'LINEA_NV', T1.[OcrCode4] AS 'PERSO',
		CASE WHEN T1.[TargetType]='-1' THEN 'NO_TIENE' WHEN T1.[TargetType]='18' THEN 'FACTURA' ELSE 'OTRO' END AS 'DESTINO',
		CASE WHEN (T4.[DocTotal] <> T4.[PaidToDate] OR ISNULL (T4.[DocTotal], '0')=0) THEN 'NO_PAGADO' ELSE 'PAGADO' END AS 'STATUS_FC', T3.[PrcName]
FROM OPRC T3
INNER JOIN OPOR T0
INNER JOIN POR1 T1 ON T0.[DocEntry] = T1.[DocEntry]
INNER JOIN RDR1 T2 ON T1.[BaseEntry] = T2.[DocEntry] AND T1.[BaseLine] = T2.[LineNum] ON T3.[PrcCode] = T1.[OcrCode4]
LEFT OUTER JOIN OPCH T4 ON T1.[TrgetEntry] = T4.[DocEntry]
WHERE	T1.[BaseType]=17
		AND T1.[BaseRef] LIKE '15%'
		AND T0.[CANCELED]='N'
		AND ((T4.[DocTotal] <> T4.[PaidToDate]) OR (ISNULL(T4.[DocTotal],0)=0))
		AND T0.[DocStatus] <> 'C'
               AND T1.[TargetType]<>1
 
UNION ALL
 
SELECT	T0.[DocStatus] AS 'ESTADO_OC', T0.[DocNum] AS 'OC', T1.[BaseRef] 'NV', T1.[ItemCode], T1.[Dscription],
		T1.[LineTotal] AS 'LINE_OC', T2.[LineTotal] AS 'LINEA_NV', T1.[OcrCode4] AS 'PERSO',
		CASE WHEN T1.[TargetType]='-1' THEN 'NO_TIENE' WHEN T1.[TargetType]='18' THEN 'FACTURA' ELSE 'OTRO' END AS 'DESTINO',
		CASE WHEN (T4.[DocTotal] <> T4.[PaidToDate] OR ISNULL (T4.[DocTotal], '0')=0) THEN 'NO_PAGADO' ELSE 'PAGADO' END AS 'STATUS_FC', T3.[PrcName]
 
FROM OPRC T3
INNER JOIN OPOR T0
INNER JOIN POR1 T1 ON T0.[DocEntry] = T1.[DocEntry]
INNER JOIN RDR1 T2 ON T1.[BaseEntry] = T2.[DocEntry] AND T1.[BaseLine] = T2.[LineNum] ON T3.[PrcCode] = T1.[OcrCode4]
LEFT OUTER JOIN OPCH T4 ON T1.[TrgetEntry] = T4.[DocEntry]
WHERE	T1.[BaseType]=17
		AND (T1.[BaseRef] LIKE '15%')
		AND (T0.[CANCELED]='N')
		AND ((T4.[DocTotal] <> T4.[PaidToDate]) OR (ISNULL(T4.[DocTotal],0)=0))
		AND T1.[TargetType] = 18
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar