You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

789 lines
75 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[Proc_unscrManagement] Script Date: 9/27/2019 1:30:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procEDURE [dbo].[Proc_unscrManagement]
@flag VARCHAR(10)
,@xmlFile NVARCHAR(MAX)
,@xmlFileName VARCHAR(100)
,@user VARCHAR(50)
AS
SET NOCOUNT ON;
SET ANSI_NULLS ON;
DECLARE @xml XML
SET @xml=@xmlFile
BEGIN TRY
CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
DECLARE @dataSource VARCHAR(30),@ofacDate varchar(30)
SET @dataSource = 'UNSCR'
IF @flag = 'UNSCR'
BEGIN
SELECT
@ofacDate = T.c.value('@dateGenerated','varchar(500)')
FROM @xml.nodes('CONSOLIDATED_LIST') T(c)
IF (SELECT ISNULL(MAX(ofacDate),'2100-1-1') FROM blacklistLog WHERE dataSource = 'unscr')= CAST(LEFT(@ofacDate,10) AS DATE)
BEGIN
SELECT 1 ERROR_CODE,'Current version of UNSCR is already updated ' mes, 0 as id
RETURN;
END
ELSE
BEGIN
BEGIN TRANSACTION
--####### INSERTING INDIVIDUAL DATA ON TEMP TABLE ###################################
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('FIRST_NAME[1]','varchar(500)') AS 'FIRST_NAME'
,T.c.value('SECOND_NAME[1]','varchar(500)') AS 'SECOND_NAME'
,T.c.value('THIRD_NAME[1]','varchar(500)') AS 'THIRD_NAME'
,T.c.value('FOURTH_NAME[1]','varchar(500)') AS 'FOURTH_NAME'
,T.c.value('REFERENCE_NUMBER[1]','varchar(500)') AS 'REFERENCE_NUMBER'
,T.c.value('VERSIONNUM[1]','varchar(500)') AS 'VERSIONNUM'
,'UN' AS 'source'
,'UN' AS 'from_file'
,'I' AS 'indEnt'
,'' AS 'OTHERFIELDS'
,T.c.value('SORT_KEY[1]','varchar(500)') AS 'SORT_KEY'
,T.c.value('SORT_KEY_LAST_MOD[1]','varchar(500)') AS 'SORT_KEY_LAST_MOD'
,T.c.value('INDIVIDUAL_PLACE_OF_BIRTH[1]','varchar(500)') AS 'INDIVIDUAL_PLACE_OF_BIRTH'
,T.c.value('INDIVIDUAL_DATE_OF_BIRTH[1]','varchar(500)') AS 'INDIVIDUAL_DATE_OF_BIRTH'
,T.c.value('NATIONALITY[1]','varchar(50)') AS 'NATIONALITY'
,T.c.value('COMMENTS1[1]','varchar(MAX)') AS 'Remarks'
,T.c.value('UN_LIST_TYPE[1]','varchar(MAX)') AS 'UN_LIST_TYPE'
,T.c.value('LAST_DAY_UPDATED[1]','varchar(500)') AS 'LAST_DAY_UPDATED'
INTO #TEMPUNSCRLIST
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
--SELECT * FROM #TEMPUNSCRLIST
SELECT * INTO #TEMPINDVALIASNAME FROM (
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[1]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME'
,T.c.value('INDIVIDUAL_ALIAS[1]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[1]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[1]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[1]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[1]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[1]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[2]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[2]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[2]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[2]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[2]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[2]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[2]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[3]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[3]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[3]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[3]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[3]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[3]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[3]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[4]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[4]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[4]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[4]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[4]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[4]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[4]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[5]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[5]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[1]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[5]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[5]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[5]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[5]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[6]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[6]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[6]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[6]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[6]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[6]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[6]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[7]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[7]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[7]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[7]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[7]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[7]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[7]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[8]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[8]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[8]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[8]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[8]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[8]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[8]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[9]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[9]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[9]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[9]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[9]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[9]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[9]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[10]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[10]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[10]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[10]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[10]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[10]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[10]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[11]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[11]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[11]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[11]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[11]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[11]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[11]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[12]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[12]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[12]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[12]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[12]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[12]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[12]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[13]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[13]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[13]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[13]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[13]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[13]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[13]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[14]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[14]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[14]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[14]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[14]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[14]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[14]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[15]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[15]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[15]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[15]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[15]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[15]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[15]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[16]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[16]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[16]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[16]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[16]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[16]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[16]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[17]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[17]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[17]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[17]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[17]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[17]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[17]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[18]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[18]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[18]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[18]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[18]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[18]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[18]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[19]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[19]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[19]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[19]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[19]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[19]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[19]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('INDIVIDUAL_ALIAS[20]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME2'
,T.c.value('INDIVIDUAL_ALIAS[20]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('INDIVIDUAL_ADDRESS[20]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('INDIVIDUAL_ADDRESS[20]/zip[1]','varchar(500)') AS 'zip'
,T.c.value('INDIVIDUAL_ADDRESS[20]/city[1]','varchar(500)') AS 'city'
,T.c.value('INDIVIDUAL_ADDRESS[20]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('INDIVIDUAL_ADDRESS[20]/NOTE[1]','varchar(500)') AS 'ADDRESS'
FROM @xml.nodes('CONSOLIDATED_LIST/INDIVIDUALS/INDIVIDUAL') T(c)
)X
--SELECT * FROM #TEMPINDVALIASNAME
--RETURN
--######################END OF INDIVIDUAL LIST-- ###################################
-- ENTITY
--########## BEGINING OF ENTITY ###############################################
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('FIRST_NAME[1]','varchar(500)') AS 'FIRST_NAME'
,T.c.value('REFERENCE_NUMBER[1]','varchar(500)') AS 'REFERENCE_NUMBER'
,T.c.value('VERSIONNUM[1]','varchar(500)') AS 'VERSIONNUM'
,T.c.value('UN_LIST_TYPE[1]','varchar(500)') AS 'UN_LIST_TYPE'
,T.c.value('LISTED_ON[1]','varchar(500)') AS 'LISTED_ON'
,'UN' AS 'source'
,'UN' AS 'from_file'
,'I' AS 'indEnt'
,'' AS 'OTHERFIELDS'
,T.c.value('LIST_TYPE[1]','varchar(500)') AS 'LIST_TYPE'
,T.c.value('LAST_DAY_UPDATED[1]','varchar(500)') AS 'LAST_DAY_UPDATED'
,T.c.value('COMMENTS1[1]','varchar(MAX)') AS 'Remarks'
,T.c.value('SORT_KEY[1]','varchar(MAX)') AS 'SORT_KEY'
,T.c.value('SORT_KEY_LAST_MOD[1]','varchar(MAX)') AS 'SORT_KEY_LAST_MOD'
INTO #TEMPENTITYLIST
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
--SELECT * FROM #TEMPENTITYLIST
SELECT * INTO #TEMPENTITYNAME FROM (
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('ENTITY_ALIAS[1]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[1]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[1]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[1]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[1]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[1]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[1]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
, T.c.value('ENTITY_ALIAS[2]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[2]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[2]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[2]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[2]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[2]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[2]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('ENTITY_ALIAS[3]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[3]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[3]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[3]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[3]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[3]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[3]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID'
,T.c.value('ENTITY_ALIAS[4]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[4]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[4]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[4]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[4]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[4]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[4]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[5]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[5]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[5]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[5]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[5]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[5]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[5]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[6]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[6]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[6]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[6]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[6]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[6]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[6]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[7]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[7]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[7]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[7]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[7]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[7]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[7]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[8]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[8]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[8]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[8]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[8]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[8]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[8]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[9]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[9]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[9]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[9]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[9]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[9]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[9]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[10]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[10]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[10]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[10]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[10]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[10]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[10]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[11]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[11]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[11]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[11]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[11]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[11]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[11]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[12]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[12]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[12]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[12]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[12]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[12]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[12]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[13]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[13]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[13]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[13]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[13]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[13]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[13]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[14]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[14]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[14]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[14]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[14]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[14]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[14]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[15]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[15]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[15]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[15]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[15]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[15]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[15]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[16]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[16]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[16]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[16]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[16]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[16]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[16]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[17]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[17]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[17]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[17]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[17]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[17]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[17]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[18]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[18]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[18]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[18]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[18]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[18]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[18]/ZIP[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[19]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[19]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[19]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[19]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[19]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[19]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[19]/ZIP[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
UNION ALL
SELECT
T.c.value('DATAID[1]','varchar(500)') AS 'DATAID' ,
T.c.value('ENTITY_ALIAS[20]/QUALITY[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_QUALITY1'
,T.c.value('ENTITY_ALIAS[20]/ALIAS_NAME[1]','varchar(500)') AS 'INDIVIDUAL_ALIAS1_NAME1'
,T.c.value('ENTITY_ADDRESS[20]/COUNTRY[1]','varchar(500)') AS 'COUNTRY'
,T.c.value('ENTITY_ADDRESS[20]/NOTE[1]','varchar(500)') AS 'ADDRESS'
,T.c.value('ENTITY_ADDRESS[20]/STREET[1]','varchar(500)') AS 'STREET'
,T.c.value('ENTITY_ADDRESS[20]/CITY[1]','varchar(500)') AS 'CITY'
,T.c.value('ENTITY_ADDRESS[20]/zip[1]','varchar(500)') AS 'ZIP'
FROM @xml.nodes('CONSOLIDATED_LIST/ENTITIES/ENTITY') T(c)
)x
--SELECT * FROM #TEMPENTITYNAME
--select * from blacklist where dataSource='UNSCR'
--############# INSERTING DATA ON BLACK LIST ############################################
IF EXISTS(SELECT TOP 1 'x' #TEMPUNSCRLIST)
DELETE FROM blacklist where dataSource='UNSCR'
INSERT INTO blacklist (ofacKey,entNum,name,vesselType,address,city,zip,country,remarks,sortOrder,fromFile,dataSource,indEnt)
SELECT dataSource+''+CAST(entNum AS VARCHAR),entNum,[NAME],[vesselType],address,city,zip,country,remarks,[sortOrder],fromFile,[dataSource],indEnt
FROM
(
SELECT
entNum = DATAID
,[NAME] = FIRST_NAME+' '+ISNULL(SECOND_NAME,'') +' '+ISNULL(THIRD_NAME,'') +' '+ISNULL(FOURTH_NAME,'')
,[vesselType]= 'sdn'
,address = NULL
,city= NULL
,zip = NULL
,country = NULL
,remarks = ISNULL(SORT_KEY,'')+'/'+' last mod: '+ISNULL(REPLACE(SORT_KEY_LAST_MOD,'T00:00:00',','),'')+' Place Of Birth: '+ISNULL(REPLACE(INDIVIDUAL_PLACE_OF_BIRTH,'T00:00:00',','),'')
+' Date of birth: '+ISNULL(REPLACE(INDIVIDUAL_DATE_OF_BIRTH,'T00:00:00',','),'')+' Nationality: '+ISNULL(NATIONALITY,'')+' Remarks: '+ISNULL(REMARKS,'')+' UNList Type: '+ISNULL(UN_LIST_TYPE,'')
+' Last Update date: '+ISNULL(REPLACE(LAST_DAY_UPDATED,'T00:00:00',','),'')+' Reference No: '+ISNULL(REFERENCE_NUMBER,'')+' Version No: '+ISNULL(VERSIONNUM,'')
,[sortOrder] = 1
,fromFile = @xmlFileName
,[dataSource] = @dataSource
,indEnt = INDENT
FROM #TEMPUNSCRLIST WITH (NOLOCK)
UNION ALL
SELECT
DATAID,
REPLACE(REPLACE(INDIVIDUAL_ALIAS1_NAME,'? ',''),'?',''),
'alt',
NULL,
NULL,
NULL,
NULL,
NULL
,2,
@xmlFileName [fromFile],
@dataSource [dataSource],
'I'
FROM #TEMPINDVALIASNAME WHERE INDIVIDUAL_ALIAS1_NAME IS NOT NULL
AND ISNULL(REPLACE(REPLACE(INDIVIDUAL_ALIAS1_NAME,'? ',''),'?',''),'B')<>'B'
UNION ALL
SELECT
DATAID,
NULL,
'add',
ADDRESS,
CITY,
ZIP,
COUNTRY,
NULL,
3,
@xmlFileName [fromFile],
@dataSource [dataSource],
'I'
FROM #TEMPINDVALIASNAME
WHERE ( ADDRESS IS NOT NULL OR CITY IS NOT NULL OR ZIP IS NOT NULL OR COUNTRY IS NOT NULL)
UNION ALL
SELECT
DATAID,
FIRST_NAME,
'sdn' [vesselType],
NULL,
NULL,
NULL,
NULL
,ISNULL(SORT_KEY,'')+' last mod: '+ISNULL(REPLACE(SORT_KEY_LAST_MOD,'T00:00:00',','),'')
+' UNList Type: '+ISNULL(UN_LIST_TYPE,'') +' Comments: '+ISNULL(Remarks,'') +' List Type: '+ISNULL(LIST_TYPE,'')+' Last updated date: '+ISNULL(REPLACE(LAST_DAY_UPDATED,'T00:00:00',','),'')
+' Listed on: '+ISNULL(LISTED_ON,'')+' Reference No: '+ISNULL(REFERENCE_NUMBER,'')+' Version No: '+ISNULL(VERSIONNUM,'') [remarks]
,1 [sortOrder],
@xmlFileName [fromFile],
@dataSource [dataSource],
INDENT
FROM #TEMPENTITYLIST WITH (NOLOCK)
UNION ALL
SELECT
DATAID,
INDIVIDUAL_ALIAS1_NAME1,
'alt',
NULL,
NULL,
NULL,
NULL,
NULL
,2,
@xmlFileName [fromFile],
@dataSource [dataSource],
'E'
FROM #TEMPENTITYNAME WHERE INDIVIDUAL_ALIAS1_NAME1 IS NOT NULL
UNION ALL
SELECT
DATAID,
NULL,
'add',
ADDRESS,
CITY,
NULL,
COUNTRY,
NULL,
3,
@xmlFileName [fromFile],
@dataSource [dataSource],
'E'
FROM #TEMPENTITYNAME
WHERE ( ADDRESS IS NOT NULL OR CITY IS NOT NULL OR COUNTRY IS NOT NULL)
)x
DECLARE @sdnCount INT
SELECT @sdnCount = COUNT(*) FROM #TEMPUNSCRLIST
SELECT @sdnCount = @sdnCount + COUNT(*) FROM #TEMPENTITYNAME
INSERT INTO blacklistLog (totalRecord, dataSource, createdBy, createdDate,ofacDate)
SELECT @sdnCount, @dataSource, @user, GETDATE(),CAST(LEFT(@ofacDate,10) AS DATE)
DROP TABLE #TEMPUNSCRLIST
DROP TABLE #TEMPINDVALIASNAME
DROP TABLE #TEMPENTITYNAME
DROP TABLE #TEMPENTITYLIST
MERGE blackListHistory AS blh
USING (SELECT rowId, ofacKey, entNum, name, vesselType, address, city, state, zip, country, remarks, sortOrder, fromFile, dataSource, indEnt FROM blacklist WITH(NOLOCK) WHERE dataSource ='UNSCR' /* @dataSource*/ ) AS bl
ON ISNULL(blh.ofacKey, '') = ISNULL(bl.ofacKey, '') AND ISNULL(blh.entNum, '') = ISNULL(bl.entNum, '')
AND ISNULL(blh.name, '') = ISNULL(bl.name, '') AND ISNULL(blh.vesselType, '') = ISNULL(bl.vesselType, '')
AND ISNULL(blh.address, '') = ISNULL(bl.address, '') AND ISNULL(blh.city, '') = ISNULL(bl.city, '')
AND ISNULL(blh.state, '') = ISNULL(bl.state, '') AND ISNULL(blh.zip, '') = ISNULL(bl.zip, '')
AND ISNULL(blh.country, '') = ISNULL(bl.country, '') AND ISNULL(blh.remarks, '') = ISNULL(bl.remarks, '')
AND ISNULL(blh.sortOrder, '') = ISNULL(bl.sortOrder, '') AND ISNULL(blh.fromFile, '') = ISNULL(bl.fromFile, '')
AND ISNULL(blh.dataSource, '') = ISNULL(bl.dataSource, '') AND ISNULL(blh.indEnt, '') = ISNULL(bl.indEnt, '')
AND bl.dataSource = 'UNSCR' --@dataSource
WHEN NOT MATCHED THEN
INSERT(blackListId, ofacKey, entNum, name, vesselType, address, city, state, zip, country, remarks, sortOrder, fromFile, dataSource, indEnt)
VALUES(bl.rowId, bl.ofacKey, bl.entNum, bl.name, bl.vesselType, bl.address, bl.city, bl.state, bl.zip, bl.country, bl.remarks, bl.sortOrder, bl.fromFile, bl.dataSource, bl.indEnt);
--INSERT INTO blacklistHistory (blackListId,entNum,name,vesselType,address,city,zip,country,remarks,sortOrder,fromFile,dataSource,indEnt)
--SELECT rowId,entNum,name,vesselType,address,city,zip,country,remarks,sortOrder,fromFile,dataSource,indEnt
--FROM blacklist WITH(NOLOCK) WHERE dataSource='UNSCR'
IF @@TRANCOUNT > 0
COMMIT TRANSACTION
SELECT
0 error_code
,'UNSCR Data imported successfully' mes
,NULL as id
EXEC PROC_UPDATE_METAPHONE
END
END
--- ENTITY CLOSE
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
SELECT 1 error_code, ERROR_MESSAGE() mes, null as id
END CATCH
GO