Question Cécile Heuillet · Mai 26, 2025

Bonjour,

je me suis rendue compte que j'avais cette erreur qui est survenue sur une interop qui tournait depuis quelques mois  :

"BP completion cleanup error deleting BP instance Id: 1133, ERREUR #5540: SQLCODE : Message -106 : Échec de suppression de la ligne de la table « xxx.Context » avec  %rowid=« 1012 », la ligne avec cet ID n'a pas été trouvée."

Nous n'avons pas fait de modification à ce moment là et je ne trouve pas d'où vient l'erreur. Nous avions fait plus tôt un changement de namespace mais c'était bien plus tôt.

Et par ailleurs cela ne met pas le système en erreur.

3
0 67
InterSystems Developer Community is a community of 26,210 amazing developers
Ici, les programmeurs d'InterSystems IRIS apprennent et partagent, se tiennent informés, évoluent ensemble et s'amusent !
Question Corentin Blondeau · Juin 4, 2025

Bonjour,
Quels sont les avantages et les inconvénients d'avoir plusieurs namespaces par rapport à un seul?
J'aimerais bien savoir les aspects positifs et négatifs des deux cas de figures, par exemple 1 ou 4 espaces de nom pour un total de 20 flux.

Qu'en est t'il niveau sécurité, gestion serveur, gestion du code, autre?
En terme de performances, est-ce que trop d'items sur une seul production ralenti le serveur? Ou trop de namespaces augmente la consommation mémoire pour rien?
Comment évolue la consommation d'un namespace? Il y a un minimum?
Je vous remercie de vos réponses.
Corentin BLONDEAU

5
1 124
Question Franck Hanotin · Juil 3, 2025

Bonjour,

j'essaie de faire une connexion avec un serveur SFTP avec 

set ssh = ##class(%Net.SSH.Session).%New()

set Status=ssh.Connect(Server,FtpPort)

set Status=ssh.AuthenticateWithKeyPair(User,"E:\Datas\export\ClePublic.txt","E:\Clé ssh\id-rsa.ppk","")

et là j'ai l'erreur:

TOOLS>zw Status                                                                

Status="0 "_$lb($lb(7510,-19,"SSH Error [80101013]: Waiting for USERAUTH response [80101013] at F:\2024-1-1-347-0\dev\modules\CacheSSH\Session.cpp:498,0",,,,,,,$lb(,"TOOLS",$lb("e^ssherror+4^%Net.SSH.Session.1^1","e^AuthenticateWithKeyPair+2^%Net.SSH.

1
0 83
Question Anthony Decorte · Mai 13, 2025

Bonjour,

J'ai rencontré un problème lors du déploiement. Quand je déploie en utilisant la classe Ens.Deployment.Deploy, je ne reçois plus les logs dans le terminal. Cependant, le déploiement s'est bien passé, je le vois dans l'historique sur le portail.

Cela fonctionne sur notre environnement mais pas sur celui du client.

 

Set tSC = ##class(Ens.Deployment.Deploy).DeployCode(chemin_"GESL_SVCCLI_DEPLOY_CPT-243_V4_0.xml","SVCCLI.ProdClient",1,chemin_"GESL_SVCCLI_DEPLOY_CPT-243_V4_0_rb.xml","L",chemin_"GESL_SVCCLI_DEPLOY_CPT-243_V4_0.log",1,1)

 

Merci 🙂

3
0 46
Question Alan Decourtray · Mars 18, 2025

Bonjour à tous! 

Mes collègues et moi se demandions pourquoi la classe varstring était "cachée" dans la documentation Intersystems .
Est-ce qu'on peut l'utiliser sans problèmes ? On a essayé de chercher sur le forum, et d'autres développeurs ont l'air de l'utiliser. Est-ce qu'il y a des spécificités ou des risques que nous devrions connaître avant de l'utiliser ? 

Merci beaucoup! 

Alan

1
0 54
Question Corentin Blondeau · Jan 6, 2025

Bonjour
J'essaie de travailler avec l'Adapteur/Connection UDP- et j'ai cette erreur .

ERREUR #5002: Erreur Cache: <WRITE>zSend+5^EnsLib.UDP.Common.1

 Voici la méthode
 

Class TEMPLATE.BO.UDPSend Extends Ens.BusinessOperation
{

Parameter ADAPTER = "EnsLib.UDP.OutboundAdapter";

Property Adapter As EnsLib.UDP.OutboundAdapter;

Method SendData(pInput As Ens.Request, Output pOutput As Ens.Response) As %Status
{
    Try {
        Set status=$$$OK
        Set pOutput=##class(Ens.Response).%New()
        
        Set stream = ##class(%Stream.GlobalCharacter).%New()
        Do stream.

6
0 57
Question Moussa SAMB · Juil 8, 2024

 Bonjour,

Depuis ce matin j'arrive pas à compiler ou lancer mes programmes qui tourne en local sur docker avec l'image : intersystemsdc/irishealth-community:2024.1-zpm

J'ai toujours cette erreur sur le terminal ou le portal de management : request to http://localhost:52773/api/atelier/ failed, reason: socket hang up

Dans mes logs docker aussi j'ai des erreurs en conitnu , voici un extrait ...

 

Dans le fichier message.log j'ai aussi des erreurs et voici un extrait 

 

L'erreur semble indiguer une licence et un nombre de core limite ....

Avec l'ajout de ceci dans mon

5
0 135
Question Julia Pertin · Juin 6, 2024

Bonjour, 

Je peux récupérer au sein d'un interop un objet dynamique vide : "{}"

Il faudrait que je puisse ajouter une condition afin de ne pas faire un traitement dans le cas ou je n'ai pas de contenu. Le seul moyen que j'ai trouvé pour l'instant c'est de vérifier si $LENGTH > 2 car cela me prend en compte les accolades. 

Avez-vous un moyen beaucoup plus propre ? 

Merci pour vos réponses

2
0 68
Question Damiano Porrovecchio · Juin 25, 2024

Bonjour,

Suite à la mise à jour d'IRIS de la version 2022.3 à 2024.01, une erreur de compilation apparaît lors de la compilation de la requête `qryGetAllLinkedActByAct` dans la classe `Di.Act`, bien que le code n'ait pas été modifié.

Voici la requête concernée :

Query qryGetAllLinkedActByAct(actId As %String) As %SQLQuery(CONTAINID = 1) {
    SELECT %ID, count(*) as maxRow FROM Di.Act WHERE (linkedAct = :actId) and status <> 'C'
}

Avant la mise à jour, tout fonctionnait correctement. L'erreur indique que le stockage de colonne n'est pas autorisé avec la licence actuelle.

2
0 59
Question Julia Pertin · Mai 15, 2024

Bonjour, 

Je souhaite réaliser une méthode générique pour modifier des propriétés d'une classe dynamique. Lorsque je fais un JSONImport() cela fonctionne très bien pour certains objet, or dans le cas d'un objet contenant une liste cela m'ajoute un élément en plus au lieu de la modifier. J'ai essayée de vérifier le type lors de l'itération du JSON afin de faire un Insert mais je n'arrive pas à utiliser les $METHOD sur le Insert ou même le %Set. 

Voici la classe : 

Class Epc.conf.poste Extends (%Persistent, %JSON.
2
0 117
Question Jean-Charles Cano · Mars 25, 2024

Bonjour,

Je fais face a un problème assez embêtant,

Depuis un petit moment il ne m'est plus possible de supprimer des fichiers compilés et exportés dans Iris,

Normalement lorsque je vais dans l'extension InterSytems, j'ouvre mes classes dans mon namespace et lorsque je faisais clique droit > delete, les fichiers se supprimaient. Cependant, ce n'est plus le cas, lorsque je clique sur delete rien ne se passe

Quelqu'un saurait d'où vient le problème ?

Merci par avance

3
0 75
Question David Marinkovic · Avr 3, 2024

Bonjour,

Je veux créer une vue pour exposer une requête SQL.

Voici ma vue :

Class Client.TEST-REQ1 [ ClassType = view
                        , CompileAfter = Client.Client
                        , DdlAllowed
                        , Owner = {UnknownUser}
                        , Not ProcedureBlock
                        , SqlTableName = "TEST-O-REQ-1"
                        , ViewQuery = { 
                            SELECT NumeroClient, NomClient, ModeReglement.CodeModeReglement as ModeReglement_CodeModeReglement FROM Client.

3
0 79
Question Cyril Grosjean · Fév 5, 2024

Bonjour,

 

Je voudrais savoir d'où vient l'origine des messages de warning commençant par "1 open user transaction found", j'en ai plusieurs :

J'ai un problème sur un flux et je pense que cela vient de ces warnings.

 

Edit : J'ai trouvé quelques informations sur le détail, je ne sais pas si ça pourra aider (j'ai censuré certaines parties confidentielles dans l'entreprise) :

11
0 124
Question David Marinkovic · Mars 11, 2024

Bonjour,

Je rencontre une situation embarassante avec mon environnement de développement InterSystems IRIS et Visual Studio Code.
Je n'arrive pas à pousser un fichier modifié à dessin, (hors push automatique lors du save) et si quelqu'un à la réponse mille merci.

Contexte :
J'ai une instance IRIS en cours d'exécution sur un serveur.
Mon poste client utilise Visual Studio Code avec l'extension InterSystems ObjectScript. 
Je me suis volontairement abstenu d'utiliser Git pour simplifier la problématique.

2
0 73
Question Pierre LaFay · Fév 4, 2024

Bonjour à tous,

Je cherche la syntaxe ou le moyen pour utiliser une classe créée dans le Namespace "BNA" (mon application) depuis le Namespace %SYS.

Voici le contexte :

Je dispose d'une application "BNA" contenue dans le NS "BNA", cette application met à disposition une fonctionnalité de création des utilisateurs. Cette fonctionnalité crée à la fois l'utilisateur dans une table de l'application et dans le système Iris.

J'ai créé un script d'initialisation de ma base pour pouvoir la réinitialiser à volonté, ce script commence par vider la base de ces données, puis initialise les données de base.

5
0 104
Question Pierre LaFay · Fév 13, 2024

Bonjour à tous,

Nous développons une application avec FrontEnd (angular) et BackEnd (objectscript Iris), nous utilisons l'identification intégrée grâce à la route /login fournie par %CSP.REST. Nous n'utilisons pas IAM, nous attaquons l'API directement.

Pour éviter les attaques automatisées, nous avons mis une temporisation sur le login (1s entre chaque tentative). Cela protège donc l'API dans le cadre de son utilisation via l'application.

Toutefois, cela ne protège pas complètement l'API, il est possible d'enchainer les logins avec postman sans délai entre les tentatives.

5
0 82
Question Cyril Grosjean · Jan 10, 2024

Bonjour,

 

Nous sommes confrontés à un problème sur notre environnement de pré-production, nous n'arrivons pas à corriger cette erreur qui n'apparait pas dans notre environnement local :

ERREUR <Ens>ErrGeneral: Failed to create instance of GESTION01.Prestataire.PostFusionIntervention BP 'Post Fusion Intervention' : ERREUR #5002: Erreur ObjectScript: OnInit+4^Grongier.PEX.BusinessProcess.1^2^ do ..%class."_dispatch_on_init"($this) *<class 'sqlalchemy.exc.OperationalError'>: (intersystems_iris.dbapi._DBAPI.OperationalError) Accès refusé (Background on this error at: https://sqlalche
7
1 193
Question Cécile Heuillet · Jan 17, 2024

Bonjour,

je dois faire une requête LDAP pour récupérer des infos sur une équipe spécifique d'employés. J'ai un service custom qui instancie un message de type EnsLib.LDAP.Message.Search avec un filtre correspondant à la recherche et qui le redirige vers une opération de type EnsLib.LDAP.Operation.Standard. Je ne récupérais pas d'erreur mais pas de résultat non plus. J'ai donc créé une opération qui hérite de EnsLib.LDAP.Operation.Standard et j'ai surchargé la méthode pour récupérer qqch. Je récupère ceci :

ERREUR <Ens>ErrException: <FRAMESTACK>ProcessSearch+5^myDSO.operation.requeteLDAP.

3
1 157
Question Cécile Heuillet · Déc 21, 2023

Bonjour,

j'utilise une méthode en python sur une opération pour pouvoir générer un fichier csv à partir d'une table de lien. Cette méthode me génère l'erreur : ERREUR <Ens>ErrCanNotAcquireJobRootLock et cela me bloque complètement pour l'arrête de la production. Mon opération passe en statut "Queued" alors que le fichier est généré et mon message de retour est complet.

La méthode principale de l'opération est :

Method extractionPiecesSage(pRequest As myDSO.msg.exportPiecesSage, Output pResponse As myDSO.msg.retourExport) As %Status
{
    set sc = $$$OK
    set pResponse = ##class(myDSO.msg.
2
0 86
Question Jean-Charles Cano · Jan 25, 2024

Bonjour,

Est-ce qu'il est possible d'appeler un service qu'une seule fois ? 

Par exemple j'ai un Business Service de type EnsLib.FTP.PassthroughService, et j'aimerai qu'il s'exécute qu'une seule fois. 

Le seul moyen que j'ai trouvé de faire cela est de passer planifier le service par exemple entre 9h 9h15 et dans le paramètre intervalle entre appels, je saisis 1200 pour faire 20 minutes,

Existe-t-il une autre solution pour faire cela ? 

5
0 79
Question Cyril Grosjean · Déc 27, 2023

Bonjour,

Je cherche à pouvoir accéder à mes données contenus dans une RecordMap depuis SQLAlchemy, et même à toute table déjà créée auparavant.

Voici une partie de code :

TestBase:

class TestBase(DeclarativeBase):
    CreatedAt: Mapped[int] = mapped_column(TIMESTAMP, default=func.now())
    UpdatedAt: Mapped[int] = mapped_column(TIMESTAMP, default=func.now(), onupdate=func.current_timestamp())

 

Création de l'engine et binding des entités:

bases = {
    "TEST": TestBase.metadata.
3
0 110
Question Pierre LaFay · Déc 29, 2023

Bonjour,

Notre application doit créer des utilisateurs du système à partir d'un formulaire de demande.

Pour utiliser les classes Security, il est nécessaire de disposer des droits permettant d'utiliser le namespace %SYS, ce qui n'est pas le cas des utilisateurs qui valident les demandes.

Il n'est pas souhaitable que ces utilisateurs aient ce rôle de manière permanente, j'ai donc procédé de la manière suivante :

J'ai créé une classe façade pour les classes Security.Users, Security.Roles, Security.

2
0 117
Question Pierre LaFay · Jan 12, 2024

Bonjour a tous,

Dans le cadre d'un projet, j'ai mis en place à l'aide de quelques classes objectscript une solution de tests d'integration.

Son principe est basique, les tests sont rassemblés dans des suites elles mêmes incluses dans un fichier par classe ou ensemble de classes testé.

Mon outil m'affiche à l'écran le bon passage des tests et utilise des séquences d'échappement terminal pour mettre en exergue les échecs (écriture en rouge) .

Mon souci est maintenant que j'aimerai obtenir les résultat dans un fichier tcommunicable à mon client.

4
0 50