Declaración de variables en HANA

hana
Etiquetas: #<Tag:0x00007f435509a070>

#1

Hola,

Hace días puse un tema donde pedía ayuda para crear una validación en el TN en HANA, @andresramirez me ayudó y creo que ya entendí un poco mas de HANA y he logrado hacer algunas validaciones, sin embargo no sé si hay alguna manera de hacerlo con menos lineas de código pensando en optimizar servicios

Tengo la siguiente validación

IF object_type = '4' AND (transaction_type ='A' OR transaction_type = 'U')
   THEN
      SELECT T0."PrchseItem" INTO productoCompra
         FROM OITM T0 
         WHERE T0."ItemCode" = list_of_cols_val_tab_del;
      SELECT T1."U_ivaCompras" INTO ivaCompras       
         FROM OITM T1 
         WHERE T1."ItemCode" = list_of_cols_val_tab_del;
       IF (ivaCompras IS NULL AND productoCompra = 'Y')
	  THEN 
	  	  error := -003;
          error_message := N'Error - El campo IVA Compras es obligatorio para productos marcados como Artículo de compra';
   END IF;
END IF;   

Funciona bien, valida que un campo definido por usuario IVA tenga un valor cuando el item sea marcado como venta, pero ahí tengo dos SELECT a la OITM, hay manera de hacer en uno solo ??
intenté así y me marco error

 SELECT T0."PrchseItem" INTO productoCompra,
        T1."U_ivaCompras" INTO ivaCompras       
     FROM OITM T1 
      WHERE T1."ItemCode" = list_of_cols_val_tab_del;

Gracias, saludos.


#2

Hola @pcarrasco
Todas las condiciones las deberías colocar sobre el WHERE de la consulta principal, donde puedes utilizar AND, OR, IN, subconsultas, etc. Siempre que la consulta te retorne un valor mayor a cero bloquea la transacción.

SELECT COUNT(T0."ItemCode") INTO productoCompra
FROM OITM T0 
WHERE T0."PrchseItem"='Y' AND T0."U_ivaCompras" IS NULL AND T0."ItemCode" = list_of_cols_val_tab_del;

Andres Ramirez Jaramillo :colombia:


#3