Utilidades en Business Central: Funciones de BBDD y Entornos en AL (Parte 5)

Descubre cómo manejar información clave de Business Central con dos útiles funciones para obtener el ID del Tenant y el nombre del entorno.

Bienvenido/a a la quinta entrega de esta serie de blogs sobre utilidades para Business Central. Durante estas semanas, he estado explorando herramientas y técnicas que facilitan el desarrollo en este entorno. Hoy quiero enseñarte dos funciones que permiten acceder a información clave sobre el tenant y el entorno, algo fundamental en configuraciones multitenant o despliegues en producción.

¡Vamos manos a la obra! 🤩

1. Obteniendo el ID del Tenant

El primer procedimiento que quiero compartir es GetTenant. Esta función devuelve el ID del Tenant de Azure AD, una información esencial en implementaciones multitenant. A continuación, te muestro el código:

procedure GetTenant() ReturnValue: Text
var
    AzureADTenant: Codeunit "Azure AD Tenant";
begin
    ReturnValue := AzureADTenant.GetAadTenantId();
end;

El procedimiento GetTenant está diseñado para obtener el identificador único del Tenant asociado al entorno actual de Business Central. Este identificador es vital en entornos donde varias instancias de Business Central comparten aplicaciones o integraciones, como sucede en configuraciones SaaS multitenant. La función comienza declarando que el tipo de dato que va a devolver es Text. Esto asegura que el valor resultante, el Tenant ID, sea tratado como una cadena de texto y se pueda manejar fácilmente en cualquier parte del sistema.

En el cuerpo de la función, utilizo una variable local llamada AzureADTenant. Esta variable está basada en la codeunit "Azure AD Tenant", que forma parte de las herramientas estándar de AL para interactuar con los servicios de Azure Active Directory. Luego, invoco el método GetAadTenantId(), que es el encargado de devolver el ID único del Tenant asociado al entorno. Esta funcionalidad encapsula la complejidad de comunicarse con los servicios de Azure, devolviendo el Tenant ID de manera directa y sencilla.

Este procedimiento es muy útil en situaciones reales. Por ejemplo, en un entorno multitenant, puedes usar el ID del Tenant para identificar a cada cliente de forma única y gestionar datos o configuraciones específicas para cada uno. También es crucial en integraciones con servicios externos, asegurándote de que todo esté correctamente vinculado al Tenant adecuado. De este modo, puedes diseñar soluciones escalables y seguras, evitando errores comunes en despliegues en la nube.


2. Identificando el Entorno de Ejecución

Otra información clave que puede ser necesaria es el nombre del entorno en el que se está trabajando, como “Producción” o “Sandbox”. Para esto, está el procedimiento GetEnviorement, que utiliza la codeunit "Environment Information". Este es el código:

procedure GetEnviorement() ReturnValue: Text
var
    EnvironmentInformation: Codeunit "Environment Information";
begin
    ReturnValue := EnvironmentInformation.GetEnvironmentName();
end;

La función GetEnviorement devuelve el nombre del entorno donde se está ejecutando Business Central. Este dato es fundamental cuando gestionas múltiples entornos, como desarrollo, pruebas y producción. El procedimiento, al igual que GetTenant, devuelve un valor de tipo Text, lo que hace que sea fácil de manejar en diferentes escenarios del desarrollo.

Dentro del procedimiento, utilizo una variable local llamada EnvironmentInformation, basada en la codeunit "Environment Information". Esta codeunit proporciona acceso directo a información detallada sobre el entorno actual de Business Central. Luego, llamo al método GetEnvironmentName(), que es el encargado de obtener y devolver el nombre del entorno en el que está corriendo la aplicación.

Con esta función, puedes controlar el comportamiento de tu aplicación dependiendo del entorno. Por ejemplo, puedes evitar que ciertos procesos críticos o integraciones se ejecuten en entornos de pruebas, asegurándote de que solo se activen en producción. Además, es útil para mostrar mensajes personalizados o ajustar configuraciones dependiendo del entorno actual, lo que mejora la experiencia del usuario y reduce riesgos.


Beneficios y Aplicaciones

Ambos procedimientos son herramientas muy útiles para trabajar con Business Central de forma más segura y eficiente. Con ellos puedes:

  • Gestionar entornos multitenant: Identificar a los clientes de manera precisa y asociarles configuraciones específicas.
  • Diferenciar entornos de ejecución: Evitar errores graves en producción asegurándote de que todo funcione en el entorno correcto.
  • Personalizar integraciones: Ajustar funcionalidades o configuraciones dependiendo del entorno o tenant.

Estas funciones te ofrecen una base sólida para desarrollar aplicaciones más robustas y adaptadas a los entornos actuales de Business Central.

Conclusión

En esta quinta entrega de la serie, he compartido contigo dos procedimientos clave: cómo obtener el Tenant ID y el nombre del entorno. Estas funciones son herramientas esenciales para cualquier desarrollador que quiera trabajar de manera eficiente y segura en Business Central.

Gracias por seguir esta serie. Para seguir todos los posts de esta serie, puedes encontrarlos bajo la etiqueta #UtilsBc.

¡Espero que estas utilidades sigan siendo de ayuda en tu día a día con Business Central!

Nos vemos en la próxima entrega.

Share your love

Leave a Reply

Your email address will not be published. Required fields are marked *