# Transformation Scheme ID

V_UNQNSS_LN

# Description

Validate uniquess of instrument identifiers

# Classification

Phase | Type | Subtype | Related entity |
---|---|---|---|

Preparation | Validation | Uniqueness | LN |

# Natural language

This transformation scheme validates if the *Instrument unique identifier* is unique (taking into account all cubes where the *Instrument unique identifier* is the primary key).

**Scheme dependencies:**

# VTL Syntax

0 | INSTRMNT_UNQ_IDS := LN [keep (INSTRMNT_UNQ_ID)]; |

1 | CRDT_CRD_DBT_CNVNNC_CRDT_IDS := CRDT_CRD_DBT_CNVNNC_CRDT [keep (INSTRMNT_UNQ_ID)]; |

2 | CRDT_CRD_DBT_EXTNDD_CRDT_IDS := CRDT_CRD_DBT_EXTNDD_CRDT [keep (INSTRMNT_UNQ_ID)]; |

3 | FCTRNG_IDS := FCTRNG [keep (INSTRMNT_UNQ_ID)]; |

4 | FNNCL_LSS_IDS := FNNCL_LSS [keep (INSTRMNT_UNQ_ID)]; |

5 | INDRCT_FCTRNG_IDS := INDRCT_FCTRNG [keep (INSTRMNT_UNQ_ID)]; |

6 | OTHR_DPSTS_IDS := OTHR_DPSTS [keep (INSTRMNT_UNQ_ID)]; |

7 | OTHR_LNS_IDS := OTHR_LNS [keep (INSTRMNT_UNQ_ID)]; |

8 | OTHR_TRD_RCVBLS_IDS := OTHR_TRD_RCVBLS [keep (INSTRMNT_UNQ_ID)]; |

9 | OVRDRFTS_IDS := OVRDRFTS [keep (INSTRMNT_UNQ_ID)]; |

10 | RVRS_RPRCHS_LNS_IDS := RVRS_RPRCHS_LNS [keep (INSTRMNT_UNQ_ID)]; |

11 | TRNSFRBL_DPSTS_IDS := TRNSFRBL_DPSTS [keep (INSTRMNT_UNQ_ID)]; |

12 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_CNVNNC_CRDT_IDS, CRDT_CRD_DBT_EXTNDD_CRDT_IDS); |

13 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

14 | INTRSCTN := INTRSCTN_TMP; |

15 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_CNVNNC_CRDT_IDS, FCTRNG_IDS); |

16 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

17 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

18 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_CNVNNC_CRDT_IDS, FNNCL_LSS_IDS); |

19 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

20 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

21 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_CNVNNC_CRDT_IDS, INDRCT_FCTRNG_IDS); |

22 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

23 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

24 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_CNVNNC_CRDT_IDS, OTHR_DPSTS_IDS); |

25 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

26 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

27 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_CNVNNC_CRDT_IDS, OTHR_LNS_IDS); |

28 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

29 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

30 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_CNVNNC_CRDT_IDS, OTHR_TRD_RCVBLS_IDS); |

31 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

32 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

33 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_CNVNNC_CRDT_IDS, OVRDRFTS_IDS); |

34 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

35 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

36 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_CNVNNC_CRDT_IDS, RVRS_RPRCHS_LNS_IDS); |

37 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

38 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

39 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_CNVNNC_CRDT_IDS, TRNSFRBL_DPSTS_IDS); |

40 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

41 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

42 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_EXTNDD_CRDT_IDS, FCTRNG_IDS); |

43 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

44 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

45 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_EXTNDD_CRDT_IDS, FNNCL_LSS_IDS); |

46 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

47 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

48 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_EXTNDD_CRDT_IDS, INDRCT_FCTRNG_IDS); |

49 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

50 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

51 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_EXTNDD_CRDT_IDS, OTHR_DPSTS_IDS); |

52 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

53 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

54 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_EXTNDD_CRDT_IDS, OTHR_LNS_IDS); |

55 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

56 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

57 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_EXTNDD_CRDT_IDS, OTHR_TRD_RCVBLS_IDS); |

58 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

59 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

60 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_EXTNDD_CRDT_IDS, OVRDRFTS_IDS); |

61 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

62 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

63 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_EXTNDD_CRDT_IDS, RVRS_RPRCHS_LNS_IDS); |

64 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

65 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

66 | INTRSCTN_TMP := intersect (CRDT_CRD_DBT_EXTNDD_CRDT_IDS, TRNSFRBL_DPSTS_IDS); |

67 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

68 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

69 | INTRSCTN_TMP := intersect (FCTRNG_IDS, FNNCL_LSS_IDS); |

70 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

71 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

72 | INTRSCTN_TMP := intersect (FCTRNG_IDS, INDRCT_FCTRNG_IDS); |

73 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

74 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

75 | INTRSCTN_TMP := intersect (FCTRNG_IDS, OTHR_DPSTS_IDS); |

76 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

77 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

78 | INTRSCTN_TMP := intersect (FCTRNG_IDS, OTHR_LNS_IDS); |

79 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

80 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

81 | INTRSCTN_TMP := intersect (FCTRNG_IDS, OTHR_TRD_RCVBLS_IDS); |

82 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

83 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

84 | INTRSCTN_TMP := intersect (FCTRNG_IDS, OVRDRFTS_IDS); |

85 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

86 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

87 | INTRSCTN_TMP := intersect (FCTRNG_IDS, RVRS_RPRCHS_LNS_IDS); |

88 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

89 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

90 | INTRSCTN_TMP := intersect (FCTRNG_IDS, TRNSFRBL_DPSTS_IDS); |

91 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

92 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

93 | INTRSCTN_TMP := intersect (FNNCL_LSS_IDS, INDRCT_FCTRNG_IDS); |

94 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

95 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

96 | INTRSCTN_TMP := intersect (FNNCL_LSS_IDS, OTHR_DPSTS_IDS); |

97 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

98 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

99 | INTRSCTN_TMP := intersect (FNNCL_LSS_IDS, OTHR_LNS_IDS); |

100 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

101 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

102 | INTRSCTN_TMP := intersect (FNNCL_LSS_IDS, OTHR_TRD_RCVBLS_IDS); |

103 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

104 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

105 | INTRSCTN_TMP := intersect (FNNCL_LSS_IDS, OVRDRFTS_IDS); |

106 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

107 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

108 | INTRSCTN_TMP := intersect (FNNCL_LSS_IDS, RVRS_RPRCHS_LNS_IDS); |

109 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

110 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

111 | INTRSCTN_TMP := intersect (FNNCL_LSS_IDS, TRNSFRBL_DPSTS_IDS); |

112 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

113 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

114 | INTRSCTN_TMP := intersect (INDRCT_FCTRNG_IDS, OTHR_DPSTS_IDS); |

115 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

116 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

117 | INTRSCTN_TMP := intersect (INDRCT_FCTRNG_IDS, OTHR_LNS_IDS); |

118 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

119 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

120 | INTRSCTN_TMP := intersect (INDRCT_FCTRNG_IDS, OTHR_TRD_RCVBLS_IDS); |

121 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

122 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

123 | INTRSCTN_TMP := intersect (INDRCT_FCTRNG_IDS, OVRDRFTS_IDS); |

124 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

125 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

126 | INTRSCTN_TMP := intersect (INDRCT_FCTRNG_IDS, RVRS_RPRCHS_LNS_IDS); |

127 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

128 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

129 | INTRSCTN_TMP := intersect (INDRCT_FCTRNG_IDS, TRNSFRBL_DPSTS_IDS); |

130 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

131 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

132 | INTRSCTN_TMP := intersect (OTHR_DPSTS_IDS, OTHR_LNS_IDS); |

133 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

134 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

135 | INTRSCTN_TMP := intersect (OTHR_DPSTS_IDS, OTHR_TRD_RCVBLS_IDS); |

136 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

137 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

138 | INTRSCTN_TMP := intersect (OTHR_DPSTS_IDS, OVRDRFTS_IDS); |

139 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

140 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

141 | INTRSCTN_TMP := intersect (OTHR_DPSTS_IDS, RVRS_RPRCHS_LNS_IDS); |

142 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

143 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

144 | INTRSCTN_TMP := intersect (OTHR_DPSTS_IDS, TRNSFRBL_DPSTS_IDS); |

145 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

146 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

147 | INTRSCTN_TMP := intersect (OTHR_LNS_IDS, OTHR_TRD_RCVBLS_IDS); |

148 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

149 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

150 | INTRSCTN_TMP := intersect (OTHR_LNS_IDS, OVRDRFTS_IDS); |

151 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

152 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

153 | INTRSCTN_TMP := intersect (OTHR_LNS_IDS, RVRS_RPRCHS_LNS_IDS); |

154 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

155 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

156 | INTRSCTN_TMP := intersect (OTHR_LNS_IDS, TRNSFRBL_DPSTS_IDS); |

157 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

158 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

159 | INTRSCTN_TMP := intersect (OTHR_TRD_RCVBLS_IDS, OVRDRFTS_IDS); |

160 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

161 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

162 | INTRSCTN_TMP := intersect (OTHR_TRD_RCVBLS_IDS, RVRS_RPRCHS_LNS_IDS); |

163 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

164 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

165 | INTRSCTN_TMP := intersect (OTHR_TRD_RCVBLS_IDS, TRNSFRBL_DPSTS_IDS); |

166 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

167 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

168 | INTRSCTN_TMP := intersect (OVRDRFTS_IDS, RVRS_RPRCHS_LNS_IDS); |

169 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

170 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

171 | INTRSCTN_TMP := intersect (OVRDRFTS_IDS, TRNSFRBL_DPSTS_IDS); |

172 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

173 | INTRSCTN := union (INTRSCTN, INTRSCTN_TMP); |

174 | INTRSCTN_TMP := intersect (RVRS_RPRCHS_LNS_IDS, TRNSFRBL_DPSTS_IDS); |

175 | INTRSCTN_TMP := INTRSCTN_TMP [calc "V_UNQNSS_LN" as "VLDTN_ID"]; |

176 | V_UNQNSS_LN := union (INTRSCTN, INTRSCTN_TMP); |