routing rule compiles to refer to old package
Hi,
I have a routing rule that calls some utility classmethods, but for some reason the compiled version insists on linking to a utility function in a different package.
The call to 'SendToEaling(HL7)' in isn't compiling to a call to the LNWTIEPackage as expected:
##class(LNWTIEPackage.RoutingRules.Utility).SendToEaling((pContext.HL7))
but is instead becoming a call to the LNWDeploy package
##class(LNWDeploy.RoutingRules.Utility).SendToEaling((pContext.HL7))
Specifically
<assign property="@SendToEaling" value="SendToEaling(HL7)"></assign>
gets compiled to
set tTempVars("SendToEaling")=##class(LNWDeploy.RoutingRules.Utility).SendToEaling((pContext.HL7))
Any ideas what could be causing this?
Kind regards,
Stephen
RoutingRule:
Class LNWTIEPackage.iCSADTHL7MainRouterRoutingRuleDUP Extends Ens.Rule.Definition { Parameter RuleAssistClass = "EnsLib.HL7.MsgRouter.RuleAssist"; XData RuleDefinition [ XMLNamespace = "http://www.intersystems.com/rule" ] { <ruleDefinition alias="" context="EnsLib.HL7.MsgRouter.RoutingEngine" production="LNWTIEPackage.LNWTIEProduction"> <variable name="SendToEaling"></variable> <variable name="SendToNWL"></variable> <variable name="NumberSearch"></variable> <variable name="PracticeDetailSearch"></variable> <variable name="GPDetailsUpdate"></variable> <ruleSet name="iCS Main Router Ruleset" effectiveBegin="" effectiveEnd=""> <rule name="" disabled="true"> <constraint name="docCategory" value="iCS.Outbound"></constraint> <when condition="1=1"> <send transform="" target="iCS Soak Test TCPIP Sender"></send> </when> </rule> <assign property="@SendToEaling" value="SendToEaling(HL7)"></assign> <assign property="@SendToNWL" value="SendToNWL(HL7)"></assign> <trace value=""SendToEaling = "_@SendToEaling"></trace> <trace value=""SendToNWL = "_@SendToNWL"></trace> <assign property="@NumberSearch" value="PASNumbersCheck(HL7.{PID:3})"></assign> <trace value=""NumberSearch = "_@NumberSearch"></trace>
Compiles to
;LNWTIEPackage.iCSADTHL7MainRouterRoutingRuleDUP.1 ;(C)InterSystems, generated for class LNWTIEPackage.iCSADTHL7MainRouterRoutingRuleDUP. Do NOT edit. 09/06/2018 11:50:46AM ;;702B766D;LNWTIEPackage.iCSADTHL7MainRouterRoutingRuleDUP ; zevaluateRuleDefinition(pContext,pRuleSet,pEffectiveBegin,pEffectiveEnd,pReturnValue,pReason,pLogLevel,pDebugId="") public { Set:'($data(pLogLevel)#2) pLogLevel="r" set tSC=1,$ZE="" try { set pReturnValue="",pReason="" ; Initialize temporary variables set tTempVars("SendToEaling")="" set tTempVars("SendToNWL")="" set tTempVars("NumberSearch")="" set tTempVars("PracticeDetailSearch")="" set tTempVars("GPDetailsUpdate")="" ; No ruleSet dispatching code generated. set pEffectiveBegin="" set pEffectiveEnd="" set pRuleSet="" ; ruleSet1 ; effectiveBegin = (not-specified); effectiveEnd = (not-specified) if (pLogLevel [ "c") set tSC = ##class(Ens.Rule.DebugLog).Log(pDebugId,"c","","Executing ruleSet1: effectiveBegin = (not-specified); effectiveEnd = (not-specified)",0) quit:('tSC) ; set tTempVars("SendToEaling")=##class(LNWDeploy.RoutingRules.Utility).SendToEaling((pContext.HL7)) set tTempVars("SendToNWL")=##class(LNWDeploy.RoutingRules.Utility).SendToNWL((pContext.HL7)) do ##class(Ens.Util.Trace).WriteTrace("user",$classname(),"evaluateRuleDefinition",(("SendToEaling = ")_(tTempVars("SendToEaling")))) do ##class(Ens.Util.Trace).WriteTrace("user",$classname(),"evaluateRuleDefinition",(("SendToNWL = ")_(tTempVars("SendToNWL")))) set tTempVars("NumberSearch")=##class(LNWDeploy.RoutingRules.Utility).PASNumbersCheck((pContext.HL7.GetValueAt("PID:3"))) do ##class(Ens.Util.Trace).WriteTrace("user",$classname(),"evaluateRuleDefinition",(("NumberSearch = ")_(tTempVars("NumberSearch")))) ; Evaluating rule: rule#2(Teleologic ADT REF MFN)