ir a la publicación David Reche · 4 nov, 2021 %TimeStamp data type format (yyyy-mm-dd hh:mm:ss.ffff) Si cambias la "T" por un espacio y el "+" por un "." (con un $tr) yo creo que lo puedes asignar directamente
ir a la publicación David Reche · 4 nov, 2021 Yone, en general yo creo que cualquier Business Host se puede "planificar", es decir, determinar cuando se activa y desactiva en función de la hora del día. https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY...
ir a la publicación David Reche · 20 ago, 2021 @Laura Blázquez García el comportamiento que ves es la recomendación del W3C: https://www.w3.org/TR/1998/REC-xml-19980210#AVNormalize La verdad es que un atributo XML tenga varias línea es algo muy raro. Hay debate en otros frameworks, mira este hilo en Stackoverflow. Por lo que no creo que haya otra opción para evitar el $Replace.
ir a la publicación David Reche · 24 mayo, 2021 En este momento no se puede hacer desde el VS Code, se puede hacer desde el portal, desde la opción Explorar / Clases
ir a la publicación David Reche · 27 abr, 2021 Hay varias cosas que tener en cuenta aquí. Lo primero es que el VSCode debe estar en la misma máquina que la instancia de IRIS para que puedan compartir procesos de sistema operativo. Lo demás es poder adjuntarse al proceso del BO y luego poder parar en la línea de código. Echa un ojo a esto si no lo has hecho ya: https://intersystems-community.github.io/vscode-objectscript/rundebug/ Para adjuntarte a un proceso utiliza esta configuración en el fichero .vscode/launch.json { // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "objectscript", "request": "attach", "name": "ObjectScript Attach", "processId": "${command:PickProcess}", "system": true } ] }
ir a la publicación David Reche · 8 abr, 2021 Evgeny encontró una solución muy útil a su pregunta para convertir el resultado de una SQL a un objeto JSON. Así de Fácil: s sc=##class(%ZEN.Auxiliary.jsonSQLProvider).%WriteJSONFromSQL("json","SELECT Name FROM Sample.Person") y con un poco más de magia construyo esta librería para cumplir también con la parte REST Se puede instalar fácilmente con ZPM: USER>zpm "install sql-rest"
ir a la publicación David Reche · 2 abr, 2021 Lo de pasar los datos “vía PHP” es lo que me suena muy raro. Si quieres migrar los datos de una BD a la otra se me ocurren mil mejores formas que con PHP. Si lo que necesitas es conectarte a Caché para recuperar información a una pantalla de PHP y luego moverla a MySQL. El problema se reduce a conectar PHP a Caché. Mírate este proyecto de código abierto: https://github.com/chrisemunt/mg_php
ir a la publicación David Reche · 31 mar, 2021 A qué te refieres con pipeline por PHP???? si quieres conectar una BD MySQL con Caché se puede hacer de varias formas. Por ejemplo mediante tablas vinculadas. De esta forma tablas de una BD externa se ven como tablas propias de Caché. Pero sigo sin saber muy bien que necesitas
ir a la publicación David Reche · 26 mar, 2021 Por supuesto! Siempre puedes usar JDBC o ODBC. Dame más datos para poder ayudarte.
ir a la publicación David Reche · 11 mar, 2021 Supongo que estás usando servicios REST publicados en IRIS. Échale un ojo a este ejemplo API Explorer
ir a la publicación David Reche · 10 mar, 2021 Kurro, aunque parezca tonto lo habitual ahí es que llamas a la URL incorrecta y en lugar de invocar el servicio te viene un HTML típico de error entonces el pro y no sabe interpretarlo. Puedes meter un wireshark o trazas de SOAP para ver exactamente cual es el HTTP que sale y entra.
ir a la publicación David Reche · 3 mar, 2021 Hola, Caché ya me suena antiguo pero en cualquier caso siempre lo puedes descargar desde http://wrc.intersystems.com si no tienes cuenta intenta desde http://download.intersystems.com
ir a la publicación David Reche · 22 sep, 2020 Para empezar veo que estás creando una clase Adaptador que hereda de Test.BO.Adapter.HTTPOutboundAdapter. Eso no es una Operación. Es un adaptador. Y la verdad no veo dónde estás metiendo los datos del Body... quizá hay más código Yo mejor haría una operación que herede de EnsLib.REST.Operation. Ejemplo: Class demo.bo.RESTOperation Extends EnsLib.REST.Operation { Parameter INVOCATION = "Queue"; Method SendHTTP(pHttpVerb As %String, pURL As %String, Output pHttpResponse As %Net.HttpResponse, jsonObject As %JSON.Adaptor) As %Status { set httpRequest = ##class(%Net.HttpRequest).%New() set httpRequest.ContentType = "application/json" if $IsObject(jsonObject) { set tSC=jsonObject.%JSONExportToStream(httpRequest.EntityBody) if $$$ISERR(tSC) quit tSC } set tSC = ..Adapter.SendFormDataURL(pURL,.pHttpResponse,pHttpVerb,httpRequest) quit tSC } Method PostJSON(pURL As %String, Output pHttpResponse As %Net.HttpResponse, jsonObject As %JSON.Adaptor) As %Status { Return ..SendHTTP("POST",pURL,.pHttpResponse,jsonObject) } Method OnPostRequest(pRequest As demo.PostRequest, Output pResponse As demo.PostResponse) As %Status { set tURL=..Adapter.URL_"/demo" set tSC=..PostJSON(tURL,.tHttpResponse,pRequest.orden) if $$$ISERR(tSC)&&$IsObject(tHttpResponse)&&$IsObject(tHttpResponse.Data)&&tHttpResponse.Data.Size { set tSC=$$$ERROR($$$EnsErrGeneral,$$$StatusDisplayString(tSC)_":"_tHttpResponse.Data.Read()) } if $$$ISERR(tSC) quit tSC // procesar respuesta set pResponse = ##class(demo.msg.PostResponse).%New() set pResponse.respuesta = ##class(demo.msg.Respuesta).%New() if tHttpResponse.StatusCode=200 { $$$TRACE(tHttpResponse.Data.Read()) set tSC = pResponse.respuesta.%JSONImport(tHttpResponse.Data) } else { set tSC=$$$ERROR($$$EnsErrGeneral,"HTTP Status:"_tHttpResponse.StatusCode) } quit tSC } XData MessageMap { <MapItems> <MapItem MessageType="demo.PostRequest"> <Method>OnPostRequest</Method> </MapItem> </MapItems> } }
ir a la publicación David Reche · 20 feb, 2020 También le echaría un ojo a este articulo para saber como llamar correctamente al método: https://community.intersystems.com/post/format-public-key-when-using-rsaencrypt-method-systemencryption-or-systemencryptionrsaencrypt
ir a la publicación David Reche · 2 dic, 2019 Hola, Yo te diría que no se dispone de esa característica directamente pero sin embargo es posible implementar algo similar de una manera muy eficiente mediante procedimiento almacenado en Object Script. Si envías un poco más de detalle del objetivo especifico podemos revisar y enviar algún ejemplo. Gracias
ir a la publicación David Reche · 27 nov, 2019 Hola, Gracias por preguntar. Por lo que veo me parece que esto es un mensaje de MONMGR. Si es así este mensaje es generado por el Core y no por la para de Interoperabilidad así que ahora mismo el mecanismo es solo correo. Pero se me ocurre que pueden utilizar un servicio de lectura de correo y generar una alerta (Ens.Alert) que puedan manipular a su criterio. Aunque claro siendo una advertencia del correo es posible que haya procesos que se paren.
ir a la publicación David Reche · 15 nov, 2019 Este Post quizás también te puede ayudar: https://community.intersystems.com/post/linked-stored-procedure-query-ensemble-201721
ir a la publicación David Reche · 15 nov, 2019 Hola @Matías Peña gracias por la pregunta. Si entiendo correctamente tratas de invocar un procedimiento almacenado en ORACLE desde IRIS ¿Es así? Si usas el SQLGateway revisa esta documentación: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=BSQG_prog Si adjuntas un trozo de código podremos ayudarte mejor.
ir a la publicación David Reche · 31 oct, 2019 Hola @Yunier Gonzalez hay varias opciones. Una es hacer como dices un Backup/Restore de la BD para "jugar" con una imagen sin perjudicar los datos reales. Otra cosa que se puede hacer es utilizar un Shadow. Un Shadow replica todo lo que sucede en una BD a otra BD en otra instancia mediante el uso del journal. De esta forma tienes datos "casi" en tiempo real. En el caso de un Mirror se puede usar una replicación asíncrona para uso como Reporting.
ir a la publicación David Reche · 30 sep, 2019 @Javier Ordonez Martin El error, a priori parece claro, "permiso denegado". ¿Has probado a acceder mediante FTP directamente desde línea de comandos al servidor y probar que funciona correctamente? También es posible que el error se produzca porque el fichero no exista, así que si no es tema de privilegios es posible que esté buscando un fichero pero no un directorio y es por eso que salta este error. En la documentación habla solo de fichero y no de directorio.