<< Click to Display Table of Contents >> Navigation: Documentations techniques > DIP4 > Annexes > Exemple de vue Etendue |
ATTENTION : la conception de vue doit être confiée à des développeurs connaissant parfaitement la structure des bases de données SQL Server/TSQL et NETIA/ABC8. Une erreur peut avoir des conséquences graves sur l’ensemble du système. Une validation par la R&D de Netia est nécessaire avant une mise en production.
USE [RF_FIP]
GO
/****** Objet : View [SYSADM].[RF_DIP4_RFCODE2EAN] Date de génération du script : 11/20/2017 17:31:40 ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[SYSADM].[RF_DIP4_RFCODE2EAN]') and OBJECTPROPERTY(id, N'IsScalarFunction') = 1)
BEGIN
DROP FUNCTION SYSADM.RF_DIP4_RFCODE2EAN
END
GO
CREATE FUNCTION SYSADM.RF_DIP4_RFCODE2EAN (@RfCode nvarchar(150))
RETURNS nvarchar(20)
AS
BEGIN
-- Declare the return variable here
DECLARE @Pos int
DECLARE @EAN nvarchar(20)
-- l'EAN est un code numerique compris entre 12 et 13 chiffres qui ne commence pas par RF
if ISNULL(@RfCode,'') = '' OR UPPER(LEFT(@RfCode,2)) ='RF'
SET @EAN = ''
ELSE BEGIN
SET @Pos = CHARINDEX('-',@RfCode)
IF @POS = 0
SET @EAN = @RfCode
ELSE
SET @EAN = left(@RfCode,@Pos-1)
IF len(@EAN) NOT IN (12,13) OR ISNUMERIC(@EAN) <> 1
SET @EAN=''
END
RETURN @EAN
END
GO
/****** Object: View [SYSADM].[V_AIR_RUN3] Script Date: 04/01/2018 15:35:37 ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[SYSADM].[V_AIR_RUN3]') and OBJECTPROPERTY(id, N'IsView') = 1)
BEGIN
DROP VIEW [SYSADM].[V_AIR_RUN3]
END
GO
/****** Object: View [SYSADM].[V_AIR_RUN3] Script Date: 04/01/2018 15:35:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [SYSADM].[V_AIR_RUN3]
AS
SELECT
-- ====== Divers champs =========================================================
SYSADM.T_AIR_RUN.GUID_AIR,
SYSADM.T_AIR_RUN.GUID_ITEM,
SYSADM.T_AIR_RUN.GUID_CHANNEL,
SYSADM.T_AIR_RUN.CHANNEL_NAME,
SYSADM.T_AIR_RUN.ON_AIR,
SYSADM.T_AIR_RUN.STATION,
-- ====== Type 10 ==================================================================
-------- DIP4.Titre
SYSADM.T_AIR_RUN.STRING_DDO_1
AS [TITRE_10],
-------- DIP4.Durée (calculée)
SYSADM.T_AIR_RUN.START_TIME,
SYSADM.T_AIR_RUN.END_TIME,
RIGHT('0' + CAST( DATEDIFF(s, SYSADM.T_AIR_RUN.START_TIME, SYSADM.T_AIR_RUN.END_TIME) / 3600 AS VARCHAR),2) +
RIGHT('0' + CAST((DATEDIFF(s, SYSADM.T_AIR_RUN.START_TIME, SYSADM.T_AIR_RUN.END_TIME) / 60) % 60 AS VARCHAR),2) +
RIGHT('0' + CAST( DATEDIFF(s, SYSADM.T_AIR_RUN.START_TIME, SYSADM.T_AIR_RUN.END_TIME) % 60 AS VARCHAR),2)
AS [DUREE_10],
-------- DIP4.Genre ----------------------------------------------------
CASE
WHEN T_AIR_RUN.STRING_3 IN (
'CHANSON'
,'CHANSON FRANCAISE'
,'DECOUVERTE'
,'DISCO NIGHT'
,'EDIT'
,'EUROTOP'
,'FUNK'
,'HYMNE'
,'LIVE'
,'MUSIQUE DU MONDE'
,'PLEDIT'
,'POP'
,'POP ROCK'
,'R&B'
,'RAP ET HIPHOP'
,'ROCK'
,'EUROPE DE L''EST '
,'LITHURGIE CHRETIENNE'
,'POP'
,'RAP'
,'REGGAE'
,'SALSA'
,'TRIP HOP'
,'VARIETES FRANCAISES'
) THEN 'CHT'
WHEN T_AIR_RUN.STRING_3 IN (
'INSTRU'
,'ELECTRO'
,'PIANO'
) THEN 'ORC'
WHEN T_AIR_RUN.STRING_3 IN (
'JAZZ'
) THEN 'JAZ'
WHEN T_AIR_RUN.STRING_3 IN (
'PRESENTATION'
) THEN 'TP'
WHEN T_AIR_RUN.STRING_3 IN (
'CLASSIQUE'
) THEN 'SYM'
ELSE
'CHT'
END
AS [GENRE_10],
-- ====== Type 20 ==================================================================
-------- DIP4.AyantDroit-1 rôle
CASE
WHEN (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete non renseigné
AND (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur non renseigné
THEN 'UNK'
WHEN not (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete renseigné
AND (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur non renseigné
THEN 'INT'
WHEN (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete non renseigné
AND not (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur renseigné
THEN 'CA'
WHEN not (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete renseigné
AND not (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur renseigné
THEN 'INT'
END
AS [AYANTDROIT_1_ROLE_20],
-------- DIP4.AyantDroit-1 nom
CASE
WHEN (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete non renseigné
AND (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur non renseigné
THEN 'INCONNU'
WHEN not (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete renseigné
AND (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur non renseigné
THEN REPLACE(REPLACE(SYSADM.T_AIR_RUN.STRING_DDO_2,'.','-'), '/', '-')
WHEN (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete non renseigné
AND not (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur renseigné
THEN REPLACE(REPLACE(SYSADM.T_AIR_RUN.STRING_5,'.','-'), '/', '-')
WHEN not (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete renseigné
AND not (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur renseigné
THEN REPLACE(REPLACE(SYSADM.T_AIR_RUN.STRING_DDO_2,'.','-'), '/', '-')
END
AS [AYANTDROIT_1_NOM_20],
-------- DIP4.AyantDroit-2 role
CASE
WHEN (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete non renseigné
AND (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur non renseigné
THEN 'UNK'
WHEN not (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete renseigné
AND (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur non renseigné
THEN 'CA'
WHEN (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete non renseigné
AND not (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur renseigné
THEN 'UNK'
WHEN not (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete renseigné
AND not (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur renseigné
THEN 'CA'
END
AS [AYANTDROIT_2_ROLE_20],
-------- DIP4.AyantDroit-2 nom
CASE
WHEN (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete non renseigné
AND (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur non renseigné
THEN 'INCONNU'
WHEN not (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete renseigné
AND (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur non renseigné
THEN REPLACE(REPLACE(SYSADM.T_AIR_RUN.STRING_DDO_2,'.','-'), '/', '-')
WHEN (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete non renseigné
AND not (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur renseigné
THEN 'INCONNU'
WHEN not (SYSADM.T_AIR_RUN.STRING_DDO_2 IS NULL OR SYSADM.T_AIR_RUN.STRING_DDO_2 = '') -- Interprete renseigné
AND not (SYSADM.T_AIR_RUN.STRING_5 IS NULL OR SYSADM.T_AIR_RUN.STRING_5 = '') -- Auteur renseigné
THEN REPLACE(REPLACE(SYSADM.T_AIR_RUN.STRING_DDO_2,'.','-'), '/', '-')
END
AS [AYANTDROIT_2_NOM_20],
-------- DIP4.Editeur / Label
CASE WHEN SYSADM.T_AIR_RUN.STRING_6 IS NULL OR SYSADM.T_AIR_RUN.STRING_6 = '' THEN
SYSADM.T_AIR_RUN.STRING_13
ELSE
SYSADM.T_AIR_RUN.STRING_6
END
AS [NUMERO_CATALOGUE_30],
SYSADM.T_AIR_RUN.STRING_19 AS [TITRE_ALBUM_30],
SYSADM.RF_DIP4_RFCODE2EAN(SYSADM.T_AIR_RUN.STRING_16) AS [CODE_BARRE_30]
-------- ----------------------------------------------------
FROM SYSADM.T_AIR_RUN INNER JOIN
SYSADM.T_ITEM ON SYSADM.T_AIR_RUN.GUID_ITEM = SYSADM.T_ITEM.GUID_ITEM
-- WHERE (SYSADM.T_AIR_RUN.STATION = N'wmfptsvdota0001') or (SYSADM.T_AIR_RUN.STATION = N'wmfptsvdotb0001')
GO