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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| CREATE FUNCTION ZAGRALYS/PRIXBASE
(
DOMAINE VARCHAR( 3),
TARIF VARCHAR( 5),
DEVISE VARCHAR( 3),
SOCIETE VARCHAR( 3),
TIERS VARCHAR( 9),
PRODUIT VARCHAR(10),
DATEAPPLI DECIMAL(8,0)
)
RETURNS DECIMAL(13, 4)
LANGUAGE SQL
SPECIFIC ZAGRALYS/PRIXBASE
NOT DETERMINISTIC
READS SQL DATA
CALLED ON NULL INPUT
RETURN (
SELECT A.ATRVDE
FROM AATARIL2 AS A
WHERE A.ATRCDO = DOMAINE
AND A.ATRCIN = TARIF
AND A.ATRCIN = TARIF
AND A.ATRCDE = DEVISE
AND A.ATRSOC = SOCIETE
AND A.ATRTIE = TIERS
AND A.ATRNTA = 'T'
AND A.ATRNI1 = 'bbb'
AND A.ATRNI2 = 'bbb'
AND A.ATRNI3 = 'bbb'
AND A.ATRNI4 = 'bbb'
AND A.ATRCPO = PRODUIT
AND A.ATRGEN = 'bb'
AND A.ATRTRA = 'bbbbb'
AND A.ATRSAC = 'bbbbb'
AND A.ATRZON = '150 blancs'
AND A.ATRDDA =
(
SELECT MAX (B.ATRDDA)
FROM AATARIL2 AS B
WHERE B.ATRCDO = A.ATRCDO
AND B.ATRCIN = A.ATRCIN
AND B.ATRCDE = A.ATRCDE
AND B.ATRSOC = A.ATRSOC
AND B.ATRTIE = A.ATRTIE
AND B.ATRNTA = A.ATRNTA
AND B.ATRNTA = A.ATRNTA
AND B.ATRNI1 = A.ATRNI1
AND B.ATRNI2 = A.ATRNI2
AND B.ATRNI3 = A.ATRNI3
AND B.ATRNI4 = A.ATRNI4
AND B.ATRCPO = A.ATRCPO
AND B.ATRGEN = A.ATRGEN
AND B.ATRTRA = A.ATRTRA
AND B.ATRSAC = A.ATRSAC
AND B.ATRDDA <= DATEAPPLI
AND B.ATRDAS = 0
)
AND A.ATRDAS = 0
)
; |
Partager