1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
update s set SAS_STATUT=case
when 1=0 then ''
when ri21.TYP_SHIP is null then 'CI'-- CI1 (une ligne par CI)
when ri18.CD_CANCEL is null and s.CD_CANCEL is not null then 'CI'-- CI2 (une ligne par CI)
when rg08.ID_ORD_LINE_SRC is null then 'CI'-- CG2 (une ligne par CI)
when rg07.ID_PACK_SRC is null then 'CI'-- CG3 (une ligne par CI)
when rg09.ID_PRD_SRC is null then 'CI'-- CG4(une ligne par CI)
else 'OK' end,SAS_ERREUR=substring(''
+case when ri21.TYP_SHIP is null then '[erreur de CI sur DWH_REF_TYPE_SHIP_LINE]"'+isnull(convert(varchar,s.TYP_SHIP),'')+'" ;' else '' end -- CI1 (une ligne par CI)
+case when ri18.CD_CANCEL is null and s.CD_CANCEL is not null then '[erreur de CI sur DWH_REF_CANCEL_CODE]"'+isnull(convert(varchar,s.CD_CANCEL),'')+'" ;' else '' end -- CI2 (une ligne par CI)
+case when rg08.ID_ORD_LINE_SRC is null then '[erreur de CI sur DWH_ORDER_LINE]"'+isnull(convert(varchar,s.ID_ORD_LINE_SRC),'')+'" ;' else '' end -- CG2 (une ligne par CI)
+case when rg07.ID_PACK_SRC is null then '[erreur de CI sur DWH_PACKAGE]"'+isnull(convert(varchar,s.ID_PACK_SRC),'')+'" ;' else '' end -- CG3 (une ligne par CI)
+case when rg09.ID_PRD_SRC is null then '[erreur de CI sur DWH_PRODUCT]"'+isnull(convert(varchar,s.ID_PRD_SRC),'')+'" ;' else '' end -- CG4 (une ligne par CI)
,1,8000) from [dbo].SAS_SHIPPING_LINE s inner join #TMP_SHIPPING_LINE t on s.SAS_ID=t.SAS_ID
left join [dbo].DWH_REF_TYPE_SHIP_LINE ri21 on ri21.TYP_SHIP=s.TYP_SHIP -- CI1 (une ligne par CI)
and ri21.CD_BRAND=s.CD_BRAND
and ri21.CD_COUNTRY=s.CD_COUNTRY
and ri21.CD_BUSLINE=s.CD_BUSLINE
left join [dbo].DWH_REF_CANCEL_CODE ri18 on ri18.CD_CANCEL=s.CD_CANCEL -- CI2 (une ligne par CI)
and ri18.CD_BRAND=s.CD_BRAND
and ri18.CD_COUNTRY=s.CD_COUNTRY
and ri18.CD_BUSLINE=s.CD_BUSLINE
left join [dbo].DWH_ORDER_LINE rg08 on rg08.ID_ORD_LINE_SRC = s.ID_ORD_LINE_SRC and rg08.CD_BRAND=s.CD_BRAND and rg08.CD_COUNTRY=s.CD_COUNTRY and rg08.CD_BUSLINE=s.CD_BUSLINE -- CG2 (une ligne par CG)
left join [dbo].DWH_PACKAGE rg07 on rg07.ID_PACK_SRC = s.ID_PACK_SRC and rg07.CD_BRAND=s.CD_BRAND and rg07.CD_COUNTRY=s.CD_COUNTRY and rg07.CD_BUSLINE=s.CD_BUSLINE-- CG3 (une ligne par CG)
left join [dbo].DWH_PRODUCT rg09 on rg09.ID_PRD_SRC = s.ID_PRD_SRC and rg09.CD_BRAND=s.CD_BRAND and rg09.CD_COUNTRY=s.CD_COUNTRY and rg09.CD_BUSLINE=s.CD_BUSLINE-- CG4 (une ligne par CG)
where t.RANG=@compteur and (s.SAS_STATUT is null or s.SAS_STATUT <> 'KO') |
Partager