From 1e221b1ea0619697bd41fa79b4a1a10ba4478408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr> Date: Fri, 28 Apr 2023 09:14:20 +0200 Subject: [PATCH] Correction formule Picardie (cherry picked from commit 8957b3fa79595e976360d2795e7c773dfdc39a4d) --- data/ddl/package/FORMULE_PICARDIE/body.sql | 48 ++++++++++++++++------ 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/data/ddl/package/FORMULE_PICARDIE/body.sql b/data/ddl/package/FORMULE_PICARDIE/body.sql index 2e6418ced4..b404d573ef 100644 --- a/data/ddl/package/FORMULE_PICARDIE/body.sql +++ b/data/ddl/package/FORMULE_PICARDIE/body.sql @@ -284,12 +284,16 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS - -- AJ=IF([.AI20]<[.AG20];([.AG20]-[.AI20])/[.$AD20];0) + -- AJ=IF([.AI20]<[.AG20];([.AG20]-[.AI20])/[.$AD20];IF([.AG20]<0;[.AG20]/[.$AD20];0)) WHEN 'AJ' THEN IF cell('AI',l) < cell('AG',l) THEN RETURN (cell('AG',l) - cell('AI',l)) / cell('AD',l); ELSE - RETURN 0; + IF cell('AG',l) < 0 THEN + RETURN cell('AG',l) / cell('AD',l); + ELSE + RETURN 0; + END IF; END IF; @@ -354,12 +358,16 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS - -- AP=IF([.AO20]<[.AM20];([.AM20]-[.AO20])/[.$AD20];0) + -- AP=IF([.AO20]<[.AM20];([.AM20]-[.AO20])/[.$AD20];IF([.AM20]<0;[.AM20]/[.$AD20];0)) WHEN 'AP' THEN IF cell('AO',l) < cell('AM',l) THEN RETURN (cell('AM',l) - cell('AO',l)) / cell('AD',l); ELSE - RETURN 0; + IF cell('AM',l) < 0 THEN + RETURN cell('AM',l) / cell('AD',l); + ELSE + RETURN 0; + END IF; END IF; @@ -418,12 +426,16 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS - -- AV=IF([.AU20]<[.AS20];([.AS20]-[.AU20])/[.$AD20];0) + -- AV=IF([.AU20]<[.AS20];([.AS20]-[.AU20])/[.$AD20];IF([.AS20]<20;[.AS20]/[.$AD20];0)) WHEN 'AV' THEN IF cell('AU',l) < cell('AS',l) THEN RETURN (cell('AS',l) - cell('AU',l)) / cell('AD',l); ELSE - RETURN 0; + IF cell('AS',l) < 20 THEN + RETURN cell('AS',l) / cell('AD',l); + ELSE + RETURN 0; + END IF; END IF; @@ -488,12 +500,16 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS - -- BB=IF([.BA20]<[.AY20];([.AY20]-[.BA20])/[.$AD20];0) + -- BB=IF([.BA20]<[.AY20];([.AY20]-[.BA20])/[.$AD20];IF([.AY20]<0;[.AY20]/[.$AD20];0)) WHEN 'BB' THEN IF cell('BA',l) < cell('AY',l) THEN RETURN (cell('AY',l) - cell('BA',l)) / cell('AD',l); ELSE - RETURN 0; + IF cell('AY',l) < 0 THEN + RETURN cell('AY',l) / cell('AD',l); + ELSE + RETURN 0; + END IF; END IF; @@ -552,12 +568,16 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS - -- BH=IF([.BG20]<[.BE20];([.BE20]-[.BG20])/[.$AD20];0) + -- BH=IF([.BG20]<[.BE20];([.BE20]-[.BG20])/[.$AD20];IF([.BE20]<0;[.BE20]/[.$AD20];0)) WHEN 'BH' THEN IF cell('BG',l) < cell('BE',l) THEN RETURN (cell('BE',l) - cell('BG',l)) / cell('AD',l); ELSE - RETURN 0; + IF cell('BE',l) < 0 THEN + RETURN cell('BE',l) / cell('AD',l); + ELSE + RETURN 0; + END IF; END IF; @@ -616,12 +636,16 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS - -- BN=IF([.BM20]<[.BK20];([.BK20]-[.BM20])/[.$AD20];0) + -- BN=IF([.BM20]<[.BK20];([.BK20]-[.BM20])/[.$AD20];IF([.BK20]<0;[.BK20]/[.$AD20];0)) WHEN 'BN' THEN IF cell('BM',l) < cell('BK',l) THEN RETURN (cell('BK',l) - cell('BM',l)) / cell('AD',l); ELSE - RETURN 0; + IF cell('BK',l) < 0 THEN + RETURN cell('BK',l) / cell('AD',l); + ELSE + RETURN 0; + END IF; END IF; -- GitLab