Creacion de funciones predefinidas | Sueldos

Funciones Predefinidas

Modulo de Sueldos

Objetivo:
En este procedimiento vamos a explicar el paso a paso para dar de alta una función predefinida para utilizarlo sobre la aplicación:

¿Quiénes pueden hacerlo?
Desarrolladores

Pasos a seguir:

  1. ir a la ruta sueldos/Resources/ para correr el aplicativo desde la terminal
    |303.2779474683872x161.02495036873262

  1. Luego correr el siguiente comando**
    java -jar antlrworks-1.4.3.jar


  1. Dentro del ANTLRworks, debemos abrir el archivo FAFScript.g
    sueldos/codigo/sueldosApp/src/app/sueldos/servicios/formulas/source/antlr


  1. Luego debemos agregar el import:


  1. Crear la regla de la función
    | fxPredefinidaFuncionPrueba {$value = $fxPredefinidaLiquidarGanancias.val


  1. Crear la función

fxPredefinidaFuncionPrueba returns [Funcion value]

: 'FuncionPrueba' formalParameterList
{
	$value = new FuncionPrueba(solver, $formalParameterList.ValueList);
}
;


  1. Una vez terminado todos estos cambios, dentro del antlrworks-1.4.3.jar sobre la barra de menús, Generate, “Generate Code”, y esperamos a que termine.

  1. Este proceso generará 3 archivos ubicados en la direccion que aparece en el mensaje:


  1. Estos 3 archivos aparecerán en el paquete de output


  1. Seleccionar esos 3 archivos, y pisaros al paquete generated, quedando así:


  1. Luego compilar el módulo

  1. Para la lógica de Negocio, se debe agregar el insert de la función que aparece en la lista de funciones:

Script/LogicaNegocio/001.sql


  1. Vamos a crear la clase JAVA de la función dentro del paquete de cacheables:
    app.sueldos.transacciones.liquidacionSueldos.funciones.impl.cacheables

package app.sueldos.transacciones.liquidacionSueldos.funciones.impl.cacheables;
import java.util.List;
import app.sueldos.servicios.NavegadorEntidadWrapperValor;
import app.sueldos.servicios.formulas.model.iface.Atom;
import app.sueldos.transacciones.liquidacionSueldos.LiquidacionSueldosSolve;
import app.sueldos.transacciones.liquidacionSueldos.funciones.model.FuncionCacheable;
import faf.app.base.exceptions.FunctionalException;

public class FuncionPrueba extends FuncionCacheable {

public String getLogicName() {
	return "FuncionPrueba";
}
public FuncionPrueba(LiquidacionSueldosSolve solver, List<Atom> parametros) {
	super(solver, parametros);
}

public NavegadorEntidadWrapperValor doExecute() throws FunctionalException {
	
	return null;
}

}


Nuestro sistema se encuentra en constante evolución. Si esta entrada está desactualizada, por favor avísanos a soporte@finneg.com

3 Me gusta