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