Dynamic Call References

Este módulo tiene como objetivo guardar todas las referencias a objetos que van a ser invocados dinámicamente en el sistema.

Los elementos principales que componen este módulo son:

  • Transacción TDynamicCallReferences: Transacción encargada del amacenamiento de los programas que serán invocados dinámicamente. Los atributos de esta trn son:

    • Code: Identificador único de las referencias. Está basado en un dominio enumerado para cuando sea necesario identificar un programa específico para realizar la referncia dinámica.

    • Type: Grupo de referencias que pueden ser utilizadas para la invocación por un mismo programa. Está basado en un dominio enumerado y todos los Codes que estén bajo un mismo Type deberían ser programas del mismo tipo de objeto GeneXus y con los mismos parámetros. Típicamente se utiliza este valor como filtro para poder definir la colección posible de objetos a invocar para un "Tipo" de invocación.

    • Description: Descripción de la referencia dinámica.

    • URL: Programa que se invocará.

  • DataProvider RetDynamicCallReference: Objeto encargado de precargar las distintas referencias dinámicas. Por lo general se utiliza para el campo URL la propiedad Type de los objetos GeneXus para mantener dinamismo con la referencia al objeto independientemente de que el objeto pueda ser renombrado. Esa propiedad Type almacenará el QualifiedName del objeto necesario para que pueda ser correctamente invocado en forma dinámica.

  • Procedimiento AddDynamicCallReferences: Objeto encargado de invocar a los disntintos dataproviders que se creen para cargar referencias dinámicas. Es de buen uso el crear un DataProvider para cada módulo del sistema que realizará referencias dinámicas.

  • PXWorkWithTDynamicCallReferneces: Patrón que genera la interfaz gráfica para visualizar las referencias dinámicas cargadas para el sistema. Contiene un botón que invocará al procedimiento AddDynamicCallReferences y que realizará la carga de la base de datos.