WhatsApp

  
Creación de MetaCommand para ejecutar una Macro en Java

En el blog anterior Introducción a las Macros con Java, estuvimos revisando cómo crear una Macro con Java y cómo conectarla con Hopex. En esta ocasión, retomaremos el ejercicio en el punto final que se tocó en el pasado y reanudaremos con la creación de un MetaCommand Manager para la ejecución de la Macro con Java para afectar directamente a un Objeto de una determinada MetaClase.

Un MetaCommand lo podemos visualizar en los objetos que vienen por defecto y se verán como los siguientes:

En la imagen anterior se puede observar que para los objetos del tipo Proceso de Negocio, existe una lista de opciones que realizarán diferentes acciones y en este caso, el cursor está por encima del metacomando "Crear un BIA". El objetivo de este ejercicio será crear un Metacomando que aparezca en esta misma lista, pero que nos ejecute la misma lista que obtuvimos en el editor de VBScript, con la diferencia de que ahora almacenaremos esta información directamente en el atributo Comentario del Proceso de Negocio.

Entonces, recordemos el código pasado en Eclipse. La clase "MacroDemo" se ve así:

Entonces, recordando lo que hará el Método "selectMetaClass", tomará todos los objetos de tipo MetaClase y guardará su Nombre Corto en una cadena que regresaremos a la macro de VBScript que se encargará de imprimir en la consola. El cambio que se realizará en este método, será simple ya que únicamente, la misma lista que obtengamos de las MetaClases, la insertaremos en la propiedad de Comentario del Objeto que esté ejecutando la Macro.

La modificación quedaría así:

Las modificaciones realizadas se han realizado en la línea 9, ahora por parámetro, no sólo estamos pasando el MegaRoot, también estaremos enviando como parámetro adicional, el objeto que esté ejecutando el metacomando directamente por una instancia de MegaObject que se llamará procesoNegocio y en la línea 16, a esta instancia se le estará definiendo su propiedad de Comentario con la lista "result" que contiene los nombres de todas las MetaClases. Ahora, hay que crear el MetaCommand.

Nota: Recordar que al hacer estos cambios, es necesario generar un nuevo JAR y guardarlo en la ruta que está definida por la Macro de Java dentro de HOPEX. También no hay que olvidar que es una buena práctica utilizar los ID completos de los atributos "~f10000000b20[Comentario]", en lugar de sólo el nombre "Comentario".

Al entrar a las propiedades de la MetaClase de Proceso de Negocio en la pestaña de Interfaz de Usuario, podemos ver lo siguiente:

Existe una lista que contiene algunos MetaCommand Manager y es aquí en donde crearemos uno nuevo.

Lo siguiente será entrar en las propiedades de este MetaCommand y definirle un Nombre para GUI y una Macro.

Nota: En este caso, podría ser vinculada la macro de Java, pero, debido a que nosotros la ejecutamos con una macro de VBScript, crearemos una de este tipo que sirva de Trigger para la de Java.

Una vez creada la macro de VBScript, nos vendrá nuevamente con código predefinido que nos ayudará a la ejecución del MetaCommand y se verá como lo siguiente:

Finalmente, el código quedará modificado a lo siguiente:


En esta macro de VBScript, se está tomando el MegaObject en el que se está ejecutando el MetaCommand y se pasará como parámetro, el mismo que declaramos como procesoNegocio en Java, también se toma el MegaRoot en base al MegaObject, se utiliza para obtener la Macro de Java y también se pasará como parámetro. Ahora procederemos a ejecutar el MetaComando sobre un proceso de Negocio.

En este caso podemos ver que el MetaCommand ya aparece directamente como parte de la lista de los comandos de un objeto de tipo Proceso de Negocio y al ejecutarlo, obtendremos lo siguiente:

Como podemos ver, ahora tenemos la lista de las metaclases almacenada automáticamente en el atributo de Comentario del proceso de negocio Inversiones. Entonces, esto puede ser bastante útil para automatizar ciertos procesos que se requieran para los objetos que se tenga pensado.

Ahora, llegados a este punto, sabemos cómo implementar Macros en VBScript y en Java y combinarlas con Hopex para poder alterar los objetos que se requieran. El alcance de estas herramientas es mucho más grande que simplemente insertar unos cuantos textos en un atributo, así que recomendamos leer un poco de documentación y sobre todo la de Java, para descubrir más acerca de estas APIs.


Rodolfo Velazquez 28 diciembre, 2023
Compartir
Categorías


Iniciar sesión dejar un comentario

  
Cómo crear una Macro para Hopex utilizando Java