sábado, 5 de septiembre de 2020

Transaction Notification en Dirección Destino - CRD1

Hoy les muestro este TN para que no pasen por alto que los destinos en CRD1 se diferencian en la tabla CRD1 dependiendo si lo que quieres validar es la Dirección Destino (bo_ShipTo) o la Dirección fiscal (bo_BillTo), de lo contrario si omites esta especificación en tu validación estarás afectando a ambas direcciones.

El ejemplo está en HANA, que a diferencia de SQL Server que solo realiza un if para saber si cumple con la condición, HANA utiliza una variable de tipo Int (numRowsResult) para contar el número de resultados para luego saber si existen registros coincidentes con tu consulta de validación, de haberlos, entonces se dispara el error:

IF (:transaction_type = 'A' OR :transaction_type = 'U') And  :object_type = '2' THEN

SELECT COUNT(*) INTO numRowsResult

FROM "OCRD" T0 INNER JOIN "CRD1" T1 ON T0."CardCode" = T1."CardCode"

WHERE T0."CardCode" = :list_of_cols_val_tab_del

AND (T1."City" is null OR T1."City" = ' ' OR T1."City" = '')

AND T1."AdresType" = 'S';  -- Aquí decimos que la dirección es bo_ShipTo

IF :numRowsResult>0 THEN  

        error := -2001;

        Error_message := 'El campo "Ciudad" en "Destino Envío" no puede quedar vació, por favor de verificar (Socios de Negocios).';

END IF;

END IF;


Espero les sirva, saludos!.

No hay comentarios:

Publicar un comentario