diff --git a/db/upgrade/rdb_modern/routines/135-sp_dyn_dm_org_data_postprocessing.sql b/db/upgrade/rdb_modern/routines/135-sp_dyn_dm_org_data_postprocessing.sql
new file mode 100644
index 00000000..369a6a31
--- /dev/null
+++ b/db/upgrade/rdb_modern/routines/135-sp_dyn_dm_org_data_postprocessing.sql
@@ -0,0 +1,459 @@
+
+
+
+CREATE or alter PROCEDURE [dbo].sp_dyn_dm_org_data_postprocessing
+
+ @batch_id BIGINT,
+ @DATAMART_NAME VARCHAR(100),
+ @Org_id_list nvarchar(max)
+
+ AS
+BEGIN
+ BEGIN TRY
+
+--DECLARE @batch_id BIGINT = 999; DECLARE @DATAMART_NAME VARCHAR(100) = 'CONG_SYPHILIS';
+
+ DECLARE @RowCount_no INT = 0 ;
+ DECLARE @Proc_Step_no FLOAT = 0 ;
+ DECLARE @Proc_Step_Name VARCHAR(200) = '' ;
+ DECLARE @batch_start_time datetime = null ;
+ DECLARE @batch_end_time datetime = null ;
+ DECLARE @nbs_page_form_cd varchar(200)= '';
+
+ SET @nbs_page_form_cd = (SELECT FORM_CD FROM dbo.v_nbs_page WHERE DATAMART_NM=@DATAMART_NAME)
+
+
+ SET @Proc_Step_no = 1;
+ SET @Proc_Step_Name = 'SP_Start';
+
+
+ BEGIN TRANSACTION;
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log (
+ batch_id
+ ,[Dataflow_Name]
+ ,[package_Name]
+ ,[Status_Type]
+ ,[step_number]
+ ,[step_name]
+ ,[row_count]
+ )
+ VALUES
+ (
+ @batch_id
+ ,'DYNAMIC_DATAMART'
+ ,'RDB.DBO.DynDm_OrgData_sp ' + @DATAMART_NAME
+ ,'START'
+ ,@Proc_Step_no
+ ,@Proc_Step_Name
+ ,0
+ );
+
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING FACT_CASE';
+
+
+
+ BEGIN TRANSACTION;
+
+
+
+ declare @countstd int = 0;
+
+
+ select @COUNTSTD = count(*) from dbo.v_nrt_nbs_d_case_mgmt_rdb_table_metadata
+ ;
+
+
+ declare @FACT_CASE varchar(40) = '';
+
+
+ if @countstd > 1
+ begin
+ set @FACT_CASE = 'F_STD_PAGE_CASE';
+ end
+ else
+ begin
+ set @FACT_CASE = 'F_PAGE_CASE';
+ end
+ ;
+
+ -- select @fact_case;
+
+
+SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name ,@ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING tmp_DynDm_Organization_METADATA';
+
+
+--CREATE TABLE ORGANIZATION_METADATA AS
+
+ Select RDB_COLUMN_NM, user_defined_column_nm, part_type_cd, [Key], Detail, QEC, UID, INVESTIGATION_FORM_CD
+ into #tmp_DynDm_Organization_METADATA
+ from v_nrt_nbs_d_organization_rdb_table_metadata
+ where INVESTIGATION_FORM_CD=@nbs_page_form_cd ;
+
+
+
+SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING tmp_DynDm_Organization';
+
+
+
+ IF OBJECT_ID('#tmp_DynDm_Organization', 'U') IS NOT NULL
+ drop table #tmp_DynDm_Organization;
+
+
+--CREATE TABLE rdb.dbo.tmp_DynDm_Organization
+--(INVESTIGATION_KEY bigint);
+
+select distinct investigation_key,
+cast(null as bigint) as ORGANIZATION_UID
+into #tmp_DynDm_Organization
+ FROM #tmp_DynDm_SUMM_DATAMART
+ -- pass the org_Id_List param
+;
+
+
+
+
+SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+
+
+ declare @USER_DEFINED_COLUMN_NM varchar(max) ,@PART_TYPE_CD varchar(max) ,@DETAIL varchar(max) ,@QEC varchar(max) ,@UID varchar(max);
+
+
+
+
+ declare @SQL varchar(max)
+
+
+
+ --DX select PART_TYPE_CD,* from rdb.dbo.tmp_DynDm_Organization_METADATA;
+
+
+
+
+--declare @PART_TYPE_CD varchar(max) = null , @SQL varchar(max);
+
+
+
+DECLARE db_cursor_org CURSOR LOCAL FOR
+ select PART_TYPE_CD , [key],DETAIL,QEC ,[UID] from #tmp_DynDm_Organization_METADATA;
+
+OPEN db_cursor_org
+FETCH NEXT FROM db_cursor_org INTO @PART_TYPE_CD ,@USER_DEFINED_COLUMN_NM,@DETAIL ,@QEC ,@UID
+
+WHILE @@FETCH_STATUS = 0
+BEGIN
+
+
+
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING tmp_DynDm_OrgPart_Table_temp';
+
+ IF OBJECT_ID('dbo.tmp_DynDm_OrgPart_Table_temp', 'U') IS NOT NULL
+ drop table dbo.tmp_DynDm_OrgPart_Table_temp;
+
+
+
+ CREATE TABLE [dbo].[tmp_DynDm_OrgPart_Table_temp](
+ [ORGANIZATION_KEY] [bigint] NULL,
+ [ORGANIZATION_QUICK_CODE] [varchar](50) NULL,
+ [ORGANIZATION_NAME] [varchar](50) NULL,
+ [ORGANIZATION_LOCAL_ID] [varchar](50) NULL,
+ [ORGANIZATION_UID] [bigint] NULL,
+ [ORGANIZATION_STREET_ADDRESS_1] [varchar](50) NULL,
+ [ORGANIZATION_STREET_ADDRESS_2] [varchar](50) NULL,
+ [ORGANIZATION_CITY] [varchar](50) NULL,
+ [ORGANIZATION_STATE] [varchar](50) NULL,
+ [ORGANIZATION_ZIP] [varchar](10) NULL,
+ [ORGANIZATION_COUNTY] [varchar](50) NULL,
+ [ORGANIZATION_PHONE_WORK] [varchar](50) NULL,
+ [ORGANIZATION_PHONE_EXT_WORK] [varchar](50) NULL,
+ [PART_TYPE_CD] [bigint] NULL,
+ [PART_TYPE_CD_NM] varchar(100),
+ [CITY_STATE_ZIP] varchar(2000),
+ [DETAIL] varchar(2000),
+ [INVESTIGATION_KEY] [bigint] NOT NULL
+ )
+ ;
+ -- if @FACT_CASE = ""
+ SET @SQL = ' insert into dbo.tmp_DynDm_OrgPart_Table_temp '
+ + ' ([ORGANIZATION_KEY] '
+ + ', [ORGANIZATION_QUICK_CODE] '
+ + ', [ORGANIZATION_NAME] '
+ + ', [ORGANIZATION_LOCAL_ID] '
+ + ', [ORGANIZATION_UID] '
+ + ', [ORGANIZATION_STREET_ADDRESS_1] '
+ + ', [ORGANIZATION_STREET_ADDRESS_2] '
+ + ', [ORGANIZATION_CITY] '
+ + ', [ORGANIZATION_STATE] '
+ + ', [ORGANIZATION_ZIP] '
+ + ', [ORGANIZATION_COUNTY] '
+ + ', [ORGANIZATION_PHONE_WORK] '
+ + ', [ORGANIZATION_PHONE_EXT_WORK] '
+ + ', [PART_TYPE_CD] '
+ + ', [PART_TYPE_CD_NM] '
+ + ', [CITY_STATE_ZIP] '
+ + ', [DETAIL] '
+ + ', [INVESTIGATION_KEY] )'
+ + ' SELECT distinct '+
+ ' (d_o.ORGANIZATION_KEY) , '+
+ ' d_o.ORGANIZATION_QUICK_CODE , '+
+ ' d_o.ORGANIZATION_NAME , '+
+ ' d_o.ORGANIZATION_LOCAL_ID , '+
+ ' d_o.ORGANIZATION_UID , '+
+ ' d_o.ORGANIZATION_STREET_ADDRESS_1 , '+
+ ' d_o.ORGANIZATION_STREET_ADDRESS_2 , '+
+ ' d_o.ORGANIZATION_CITY , '+
+ ' d_o.ORGANIZATION_STATE , '+
+ ' d_o.ORGANIZATION_ZIP , '+
+ ' d_o.ORGANIZATION_COUNTY , '+
+ ' d_o.ORGANIZATION_PHONE_WORK , '+
+ ' d_o.ORGANIZATION_PHONE_EXT_WORK , '+
+ @PART_TYPE_CD +', '+
+ ''''+ @PART_TYPE_CD +''', '+
+ ' coalesce( ltrim(rtrim(ORGANIZATION_CITY))+'', '','''')+coalesce( ltrim(rtrim(ORGANIZATION_STATE))+'' '','''')+coalesce( ltrim(rtrim(ORGANIZATION_ZIP)),'''') ' +
+ ' , null ,'+
+ ' s_d.INVESTIGATION_KEY AS INVESTIGATION_KEY '+
+ ' FROM dbo.tmp_DynDm_SUMM_DATAMART s_d '+
+ ' INNER JOIN dbo.'+@FACT_CASE+ ' ON s_d.INVESTIGATION_KEY = '+@FACT_CASE+ '.INVESTIGATION_KEY '+
+ ' LEFT JOIN dbo.D_ORGANIZATION d_o ON '+@FACT_CASE+'.'+@PART_TYPE_CD+' = d_o.ORGANIZATION_KEY '+
+ ' where d_o.organization_uid IN (SELECT value FROM STRING_SPLIT(' + @org_id_list +','+ ','+'))' +
+ '; '
+
+ -- select 'INSERT',@PART_TYPE_CD ,@USER_DEFINED_COLUMN_NM,@DETAIL ,@QEC ,@UID, @SQL;
+
+
+ EXEC(@SQL);
+
+
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name + '-'+@PART_TYPE_CD , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING UPDATE tmp_DynDm_OrgPart_Table_temp';
+
+
+
+
+
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL ='' + LTRIM(RTRIM(coalesce(ORGANIZATION_LOCAL_ID,''))) where LTRIM(RTRIM(ORGANIZATION_LOCAL_ID)) is not null ;
+
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL = DETAIL + '
' + (ORGANIZATION_NAME) where LTRIM(RTRIM(ORGANIZATION_NAME)) is not null ;
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' + LTRIM(RTRIM(ORGANIZATION_STREET_ADDRESS_1)) where LTRIM(RTRIM(ORGANIZATION_STREET_ADDRESS_1)) is not null ;
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' + LTRIM(RTRIM(ORGANIZATION_STREET_ADDRESS_2)) where LTRIM(RTRIM(ORGANIZATION_STREET_ADDRESS_2)) is not null ;
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' + LTRIM(RTRIM(CITY_STATE_ZIP)) where LTRIM(RTRIM(CITY_STATE_ZIP)) is not null ;
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' + LTRIM(RTRIM(ORGANIZATION_COUNTY)) where LTRIM(RTRIM(ORGANIZATION_COUNTY)) is not null ;
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' + LTRIM(RTRIM(ORGANIZATION_PHONE_WORK)) where LTRIM(RTRIM(ORGANIZATION_PHONE_WORK)) is not null ;
+
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + ', ext. ' + LTRIM( RTRIM(ORGANIZATION_PHONE_EXT_WORK))
+ where LTRIM(RTRIM(ORGANIZATION_PHONE_WORK)) is not null and LTRIM(RTRIM(ORGANIZATION_PHONE_EXT_WORK)) is not null ;
+
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
ext. ' + LTRIM( RTRIM(ORGANIZATION_PHONE_EXT_WORK))
+ where LTRIM(RTRIM(ORGANIZATION_PHONE_WORK)) is null and LTRIM(RTRIM(ORGANIZATION_PHONE_EXT_WORK)) is not null ;
+
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' where LTRIM(RTRIM(DETAIL)) is not null ;
+
+
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING ALTER tmp_DynDm_OrgPart_Table_temp';
+
+
+
+
+
+
+ SET @SQL = 'alter table dbo.tmp_DynDm_OrgPart_Table_temp add ' + @DETAIL + ' [varchar](2000) , ' + @USER_DEFINED_COLUMN_NM+ ' bigint , ' + @QEC+ ' [varchar](50) , ' + @UID+ ' bigint ; '
+
+ -- select 'ALTER', @PART_TYPE_CD, @SQL;
+
+
+ EXEC(@SQL);
+
+
+
+ SET @SQL = 'alter table dbo.tmp_DynDm_Organization add ' + @DETAIL + ' [varchar](2000) , ' + @USER_DEFINED_COLUMN_NM+ ' bigint , ' + @QEC+ ' [varchar](50) , ' + @UID+ ' bigint ; '
+
+
+ EXEC(@SQL);
+
+
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name + ' - '+@PART_TYPE_CD , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING UPDATE tmp_DynDm_OrgPart_Table_temp';
+
+
+
+
+
+
+ --@USER_DEFINED_COLUMN_NM=ORGANIZATION_KEY;
+ --@QEC =ORGANIZATION_QUICK_CODE;
+ --@UID= ORGANIZATION_UID;
+
+ SET @SQL = 'update tDO SET ORGANIZATION_UID = orgtemp.ORGANIZATION_UID ,'
+ + @DETAIL + ' = DETAIL , '
+ + @USER_DEFINED_COLUMN_NM+ ' = ORGANIZATION_KEY , '
+ + @QEC+ ' = ORGANIZATION_QUICK_CODE , '
+ + @UID+ ' = orgtemp.ORGANIZATION_UID '
+ + ' FROM dbo.tmp_DynDm_Organization tDO '
+ + ' INNER JOIN dbo.tmp_DynDm_OrgPart_Table_temp orgtemp ON tDO.investigation_key = orgtemp.investigation_key '
+ + ' ; '
+
+ -- select 'UPDATE', @PART_TYPE_CD, @SQL;
+
+ --select 'tmp_DynDm_OrgPart_Table_temp',* from tmp_DynDm_OrgPart_Table_temp;
+
+ EXEC(@SQL);
+
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+
+ FETCH NEXT FROM db_cursor_org INTO @PART_TYPE_CD ,@USER_DEFINED_COLUMN_NM,@DETAIL ,@QEC ,@UID
+
+END
+
+CLOSE db_cursor_org
+DEALLOCATE db_cursor_org
+;
+
+
+
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'SP_COMPLETE';
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+
+
+
+
+
+
+COMMIT TRANSACTION;
+
+
+ END TRY
+ BEGIN CATCH
+ IF @@TRANCOUNT > 0
+ BEGIN
+ ROLLBACK TRANSACTION;
+ END;
+ DECLARE @ErrorNumber int= ERROR_NUMBER();
+ DECLARE @ErrorLine int= ERROR_LINE();
+ DECLARE @ErrorMessage nvarchar(4000)= ERROR_MESSAGE();
+ DECLARE @ErrorSeverity int= ERROR_SEVERITY();
+ DECLARE @ErrorState int= ERROR_STATE();
+
+ select @ErrorMessage;
+
+ INSERT INTO dbo.job_flow_log( batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [Error_Description], [row_count] )
+ VALUES( @Batch_id, 'DYNAMIC_DATAMART', 'RDB.DBO.DynDm_OrgData_sp', 'ERROR', @Proc_Step_no, 'ERROR - '+@Proc_Step_name, 'Step -'+CAST(@Proc_Step_no AS varchar(3))+' -'+CAST(@ErrorMessage AS varchar(500)), 0 );
+ RETURN -1;
+ END CATCH;
+END;
+
diff --git a/liquibase-service/src/main/resources/db/changelog/db.rdb_modern.changelog-16.1.yaml b/liquibase-service/src/main/resources/db/changelog/db.rdb_modern.changelog-16.1.yaml
index 70e4a377..7956f6e9 100644
--- a/liquibase-service/src/main/resources/db/changelog/db.rdb_modern.changelog-16.1.yaml
+++ b/liquibase-service/src/main/resources/db/changelog/db.rdb_modern.changelog-16.1.yaml
@@ -1111,8 +1111,11 @@ databaseChangeLog:
- sqlFile:
path: 020-v_nrt_nbs_d_patient_rdb_table_metadata-001.sql
splitStatements: false
-
-
-
-
-
+ - changeSet:
+ id: 164
+ author: liquibase
+ runOnChange: true
+ changes:
+ - sqlFile:
+ path: 135-sp_dyn_dm_org_data_postprocessing-001.sql
+ splitStatements: false
\ No newline at end of file
diff --git a/liquibase-service/src/main/resources/db/rdb_modern/routines/046-sp_f_vaccination_postprocessing-001.sql b/liquibase-service/src/main/resources/db/rdb_modern/routines/046-sp_f_vaccination_postprocessing-001.sql
index c3f99924..9d551040 100644
--- a/liquibase-service/src/main/resources/db/rdb_modern/routines/046-sp_f_vaccination_postprocessing-001.sql
+++ b/liquibase-service/src/main/resources/db/rdb_modern/routines/046-sp_f_vaccination_postprocessing-001.sql
@@ -1,7 +1,7 @@
CREATE OR ALTER PROCEDURE dbo.sp_f_vaccination_postprocessing(
@vac_uids NVARCHAR(MAX),
@debug bit = 'false')
- as
+as
BEGIN
@@ -10,240 +10,221 @@ BEGIN
DECLARE @Proc_Step_Name VARCHAR(200) = '';
DECLARE @ColumnAdd_sql NVARCHAR(MAX) = '';
- DECLARE @Dataflow_Name VARCHAR(200) = 'F_VACCINATION Post-Processing Event';
+ DECLARE @Dataflow_Name VARCHAR(200) = 'F_VACCINATION Post-Processing Event';
DECLARE @Package_Name VARCHAR(200) = 'sp_f_vaccination_postprocessing';
+ BEGIN TRY
-BEGIN TRY
+ SET @Proc_Step_no = 1;
+ SET @Proc_Step_Name = 'SP_Start';
+ DECLARE @batch_id bigint;
+ SET @batch_id = cast((format(GETDATE(), 'yyMMddHHmmss')) AS bigint);
- SET @Proc_Step_no = 1;
- SET @Proc_Step_Name = 'SP_Start';
- DECLARE @batch_id bigint;
- SET @batch_id = cast((format(GETDATE(), 'yyMMddHHmmss')) AS bigint);
+ if
+ @debug = 'true'
+ select @batch_id;
- if
- @debug = 'true'
- select @batch_id;
+ SELECT @ROWCOUNT_NO = 0;
+ INSERT INTO [DBO].[JOB_FLOW_LOG]
+ (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
+ VALUES (@BATCH_ID, @Dataflow_Name, @Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
- SELECT @ROWCOUNT_NO = 0;
- INSERT INTO [DBO].[JOB_FLOW_LOG]
- (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
- VALUES (@BATCH_ID, @Dataflow_Name,@Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
+ BEGIN TRANSACTION;
+ SET @PROC_STEP_NO = @PROC_STEP_NO + 1;
+ SET @PROC_STEP_NAME = ' GENERATING #F_VAC_INIT_KEYS';
- BEGIN TRANSACTION;
+ SELECT D_VACCINATION_KEY
+ , VACCINATION_UID
+ INTO #F_VAC_INIT_KEYS
+ FROM dbo.NRT_VACCINATION_KEY
+ WHERE VACCINATION_UID IN (SELECT value FROM STRING_SPLIT(@vac_uids, ','));
- SET @PROC_STEP_NO = @PROC_STEP_NO + 1;
- SET @PROC_STEP_NAME = ' GENERATING #F_VAC_INIT_KEYS';
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+ INSERT INTO [DBO].[JOB_FLOW_LOG]
+ (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
+ VALUES (@BATCH_ID, @Dataflow_Name, @Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
- SELECT
- D_VACCINATION_KEY
- ,VACCINATION_UID
- INTO #F_VAC_INIT_KEYS
- FROM dbo.NRT_VACCINATION_KEY
- WHERE VACCINATION_UID IN (SELECT value FROM STRING_SPLIT(@vac_uids, ',') );
+ COMMIT TRANSACTION;
- SELECT @ROWCOUNT_NO = @@ROWCOUNT;
- INSERT INTO [DBO].[JOB_FLOW_LOG]
- (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
- VALUES (@BATCH_ID, @Dataflow_Name,@Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
+ if
+ @debug = 'true'
+ select @Proc_Step_Name as step, *
+ from #F_VAC_INIT_KEYS;
- COMMIT TRANSACTION;
+ BEGIN TRANSACTION;
- if
- @debug = 'true'
- select @Proc_Step_Name as step, *
- from #F_VAC_INIT_KEYS;
+ SET @PROC_STEP_NO = @PROC_STEP_NO + 1;
+ SET @PROC_STEP_NAME = ' GENERATING #F_VAC_INIT';
- BEGIN TRANSACTION;
+ SELECT dim.D_VACCINATION_KEY,
- SET @PROC_STEP_NO = @PROC_STEP_NO + 1;
- SET @PROC_STEP_NAME = ' GENERATING #F_VAC_INIT';
+ nc.PATIENT_UID,
+ coalesce(pt1.PATIENT_KEY, 1) as PATIENT_KEY,
- SELECT
- dim.D_VACCINATION_KEY,
+ nc.PROVIDER_UID,
+ coalesce(pv1.PROVIDER_KEY, 1) as VACCINE_GIVEN_BY_KEY,
- nc.PATIENT_UID,
- coalesce(pt1.PATIENT_KEY, 1) as PATIENT_KEY,
+ nc.ORGANIZATION_UID,
+ coalesce(org.ORGANIZATION_KEY, 1) as VACCINE_GIVEN_BY_ORG_KEY,
- nc.PROVIDER_UID,
- coalesce(pv1.PROVIDER_KEY, 1) as VACCINE_GIVEN_BY_KEY,
+ 1 as D_VACCINATION_REPEAT_KEY,
- nc.ORGANIZATION_UID,
- coalesce(org.ORGANIZATION_KEY, 1) as VACCINE_GIVEN_BY_ORG_KEY,
+ nc.PHC_UID,
+ coalesce(inv1.INVESTIGATION_KEY, 1) as INVESTIGATION_KEY
- 1 as D_VACCINATION_REPEAT_KEY,
+ INTO #F_VAC_INIT
+ FROM (SELECT *
+ FROM dbo.NRT_VACCINATION
+ WHERE VACCINATION_UID IN (SELECT value FROM STRING_SPLIT(@vac_uids, ','))) nc
+ LEFT JOIN
+ dbo.D_VACCINATION dim with (nolock) on dim.VACCINATION_UID = nc.VACCINATION_UID
+ LEFT JOIN
+ dbo.D_ORGANIZATION org with (nolock) on org.ORGANIZATION_UID = nc.ORGANIZATION_UID
+ LEFT JOIN
+ dbo.D_PROVIDER pv1 with (nolock) on pv1.PROVIDER_UID = nc.PROVIDER_UID
+ LEFT JOIN
+ dbo.D_PATIENT pt1 with (nolock) on pt1.PATIENT_UID = nc.PATIENT_UID
+ LEFT JOIN
+ dbo.INVESTIGATION inv1 with (nolock) on inv1.CASE_UID = nc.PHC_UID;
- nc.PHC_UID,
- coalesce(inv1.INVESTIGATION_KEY, 1) as INVESTIGATION_KEY
- INTO #F_VAC_INIT
- FROM (
- SELECT *
- FROM dbo.NRT_VACCINATION WHERE VACCINATION_UID IN (SELECT value FROM STRING_SPLIT(@vac_uids, ',') )
- ) nc
- LEFT JOIN
- dbo.D_VACCINATION dim with (nolock) on dim.VACCINATION_UID = nc.VACCINATION_UID
- LEFT JOIN
- dbo.D_ORGANIZATION org with (nolock) on org.ORGANIZATION_UID = nc.ORGANIZATION_UID
- LEFT JOIN
- dbo.D_PROVIDER pv1 with (nolock) on pv1.PROVIDER_UID = nc.PROVIDER_UID
- LEFT JOIN
- dbo.D_PATIENT pt1 with (nolock) on pt1.PATIENT_UID = nc.PATIENT_UID
- LEFT JOIN
- dbo.INVESTIGATION inv1 with (nolock) on inv1.CASE_UID = nc.PHC_UID;
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+ INSERT INTO [DBO].[JOB_FLOW_LOG]
+ (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
+ VALUES (@BATCH_ID, @Dataflow_Name, @Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
+ COMMIT TRANSACTION;
- SELECT @ROWCOUNT_NO = @@ROWCOUNT;
- INSERT INTO [DBO].[JOB_FLOW_LOG]
- (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
- VALUES (@BATCH_ID, @Dataflow_Name,@Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
- COMMIT TRANSACTION;
+ BEGIN TRANSACTION;
+ SET @PROC_STEP_NO = @PROC_STEP_NO + 1;
+ SET @PROC_STEP_NAME = ' GENERATING #F_VAC_INIT_NEW';
- BEGIN TRANSACTION;
- SET @PROC_STEP_NO = @PROC_STEP_NO + 1;
- SET @PROC_STEP_NAME = ' GENERATING #F_VAC_INIT_NEW';
+ SELECT init.D_VACCINATION_KEY,
+ init.PATIENT_KEY,
+ init.VACCINE_GIVEN_BY_KEY,
+ init.VACCINE_GIVEN_BY_ORG_KEY,
+ init.D_VACCINATION_REPEAT_KEY,
+ init.INVESTIGATION_KEY
+ INTO #F_VAC_INIT_NEW
+ FROM #F_VAC_INIT init
+ LEFT OUTER JOIN
+ dbo.F_VACCINATION fact with (nolock) ON fact.D_VACCINATION_KEY = init.D_VACCINATION_KEY
+ WHERE fact.D_VACCINATION_KEY is NULL;
+ if
+ @debug = 'true'
+ select @Proc_Step_Name as step, *
+ from #F_VAC_INIT_NEW;
- SELECT
- init.D_VACCINATION_KEY,
- init.PATIENT_KEY,
- init.VACCINE_GIVEN_BY_KEY,
- init.VACCINE_GIVEN_BY_ORG_KEY,
- init.D_VACCINATION_REPEAT_KEY,
- init.INVESTIGATION_KEY
- INTO
- #F_VAC_INIT_NEW
- FROM
- #F_VAC_INIT init
- LEFT OUTER JOIN
- dbo.F_VACCINATION fact with (nolock) ON fact.D_VACCINATION_KEY = init.D_VACCINATION_KEY
- WHERE
- fact.D_VACCINATION_KEY is NULL ;
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+ INSERT INTO [DBO].[JOB_FLOW_LOG]
+ (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
+ VALUES (@BATCH_ID, @Dataflow_Name, @Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
- if
- @debug = 'true'
- select @Proc_Step_Name as step, *
- from #F_VAC_INIT_NEW;
+ COMMIT TRANSACTION;
- SELECT @ROWCOUNT_NO = @@ROWCOUNT;
- INSERT INTO [DBO].[JOB_FLOW_LOG]
- (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
- VALUES (@BATCH_ID, @Dataflow_Name,@Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
-
- COMMIT TRANSACTION;
-
-
-
-
- BEGIN TRANSACTION;
-
- SET @PROC_STEP_NO = @PROC_STEP_NO + 1;
- SET @PROC_STEP_NAME = ' INSERT INTO F_VACCINATION';
-
- INSERT INTO dbo.F_VACCINATION (
- D_VACCINATION_KEY,
- PATIENT_KEY,
- VACCINE_GIVEN_BY_KEY,
- VACCINE_GIVEN_BY_ORG_KEY,
- D_VACCINATION_REPEAT_KEY,
- INVESTIGATION_KEY
- )
- SELECT
- D_VACCINATION_KEY,
- PATIENT_KEY,
- VACCINE_GIVEN_BY_KEY,
- VACCINE_GIVEN_BY_ORG_KEY,
- D_VACCINATION_REPEAT_KEY,
- INVESTIGATION_KEY
- FROM
- #F_VAC_INIT_NEW
- ;
+ BEGIN TRANSACTION;
+
+ SET @PROC_STEP_NO = @PROC_STEP_NO + 1;
+ SET @PROC_STEP_NAME = ' INSERT INTO F_VACCINATION';
+
+ INSERT INTO dbo.F_VACCINATION (D_VACCINATION_KEY,
+ PATIENT_KEY,
+ VACCINE_GIVEN_BY_KEY,
+ VACCINE_GIVEN_BY_ORG_KEY,
+ D_VACCINATION_REPEAT_KEY,
+ INVESTIGATION_KEY)
+ SELECT D_VACCINATION_KEY,
+ PATIENT_KEY,
+ VACCINE_GIVEN_BY_KEY,
+ VACCINE_GIVEN_BY_ORG_KEY,
+ D_VACCINATION_REPEAT_KEY,
+ INVESTIGATION_KEY
+ FROM #F_VAC_INIT_NEW;
- SELECT @ROWCOUNT_NO = @@ROWCOUNT;
- INSERT INTO [DBO].[JOB_FLOW_LOG]
- (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
- VALUES (@BATCH_ID, @Dataflow_Name,@Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
- COMMIT TRANSACTION;
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+ INSERT INTO [DBO].[JOB_FLOW_LOG]
+ (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
+ VALUES (@BATCH_ID, @Dataflow_Name, @Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
+ COMMIT TRANSACTION;
- BEGIN TRANSACTION;
- SET @PROC_STEP_NO = @PROC_STEP_NO + 1;
- SET @PROC_STEP_NAME = ' UPDATE F_VACCINATION';
+ BEGIN TRANSACTION;
- UPDATE fact
- SET
- fact.PATIENT_KEY = src.PATIENT_KEY,
- fact.VACCINE_GIVEN_BY_KEY = src.VACCINE_GIVEN_BY_KEY,
- fact.VACCINE_GIVEN_BY_ORG_KEY = src.VACCINE_GIVEN_BY_ORG_KEY,
- fact.D_VACCINATION_REPEAT_KEY = src.D_VACCINATION_REPEAT_KEY,
- fact.INVESTIGATION_KEY = src.INVESTIGATION_KEY
- FROM dbo.F_VACCINATION fact
- INNER JOIN (
- SELECT *
- FROM #F_VAC_INIT
- WHERE D_VACCINATION_KEY NOT IN (SELECT D_VACCINATION_KEY FROM #F_VAC_INIT_NEW)
- ) src
- ON src.D_VACCINATION_KEY = fact.D_VACCINATION_KEY;
+ SET @PROC_STEP_NO = @PROC_STEP_NO + 1;
+ SET @PROC_STEP_NAME = ' UPDATE F_VACCINATION';
+ UPDATE fact
+ SET fact.PATIENT_KEY = src.PATIENT_KEY,
+ fact.VACCINE_GIVEN_BY_KEY = src.VACCINE_GIVEN_BY_KEY,
+ fact.VACCINE_GIVEN_BY_ORG_KEY = src.VACCINE_GIVEN_BY_ORG_KEY,
+ fact.D_VACCINATION_REPEAT_KEY = src.D_VACCINATION_REPEAT_KEY,
+ fact.INVESTIGATION_KEY = src.INVESTIGATION_KEY
+ FROM dbo.F_VACCINATION fact
+ INNER JOIN (SELECT *
+ FROM #F_VAC_INIT
+ WHERE D_VACCINATION_KEY NOT IN (SELECT D_VACCINATION_KEY FROM #F_VAC_INIT_NEW)) src
+ ON src.D_VACCINATION_KEY = fact.D_VACCINATION_KEY;
- SELECT @RowCount_no = @@ROWCOUNT;
- INSERT INTO [DBO].[JOB_FLOW_LOG]
- (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
- VALUES (@BATCH_ID, @Dataflow_Name,@Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
- COMMIT TRANSACTION;
+ SELECT @RowCount_no = @@ROWCOUNT;
+ INSERT INTO [DBO].[JOB_FLOW_LOG]
+ (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT])
+ VALUES (@BATCH_ID, @Dataflow_Name, @Package_Name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO);
+ COMMIT TRANSACTION;
- INSERT INTO [dbo].[job_flow_log]
- (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count])
- VALUES (@batch_id, @Dataflow_Name,@Package_Name, 'COMPLETE', 999, 'COMPLETE', 0);
+ INSERT INTO [dbo].[job_flow_log]
+ (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count])
+ VALUES (@batch_id, @Dataflow_Name, @Package_Name, 'COMPLETE', 999, 'COMPLETE', 0);
-END TRY
-BEGIN CATCH
+ END TRY
+ BEGIN CATCH
-IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION;
+ IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION;
- -- Construct the error message string with all details:
+ -- Construct the error message string with all details:
DECLARE @FullErrorMessage VARCHAR(8000) =
- 'Error Number: ' + CAST(ERROR_NUMBER() AS VARCHAR(10)) + CHAR(13) + CHAR(10) + -- Carriage return and line feed for new lines
+ 'Error Number: ' + CAST(ERROR_NUMBER() AS VARCHAR(10)) + CHAR(13) +
+ CHAR(10) + -- Carriage return and line feed for new lines
'Error Severity: ' + CAST(ERROR_SEVERITY() AS VARCHAR(10)) + CHAR(13) + CHAR(10) +
'Error State: ' + CAST(ERROR_STATE() AS VARCHAR(10)) + CHAR(13) + CHAR(10) +
'Error Line: ' + CAST(ERROR_LINE() AS VARCHAR(10)) + CHAR(13) + CHAR(10) +
'Error Message: ' + ERROR_MESSAGE();
-INSERT INTO [dbo].[job_flow_log] ( batch_id
- , [Dataflow_Name]
- , [package_Name]
- , [Status_Type]
- , [step_number]
- , [step_name]
- , [Error_Description]
- , [row_count])
-VALUES ( @batch_id
- , @Dataflow_Name
- , @Package_Name
- , 'ERROR'
- , @Proc_Step_no
- , @Proc_Step_name
- , @FullErrorMessage
- , 0);
-
-
-return -1;
-
-END CATCH
+ INSERT INTO [dbo].[job_flow_log] ( batch_id
+ , [Dataflow_Name]
+ , [package_Name]
+ , [Status_Type]
+ , [step_number]
+ , [step_name]
+ , [Error_Description]
+ , [row_count])
+ VALUES ( @batch_id
+ , @Dataflow_Name
+ , @Package_Name
+ , 'ERROR'
+ , @Proc_Step_no
+ , @Proc_Step_name
+ , @FullErrorMessage
+ , 0);
+
+
+ return -1;
+
+ END CATCH
END
diff --git a/liquibase-service/src/main/resources/db/rdb_modern/routines/135-sp_dyn_dm_org_data_postprocessing-001.sql b/liquibase-service/src/main/resources/db/rdb_modern/routines/135-sp_dyn_dm_org_data_postprocessing-001.sql
new file mode 100644
index 00000000..369a6a31
--- /dev/null
+++ b/liquibase-service/src/main/resources/db/rdb_modern/routines/135-sp_dyn_dm_org_data_postprocessing-001.sql
@@ -0,0 +1,459 @@
+
+
+
+CREATE or alter PROCEDURE [dbo].sp_dyn_dm_org_data_postprocessing
+
+ @batch_id BIGINT,
+ @DATAMART_NAME VARCHAR(100),
+ @Org_id_list nvarchar(max)
+
+ AS
+BEGIN
+ BEGIN TRY
+
+--DECLARE @batch_id BIGINT = 999; DECLARE @DATAMART_NAME VARCHAR(100) = 'CONG_SYPHILIS';
+
+ DECLARE @RowCount_no INT = 0 ;
+ DECLARE @Proc_Step_no FLOAT = 0 ;
+ DECLARE @Proc_Step_Name VARCHAR(200) = '' ;
+ DECLARE @batch_start_time datetime = null ;
+ DECLARE @batch_end_time datetime = null ;
+ DECLARE @nbs_page_form_cd varchar(200)= '';
+
+ SET @nbs_page_form_cd = (SELECT FORM_CD FROM dbo.v_nbs_page WHERE DATAMART_NM=@DATAMART_NAME)
+
+
+ SET @Proc_Step_no = 1;
+ SET @Proc_Step_Name = 'SP_Start';
+
+
+ BEGIN TRANSACTION;
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log (
+ batch_id
+ ,[Dataflow_Name]
+ ,[package_Name]
+ ,[Status_Type]
+ ,[step_number]
+ ,[step_name]
+ ,[row_count]
+ )
+ VALUES
+ (
+ @batch_id
+ ,'DYNAMIC_DATAMART'
+ ,'RDB.DBO.DynDm_OrgData_sp ' + @DATAMART_NAME
+ ,'START'
+ ,@Proc_Step_no
+ ,@Proc_Step_Name
+ ,0
+ );
+
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING FACT_CASE';
+
+
+
+ BEGIN TRANSACTION;
+
+
+
+ declare @countstd int = 0;
+
+
+ select @COUNTSTD = count(*) from dbo.v_nrt_nbs_d_case_mgmt_rdb_table_metadata
+ ;
+
+
+ declare @FACT_CASE varchar(40) = '';
+
+
+ if @countstd > 1
+ begin
+ set @FACT_CASE = 'F_STD_PAGE_CASE';
+ end
+ else
+ begin
+ set @FACT_CASE = 'F_PAGE_CASE';
+ end
+ ;
+
+ -- select @fact_case;
+
+
+SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name ,@ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING tmp_DynDm_Organization_METADATA';
+
+
+--CREATE TABLE ORGANIZATION_METADATA AS
+
+ Select RDB_COLUMN_NM, user_defined_column_nm, part_type_cd, [Key], Detail, QEC, UID, INVESTIGATION_FORM_CD
+ into #tmp_DynDm_Organization_METADATA
+ from v_nrt_nbs_d_organization_rdb_table_metadata
+ where INVESTIGATION_FORM_CD=@nbs_page_form_cd ;
+
+
+
+SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING tmp_DynDm_Organization';
+
+
+
+ IF OBJECT_ID('#tmp_DynDm_Organization', 'U') IS NOT NULL
+ drop table #tmp_DynDm_Organization;
+
+
+--CREATE TABLE rdb.dbo.tmp_DynDm_Organization
+--(INVESTIGATION_KEY bigint);
+
+select distinct investigation_key,
+cast(null as bigint) as ORGANIZATION_UID
+into #tmp_DynDm_Organization
+ FROM #tmp_DynDm_SUMM_DATAMART
+ -- pass the org_Id_List param
+;
+
+
+
+
+SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+
+
+ declare @USER_DEFINED_COLUMN_NM varchar(max) ,@PART_TYPE_CD varchar(max) ,@DETAIL varchar(max) ,@QEC varchar(max) ,@UID varchar(max);
+
+
+
+
+ declare @SQL varchar(max)
+
+
+
+ --DX select PART_TYPE_CD,* from rdb.dbo.tmp_DynDm_Organization_METADATA;
+
+
+
+
+--declare @PART_TYPE_CD varchar(max) = null , @SQL varchar(max);
+
+
+
+DECLARE db_cursor_org CURSOR LOCAL FOR
+ select PART_TYPE_CD , [key],DETAIL,QEC ,[UID] from #tmp_DynDm_Organization_METADATA;
+
+OPEN db_cursor_org
+FETCH NEXT FROM db_cursor_org INTO @PART_TYPE_CD ,@USER_DEFINED_COLUMN_NM,@DETAIL ,@QEC ,@UID
+
+WHILE @@FETCH_STATUS = 0
+BEGIN
+
+
+
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING tmp_DynDm_OrgPart_Table_temp';
+
+ IF OBJECT_ID('dbo.tmp_DynDm_OrgPart_Table_temp', 'U') IS NOT NULL
+ drop table dbo.tmp_DynDm_OrgPart_Table_temp;
+
+
+
+ CREATE TABLE [dbo].[tmp_DynDm_OrgPart_Table_temp](
+ [ORGANIZATION_KEY] [bigint] NULL,
+ [ORGANIZATION_QUICK_CODE] [varchar](50) NULL,
+ [ORGANIZATION_NAME] [varchar](50) NULL,
+ [ORGANIZATION_LOCAL_ID] [varchar](50) NULL,
+ [ORGANIZATION_UID] [bigint] NULL,
+ [ORGANIZATION_STREET_ADDRESS_1] [varchar](50) NULL,
+ [ORGANIZATION_STREET_ADDRESS_2] [varchar](50) NULL,
+ [ORGANIZATION_CITY] [varchar](50) NULL,
+ [ORGANIZATION_STATE] [varchar](50) NULL,
+ [ORGANIZATION_ZIP] [varchar](10) NULL,
+ [ORGANIZATION_COUNTY] [varchar](50) NULL,
+ [ORGANIZATION_PHONE_WORK] [varchar](50) NULL,
+ [ORGANIZATION_PHONE_EXT_WORK] [varchar](50) NULL,
+ [PART_TYPE_CD] [bigint] NULL,
+ [PART_TYPE_CD_NM] varchar(100),
+ [CITY_STATE_ZIP] varchar(2000),
+ [DETAIL] varchar(2000),
+ [INVESTIGATION_KEY] [bigint] NOT NULL
+ )
+ ;
+ -- if @FACT_CASE = ""
+ SET @SQL = ' insert into dbo.tmp_DynDm_OrgPart_Table_temp '
+ + ' ([ORGANIZATION_KEY] '
+ + ', [ORGANIZATION_QUICK_CODE] '
+ + ', [ORGANIZATION_NAME] '
+ + ', [ORGANIZATION_LOCAL_ID] '
+ + ', [ORGANIZATION_UID] '
+ + ', [ORGANIZATION_STREET_ADDRESS_1] '
+ + ', [ORGANIZATION_STREET_ADDRESS_2] '
+ + ', [ORGANIZATION_CITY] '
+ + ', [ORGANIZATION_STATE] '
+ + ', [ORGANIZATION_ZIP] '
+ + ', [ORGANIZATION_COUNTY] '
+ + ', [ORGANIZATION_PHONE_WORK] '
+ + ', [ORGANIZATION_PHONE_EXT_WORK] '
+ + ', [PART_TYPE_CD] '
+ + ', [PART_TYPE_CD_NM] '
+ + ', [CITY_STATE_ZIP] '
+ + ', [DETAIL] '
+ + ', [INVESTIGATION_KEY] )'
+ + ' SELECT distinct '+
+ ' (d_o.ORGANIZATION_KEY) , '+
+ ' d_o.ORGANIZATION_QUICK_CODE , '+
+ ' d_o.ORGANIZATION_NAME , '+
+ ' d_o.ORGANIZATION_LOCAL_ID , '+
+ ' d_o.ORGANIZATION_UID , '+
+ ' d_o.ORGANIZATION_STREET_ADDRESS_1 , '+
+ ' d_o.ORGANIZATION_STREET_ADDRESS_2 , '+
+ ' d_o.ORGANIZATION_CITY , '+
+ ' d_o.ORGANIZATION_STATE , '+
+ ' d_o.ORGANIZATION_ZIP , '+
+ ' d_o.ORGANIZATION_COUNTY , '+
+ ' d_o.ORGANIZATION_PHONE_WORK , '+
+ ' d_o.ORGANIZATION_PHONE_EXT_WORK , '+
+ @PART_TYPE_CD +', '+
+ ''''+ @PART_TYPE_CD +''', '+
+ ' coalesce( ltrim(rtrim(ORGANIZATION_CITY))+'', '','''')+coalesce( ltrim(rtrim(ORGANIZATION_STATE))+'' '','''')+coalesce( ltrim(rtrim(ORGANIZATION_ZIP)),'''') ' +
+ ' , null ,'+
+ ' s_d.INVESTIGATION_KEY AS INVESTIGATION_KEY '+
+ ' FROM dbo.tmp_DynDm_SUMM_DATAMART s_d '+
+ ' INNER JOIN dbo.'+@FACT_CASE+ ' ON s_d.INVESTIGATION_KEY = '+@FACT_CASE+ '.INVESTIGATION_KEY '+
+ ' LEFT JOIN dbo.D_ORGANIZATION d_o ON '+@FACT_CASE+'.'+@PART_TYPE_CD+' = d_o.ORGANIZATION_KEY '+
+ ' where d_o.organization_uid IN (SELECT value FROM STRING_SPLIT(' + @org_id_list +','+ ','+'))' +
+ '; '
+
+ -- select 'INSERT',@PART_TYPE_CD ,@USER_DEFINED_COLUMN_NM,@DETAIL ,@QEC ,@UID, @SQL;
+
+
+ EXEC(@SQL);
+
+
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name + '-'+@PART_TYPE_CD , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING UPDATE tmp_DynDm_OrgPart_Table_temp';
+
+
+
+
+
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL ='' + LTRIM(RTRIM(coalesce(ORGANIZATION_LOCAL_ID,''))) where LTRIM(RTRIM(ORGANIZATION_LOCAL_ID)) is not null ;
+
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL = DETAIL + '
' + (ORGANIZATION_NAME) where LTRIM(RTRIM(ORGANIZATION_NAME)) is not null ;
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' + LTRIM(RTRIM(ORGANIZATION_STREET_ADDRESS_1)) where LTRIM(RTRIM(ORGANIZATION_STREET_ADDRESS_1)) is not null ;
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' + LTRIM(RTRIM(ORGANIZATION_STREET_ADDRESS_2)) where LTRIM(RTRIM(ORGANIZATION_STREET_ADDRESS_2)) is not null ;
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' + LTRIM(RTRIM(CITY_STATE_ZIP)) where LTRIM(RTRIM(CITY_STATE_ZIP)) is not null ;
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' + LTRIM(RTRIM(ORGANIZATION_COUNTY)) where LTRIM(RTRIM(ORGANIZATION_COUNTY)) is not null ;
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' + LTRIM(RTRIM(ORGANIZATION_PHONE_WORK)) where LTRIM(RTRIM(ORGANIZATION_PHONE_WORK)) is not null ;
+
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + ', ext. ' + LTRIM( RTRIM(ORGANIZATION_PHONE_EXT_WORK))
+ where LTRIM(RTRIM(ORGANIZATION_PHONE_WORK)) is not null and LTRIM(RTRIM(ORGANIZATION_PHONE_EXT_WORK)) is not null ;
+
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
ext. ' + LTRIM( RTRIM(ORGANIZATION_PHONE_EXT_WORK))
+ where LTRIM(RTRIM(ORGANIZATION_PHONE_WORK)) is null and LTRIM(RTRIM(ORGANIZATION_PHONE_EXT_WORK)) is not null ;
+
+ update dbo.tmp_DynDm_OrgPart_Table_temp SET DETAIL= DETAIL + '
' where LTRIM(RTRIM(DETAIL)) is not null ;
+
+
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING ALTER tmp_DynDm_OrgPart_Table_temp';
+
+
+
+
+
+
+ SET @SQL = 'alter table dbo.tmp_DynDm_OrgPart_Table_temp add ' + @DETAIL + ' [varchar](2000) , ' + @USER_DEFINED_COLUMN_NM+ ' bigint , ' + @QEC+ ' [varchar](50) , ' + @UID+ ' bigint ; '
+
+ -- select 'ALTER', @PART_TYPE_CD, @SQL;
+
+
+ EXEC(@SQL);
+
+
+
+ SET @SQL = 'alter table dbo.tmp_DynDm_Organization add ' + @DETAIL + ' [varchar](2000) , ' + @USER_DEFINED_COLUMN_NM+ ' bigint , ' + @QEC+ ' [varchar](50) , ' + @UID+ ' bigint ; '
+
+
+ EXEC(@SQL);
+
+
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name + ' - '+@PART_TYPE_CD , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'GENERATING UPDATE tmp_DynDm_OrgPart_Table_temp';
+
+
+
+
+
+
+ --@USER_DEFINED_COLUMN_NM=ORGANIZATION_KEY;
+ --@QEC =ORGANIZATION_QUICK_CODE;
+ --@UID= ORGANIZATION_UID;
+
+ SET @SQL = 'update tDO SET ORGANIZATION_UID = orgtemp.ORGANIZATION_UID ,'
+ + @DETAIL + ' = DETAIL , '
+ + @USER_DEFINED_COLUMN_NM+ ' = ORGANIZATION_KEY , '
+ + @QEC+ ' = ORGANIZATION_QUICK_CODE , '
+ + @UID+ ' = orgtemp.ORGANIZATION_UID '
+ + ' FROM dbo.tmp_DynDm_Organization tDO '
+ + ' INNER JOIN dbo.tmp_DynDm_OrgPart_Table_temp orgtemp ON tDO.investigation_key = orgtemp.investigation_key '
+ + ' ; '
+
+ -- select 'UPDATE', @PART_TYPE_CD, @SQL;
+
+ --select 'tmp_DynDm_OrgPart_Table_temp',* from tmp_DynDm_OrgPart_Table_temp;
+
+ EXEC(@SQL);
+
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+
+ FETCH NEXT FROM db_cursor_org INTO @PART_TYPE_CD ,@USER_DEFINED_COLUMN_NM,@DETAIL ,@QEC ,@UID
+
+END
+
+CLOSE db_cursor_org
+DEALLOCATE db_cursor_org
+;
+
+
+
+
+
+ BEGIN TRANSACTION;
+
+ SET @Proc_Step_no = @Proc_Step_no + 1;
+ SET @Proc_Step_Name = 'SP_COMPLETE';
+
+ SELECT @ROWCOUNT_NO = @@ROWCOUNT;
+
+ INSERT INTO dbo.job_flow_log ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] )
+ VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'RDB.DBO.DynDm_OrgData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no ,@Proc_Step_Name , @ROWCOUNT_NO );
+
+
+
+ COMMIT TRANSACTION;
+
+
+
+
+
+
+
+
+COMMIT TRANSACTION;
+
+
+ END TRY
+ BEGIN CATCH
+ IF @@TRANCOUNT > 0
+ BEGIN
+ ROLLBACK TRANSACTION;
+ END;
+ DECLARE @ErrorNumber int= ERROR_NUMBER();
+ DECLARE @ErrorLine int= ERROR_LINE();
+ DECLARE @ErrorMessage nvarchar(4000)= ERROR_MESSAGE();
+ DECLARE @ErrorSeverity int= ERROR_SEVERITY();
+ DECLARE @ErrorState int= ERROR_STATE();
+
+ select @ErrorMessage;
+
+ INSERT INTO dbo.job_flow_log( batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [Error_Description], [row_count] )
+ VALUES( @Batch_id, 'DYNAMIC_DATAMART', 'RDB.DBO.DynDm_OrgData_sp', 'ERROR', @Proc_Step_no, 'ERROR - '+@Proc_Step_name, 'Step -'+CAST(@Proc_Step_no AS varchar(3))+' -'+CAST(@ErrorMessage AS varchar(500)), 0 );
+ RETURN -1;
+ END CATCH;
+END;
+