Crear SP en sap b1 HANA

buen día

Solicito ayuda para crear un SP donde no permita crear un documento por ejemplo orden de venta si no esta seleccionado el campo de empleado de venta.

Gracias de antemano

Hola @luisaj-27 comparte tu script para ayudarte.

Saludos,

1 me gusta
if:object_type = '17' and  (:transaction_type = 'A' or :transaction_type = 'U')
THEN
SELECT COUNT (*) INTO cnt 
FROM ORDR TO WHERE IFNULL (TO,"SlpCode",'') AND TO."DocEntry" = :list_of_cols_val_tab_del;
IF :cnt >0
THEN error:= 10;
error_message := 'No se ha completado el campo empleado de ventas';
END IF;
END IF;

Hola @luisaj-27 si no se indica un empleado de ventas, el SlpCode es -1 prueba con:
*Creo debes agregar doble comilla en los campos para que funcione en Hana.

IF (@object_type = '17') and @transaction_type in ('A','U')
	BEGIN
		IF EXISTS
	(select T0.[SlpCode]
		from ORDR T0 where T1.DocEntry = CAST(@list_of_cols_val_tab_del AS NVARCHAR(15))
				and T0.[SlpCode]='-1') 
			BEGIN
				SET @error_message = 'Indique empleado de ventas'
				SET @error = 2128
			END
	END

Saludos,

hola @Oscar1900 gracias por tu ayuda, te cuento que inicialmente lo tenia como me lo enviaste pero HANA no acepta @ sigo intentando.
mil gracias

Para HANA quedaria de esta forma

IF :object_type = ‘17’ AND (:transaction_type = ‘A’ or :transaction_type =‘U’) THEN
BEGIN

SELECT Count(*) INTO Contador FROM ORDR WHERE "DocEntry" = :list_of_cols_val_tab_del AND "SlpCode" = '-1'; 

	IF (:Contador>0)  THEN 
		error := 2128;
		error_message := 'Indique empleado de ventas';
    END IF;
END;	

END IF;

se me olvida, la variable “contador” la declaras asi:

Contador int;

1 me gusta

Lo resolví con esta sintaxis

if:object_type = ‘17’ and (:transaction_type = ‘A’ or :transaction_type = ‘U’)
THEN
SELECT COUNT (*) INTO cnt
FROM ORDR TO WHERE /IFNULL (TO,“SlpCode”,’’) = ‘’/ TO.“SlpCode” =-1 AND TO.“DocEntry” = :list_of_cols_val_tab_del;
IF :cnt >0
THEN error:= 10;
error_message := ‘No se ha completado el campo empleado de ventas’;
END IF;
END IF;

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.