User bio
404 bio not found
Member since Nov 6, 2015
Replies:

To make it easy to get the SessionId from DTL, BPL, or rules, where the $$$JobCurrentHeaderId macro is not defined, add methods like these to your extended function class that Extends Ens.Rule.FunctionSet:

/// Return the current Ens.MessageHeader Id
ClassMethod XCurrentMessageHeaderId() As %String [ CodeMode = expression ]
{
$GET($$$JobCurrentHeaderId)
}

/// Return the current SessionId
ClassMethod XSessionId() As %String [ CodeMode = expression ]
{
$GET($$$JobSessionId)
}

/// Return the current SuperSession
ClassMethod XSuperSession() As %String [ CodeMode = expression ]
{
$GET($$$JobSuperSession)
}
 

When you created the SP in with SQL DDL, did you have to implement Query/Exec/Fetch/Close methods to return the filtered dataset, or did you use some other cleaner method?

When you create the SP in SQL it inherits from class %SQLQuery, which implements Query/Exec/Fetch/Close, but if you create the SP with ObjectScript it inherits from %Query with does not -- making it easy to return a single value but messy to return a resultset. Am I missing a trick?

Use  $GET($$$JobSuperSession)

A SuperSession ID is generated in a Business Service when the Generate SuperSession ID setting is checked, thereby giving an identity for messages streams that made up of multiple production namespace-based sessions. Subsequent Business Processes and Operations are expected to propagate it on (without overriding it with a new one).

The SuperSessionID identifies the originating instance and namespace, plus the original Session ID, and looks something like this: MYSERVER.COM^IRISHEALTH^PRODNAMESPACE^12345.

The  EnsLib.HTTP.OutboundAdapter will include the SuperSessionID in an HTTP Header if the Send Supersession setting is set.

The  Enslib.HTTP.InboundAdapter will copy the SuperSessionID from the HTTP Header into the new Ensemble message, if present (and the Generate SuperSession setting is not set to override it by generating a new one). 

That is, if only the first Business Server in the first instance in the message stream has Generate SuperSession ID set, and all of the Business Operations that send them on have Send SuperSession setting set, the SuperSessionID identity is propagated unchanged among instances in the message stream.

Certifications & Credly badges:
Kevin has no Certifications & Credly badges yet.
Global Masters badges:
Followers:
Kevin has no followers yet.
Following: