ores.refdata.netting_set_identifier

Table of Contents

Names a netting set answers to outside ORE Studio. An ORE document names a trade's netting set by its NettingSetId, such as CPTY_A, and an import resolves that id through the set's ORE identifier, as it resolves the document's CounterParty through a counterparty identifier. A set's own code stays the name the tenant gives it. A set may answer to several ORE ids.

1. Flags

2. Columns

2.1. id

UUID uniquely identifying this netting set identifier.

Surrogate key for the netting set identifier record.

2.2. netting_set_id

The netting set this identifier belongs to.

References the parent netting set record.

uuid_gen()

2.3. party_id

The legal entity of the firm the identifier belongs to.

References the parties table. It is the party of the identifier's netting set, and fixed for the identifier's life. The insert trigger derives it from the netting set and ignores what the caller sent. Two legal entities may each hold a set that answers to the same ORE id.

ctx.generate_uuid()

2.4. id_scheme

The identification scheme for this identifier.

References the party_id_scheme lookup table. A netting set uses the schemes that name things inside one system, such as ORE and INTERNAL.

[idx]{
    static constexpr const char* schemes[] = {"ORE", "INTERNAL"};
    return std::string(schemes[idx % 2]);
}()

2.5. id_value

The identifier value.

The actual identifier string within the scheme. Part of the natural key alongside netting_set_id and id_scheme — a netting set can hold more than one identifier under the same scheme as long as the value differs.

std::string(faker::string::alphanumeric(20))

2.6. description

Optional description of this identifier.

Free text description providing additional context.

std::string("Test identifier")

3. Artefact columns

An ORE document names a trade's netting set by its NettingSetId, such as CPTY_A, and the import carries the set's own code beside it. The store holds the set's uuid, which does not exist until publishing, so the staging row names the set by code instead.

3.1. id_value

3.2. version

3.3. id_scheme

3.4. netting_set_code

3.5. description

4. Artefact indexes

4.1. netting_set_code

5. SQL

5.1. Flags

5.2. Indexes

An ORE alias is a name an ORE document uses, and an import resolves the name to one netting set, so within a legal entity a name may be the alias of one netting set only. Another legal entity may use the same name for its own set. Other schemes keep the per-set key above.

name columns unique current_only where_extra
ore_alias tenant_id, party_id, id_scheme, id_value true true id_scheme = 'ORE'

5.3. Party id from parent

6. Foreign keys

6.1. party_id

6.2. netting_set_id

7. Insert trigger

7.1. Validations

column validation_function cardinality_limit_table cardinality_limit_column cardinality_scope_column cardinality_noun
id_scheme ores_refdata_validate_party_id_scheme_fn ores_refdata_party_id_schemes_tbl max_cardinality netting_set_id identifier

8. C++

8.1. Flags

8.2. Repository

8.3. Domain includes

#include <string>
#include <boost/uuid/uuid.hpp>

8.4. Entity includes

#include <string>

8.5. Conventions

8.6. Table display

column header
netting_set_id Netting Set
id_scheme Scheme
id_value Value
description Description
modified_by Modified By
version Version

8.7. Custom repository methods

8.8. Presentation

Note: netting_set_id is deliberately not exposed as a Detail field – like Book's parent_portfolio_id, it's always known from the owning context (the netting set's own Identifiers tab) and set programmatically before the dialog is shown, never user-chosen.

8.8.1. Detail fields

field label widget type is_key is_required placeholder combo_domain_type combo_fetch_include combo_fetch_fn combo_watcher_name combo_code_field combo_tooltip_field combo_sort_field combo_label combo_setter_pascal badge_key
id Id idEdit line_edit true true Netting set identifier id                    
id_scheme Scheme idSchemeCombo dynamic_combo false true   refdata::domain::party_id_scheme   fetch_party_id_schemes idSchemeWatcher code description display_order id schemes IdSchemeCombo  
id_value Value idValueEdit line_edit false true Enter identifier value                    
description Description descriptionEdit line_edit false false Enter description                    

8.8.2. Columns

enum_name field header type width
IdScheme id_scheme Scheme string 100
IdValue id_value Value string 180
Description description Description string 200
Version version Version int 80
ModifiedBy modified_by Modified By string 120
RecordedAt recorded_at Recorded At timestamp 150

9. See also

Emacs 29.3 (Org mode 9.6.15)