cancel
Showing results for 
Search instead for 
Did you mean: 

Modelo de Autorización con Condiciones basadas en consulta de usuario (Query SQL)

Former Member
0 Kudos

Estimados necesito ayuda con un modelo de autorizacion que se me solicitó, el cual consiste en lo siguiente :

Todo Pedido de Cliente (Tabla ORDR) que cumpla estas 3 condiciones debe ser autorizado por 2 usuarios, las condiciones son las siguientes:

condicion 1: que el Tipo de Venta de venta sea "Insumo y Accesorios" , Definido en mi BD como campo ORDR.U_Tipo_Venta (con valores posibles del 1 al 8, insumo y accesorios es el 3)

condicion 2: que el tipo de Pedido de Cliente sea "Venta", Definido en la BD como campo ORDR.U_Tipo_OV (con valores posibles del 01 al 19, Venta es el 01)

condicion 3: que almenos uno de los articulos del pedido contenga la cadena de caracteres "MASEQ" o "BHEQ" en el campo ItemCode de las lineas de el Pedido de Cliente (Las lineas de un pedido no estan en la misma tabla que los datos del Pedido, sino que estan en la tabla RDR1)


Si fuese solo las primeras 2 condiciones sería algo como esto:



SELECT distinct 'TRUE' FROM ORDR

WHERE$[ORDR.U_Tipo_Venta] = '3'

AND $[ORDR.U_Tipo_OV] ='01'

for browse

FUNCIONA

Ahora una de las solcuiones que se me habia ocurrido es usar el comando LIKE para la 3era condición de esta forma


SELECT distinct 'TRUE' FROM ORDR, RDR1

WHERE $[ORDR.U_Tipo_Venta] = '3'

AND $[ORDR.U_Tipo_OV] ='01'

AND ($[RDR1.ItemCode] LIKE '%MASEQ%' OR $[RDR1.ItemCode] LIKE '%BHEQ%')

for browse

NO FUNCIONO

Otra solución que intente fue utilizando join así:


SELECT distinct 'TRUE' FROM ORDR A LEFT JOIN RDR1 B ON A.DocEntry = B.DocEntry

WHERE A.U_Tipo_Venta = '3'

AND A.U_Tipo_OV ='01'

AND (B.ItemCode LIKE '%MASEQ%' OR B.ItemCode LIKE '%BHEQ%')

for browse

TAMPOCO FUNCIONO


Les dejo esta duda por si alguien ha realizado un caso similar, o que me recomiendan, he visto varios post en el foro pero no he encontrado la solución.

Sería de mucha ayuda

Gracias

Sebastian.

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member188471
Active Contributor
0 Kudos

Lo que intentas hacer es una autorización a nivel Linea, el cual requiere de varios procesos entre ellos la creación de una tabla de usuario y validación a nivel cabecera y linea.

Te dejo una liga para que te guies.

SBO_TIPS_Approval_Procedure_en_Filas - Google Docs

Saludos