ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>
Hello,
I try to realize a simple test in a BPL and i have this kind of error message. I don't understand why ! I have a simple CSV file in input with 3 columns (Nom, Prenom, Age) and a rule based on the age
ERROR <Ens>ErrBPTerminated: Terminating BP TestSiJeune # due to error: ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zevaluateRuleDefinition+18 ^User.Person.IsJeune.1 *Age,User.Person.TransfoTest.Context -- logged as '-'
number - @'
if (((pContext.Age)>(25))) {'
> ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zevaluateRuleDefinition+18 ^User.Person.IsJeune.1 *Age,User.Person.TransfoTest.Context -- logged as '-'
number - @'
if (((pContext.Age)>(25))) {'
It appears to me that User.Person class does NOT have Age property
Hello Olivier,
thanks for your answer. Il have modified some options and now, il have an another error.
10:45:19.295:Thread1: Erreur <Ens>ErrException: <PROPERTY DOES NOT EXIST>zS1+5^Demo.DemoBPL.Thread1.1 *%Process,Demo.Person.Record -- - connecté en tant que '-' numéro - @' Set request.%Process = process'
This is the generated code. Is it a Bug ? Set request.%Process = process : %Process does not exist
{
Set $ZT="Trap",status=$$$OK do {
Do ##class(Ens.Util.Trace).WriteTrace("user","Demo.DemoBPL","S1","debut")
Do ##class(Ens.Util.Trace).WriteTrace("user","Demo.DemoBPL","S1",request.Age)
Do ##class(Ens.Util.Trace).WriteTrace("user","Demo.DemoBPL","S1","fin")
Set request.%Process = process
Set status=##class(Ens.Rule.RuleDefinition).EvaluateRulesEx("Demo.IsItYoung",,request,"testAge",.ruleReturn,.ruleReason,,process.RuleLogging) Quit:$$$ISERR(status)
Set context.IsYoung = ruleReturn
Now it says that you don't have %Process in your request. Since "request" is the variable that you pass and it has a property "Age" you should probably check whether you specify that your request should contain %Process.
request should not contain process, there is a separate process variable for that.
Hello,
I understood my mistake. I passed the reference of my object in context variable and everything is ok. Thank you all.