From b4bb1cffc65e0e9f4099a23027e45ccf113fce52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr>
Date: Mon, 30 Oct 2023 15:59:20 +0100
Subject: [PATCH] #48203 formule Paris8

(cherry picked from commit 3b76ac182f6129e405cfcde2d2631456db2ef485)

(cherry picked from commit 170619a2440d0cc6861c283f90ed919f9dea7e13)
---
 data/ddl/package/FORMULE_PARIS8/body.sql | 28 ++++++++++++------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/data/ddl/package/FORMULE_PARIS8/body.sql b/data/ddl/package/FORMULE_PARIS8/body.sql
index 6c05d9caa7..9659665d90 100644
--- a/data/ddl/package/FORMULE_PARIS8/body.sql
+++ b/data/ddl/package/FORMULE_PARIS8/body.sql
@@ -224,12 +224,12 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS
 
 
 
-      -- AG=IF([.$H20]="Référentiel";0;IF(AND(MID([.$N20];1;4)="PRIO";MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0))
+      -- AG=IF([.$H20]="Référentiel";0;IF(AND(MID([.$N20];1;4)="PRIO";MID([.$A20];1;5)<>"20595";MID([.$A20];1;5)<>"40");[.$M20]*[.$AD20];0))
       WHEN 'AG' THEN
         IF vh.volume_horaire_ref_id IS NOT NULL THEN
           RETURN 0;
         ELSE
-          IF COALESCE(SUBSTR(vh.param_1, 1, 4),' ') = 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN
+          IF COALESCE(SUBSTR(vh.param_1, 1, 4),' ') = 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '40' THEN
             RETURN vh.heures * cell('AD',l);
           ELSE
             RETURN 0;
@@ -292,9 +292,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS
 
 
 
-      -- AM=IF(AND([.$H20]="Référentiel";[.$A20]=[.$K$10];MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0)
+      -- AM=IF(AND([.$H20]="Référentiel";[.$A20]=[.$K$10];MID([.$A20];1;5)<>"20595";MID([.$A20];1;5)<>"40");[.$M20]*[.$AD20];0)
       WHEN 'AM' THEN
-        IF vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_univ AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN
+        IF vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_univ AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '40' THEN
           RETURN vh.heures * cell('AD',l);
         ELSE
           RETURN 0;
@@ -356,9 +356,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS
 
 
 
-      -- AS=IF(AND([.$H20]<>"Référentiel";[.$A20]=i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0)
+      -- AS=IF(AND([.$H20]<>"Référentiel";[.$A20]=i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"20595";MID([.$A20];1;5)<>"40");[.$M20]*[.$AD20];0)
       WHEN 'AS' THEN
-        IF vh.volume_horaire_ref_id IS NULL AND vh.structure_is_affectation AND COALESCE(SUBSTR(vh.param_1, 1, 4),' ') <> 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN
+        IF vh.volume_horaire_ref_id IS NULL AND vh.structure_is_affectation AND COALESCE(SUBSTR(vh.param_1, 1, 4),' ') <> 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '40' THEN
           RETURN vh.heures * cell('AD',l);
         ELSE
           RETURN 0;
@@ -420,9 +420,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS
 
 
 
-      -- AY=IF(AND(AND([.$H20]="Référentiel";[.$A20]=i_structure_code);( MID([.$A20];1;5))<>"20595");[.$M20]*[.$AD20];0)
+      -- AY=IF(AND(AND([.$H20]="Référentiel";[.$A20]=i_structure_code);( MID([.$A20];1;5))<>"20595";( MID([.$A20];1;5))<>"40");[.$M20]*[.$AD20];0)
       WHEN 'AY' THEN
-        IF (vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_affectation) AND (COALESCE(SUBSTR(vh.structure_code, 1, 5),' ')) <> '20595' THEN
+        IF (vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_affectation) AND (COALESCE(SUBSTR(vh.structure_code, 1, 5),' ')) <> '20595' AND (COALESCE(SUBSTR(vh.structure_code, 1, 5),' ')) <> '40' THEN
           RETURN vh.heures * cell('AD',l);
         ELSE
           RETURN 0;
@@ -484,9 +484,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS
 
 
 
-      -- BE=IF(AND([.$H20]<>"Référentiel";[.$A20]<>i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0)
+      -- BE=IF(AND([.$H20]<>"Référentiel";[.$A20]<>i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"20595";MID([.$A20];1;5)<>"40");[.$M20]*[.$AD20];0)
       WHEN 'BE' THEN
-        IF vh.volume_horaire_ref_id IS NULL AND NOT vh.structure_is_affectation AND COALESCE(SUBSTR(vh.param_1, 1, 4),' ') <> 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN
+        IF vh.volume_horaire_ref_id IS NULL AND NOT vh.structure_is_affectation AND COALESCE(SUBSTR(vh.param_1, 1, 4),' ') <> 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '40' THEN
           RETURN vh.heures * cell('AD',l);
         ELSE
           RETURN 0;
@@ -548,9 +548,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS
 
 
 
-      -- BK=IF(AND([.$H20]="Référentiel";[.$A20]<>i_structure_code;[.$A20]<>[.$K$10];MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0)
+      -- BK=IF(AND([.$H20]="Référentiel";[.$A20]<>i_structure_code;[.$A20]<>[.$K$10];MID([.$A20];1;5)<>"20595";MID([.$A20];1;5)<>"40");[.$M20]*[.$AD20];0)
       WHEN 'BK' THEN
-        IF vh.volume_horaire_ref_id IS NOT NULL AND NOT vh.structure_is_affectation AND NOT vh.structure_is_univ AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN
+        IF vh.volume_horaire_ref_id IS NOT NULL AND NOT vh.structure_is_affectation AND NOT vh.structure_is_univ AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '40' THEN
           RETURN vh.heures * cell('AD',l);
         ELSE
           RETURN 0;
@@ -612,9 +612,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS
 
 
 
-      -- BQ=IF(MID([.$A20];1;25)="20595";[.$M20]*[.$AE20];0)
+      -- BQ=IF(OR(MID([.$A20];1;25)="20595";MID([.$A20];1;25)="40");[.$M20]*[.$AE20];0)
       WHEN 'BQ' THEN
-        IF COALESCE(SUBSTR(vh.structure_code, 1, 25),' ') = '20595' THEN
+        IF COALESCE(SUBSTR(vh.structure_code, 1, 25),' ') = '20595' OR COALESCE(SUBSTR(vh.structure_code, 1, 25),' ') = '40' THEN
           RETURN vh.heures * cell('AE',l);
         ELSE
           RETURN 0;
-- 
GitLab