Publicaciones:
Respuestas:

Puedes usar desde un terminal:

do $SYSTEM.SQL.Shell() y la funccion siguiente: [o help para ver todas las opciones]

run [<filename>]      Run an SQL script. If <filename> is not specified then
                         the user will be prompted for the file name.

Tambien, existe la funccion:

do $SYSTEM.SQL.Help() para ver las funciones de Importacion de SQL/DDL:

$SYSTEM.SQL.MSSQLServer()
$SYSTEM.SQL.Oracle()
$SYSTEM.SQL.ImportDir()
Nota: algunas de estas funciones estan "obsoletas" en IRIS, pero las encontraras en Cacheé 2018.
 

q

Hola Curro,

Creo que el error que te devuelve en el tSC de Adapter.SendFormDataArray() no se corresponde con el error 402 de la API.
el tSC indica un error en el "<WRITE>" al hacer el envio sobre el pipe TCP en zSend+120^%Net.HttpRequest.1: Esto ocurre en el envio, antes de leer cualquier cabecera de respuesta.
Puede ser indicativo de un error en:

- el Host, port definido en el Adapter/BO no es el correcto

- Hay un problema al abrir un canal TCP desde IRIS hacia este host/puerto

Aquí un ejemplo de procesamiento de HttpStatus que he copiado de un entorno en producción:
 

   set tSC=..Adapter.SendFormDataArray(.tHttpResponse,"POST",.tHttpRequest,tVars,.tData,tURL)
          
    $$$TRACE("Code:"_tHttpResponse.StatusCode)
	set pResponse.code=tHttpResponse.StatusCode
	
	if $isobject(tHttpResponse.Data) {
		set tData=tHttpResponse.Data.Read(3200000)
	}else {			
	    set tData=tHttpResponse.Data
	}
	$$$TRACE("Data:"_tData)
	

Hola,
En este bloque de código:
set dicom = ##class(EnsLib.DICOM.Document).%New()
do ##class(EnsLib.DICOM.Document).CreateFromDicomFileStream(pInput,dicom)
set objetoEntrada.dicom = dicom
$$$LOGINFO("objetoEntrada.dicom: "_objetoEntrada.dicom)
 

El do ##class(EnsLib.DICOM.Document).CreateFromDicomFileStream() crea siempre una nueva instancia de Dicom document que devuelve como output. Creo que en este bloque de codigo no hace falta hacer el %New() previo de la variable "dicom" y hay que pasarle por referencia a la funccion "CreateFromDicomFileStream" (con el "PUNTO" delante del parametro dicom:

do ##class(EnsLib.DICOM.Document).CreateFromDicomFileStream(pInput,.dicom)

No se si sera suficiente para areglar el problema, es solo un primer paso.

Seguidores:
Siguiendo:
Pierre-Yves aún no sigue a nadie.
Insignias de Global Masters:
Pierre-Yves aún no tiene medallas de Global Masters.