Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Para poner a disposición un punto de entrada y ejecutar una función de usuario, existen dos opciones:

 

 

  1. Utilizando la función Execblock().
  2. Llamándola directamente por medio de la función de usuario (U_Nome de la función).

 

 

Por lo general, el Protheus estándar utiliza la primera opción para poner a disposición los puntos de entrada. Existe una función que verificará, en el lugar adecuado dentro del programa estándar, si el punto de entrada está compilado en el repositorio. Si existe, la función Execblock ejecuta el punto de entrada desarrollado específicamente.

 

La segunda opción se utiliza generalmente para llamar una función específica creada con la finalidad de atender una determinada necesidad. Supongamos que fue necesario crear la rutina específica PTOT010A, para que el usuario informe todas las revistas vinculadas a un curso. Si esta no se ha llamado en el menú, pero sí se ha ejecutado a partir de un determinado punto de otra rutina, su llamada será:

 

 

U_PTOT010A

 

 

Estas dos opciones permiten pasar parámetros a una función específica. Sin embargo, para recibir dichos parámetros se siguen reglas diferentes. En la primera opción, los parámetros se deben recibir por medio del comando PARAMXB. Por ejemplo, si se pasan 3 parámetros a la función éstas deben ser recibidas por 3 comandos PARAMIXB, de acuerdo con la siguiente descripción:

 

 

USER FUNCTION PTOT010A()

 

 

LOCAL nParam1 := PARAMIXB[1]

LOCAL nParam2 := PARAMIXB[2]

LOCAL nParam3 := PARAMIXB[3]

 

 

En la segunda opción, los parámetros son recibidos directamente por la función que se tiene en la declaración USER, de acuerdo con los siguientes ejemplos:

 

 

USER FUNCTION PTOT010A(nParam1, nParam2, nParam3)

 

 

Obs.: en ambas opciones los nombres de las variables son solamente ejemplos.