Exemple de vue Etendue

<< 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