BLOG

Funciones y parámetros

Por [N4] rcueto.velneo el | 1 Comment

La función es un objeto contenedor de instrucciones definible por el programador, similar al objeto proceso, pero que, a diferencia de este últmo, puede recibir parámetros. El número máximo de parámetros que admite una función es de 10. ¿Qué pasa si necesito más parámetros?. En este artículo explicaré una forma de hacerlo.

Consistirá en enviar, en un único parámetro de la función, varios elementos concatenados. En la función leer el parámetro recibido y extraer del mismo cada uno de los elementos concatenados. Lo explicaré con un ejemplo.

Supongamos que debemos ejecutar una función que ha de recibir 12 parámetros.

Dado que la función solamente admite 10 parámetros, podemos pasar 1 valor por cada parámetro y en el parámetro número 10 concatenar los 3 últimos valores.

Para ello tendremos que usar un carácter a modo de separador. Podríamos usar para ello el “pipe” (|) por ejemplo.

La fórmula resultante sería:

#CAMPO10 + "|" + #CAMPO11 +"|" + #CAMPO12

En este ejemplo estoy usando campo, pero podría tratarse de valores constantes, variables etc.

Un pequeño inciso en este punto: El signo + en fórmulas se usa tanto para operaciones matemáticas (sumas), como para concatenar cadenas.

El que el intérprete de fórmulas tome la operación como una suma o como una concatenación de cadenas, dependerá directamente del tipo de dato del primer elemento de la fórmula.

En el caso de que el primer elemento fuese un dato numérico, por ejemplo, para que el intérprete de fórmulas tome la operación como una concatenación de cadenas y no como una suma, tendríamos que, o bien convertir ese dato a cadena mediante la función numberToString:

numberToString(#CAMPO10, "L", 0) + "|" + #CAMPO11 +"|" + #CAMPO12

O simplemente anteponer en la fórmula una cadena vacía (“”):

"" + #CAMPO10 + "|" + #CAMPO11 +"|" + #CAMPO12

Una vez hecho este inciso, explicaré cómo extraer cada uno de esos elementos de la variable que recibe ese parámetro de la función.

Para ello, usaremos la función de fórmulas estándar stringSection.

Esta función devuelve una sección de una cadena delimitada por un separador en una posición dada.

Su sintaxis es:

stringSection(cadena, separador, pos, seccionInclSepIni, seccionInclSepFin)

  • cadena: Expresión alfabética de referencia.
  • separador: Expresión alfabética correspondiente al carácter que se usa como separador dentro de la cadena de referencia.
  • pos: Posición del ítem a extraer de la cadena. La primera posición será la 0.
  • seccionInclSepIni: Este parámetro será resuelto con un 1 si queremos que en la sección extraída se incluya el separador inicial o un 0 en el caso contrario.
  • seccionInclSepFin: Este parámetro será resuelto con un 1 si queremos que en la sección extraída se incluya el separador final o un 0 en el caso contrario.

Siguiendo este ejemplo, para extraer el primer elemento de la variable, haremos:

stringSection(PARAM10, “|”, 1, 0, 0)

Para extraer el segundo:

stringSection(PARAM10, “|”, 2, 0, 0)

Y para extraer el tercero:

stringSection(PARAM10, “|”, 3, 0, 0)

Una alternativa más elaborada es usar las funciones de diccionario incluidas dentro de la Velneo Open App vTools. En este articulo se describe como hacerlo para retornar varios valores en una función. Se podría utilizar la misma idea para pasar más de 10 parámetros a una función.

Velneo es el entorno ágil para el desarrollo
de aplicaciones empresariales

DESCARGAR VELNEO

One Response to "Funciones y parámetros"
  1. [N1] Giuseppe::Komenco dice:

    Un array no sería más cómodo?

    Saludos.

Deja un comentario

Esta web utiliza cookies. Si continúa navegando acepta dichas cookies y nuestra política de cookies. Gracias. ACEPTAR

Aviso de cookies