Bonjour,
je créé un package dans lequel je définis un type de données.
Ce type je le déclare ensuite comme un paramètre dans une fonction et j'ai une erreur de compilation lorsque j'appelle cette fonction.
Voici le code :
Comment procéder ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 CREATE OR REPLACE PACKAGE TEST AS TYPE t_daily_plan IS RECORD ( beginDate DATE, endDate DATE ); TYPE t_planning IS TABLE OF t_daily_plan INDEX BY BINARY_INTEGER; PROCEDURE CALCULATE_SLA; FUNCTION DIFFERENCE_BETWEEN_IN_SECOND(debutPeriode DATE, finPeriode DATE, planning t_planning, code_plan NUMBER ) RETURN NUMBER; END; CREATE OR REPLACE PACKAGE BODY test AS PROCEDURE CALCULATE_SLA AS ref_time DATE := SYSDATE; ref_time_plus DATE := SYSDATE + 1; curPlan NUMBER := -1; planning t_planning; BEGIN .... planning(1).beginDate = SYSDATE -2; planning(1).beginDate = SYSDATE +2; tabGrpSla(1) := 0; tabGrpSla(1) := tabGrpSla(1) + DIFFERENCE_BEETWEEN_IN_SECOND(ref_time_plus, ref_time, planning, curPlan); END; FUNCTION DIFFERENCE_BETWEEN_IN_SECOND(debutPeriode DATE, finPeriode DATE, planning t_planning, code_plan NUMBER ) RETURN NUMBER IS BEGIN .... END; END;
Merci
Partager