EnsLib.HL7.SM.RuntimeData.Configuration
persistent class EnsLib.HL7.SM.RuntimeData.Configuration extends %Library.Persistent [ Final ]
SQL Table Name: EnsLib_HL7_SM_RuntimeData.Configuration
Documentation of the Sequence Manager runtime global ^EnsHL7.SM:
The thread nodes:
=================
^EnsHL7.SM(ConfigName,"thread",Type,Facility,Application,Thread,"next") = next message sequence number
^EnsHL7.SM(ConfigName,"thread",Type,Facility,Application,Thread,"list",sequence) = $lb($lb((MessageId,SessionId,PrimaryRequestHeaderId,MessageClassName),...)
^EnsHL7.SM(ConfigName,"thread",Type,Facility,Application,Thread,"wait") = $ZH time we started to wait
The index nodes:
================
^EnsHL7.SM(ConfigName,"wait index","thread",Type,Facility,Application,Thread) ="" Index on waiting threads.
For Control ID and Sequence number duplication check:
^EnsHL7.SM(ConfigName,"index","ct",Type,Facility,Application,control_id,message_id) = time
^EnsHL7.SMI("ResendIndex",ConfigName,time,counter)=$LB("tc","Sender",Facility,Application,control_id,message_id)
^EnsHL7.SM(ConfigName,"index","st",Type,Facility,Application,sequence_number) = time
^EnsHL7.SMI("ResendIndex",ConfigName,time,counter)=$LB("ts",Type,Facility,Application,sequence_number)
The outbound sequence number:
=============================
^EnsHL7.SM(ConfigName,"output",Type,Facility,Application) = next sequence number to be used for output messages
Type is derived from OutputSequenceNumberIndexField.
If OutputSequenceNumberIndexField is Sender, SendingFacility or SendingApplication, then Type is Sender
If OutputSequenceNumberIndexField is Receiver, ReceivingFacility or ReceivingApplication, then Type is Receiver
If OutputSequenceNumberIndexField is Auto, then we look at PerformOutputTransformationOn
If PerformOutputTransformationOn is Sender or SequenceNumberOnly, then Type is Sender
If PerformOutputTransformationOn is Receiver, then Type is Receiver
If PerformOutputTransformationOn is None, then we do not increment the outbound sequence number.
Timer set:
==========
^EnsHL7.SM(ConfigName,"timer",BusinessProcessID) = ""
This indicates a timer has been set on behave of a particular BP.
The existence of this node would prevent other BP's from setting a duplicated timer.
Legend:
Type : "Sender", "Receiver"
Facility : runtime variable
Application : runtime variable
Thread : "main", "resend"
ConfigName : runtime variable
Documentation of the Sequence Manager metric global ^EnsHL7.SM.metric:
^EnsHL7.SM.metric("total") = total messages processed
^EnsHL7.SM.metric("duplicated") = total duplicated message count
^EnsHL7.SM.metric("expired") = total expired messages count
^EnsHL7.SM.metric("outofsequence") = total out-of-sequence message count
^EnsHL7.SM.metric("duplicated",index) = duplicated message
^EnsHL7.SM.metric("expired",index) = expired message
^EnsHL7.SM.metric("outofsequence",index) = out-of-sequence message
Property Inventory
Properties
property Name as %String [ Required ];
The name of the configuration
Property methods: NameDisplayToLogical(), NameGet(), NameGetStored(), NameIsValid(), NameLogicalToDisplay(), NameLogicalToOdbc(), NameNormalize(), NameSet()
relationship Outbound as array of EnsLib.HL7.SM.RuntimeData.Outbound [ InitialExpression = $listbuild("EnsLib.HL7.SM.RuntimeData.Outbound","ConfigName",+$this,"children",1,1) , Transient , Inverse = ConfigName , Cardinality = children ];
The outbound sub-objects
Property methods: OutboundGet(), OutboundGetObject(), OutboundGetObjectId(), OutboundGetSwizzled(), OutboundIsEmpty(), OutboundIsValid(), OutboundNewObject(), OutboundRClose(), OutboundRExec(), OutboundRFetch(), OutboundRelate(), OutboundSQLCompute(), OutboundSet(), OutboundUnRelate()
relationship Thread as array of EnsLib.HL7.SM.RuntimeData.Thread [ InitialExpression = $listbuild("EnsLib.HL7.SM.RuntimeData.Thread","ConfigName",+$this,"children",1,1) , Transient , Inverse = ConfigName , Cardinality = children ];
The thread sub-objects
Property methods: ThreadGet(), ThreadGetObject(), ThreadGetObjectId(), ThreadGetSwizzled(), ThreadIsEmpty(), ThreadIsValid(), ThreadNewObject(), ThreadRClose(), ThreadRExec(), ThreadRFetch(), ThreadRelate(), ThreadSQLCompute(), ThreadSet(), ThreadUnRelate()
Indexes
index (IdIndex on Name) [IdKey, Type = key];
Index methods: IdIndexCheck(), IdIndexDelete(), IdIndexExists(), IdIndexOpen(), IdIndexSQLCheckUnique(), IdIndexSQLExists(), IdIndexSQLFindPKeyByConstraint(), IdIndexSQLFindRowIDByConstraint()
Inherited Members
Inherited Methods
- %AddToSaveSet()
- %AddToSyncSet()
- %BMEBuilt()
- %CheckConstraints()
- %CheckConstraintsForExtent()
- %ClassIsLatestVersion()
- %ClassName()
- %ComposeOid()
- %ConstructClone()
- %Delete()
- %DeleteExtent()
- %DeleteId()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Exists()
- %ExistsId()
- %Extends()
- %GUID()
- %GUIDSet()
- %GetLock()
- %GetParameter()
- %GetSwizzleObject()
- %Id()
- %InsertBatch()
- %IsA()
- %IsModified()
- %IsNull()
- %KillExtent()
- %KillExtentData()
- %LoadFromMemory()
- %LockExtent()
- %LockId()
- %New()
- %NormalizeObject()
- %ObjectIsNull()
- %ObjectModified()
- %Oid()
- %OnBeforeAddToSync()
- %OnDetermineClass()
- %Open()
- %OpenId()
- %OriginalNamespace()
- %PackageName()
- %PhysicalAddress()
- %PurgeIndices()
- %Reload()
- %RemoveFromSaveSet()
- %ResolveConcurrencyConflict()
- %RollBack()
- %Save()
- %SaveDirect()
- %SaveIndices()
- %SerializeObject()
- %SetModified()
- %SortBegin()
- %SortEnd()
- %SyncObjectIn()
- %SyncTransport()
- %UnlockExtent()
- %UnlockId()
- %ValidateIndices()
- %ValidateObject()