Al comenzar con InterSystems IRIS o Caché, los desarrolladores a menudo se encuentran con tres conceptos fundamentales: Dynamic Objects, Globals y Relational Table. Cada uno tiene su papel en la construcción de soluciones escalables y mantenibles. En este artículo recorreremos ejemplos prácticos de código, destacaremos buenas prácticas y mostraremos cómo estos conceptos se relacionan entre sí.

1. Trabajando con Dynamic Objects:

0 0
0 15

ObjectScript puede parecer solo otro lenguaje de programación, pero aquí está el giro:

Vuestro código aquí puede vivir para siempre (sí, incluso después de que os hayáis pasado a otro proyecto). Por eso es importante mantenerlo ordenado, fácil de leer y a salvo de errores misteriosos.

(Una guía para principiantes para mantener vuestro código ordenado, amigable y preparado para el futuro)

0 0
0 18
Artículo
· 7 ago, 2025 Lectura de 1 min
Importar CSV en CACHÉ

Aquí tenéis un ejemplo práctico de cómo importar datos desde un archivo CSV a InterSystems CACHÉ utilizando ObjectScript.
Suponiendo que vuestro archivo CSV sea simple (por ejemplo, separado por comas y con encabezados), podéis usar `%Stream.FileCharacter` para leerlo línea por línea y analizar los datos.

ClassMethod ImportCSV(filePath As %String) As %Status {
Set stream = ##class(%Stream.FileCharacter).%New()
Set sc = stream.LinkToFile(filePath)
If 'sc Quit sc

0 0
0 12

Trabajar en TI para el sector salud como un desarrollador joven, especialmente en InterSystems TrakCare, te hace darte cuenta rápidamente de una cosa: no se trata solo de mensajes HL7 o integraciones backend. Una gran parte de lograr que TrakCare funcione sin problemas en los hospitales depende de cómo se configura, personaliza y da soporte desde el lado de la aplicación.

0 0
0 32

Si estáis migrando de Oracle a InterSystems IRIS, como muchos de mis clientes, podríais encontraros con patrones SQL específicos de Oracle que necesitan ser traducidos.

Tomad este ejemplo:

SELECT (TO_DATE('2023-05-12','YYYY-MM-DD') - LEVEL + 1) AS gap_date
FROM dual
CONNECT BY LEVEL <= (TO_DATE('2023-05-12','YYYY-MM-DD') - TO_DATE('2023-05-02','YYYY-MM-DD') + 1);

En Oracle:

2 0
0 27
Artículo
· 25 abr, 2025 Lectura de 2 min
Configuración de la cuenta de servicio de Windows

Recientemente ayudé a investigar un problema en una instalación que surgió después de que actualizaran su instancia de Caché en Windows de la versión 2015.1 a la 2017.1. Una sesión de terminal iniciada desde el icono del cubo del escritorio del servidor no podía ejecutar comandos a nivel del sistema operativo utilizando la función $ZF(-1). Por ejemplo, al tratar de lanzar el comando "REM" (que no tiene ningún efecto) de la siguiente manera

1 0
0 43
Artículo
· 1 abr, 2025 Lectura de 1 min
Cómo obtener información del servidor/instancia

Hola a todos,

Como parte del desarrollo de una API para saber a qué instancia de IRIS está conectada, he encontrado algunos métodos para obtener información sobre el servidor que pueden ser útiles.

Obtener el nombre del servidor: $SYSTEM.INetInfo.LocalHostName()

Obtener la IP del servidor: $SYSTEM.INetInfo.HostNameToAddr($SYSTEM.INetInfo.LocalHostName())

Obtener el nombre de la instancia: $PIECE($SYSTEM,":",2)

1 0
0 45

La interfaz de usuario de Interoperabilidad ahora incluye experiencias modernizadas para las aplicaciones DTL Editor y Production Configuration, las cuales están disponibles para su activación en todos los productos de interoperabilidad. Podéis alternar entre las vistas moderna y tradicional. Todas las demás pantallas de interoperabilidad permanecen en la interfaz de usuario estándar.

0 0
0 34

Buenas tardes,

Estamos abriendo posiciones para desarrolladores Intersystems para proyectos en sector Life Sciences. Escenario de transformación, donde ya tenemos otros equipos scrum y planteamiento a largo plazo y marcos de desarrollo de producto incremental.

Buscamos reforzar esta capacidad y abrir un abanico de proyectos de transformación para desarrolladores Intersystems que busquen nuevos retos futuros:

3 0
0 53

Motivación

Empecé a programar en 2015, cuando estaba haciendo la carrera de informática. No conocía ObjectScript hasta que empecé en mi nuevo trabajo hace cuatro meses. ObjectScript en realidad no es un lenguaje de programación joven. Comparado con C++, Java y Python, la comunidad no es tan activa, pero queremos hacer que este espacio sea más dinámico, ¿verdad?

0 0
0 77

A partir de la versión 2025.1 de la plataforma de datos IRIS® de InterSystems, InterSystems deja oficialmente de utilizar MultiValue y lo incluye en la lista de funciones obsoletas y descatalogadas. Aunque InterSystems seguirá dando soporte a los clientes actuales que utilicen MultiValue, no se recomienda para nuevas aplicaciones.

0 0
0 41
Artículo
· 3 feb, 2025 Lectura de 3 min
¿Faltan SQL variables de host ?

Variables de host son una característica de programación bastante común en muchas implementaciones de SQL.
Una pregunta reciente en DC me hizo darme cuenta de que en IRIS, Caché, Ensemble,...
las variables del host simplemente existen dentro del embedded SQL.

> You can supply host variables for Embedded SQL queries only. <
Se incluyen ejemplos relacionados en la documentación disponible.

A continuación se incluye una descripción de una solución alternativa si no utiliza o no puede utilizar embedded SQL.

1 1
0 39
Artículo
· 7 ene, 2025 Lectura de 4 min
Obtened vuestro código a través de ODBC/JDBC.

Recientemente me encontré con un problema muy antiguo relacionado con el mantenimiento de código:

Tenéis acceso a vuestro servidor IRIS solo a través de ODBC/JDBC:

  • Sin acceso a VSCode
  • Sin acceso a Studio
  • Sin acceso a (Web-)Terminal

¡Pero necesitáis revisar Clases, Rutinas o Globals!

De cualquier forma, SQL es vuestro aliado.

1 0
0 57

Siguiendo con el hilo de Versión Evolución Cache, por si fuera interesante para alguien.

Instalada última versión de IRIS, tenido en cuenta el renombrando de CACHE.DAT a IRIS.DAT, no funciona. Si que monta correctamente las diferentes bases de datos, supongo que es debido a que es una licencia de la “Comunidad”

0 0
0 46
Pregunta
· 15 dic, 2024
Versión evaluación CACHE

Como se puede observar mi versión de Cache ya no esta en la lista de productos.

Hace ya bastante tiempo hice algunas preguntas de una versión aun mas vieja, en esa versión tenia 5 bases de datos, en su momento solo instalé la principal para mí en la versión 2010, estoy intentando migrar las otras cuatro y me encuentro con el siguiente problema:

- Al montar la base de datos solo la monta "lectura", sin opción de cambiar ni por el "portal de gestión de sistema" ni con ^DATABASE

0 2
0 64

Rúbrica de Preguntas Frecuentes de InterSystems

La replicación o mirroring solo sincroniza archivos de base de datos.

Para sincronizar otros archivos necesarios para vuestra aplicación (archivos CSP, imágenes, documentos, etc.) entre los dos servidores que forman el conjunto de réplica, seguid uno de los siguientes enfoques:

1 0
0 39

Preguntas frecuentes de InterSystems

Por defecto, el orden de las columnas en una tabla lo determina automáticamente el sistema. Para cambiar el orden, estableced explícitamente el orden de cada propiedad utilizando la palabra clave SqlColumnNumber al definir la clase.

Ejemplo:

Property Name As %String [SqlColumnNumber = 2];

Por favor, consultad la documentación a continuación.

0 0
0 46

Preguntas frecuentes de InterSystems

Si el archivo de journal es demasiado grande para buscarlo o filtrarlo mediante el Portal de administración, podemos consultarlo mediante los dos métodos siguientes.

① Usando la utilidad ^JRNDUMP
② Usandolo en código

================================================== ==========

0 0
0 49

Rúbrica de preguntas frecuentes de InterSystems

Podéis comprobar el espacio libre en disco en cualquier momento usando la clase de utilidad del sistema: SYS.Database y la consulta: FreeSpace.

Aquí tenéis cómo probarlo en el terminal de IRIS (id al espacio de nombres %SYS y luego ejecutadlo):

0 0
0 62