Modularizando KB: Tabla privada y transaccion publica.

Cuando se modulariza una KB, me ha pasado querer tener una tabla privada (que desde afuera del modulo no se pueda acceder con for each), pero necesito dejar la transacción que la define, accesible desde afuera del modulo, por ejemplo para que se pueda llamar un call o link.

No hay solución elegante para este escenario. Lo que puede ayudar es tener por ejemplo un procedimiento que devuelva el link a la transacción, y poner la transacción como privada y de esta forma la tabla también queda privada. Lo mismo puede hacerse con el call, aunque puede traer algunos otros inconvenientes.

O sea, en vez de poner

&Control.Link = Trn.Link()

se pone

&Control.Link = prcTrnLink()   //prcTrnLink es del modulo de la Trn, y devuelve Trn.Link()

De esta forma, la transacción puede quedar privada y la tabla también.

Según tengo entendido, en próximas versiones de GeneXus, en las tablas vamos a poder declarar a que modulo pertenecen en forma directa y también si la misma es publica o privada.

Comentarios

Entradas más populares de este blog

El Sordo

StackOverflow Documentation

Codigo simple