Buenas tardes,
Necesito hacer un bloqueo para cuando se repitan las tarjetas de crédito actualmente tengo este query el cual si bloquea si se repite pero tengo un problema cuando son canceladas ya que ahí si me debe dejar ingresar así este repetido por que el documento esta cancelado les comparto el query que realicé Según revisé las tarjetas de crédito se guardan en la tabla RCT3 y se enlazan con los pagos en la tabla ORCT su ayuda por favor si estoy mal solo me falta que valide que los documentos que estén cancelados es decir que los ORCT cancelados y que pertenecen a las tarjetas de crédito deben dejar grabar por el echo de que estan cancelados:
IF :object_type =‘24’ AND (:transaction_type = ‘A’ )
THEN
DECLARE VAR1 INT;
(
SELECT COUNT(*)
into VAR1
FROM RCT3 T0
INNER JOIN ORCT T2 ON T0."DocNum" = T2."DocEntry"
LEFT JOIN RCT3 T1 ON T1."DocNum"!= :list_of_cols_val_tab_del and T2."Canceled" = 'N'
AND
T0."OwnerIdNum" = T1."OwnerIdNum" AND
T0."VoucherNum"= T1."VoucherNum"
WHERE
T0."DocNum"!=T1."DocNum" and
T0."DocNum"= :list_of_cols_val_tab_del and
T2."Canceled" = 'N'
);
IF VAR1 > 0
THEN
error := -920;
error_message := 'SP: El Numero de Transaccion de la TC esta repetido';
END IF;
END IF;