Bug ds.LA_TABLE.get

J’ai lancé un ds.zeTable.get avec une clé primaire UUID inexistante. Crac, ouverture de la boite à baffe :
« Erreur : La valeur ‘null’ n’est pas prise en charge par ce type d’expression. » :face_with_head_bandage:

La doc dit :
“Si aucune entité n’est trouvée avec cléPrimaire, une entité Null est retournée.”

Je suis en v17r4, quelqu’un sait si ce bug est corrigé et quand ?

Bonjour,

Si vous faîtes $var:=ds.zeTable.get(xxx),

ds.zeTable.get(xxx) retourne bien Null mais l’affectation de Null dans une variable ($var) n’est pas possible.

Par contre, on peut mettre Null dans une propriété d’un objet:

$obj:= new object()
$obj.prop:=ds.zeTable.get(xxx)

devrait fonctionner

Bonjour Marie-Sophie,
compris, merci !

Re moi, j’ai trouvé le temps d’y revenir car en réalité je n’ai pas tout compris…

Voilà mon code de test, sachant que la table CHANTIER a une PK longint et la table EVENEMENT une PK UUID :
<code 4D>
C_OBJECT($entity_o)
$entity_o:=New object()
$entity_o:=ds.CHANTIER.get(1) //clé existante
$entity_o:=ds.CHANTIER.get(“1”)
$entity_o:=ds.CHANTIER.get(-1) //clé inexistante
$entity_o:=ds.CHANTIER.get("-1")
$entity_o:=ds.EVENEMENT.get(“D056BF457E0842DB8078546F636DAFD0”) //clé existante
$entite_o:=ds.EVENEMENT.get(“ABABABABABABABABABABABABABABABAB”) //clé inexistante
$entite_o:=ds.EVENEMENT.get(“ABCD”) //clé inexistante
</code 4D>

Seules les 2 dernières lignes génèrent l’erreur susmentionnée. D’après votre explication, les lignes 5 et 6 devraient aussi me faire les gros yeux, il me semble ?
:eyes:

Bonjour,

Désolée pour cette réponse tardive.

Dans l’exemple de code, les 2 dernières lignes utilisent $entite_o et non $entity_o déclarée en tant qu’objet.

Si on met bien $entity_o sur les 2 dernières lignes, ça fonctionne.

Merci Marie-Sophie. Le franglais m’a tuer.