Professional Documents
Culture Documents
LOB
LOB
GO
/****** Object: StoredProcedure [dbo].[icdsp_SLLOB_SPECIFICCopy_1] Script Date:
8/7/2016 2:22:20 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--------------------------------
-- Create the customer-specific stored procedure
-------CDC Variable------
@begin_time DATETIME,
@end_time DATETIME,
@begin_lsn BINARY(10),
@end_lsn BINARY(10),
@ClaimUnqId VARCHAR(20),
@ALCLAIMUnqId VARCHAR(20),
@GLCLAIMUnqId VARCHAR(20),
@HOCLAIMUnqId VARCHAR(20),
@PRCLAIMUnqId VARCHAR(20),
@UMCLAIMUnqId VARCHAR(20),
@ClaimSFX varchar(10),
@ProcessControlRowGuid uniqueidentifier,
@ProcedureIndex int,
-----Data Variables------
@sysdate datetime,
@ACC_CITY varchar(50),
@ACC_STATE varchar(6),
@ACC_ZIP char(9),
@ADD_BY varchar(100),
@ADD_DTE datetime,
@CHG_BY varchar(100),
@CHG_DTE datetime,
@DRV_IND char(1),
@RPT_BY varchar(100),
@UNQ_ID char(10),
@VEH_CNT int,
@GL_ADD_BY varchar(100),
@GL_ADD_DTE datetime,
@GL_CHG_BY varchar(100),
@GL_CHG_DTE datetime,
@HO_ADD_BY varchar(100),
@HO_ADD_DTE datetime,
@HO_CHG_BY varchar(100),
@HO_CHG_DTE datetime,
@HO_CONTENTS_LOSS_LOC varchar(60),
@PR_ADD_BY varchar(100),
@PR_ADD_DTE datetime,
@PR_CHG_BY varchar(100),
@PR_CHG_DTE datetime,
@UM_ADD_BY varchar(100),
@UM_ADD_DTE datetime,
@UM_CHG_BY varchar(100),
@UM_CHG_DTE datetime,
@UM_COV_MAJ char(2),
@UM_LOSS_TYP_COD varchar(6),
@CLM_FLG char(1),
@CLM_FLG_TEMP3 char(1),
@MCS_STAT_TRANS_ID bigint,
@MCS_STAT_TRANS_ID_temp bigint,
@PROGRAM_ID varchar(10),
-----Control Variables--
@ProcessNm Varchar(128),
@StatusCd Char(1),
@Temp_EXTERNAL_REF_ID int,
@NewLossItemId bigint,
-- Debug values
@ObjectNm varchar(128),
@ObjectDetailNm varchar(128),
@DebugMode smallint,
@DebugMsg varchar(1000)
--------------------------------
-- Issue directive for db counts
--------------------------------
set NOCOUNT on
---------------------------
-- Default debug values
---------------------------
select @ObjectNm = 'icdsp_SLLOB_SPECIFICCopy'
select @ObjectDetailNm = ' '
select @DebugMode = 0
---------------------------------------------
-- Get the DebugMode value for the Object
---------------------------------------------
exec dbo.spGetDebugMode @ObjectNm, @ObjectDetailNm, @DebugMode OUTPUT
---------------------------------
-- Capture the debug message
---------------------------------
--select @DebugMsg = 'exec dbo.' + @ObjectNm
-- + ' @UNQ_ID = ' + Case Len(IsNull(@UNQ_ID,'')) when 0 then 'NULL' else
'''' + RTrim(@UNQ_ID) + '''' end
-----------------------------------------------------------
-- If in Debug print mode show information to the operator
-----------------------------------------------------------
if (@DebugMode > 0) print @DebugMsg
set @ProcedureIndex=1
OPEN @getALCLAIMUnqId
FETCH NEXT
FROM @getALCLAIMUnqId INTO @ALCLAIMUnqId
WHILE @@FETCH_STATUS = 0
BEGIN
Execute dbo.icdsp_SLRecordCopy
@ALCLAIMUnqId,@ProcessControlRowGuid,@ProcedureIndex,@ProcessNm
Select
@ACC_CITY = ALC.ACC_CITY,
@ACC_STATE = ALC.ACC_STATE,
@ACC_ZIP = ALC.ACC_ZIP,
@ADD_BY = ALC.ADD_BY,
@ADD_DTE = ALC.ADD_DTE,
@CHG_BY = ALC.CHG_BY,
@CHG_DTE = ALC.CHG_DTE,
@DRV_IND = ALC.DRV_IND,
@RPT_BY = ALC.RPT_BY,
@VEH_CNT = ALC.VEH_CNT,
@GL_ADD_BY = GLC.ADD_BY,
@GL_ADD_DTE = GLC.ADD_DTE,
@GL_CHG_BY = GLC.CHG_BY,
@GL_CHG_DTE = GLC.CHG_DTE,
@HO_ADD_BY = HOC.ADD_BY,
@HO_ADD_DTE = HOC.ADD_DTE,
@HO_CHG_BY = HOC.CHG_BY,
@HO_CHG_DTE = HOC.CHG_DTE,
@HO_CONTENTS_LOSS_LOC = HOC.CONTENTS_LOSS_LOC,
@PR_ADD_BY = PRC.ADD_BY,
@PR_ADD_DTE = PRC.ADD_DTE,
@PR_CHG_BY = PRC.CHG_BY,
@PR_CHG_DTE = PRC.CHG_DTE,
@UM_ADD_BY = UMC.ADD_BY,
@UM_ADD_DTE = UMC.ADD_DTE,
@UM_CHG_BY = UMC.CHG_BY,
@UM_CHG_DTE = UMC.CHG_DTE,
@UM_COV_MAJ = UMC.COV_MAJ,
@UM_LOSS_TYP_COD = UMC.UM_LOSS_TYP_COD,
---------------------------------
if exists (select * from OPENQUERY(DCLM,'select LOSS_FILE_NUM from
LOSS_FILE') oq
where oq.LOSS_FILE_NUM=@LOSS_FILE_NUM)
BEGIN
update OQPU
set
LOSS_CITY = @ACC_CITY,
LOSS_STATE = cast(@ACC_STATE as char),
LOSS_ZIP_CD = @ACC_ZIP,
LF_ENTERED_BY = cast(@ADD_BY as char),
DT_ENTERED = cast(@ADD_DTE as date),
LAST_CHANGED_USER = @CHG_BY,
LAST_CHANGED_DTTM = cast(@CHG_DTE as date),
REPORTED_BY = @RPT_BY
from OPENQUERY(DCLM,'select
LOSS_CITY,
LOSS_STATE,
LOSS_ZIP_CD,
LF_ENTERED_BY,
DT_ENTERED,
LAST_CHANGED_USER,
LAST_CHANGED_DTTM,
REPORTED_BY,
LOSS_FILE_NUM
from LOSS_FILE') OQPU where OQPU.LOSS_FILE_NUM=@LOSS_FILE_NUM
End
ELSE
Begin
insert OPENQUERY(DCLM,'select
LOSS_CITY,
LOSS_STATE,
LOSS_ZIP_CD,
LF_ENTERED_BY,
DT_ENTERED,
LAST_CHANGED_USER,
LAST_CHANGED_DTTM,
REPORTED_BY
from LOSS_FILE')
Values
(
@ACC_CITY,
cast(@ACC_STATE as char),
@ACC_ZIP,
cast(@ADD_BY as char),
cast(@ADD_DTE as date),
@CHG_BY,
cast(@CHG_DTE as date),
@RPT_BY
)
End
FETCH NEXT
FROM @getALCLAIMUnqId INTO @ALCLAIMUnqId
END
CLOSE @getALCLAIMUnqId
DEALLOCATE @getALCLAIMUnqId
Execute dbo.icdsp_SLRecordCopy
@ALCLAIMUnqId,@ProcessControlRowGuid,@ProcedureIndex,@ProcessNm
Select
@ACC_CITY = ALC.ACC_CITY,
@ACC_STATE = ALC.ACC_STATE,
@ACC_ZIP = ALC.ACC_ZIP,
@ADD_BY = ALC.ADD_BY,
@ADD_DTE = ALC.ADD_DTE,
@CHG_BY = ALC.CHG_BY,
@CHG_DTE = ALC.CHG_DTE,
@DRV_IND = ALC.DRV_IND,
@RPT_BY = ALC.RPT_BY,
@VEH_CNT = ALC.VEH_CNT,
@GL_ADD_BY = GLC.ADD_BY,
@GL_ADD_DTE = GLC.ADD_DTE,
@GL_CHG_BY = GLC.CHG_BY,
@GL_CHG_DTE = GLC.CHG_DTE,
@HO_ADD_BY = HOC.ADD_BY,
@HO_ADD_DTE = HOC.ADD_DTE,
@HO_CHG_BY = HOC.CHG_BY,
@HO_CHG_DTE = HOC.CHG_DTE,
@HO_CONTENTS_LOSS_LOC = HOC.CONTENTS_LOSS_LOC,
@PR_ADD_BY = PRC.ADD_BY,
@PR_ADD_DTE = PRC.ADD_DTE,
@PR_CHG_BY = PRC.CHG_BY,
@PR_CHG_DTE = PRC.CHG_DTE,
@UM_ADD_BY = UMC.ADD_BY,
@UM_ADD_DTE = UMC.ADD_DTE,
@UM_CHG_BY = UMC.CHG_BY,
@UM_CHG_DTE = UMC.CHG_DTE,
@UM_COV_MAJ = UMC.COV_MAJ,
@UM_LOSS_TYP_COD = UMC.UM_LOSS_TYP_COD,
set @sysdate=getdate()
set @CLM_FLG_TEMP3=
case
when @CLM_FLG ='T'
Then 'Y'
Else 'N'
End
update OQPU
set
UMB_TYPE_LOSS_CD = cast(@UM_LOSS_TYP_COD as char(3))
from OPENQUERY(DCLM,'select
LOSS_FILE_NUM,STAT_TRANS_ID,UMB_TYPE_LOSS_CD from LOSS_FILE_STAT') OQPU
where OQPU.LOSS_FILE_NUM=@LOSS_FILE_NUM and
STAT_TRANS_ID=@MCS_STAT_TRANS_ID
END
Else
Begin
if @MCS_STAT_TRANS_ID is null
Begin
select @MCS_STAT_TRANS_ID_temp = max(STAT_TRANS_ID) from
DCLM.LOSS_FILE_STAT_TRANS where LOSS_FILE_NUM = @LOSS_FILE_NUM
if @MCS_STAT_TRANS_ID_temp is null
set @MCS_STAT_TRANS_ID_temp=1
else
set @MCS_STAT_TRANS_ID_temp
=@MCS_STAT_TRANS_ID_temp+ 1
set @MCS_STAT_TRANS_ID=@MCS_STAT_TRANS_ID_temp
set @PROGRAM_ID='MCS'
insert into
DCLM..DCLM.LOSS_FILE_STAT_TRANS(LOSS_FILE_NUM,STAT_TRANS_ID,TRANS_DTTM,PROGRAM_ID)
values(@LOSS_FILE_NUM,@MCS_STAT_TRANS_ID,cast(getdate() as
date),@PROGRAM_ID)
End
insert OPENQUERY(DCLM,'select
LOSS_FILE_NUM,
STAT_TRANS_ID,
UMB_TYPE_LOSS_CD
from LOSS_FILE_STAT'
)
values
(
cast(@LOSS_FILE_NUM as char(10)),
@MCS_STAT_TRANS_ID,
cast(@UM_LOSS_TYP_COD as char(3))
)
END
-- End
begin
update OQPU
set CONTENTS_LOSS_LOC = @HO_CONTENTS_LOSS_LOC
from OPENQUERY(DCLM,'select LOSS_FILE_NUM,CONTENTS_LOSS_LOC from
HO_LOSS_ITEM') OQPU
where OQPU.LOSS_FILE_NUM=@LOSS_FILE_NUM
End
Else
Begin
Begin
update OQPU
set LOB_CD = @UM_COV_MAJ
from OPENQUERY(DCLM,'select LOSS_FILE_NUM,LOB_CD from
POLICY_LOB') OQPU
where OQPU.LOSS_FILE_NUM = @LOSS_FILE_NUM
End
Else
Begin
insert OPENQUERY(DCLM,'select LOSS_FILE_NUM,LOB_CD from
POLICY_LOB')
values(@LOSS_FILE_NUM,@UM_COV_MAJ)
End
Begin
update OQPU
set NO_OPERATOR_INVOLVED_IND = case when @DRV_IND = 0
then 'Y' else 'N' end
from OPENQUERY(DCLM,'select
LOSS_FILE_NUM,NO_OPERATOR_INVOLVED_IND from INCIDENT_DRIVER') OQPU
where OQPU.LOSS_FILE_NUM = @LOSS_FILE_NUM
End
Else
Begin
insert OPENQUERY(DCLM,'select
LOSS_FILE_NUM,NO_OPERATOR_INVOLVED_IND from INCIDENT_DRIVER')
values(@LOSS_FILE_NUM,case when @DRV_IND = 0 then 'Y' else
'N' end)
End
Begin
update OQPU
set NUM_OF_VEHICLES_INVOLVED = @VEH_CNT
from OPENQUERY(DCLM,'select
LOSS_FILE_NUM,NUM_OF_VEHICLES_INVOLVED from PERS_AUTO_LOSS_FILE') OQPU
where OQPU.LOSS_FILE_NUM = @LOSS_FILE_NUM
End
Else
Begin
insert OPENQUERY(DCLM,'select
LOSS_FILE_NUM,NUM_OF_VEHICLES_INVOLVED from PERS_AUTO_LOSS_FILE')
values(@LOSS_FILE_NUM,@VEH_CNT)
End
FETCH NEXT
FROM @getALClaimUnqId INTO @ClaimUnqId
END
CLOSE @getALClaimUnqId
DEALLOCATE @getALClaimUnqId
end