#Caché

5 Seguidores · 377 Publicaciones

  

InterSystems Caché es un multi-modelo de DBMS y la aplicación server. See más detalles aquí.

Documentación.

Descargar Evaluación de Caché.

Artículo Jose-Tomas Salvador · mayo 31, 2023 2m read

Este es un artículo de la página de "Preguntas frecuentes" (FAQ) de InterSystems.

 1. Exportar API

a. Usa $system.OBJ.Export() para especificar rutinas individuales para exportar. Por ejemplo:

do $system.OBJ.Export("TEST1.mac,TEST2.mac","c:\temp\routines.xml",,.errors)

El formato que debes especificar es: NombreDeLaRutina.extension, y la extensión puede ser: mac, bas, int, inc, obj.

Los errores durante la exportación se almacenan en la variable "errors".

Echa un vistazo a la referencia de clase %SYSTEM.OBJ para más detalles sobre $system.OBJ.Export().

0
0 118
Pregunta Albert Forcadell · mayo 5, 2023

hola, me es imposible hacer una consulta de forma correcta. he probado con clausulas LIMIT, OVER ... no válidas para Intersystems por lo visto. Tambien probe con HAVING , con TOP, ... incluso con  GPT y otras AI, pero nada.

lo siento, pero mi sql no da para mas.

TABLA Comp.AlbLin

COLUMNAS AlbLin.ID , AlbLin.Description , AlbLin.Price , AlbLin.Date

Estoy peleando por una query que me calcule la MEDIA del campo precio AlbLin.Price pero solo de los ultimos/mas recientes 3 registros de fecha

---

8
0 98
Artículo Bernardo Linarez · mar 30, 2020 6m read

¡Hola Comunidad!

En este artículo hablaré sobre las pruebas y la depuración de las aplicaciones web de Caché (principalmente REST) con herramientas externas. La segunda parte trata sobre las herramientas de Caché.

Usted escribió el código del lado del servidor y quiere probarlo con un cliente, o ya tiene una aplicación web pero no funciona. Aquí es donde entra la depuración. En este artículo abarcaré desde las herramientas más fáciles de utilizar (el navegador), hasta las más completas (el analizador de paquetes), pero primero conversemos un poco sobre los errores más comunes y cómo pueden resolverse.

1
0 685
Anuncio Jose-Tomas Salvador · mayo 8, 2023

Con efecto desde el 16 de mayo, la documentación para las versiones anteriores a 2017.1 de InterSystems Caché® e InterSystems Ensemble® solo estará disponible en formato PDF en la página web de Documentación de InterSystems. Las instancias de estos productos instaladas localmente, continuarán mostrando el contenido de la documentación dinámicamente.

0
0 112
Pregunta Yone Moreno · abr 17, 2023

Buenas tardes,

Antes que nada, muchísimas gracias por leer esta duda, y sobre todo por dedicar tiempo en entenderla y en responderla. Gracias.

Por favor, necesitaríamos su ayuda. Actualmente estamos desarrollando una Integración REST, y se nos da un caso que nos gustaría comentar con ustedes, a fin de hallar pistas, documentación, ejemplos, o mecanismos para gestionarlo y depurarlo.

En la Operación REST recibimos:

2
0 122
InterSystems Official Mario Sanchez Macias · abr 28, 2023

27 de abril de 2023

InterSystems ha corregido un defecto que puede provocar la corrupción de las bases de datos y los ficheros journal en sistemas AIX con IBM POWER8 o procesadores POWER posteriores. Este defecto solo se puede desencadenar cuando se utiliza la encriptación de base de datos o de journal.

Para que se desencadene este defecto, se requieren las siguientes condiciones:

Si el entorno cumple todas estas condiciones, entonces la key utilizada para la encriptación de la base de datos o journal, puede corromperse.

0
0 110
Artículo Ricardo Paiva · mar 11, 2021 6m read

Quería escribirlo como comentario alartículo de @Evgeny.Shvarov. Pero resultó demasiado largo, así que decidí publicarlo por separado.

Imagen que resulta de Docker cuando se limpian todas las imágenes

Me gustaría añadir una pequeña aclaración sobre cómo utiliza Docker el espacio en disco y como limpiarlo. Yo uso macOS, por lo tanto todo lo que explico aplica principalmente a macOS, pero los comandos de Docker se adaptan a cualquier plataforma.

1
0 4888
Pregunta Kurro Lopez · abr 19, 2023

Hola a todos,

Me pregunto si existe algún comando o método para remplazar un texto usando parámetros.

En C#, uso la propiedad Format

var text = string.format("My name is {0} and I'm {1} years","Kurro","18")
// The value of text will be "My name is Kurro and I'm 18 years"

He intentado este código... pero solo funciona para los parámetros específicos.

set text = "My name is {0}, and I'm {1} years"write$Replace($Replace(text,"{0}","Kurro"),"{1}",18)

¿Es posible hacer algo para más argumentos?, quiero decir, usarlo para un indeterminado número de argumentos

Saludos

1
0 94
Pregunta Yone Moreno · abr 18, 2023

Buenos días;

Primeramente, expresar gracias reales sinceras y profundas por el tiempo que dedican ustedes a leer, entender y responder esta duda. Sobre todo muchas gracias por responderla de la mejor manera posible. Gracias.

Tenemos una duda:

El Sistema Origen nos informa en el body que envía hacia el método del Servicio REST "getCursosAdmitidosInscripcionAbierta" de la siguiente manera:

{
    "agrupacionPuesto": ["37","38"]
}

 

Siendo el Mensaje Request:

1
0 302
Pregunta Yone Moreno · abr 17, 2023

Buenos días;

Primero agradecer infinito el apoyo de ustedes y sobre todo y más importante el tiempo que dedican a leer, comprender y sobre todo a responder esta duda. Muchísimas gracias.

Hemos estado trasteando en un Servicio REST para adaptarlo a tal y como lo necesita Sistema Origen. Observamos que si nos enviaran una Header con mayúsculas "idUserLogueado" al tratar de obtener valor en Servicio en el LOGINFO sale vacío:

set idUserLogueado = pInput.GetAttribute("idUserLogueado")

$$$LOGINFO("idUserLogueado: "_idUserLogueado)
2
0 278
Anuncio Esther Sanchez · abr 12, 2023

¿Habéis oído hablar del Design Thinking? ¿O habéis oído hablar de ello y pensado: "Yo no soy diseñador, ¿cuándo usaría yo el Design Thinking?" Si bien un diseñador dedicado es responsable de aplicar las prácticas de Design Thinking en una organización, cualquier persona que cree productos puede beneficiarse de una mentalidad Design Thinking. Según Forbes, las prácticas de Design Thinking pueden "proporcionar un ROI del 85% o más". También puede reducir los ciclos de desarrollo de productos en un 33-50%.

person writing on white paper

0
0 122
Artículo Nancy Martínez · mayo 30, 2022 1m read

Estoy seguro de que os habéis encontrado esta situación:

  • Hay un bug en un sistema que no puedes reproducir por ti mismo localmente
  • Necesitas ejecutar unas pocas líneas en la instancia afectada
  • Tienes acceso completo al Portal de Gestión
  • Pero no hay terminal, ni consola, ni acceso con Studio, Atelier o VSCode
  • ¿Cómo ejecutar tus pocas líneas para probar???
1
0 215
InterSystems Official David Reche · mar 27, 2023

InterSystems anuncia la Versión de Mantenimiento (Maintenance Release, MR) 2018.1.8 de Caché, Ensemble y HSAP. Es una versión de mantenimiento con muchas actualizaciones en una gran variedad de áreas.

Caché y Ensemble

Los kits completos de instalación de producto se pueden descargar de la página de distribución de software del Centro de Soporte Internacional (WRC):

0
0 149
InterSystems Official Jose-Tomas Salvador · mar 27, 2023

InterSystems está comprometida con ofrecer un soporte de alta calidad de todos sus productos, nuevos y antiguos. A medida que los productos envejecen – Caché tiene ahora 25 años – ese soporte va evolucionando.

InterSystems IRIS fue lanzado en 2018 y es el sucesor de Caché y Ensemble. Muchos clientes de Caché/Ensemble han migrado a IRIS o tienen planes de hacerlo en los próximos años. Los clientes que siguen usando Caché o Ensemble deben tener en cuenta este anuncio importante:

0
0 133
Artículo Daniel Aguilar · mar 18, 2023 4m read

Una de las razones por las que me encantan Cache e IRIS es que no solo puedes hacer cualquier cosa que puedas imaginar, sino que también puedes hacerlas de un montón de maneras diferentes!!

Imagina que tienes una integración con IRIS (o Cache) funcionando conectada por ODBC. Probablemente solo uses consultas SQL, pero puedes usar también procedimientos almacenados y dentro de su código puedes hacer cualquier cosa que puedas imaginar.

Voy a darte algunos ejemplos, pero el límite está en tu imaginación!

Quizás te estés diciendo... ¡espera!! Yo no sé como crear un procedimiento almacenado en IRIS... Pero eso no es cierto, sabes crearlo! Lo que pasa que todavía no lo sabes...

0
0 310
Pregunta Yone Moreno · mar 13, 2023

Buenos días;

Antes que nada agradecer el tiempo, conocimiento y dedicación de ustedes, al leer y responder esta cuestión.

Actualmente disponemos de un circuito que recibe SOAP y envía SOAP, relacionado con la Administración Electrónica; el cual hemos generado al importar el WSDL del Sistema Destino.

Lo interesante y el desafío es lo siguiente:

Si por SoapUI cargamos el WSDL de Sistema Destino y enviamos 1 mensaje SOAP directos, nos responden OK

Sin embargo, curiosamente, al enviar el mismo mismo mismo mensaje, por el ESB, nos da una Excepción el Sistema Destino:

3
0 393
Artículo Daniel Aguilar · feb 13, 2023 6m read

Hola! recientemente tuve que aplicar validación api-key a un desarrollo que teníamos hecho con un montón de endpoints y me he decidido a compartir con vosotros como lo llevé a cabo de una forma centralizada.

En este artículo os voy a explicar como podemos aplicar de una forma genérica (o no) validación api key a todos los endpoints de nuestra Web App.

Para el desarrollo utilicé la clase Base.cls de la plantilla iris-rest-api-template

5
0 610
InterSystems Official Jose-Tomas Salvador · mar 3, 2023

InterSystems actualiza periódicamente sus políticas y prácticas de lanzamiento de nuevas versiones software para ajustarse a las necesidades de los clientes.

Ahora estamos cambiando la frecuencia de nuestras versiones de mantenimiento para que sean más predecibles para clientes y partners, y modificaremos algunas otras áreas.
En este artículo se resume la frecuencia de lanzamientos de nuestras Plataformas de datos y los cambios recientes en ellas, y se anuncian algunas actualizaciones nuevas.

0
0 99
Artículo Muhammad Waseem · oct 13, 2021 4m read

A lo largo de los años, me he encontrado con la necesidad de crear varios mensajes HL7 basados en un solo mensaje entrante. Por lo general, toman la forma de un pedido o son el resultado de un laboratorio. Cada vez que he afrontado el reto, he intentado empezar de cero, con la convicción de que el intento anterior podría haberse hecho mejor.

Recientemente, volvió a surgir la necesidad y pude crear una solución de la que no me avergonzaba. Mi principal preocupación era que siempre me encontraría enterrado en un BPL, o usaría ObjectScript e intentaría editar mensajes usando el método SetValueAt para la clase de mensaje HL7.

Problema
Cuando el Sistema A procesa múltiples pedidos para un solo paciente, el resultado vendrá en un solo mensaje con ORCgrp repetido con los segmentos OBR y OBX contenidos en este. El sistema B solo puede recibir un único OBR por mensaje.

1
1 407
InterSystems Official Mario Sanchez Macias · feb 21, 2023

15 de febrero de 2023

InterSystems ha corregido un problema que puede hacer que InterSystems IRIS® y Caché no aprovechen las páginas grandes (large pages) para memoria compartida en Windows, aunque estos productos informen de que las páginas grandes están asignadas. Esto puede afectar al rendimiento del sistema.

El problema proviene de un cambio en Windows 10 que requiere una modificación de InterSystems IRIS® y Caché. Hay que tener en cuenta que este problema también afecta a todos los productos de InterSystems que están basados en InterSystems IRIS® o Caché. El problema ocurre en las siguientes versiones de Windows:

0
0 149
Artículo Kurro Lopez · jun 16, 2020 9m read

En mi anterior artículo, revisamos los posibles casos de uso para macros, así que pasemos ahora a un ejemplo más completo de usabilidad de macros. En este artículo diseñaremos y crearemos un sistema de registro.

Sistema de registro

El sistema de registro es una herramienta útil para monitorear el trabajo de una aplicación que ahorra mucho tiempo durante la depuración y el monitoreo. Nuestro sistema constaría de dos partes:

  • Clase de almacenamiento (para registros de anotaciones)
  • Conjunto de macros que agregan automáticamente un nuevo registro al registro
1
0 257
Anuncio Alberto Fuentes · feb 16, 2023

Para todos aquellos que aún utilizáis el IDE Studio para programar con ObjectScript y vais a pasar por el proceso de migración a VS Code, ¿sabíais que hay una sección en la documentación de VS Code justo para vosotros? Echad un vistazo al apartado Migración desde Studio. Incluye los siguientes aspectos:

  • Edición del lado del servidor y control de código fuente
  • Proyectos de Studio
  • Importación de definiciones de servidor desde el Registro de Windows
  • Carga de fragmentos de código de Studio y colores de sintaxis

Y ahora hay una sección llamada Atajos de teclado, que muestra los atajos equivalentes en VS Code a los que estéis acostumbrados, para que las manos no tengan que dejar el teclado. En muchos casos el atajo es el mismo, por lo que no será necesario re-aprender. Y recordad, todos los atajos en VS Code son configurables por el usuario, por lo que tendréis un nivel de control que Studio nunca ofreció.

0
0 132
Pregunta Yone Moreno · feb 9, 2023

Buenas tardes,
Por favor agradeceríamos que nos lean y respondan.

Necesitamos dada una solicitud de Autenticación emitida hacia nuestro servidor de autorización OAuth 2.0; que en caso de error, el mensaje respondido sea personalizado.

Actualmente si apuntamos desde POSTMAN a:
https://[IP]:[Puerto]/oauth2/token?grant_type=client_credentials&scope=my/scope

Username: Erróneo
Password: Errónea

Obtenemos:
{
    "error": "server_error",
    "error_description": "ERROR #5002: Error de cache: <INVALID OREF>zAuthorize+28^OAuth2.Server.Token.1"
}

1
0 153
Artículo Daniel Aguilar · feb 5, 2023 2m read

Hola Comunidad!

Quiero compartir con vosotros mi primera aplicación del Open Exchange.

Es una herramienta para hacernos los desarrollos mas fáciles. Es un microservicio con IRIS en un docker que nos ayuda en los desarrollos de campañas de SMS, Mail y en los links para las tiendas de nuestras apps brindándonos un acortador de Url's.

Es muy fácil de usar.

Simplemente clona este repo:

https://github.com/daniel-aguilar-garcia/cos-url-shortener.git

Abre la carpeta en VSCode y arranca el docker:

 

2
0 243
Pregunta Paco Cadenas · dic 14, 2022

Hola!

Entiendo no hay automatismo para actualizar código antiguo que imbrica con "puntitos" transformándolo a código con llaves "{ }", creo que hacer un parser de este tipo sería complejo por situaciones como esta :

Alguien sabe si este código es equivalente ?

VERSION CON PUNTITOS
 Use fic

Read *R:20 Else  Do  Quit    ;;;;  comando else aplicado a read.
  . Use 0 Write !!!,"Temps expirat."
 If $c(R)="a" d
  . Use 0 Write !!!,"Ha leido una letra a"
  . Quit
 
VERSION CON LLAVES
 Use fic
 Read *R:20
 If $Test {
Use 0 Write !!!,"Ha leido un carácter"
Quit
 }
 Else {
Use 0 Write !!!,"Temps expirat."
 }
 

3
0 145
Pregunta Federico Mazzei · ene 9, 2023

Hola chicos, soy nuevo en este foro y también con la base de datos InterSystems CACHE. 
Comento que tengo la Base de Datos en una PC que estaba funcionando sin ningún problema hasta que empezó a arrojarme este error que muestro a continuación:
 

Eh intentado varias formas de levantarlo pero no logro hacerla funcionar.
Busqué el archivo cconsole.log dentro de todos los directorios de mi PC y no se ha encontrado nada. También he mirado los eventos de Windows y lo que encontré fue esto.
 

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">

- <System>

3
0 332
Artículo Alberto Fuentes · dic 19, 2022 2m read

Todos los desarrolladores hemos cometido alguna vez el error de accidentalmente dejar código temporal de depuración en lugar de eliminarlo al finalizar lo que estamos investigando.

Lo interesante de escribir en ObjectScript es que hay una forma de hacer que el código provisional sea realmente provisional y se auto-destruya automáticamente! Incluso puede hacerse de manera que el código no aparezca en tu sistema de control de código fuente, lo que puede ser útil igualmente.

El secreto radica en utilizar el "intermediate code" (.INT), que se genera cuando se compilan clases (.CLS), código de rutina (.MAC) o páginas CSP (.CSP).  El código INT se utiliza entonces para crear el código OBJ, que es el que finalmente se ejecuta.

1
0 152