Artículo
· 2 ago, 2022 Lectura de 1 min

Cómo cambiar namespaces en rutinas o el nuevo $namespace vs znamespace

¡Hola desarrolladores!

Solo quiero compartir una antigua pero muy relevante buena práctica en el cambio de namespaces que @Dmitry Maslennikov compartió conmigo.

Consideremos el método:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

set ns=$namespace

zn "%SYS"

// try-catch in case there will be an error

try {

// do something, e.g. config change

}

catch {}

 zn ns    ; returning back to the namespace we came in the routine

return sc

}

Y con el nuevo $namespace el método puede ser reescrito como:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

new $namespace

set $namespace="%SYS"

// do something

return sc

}

Así que... La diferencia está en que no tenemos que cambiar el namespace manualmente ya que vendrá establecido automáticamente al finalizar el método.

Y tampoco necesitamos hacer try-catch (al menos para este propósito) 

Comentarios (0)1
Inicie sesión o regístrese para continuar