Nueva publicación

查找

Anuncio
· 14 ene, 2025

Open Exchange Annual 2024 Recap

Hello and welcome to the Open Exchange Annual 2024 Recap.
General Stats:
✓ 139 new apps in 2024
✓ 7,069 downloads in 2024
✓ 1,029 applications all time
✓ 38,243 downloads all time
✓ 2,981 developers joined

Top applications of the year
This rating includes only applications that have been published this year. The popularity of applications depends on various metrics such as views, bookmarks, ZPM installation rate, releases, reviews, and clicks on the Download button on the app page.
 
Top applications of all time
This rating includes applications that have been published since Open Exchange went online. The popularity of applications depends on various metrics such as views, bookmarks, ZPM installation rate, releases, reviews, and clicks on the Download button on the app page.
 
Top developers of all time
 
Different factors, such as publishing apps, entering contests, writing reviews, and releasing updates, affect a developer's rating. If you want to see the top developers based on the number of apps they've published, you can find the info here.
2024 at a GlanceInterSystems Open Exchange
1 Comentario
Comentarios (1)2
Inicie sesión o regístrese para continuar
Anuncio
· 14 ene, 2025

InterSystems Benelux & France Summit 2025

Salut la communauté !

Nous sommes ravis d'inviter tous nos clients, partenaires et membres de la communauté à participer à l'InterSystems Benelux & France Summit 2025 ! L’inscription au Summit 2025 est déjà ouverte.

Cet événement promet d'être une expérience interactive mettant en lumière des études de cas inspirantes, des innovations technologiques et des feuilles de route pour l'année à venir dans les domaines de la santé et des plateformes de données. Des démonstrations pratiques vous permettront également d’explorer les derniers développements de manière tangible.

➡️ InterSystems Benelux & France Summit 2025

🗓 Dates : 11 - 12 février 2025

📍 Lieu : Hilton Rotterdam | Weena 10 | 3012 CM Rotterdam | Pays-Bas

Image preview

Au cours de plusieurs sessions, nous explorerons des sujets tels que :

  • Les normes de santé telles que FHIR et OMOP
  • L'analytique et l'IA
  • GenAI et la recherche vectorielle
  • Python
  • ...et diverses autres technologies émergentes

Nous sommes convaincus que cet événement marquera remarquablement le début de l’année. Nous serions ravis d’avoir votre présence pour enrichir cet événement de votre expérience et de votre expertise. Réservez la date et inscrivez-vous dès aujourd’hui en utilisant notre formulaire d’inscription.

Nous avons hâte de vous retrouver à l'InterSystems Benelux & France Summit 2025 !

Comentarios (0)1
Inicie sesión o regístrese para continuar
Pregunta
· 14 ene, 2025

IRIS (External language) JavaGateway - how to pass byte[] to Java Method

As part of a migration project from a bunch of java classes to IRIS, we need to maintain a few jar files due to some external dependencies.

The problem I am seeing is that I cannot pass a byte array ( byte[] ) from ObjectScript to the Java Class. I have tried a number of different ways

I have reproduced in a java class and Objectscript class:
Java Class:

package wrc;

public class TestJava {
    
    public static void testByteArr(byte[] keyBytes) {

        System.out.println("keyBytes getClass() = " + keyBytes.getClass() );
        System.out.println("keyBytes toString() = " + keyBytes.toString() );
    }

    public static void testByte(byte obj) {

        System.out.println("byte getClass() = " + ((Object)obj).getClass().getName() );
        System.out.println("byte toString() = " + ((Object)obj).toString() );
    }

    public static void testStr(String obj) {

        System.out.println("obj getClass() = " + ((Object)obj).getClass().getName() );
        System.out.println("obj toString() = " + obj );
    }

    public static void testObj(Object obj) {

        System.out.println("obj getClass() = " + ((Object)obj).getClass().getName() );
        System.out.println("obj toString() = " + obj.toString() );
    }

}

ObjectScript Class

Class POH.wrc Extends %RegisteredObject
{

ClassMethod testMe()
{

    #DIM javaGate As %External.JavaGateway = $SYSTEM.external.getJavaGateway()
    do javaGate.addToPath("C:\temp\wrc.jar")

    set test = javaGate.new("wrc.TestJava")

    do test.testStr("test string") // works
    do test.testByte($C(40)) // works
    try { 
        w !,"TRY #"_$I(TEST)
        do test.testByteArr($C(40) _ $C(41))
    } catch (e)
    {
        w " *** FAILED: " _ e.DisplayString()
    }

    try { 
        w !,"TRY #"_$I(TEST)
        set bArr = ##class(%ListOfDataTypes).%New()
        do bArr.Insert($C(40))
        do bArr.Insert($C(41))
        do test.testByteArr(bArr)
    } catch (e)
    {
        w " *** FAILED: " _ e.DisplayString()
    }

    try { 
        w !,"TRY #"_$I(TEST)
        #Dim arg As %Stream.GlobalBinary = ##Class(%Stream.GlobalBinary).%New()
        do arg.Write($C(40))
        do arg.Write($C(41))
        do test.testByteArr(arg)
    } catch (e)
    {
        w " *** FAILED: " _ e.DisplayString()
    }

    try { 
        w !,"TRY #"_$I(TEST)
        #Dim argc As %Stream.GlobalCharacter = ##Class(%Stream.GlobalCharacter).%New()
        do argc.Write($C(40))
        do argc.Write($C(41))
        do test.testByteArr(argc)
    } catch (e)
    {
        w " *** FAILED: " _ e.DisplayString()
    }
}

}

Each fail with:
TRY #x *** FAILED: <GATEWAY> java.lang.IllegalArgumentException sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) argument type mismatch

The String and Byte tests above work fine...

2 comentarios
Comentarios (2)2
Inicie sesión o regístrese para continuar
Pregunta
· 14 ene, 2025

INSERT OR UPDATE WITH A COUNTER

Hello,

So i want to use the INSERT OR UPDATE command so i can update a COUNTER for a given name:

 

INSERT OR UPDATE myTable
SET name='Omer',  counter = counter + 1;

 


as you can see with the above code - if the row is non-existent then we get an error because COUNTER is NULL! 
I tried the following to fix this but all have failed:

 


INSERT OR UPDATE myTable
SET name = 'Omer', 
    counter = CASE 
        WHEN counter IS NULL THEN 1 
        ELSE counter + 1
    END

 


INSERT OR UPDATE myTable SET name='Omer',counter = COALESCE(counter + 1, 1)

 

 

INSERT OR UPDATE myTable SET name='Omer',counter = IFNULL(counter + 1, 1)

For any of the solutions above i received the error:
 

  [SQLCODE: <-400>:<Fatal error occurred>]

  [%msg: <Unexpected error occurred: <UNDEFINED>%0Ao+3^%sqlcq.74.1 *sqldatad(3)>]

 

Side Note: Running the query below does work:

 

INSERT OR UPDATE myTable SET name='Omer',counter= 1

So this implies that problem is indeed with using the counter when it is NULL...

 

 

Would love to get some insight on that, Thx!

26 comentarios
Comentarios (26)6
Inicie sesión o regístrese para continuar
Artículo
· 13 ene, 2025 Lectura de 2 min

第七十二章 管理设备和助记词空间 - 定义设备

第七十二章 管理设备和助记词空间 - 定义设备

定义设备

可以在 Management PortalDevices (设备) 配置设置中定义、编辑和删除设备。您输入的信息存储在 ^%IS 全局变量中。有关此全局的更多信息,请参阅 ^%IS 全局的结构。

如果在 IRIS 运行时进行设备更改,系统会提示是否要在不重新启动 IRIS 的情况下激活更改。如果同意激活更改,则新定义将立即提供给用户。

访问设备

Windows 系统上,必须将设备编号用于作业间通信设备和常规联锁设备。对于终端和打印机,可以使用您分配的设备助记词或设备编号。

UNIX 系统上,可以使用 UNIX 文件规范来引用文件,也可以设置设备编号来引用文件。

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