Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this page:

Table of Contents

...

Custom Benchmark involves custom index logic which is dependent on certain component values stored on underlying (assigned) constituent entities. These values and assignments are stored in the CUSTOMthe RULESDBO.CUSTOM_INDEX_ATTRIBUTES table in the RULES database. The table keeps track of any changes to each custom entity by the EFFECTIVE_DATE field. 

...

Please note, that depending on the the customBenchmark/customIndexType element value, the incoming message goes thru different steps of resolution:

Batch/Next Instance
Benchmark TypeCorresponding Custom Index Type ValueResolution
EntityEntity DetailSecurity ConstrainedSecurity Exclusion
Floating Weight BlendedFLTB++

BlendedBLND++

LinkedLINK++

Currency ConversionCONV++

HedgedHEDG++

ConstrainedCNST+++
ExclusionEXCL++
+

Entity Resolution Logic

Entity Resolution is specific logic resolving Entity ID for custom index records:

...

customBenchmark/entityId = entity_id.
If a match as is found, the interface considers custom index record resolved and the logic will move to entity detail resolution.

Anchor
Entity Detail Resolution
Entity Detail Resolution
Entity Detail Resolution

This is a specific logic to resolve the resolves Entity Detail for custom index records which goes thru the following steps:

...

Resolves underlying/constituent entities associated to

...

Custom Index Entity. If both values exist on the record, the logic will be the following:

  1. Performs a lookup on the Entity_xreference table in the Rules Database and match the entity cross reference values:
    customBenchmark/entityDetail/entityXrefs/entityXref/xrefAccountId = Xref_Account_ID
    customBenchmark/entityDetail/entityXrefs/entityXref/xrefAccountIdType = Xref_account_ID_Type
    1. If
    a match NOT Found
    1. there is NO match found, it fails the record with the error message: “EntityID is not resolved by XREFs”
    2. If there is a match, the interface has resolved the Detail index record.
  2. If there is no ENTITY DETAIL XREF and ENTITY DETAIL XREF TYPE on the record:
    1. In case there is no customBenchmark/entityDetail/entityId node (ENTITY DETAIL ID) on the record, it will fail with the error message: “EntityID is not resolved by XREFs”.
    2. In case there is a customBenchmark/entityDetail/entityId element (ENTITY DETAIL ID) with a value set, it performs a lookup on the Entity table in the rules database to find a match for the value in the ENTITY DETAIL ID tag

...

If the incoming value in the customBenchmark/customIndexType (CUSTOM INDEX TYPE) tag = ‘CNST’ and a this value exists in the SECURITY CONSTRAINED tag, then the custom Index has logic to constrain certain security returns.

...

and is directly used by security resolution logic.

The Logic performs a lookup in the Perf_sec_rollup_relation table in the Perform database.

  1. If no match is found, the record (batch) fails with an error message: “Entity and Security Relation not found”
  2. If a match is found, the logic populates Security_alias in the Custom_index_attr_detail table with the security_alias value obtained above.

...

The logic is the following:

The logic performs a lookup Lookup in the Perf_sec_rollup_relation table in the Perform database is performed.

  1. If there is no match, it fails the record (batch) with an error message: “Entity and Security Relation not found”
  2. If there is a match, it populates Security_alias in the Custom_index_attr_detail table with the security_alias value obtained above.

Batch and Next Instance Resolution

The batch is a unique combination of the following fields:

  • customBenchmark/effectiveDate = Effective_date in custom_index_attributes
  • customBenchmark/entityId = Entity_ID in custom_index_attributes
  • customBenchmark/entityDetail/entityId = Entity_Detail_Id in custom_index_attributes

As for example, a valid batch key would be:

Code Block
languagexml
<batchKey>2016-12-12^BT153545^TB153545</batchKey>

If a match, the interface looks to the value in PROCESS TYPE on the incoming record and:

  1. If PROCESS TYPE tag = ‘D’ or ‘DELETE’, the interface will delete all records in the database for the batch combination.
  2. If the PROCESS TYPE = 'IU' or ‘INSERT’ or ‘UPDATE’, and records exist for the same batch, the interface will remove records in the database and will re-process with the incoming records for the same batch combination
  3. If the PROCESS TYPE = 'IU' or ‘INSERT’ or ‘UPDATE’, and no records exist for the same batch, the interface will insert the records into the custom_index_attributes table.