Hola a todos…!! soy nuevo en el foro y en Sap BOne y necesito de ayuda para crear una función en Hana. En esta función pretendo calcular el importe de la mora para un documento de factura de SN cliente. No logro encontrar la función adecuada para calcular la cantidad de atraso en meses. Seguidamente les paso la definición de la funcion que intento crear y tambien el mensaje de error al intentar crear la misma. Agradeceré cualquier referencia. Desde ya muy agradecido.
create function "CALC_MORA_SN" ( IN nDocEntry integer, IN dFecha date, IN cMoneda Nvarchar (3))
returns nMoraCalc integer
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER AS
BEGIN
DECLARE nMoraCalc integer;
DECLARE nAtraso integer;
DECLARE nMoraPeriodo integer;
SELECT DATEDIFF(MONTH,CURRENT_DATE,T0."DocDueDate") into nAtraso FROM OINV WHERE T0."DocEntry" = :nDocEntry;
IF :cMoneda = 'Gs' or :cMoneda = 'GS'THEN
SELECT T0."U_MORA" into nMoraPeriodo
FROM "@PERIODO_ESCOLAR" T0
WHERE T0."INI_PERIODO" >= :dVence
AND T0."FIN_PERIODO" <= :dVence;
ELSE
SELECT T0."U_MORA_USD" into nMoraPeriodo
FROM "@PERIODO_ESCOLAR" T0
WHERE T0."INI_PERIODO" >= :dVence
AND T0."FIN_PERIODO" <= :dVence;
END IF;
IF DAY(:dFecha) <= 5 THEN
nAtraso := nAtraso -1;
END IF;
nMoraCalc := nMoraPeriodo * nAtraso;
END;
*** este es el error
Could not execute 'create function "CALC_MORA_SN" ( IN nDocEntry integer, IN dFecha date, IN cMoneda Nvarchar (3)) ...'
SAP DBTech JDBC: [328]: invalid name of function or procedure: DATEDIFF: line 11 col 8 (at pos 273)