Ayuda SAP

Excluir socios de negocios en autorizaciones

Buena tarde,

Acudo a su ayuda para tratar de resolver un problema que estoy teniendo para excluir socios de negocios de un modelo de autorización, el modelo en cuestión es para validar si el socio de negocios tiene facturas vencidas o ya superó el límite de crédito asignado, hay algunos clientes que por el volumen de ventas, me pidieron excluirlos de esta autorización para que cada vez que creen una entrega, este se cree directamente y no pida autorización.

Esta misma lógica se aplicó en el dato maestros de artículos para excluir algunos items de una autorización que tenemos de rentabilidad, el cual funciona perfectamente, adjunto código:

SELECT 
CASE 
            WHEN $[$38.259.NUMBER] <> 0 AND ((($[$38.17.NUMBER]-$[$38.259.NUMBER])*100)/$[$38.259.NUMBER]) < 15 
            AND T0.[U_NB_ExcluRent] = 'N' AND $[$38.24.0] <> '013' THEN 'TRUE' 
            WHEN T0.[U_NB_ExcluRent] = 'Y' OR $[$38.24.0] = '013' THEN 'FALSE'  
END
FROM OITM T0
WHERE T0.[ItemCode]=$[$38.1.0]

Lo que hice fue crear un campo definido por el usuario en el dato maestro del artículo, el cual tiene 2 posibles valores:

  • N = No Excluido
  • Y = Excluido

Los items marcados con Y no piden autorización, funciona perfectamente.
Intenté aplicar esta misma lógica pero en el dato maestro de socios de negocios, sin embargo este último no funciona, siguen pidiendo autorización así estén marcados con Y.

Adjunto código:

SELECT DISTINCT 'TRUE' 
FROM ODLN T0 
INNER JOIN OCRD T1 ON T0.[CardCode] = T1.[CardCode]
WHERE T1.[U_NB_ExcluCartera] <> 'Y' AND T0.[CardCode]=$[ODLN.CardCode] 
AND (T1.[CreditLine] <= (T1.[Balance] + $[ODLN.DocTotal.Number])) 
AND $[$47.0.Number]<>'10' OR T0.[CardCode]=$[ODLN.CardCode] 
AND (T1.[CreditLine] <= (T1.[Balance] + $[ODLN.DocTotal.Number])) 
AND $[$47.0.Number]<>'10' AND T1.[QryGroup2] = 'Y'
UNION ALL
SELECT DISTINCT 'TRUE' 
FROM ODLN T0 
INNER JOIN OCRD T1 ON T0.[CardCode] = T1.[CardCode]
WHERE T1.[U_NB_ExcluCartera] <> 'Y'
AND $[ODLN.CardCode.0] IN (SELECT T0.cardcode FROM OINV T0 WHERE T0.DocStatus <> 'C' and Datediff(Day,T0.DocDueDate,getDate()) >= 10)

Ya he probado varios métodos para implementar esta autorización, sin embargo no me está excluyendo los socios de negocios que tengan el campo marcado en Y.

Agradecería si alguien puede ayudarme a resolver esto, dado que es de vital importancia para la empresa.

Muchas gracias por su atención

Buen dia estimado.

Te aconsejo que ejecutes tu consulta, por partes, primero una parte luego la otra, y vayas viendo que resultados te arroja. Ademas podes ir quitando poco a poco los filtros del where e ir verificando que datos te va dando la consulta.

Espero te sirva la sugerencia.
Saludos.

1 me gusta