DBA Data[Home] [Help]

PACKAGE BODY: APPS.CCT_ROUTE_RESULT_PUB

Source


1 PACKAGE BODY CCT_Route_Result_Pub as
2 /* $Header: cctrresb.pls 115.4 2002/11/28 01:13:06 gvasvani noship $ */
3 
4 FUNCTION	 AddAgentID(
5      p_routeResult_varr  IN OUT NOCOPY cct_routeResult_varr
6     ,p_agentID             IN VARCHAR2
7     ,x_return_status Out NOCOPY VARCHAR2
8  ) return varchar2 IS
9 
10    l_return_status varchar2(32) := G_FALSE;
11    i BINARY_INTEGER;
12  begin
13     x_return_status := G_FALSE;
14     If (p_agentID IS NULL) Then
15         RAISE NULL_POINTER_EXCEPTION;
16     End If ;
17 
18     l_return_status := SetResultType(p_routeResult_varr,G_AGENTIDS,l_return_status);
19 
20     p_routeResult_varr.EXTEND();
21     i := p_routeResult_varr.LAST;
22     p_routeResult_varr(i) := p_agentID;
23     x_return_status := G_TRUE;
24     return x_return_status;
25     EXCEPTION
26       WHEN NULL_POINTER_EXCEPTION THEN
27         RAISE NULL_POINTER_EXCEPTION;
28       WHEN OTHERS THEN
29       return x_return_status;
30 -- end ;
31 END AddAgentID;
32 
33 FUNCTION	 AddRoutePoint(
34      p_routeResult_varr  IN OUT NOCOPY cct_routeResult_varr
35     ,p_RoutePoint             IN VARCHAR2
36     ,x_return_status Out NOCOPY VARCHAR2
37  ) return varchar2 IS
38 
39    l_return_status varchar2(1) := G_FALSE;
40    i BINARY_INTEGER;
41  begin
42     x_return_status := G_FALSE;
43     If (p_RoutePoint IS NULL) Then
44         RAISE NULL_POINTER_EXCEPTION;
45     End If ;
46 
47     l_return_status :=SetResultType(p_routeResult_varr,G_ROUTEPOINT,l_return_status);
48     p_routeResult_varr.EXTEND();
49     i := p_routeResult_varr.LAST;
50     p_routeResult_varr(i) := p_RoutePoint;
51     x_return_status := G_TRUE;
52     return x_return_status;
53     EXCEPTION
54       WHEN NULL_POINTER_EXCEPTION THEN
55         RAISE NULL_POINTER_EXCEPTION;
56       WHEN OTHERS THEN
57       return x_return_status;
58 -- end ;
59 END AddRoutePoint;
60 
61 FUNCTION	 GetResultType(
62      p_routeResult_varr  IN cct_routeResult_varr
63     ,x_return_status Out NOCOPY VARCHAR2
64  ) return varchar2 IS
65 
66    l_routeResult varchar2(4000) :='';
67    i BINARY_INTEGER;
68  begin
69     x_return_status := G_FALSE;
70     i := p_routeResult_varr.FIRST;
71     if (i <= p_routeResult_varr.LAST) then
72 	--dbms_output.put_line (' Value of routeResult is ' || p_routeResult_varr(i));
73       l_routeResult := p_routeResult_varr(i);
74       x_return_status := G_TRUE;
75     End If ;
76     return l_routeResult;
77     EXCEPTION
78       WHEN OTHERS THEN
79       return l_routeResult;
80 END GetResultType;
81 
82 FUNCTION	 SetResultType(
83      p_routeResult_varr  IN OUT NOCOPY cct_routeResult_varr
84     ,p_routeResult IN VARCHAR2
85     ,x_return_status Out NOCOPY VARCHAR2
86  ) return varchar2 IS
87 
88    l_routeResult varchar2(4000) :='';
89    l_orig_result varchar2(4000) :='';
90    i BINARY_INTEGER;
91  begin
92     x_return_status := G_FALSE;
93     --For varrays, FIRST always returns 1 and LAST always equals COUNT
94     i := p_routeResult_varr.COUNT();
95     if (i=0) then
96 	 p_routeResult_varr.EXTEND();
97     elsif (i>1) then
98       i := p_routeResult_varr.FIRST;
99 	 if (p_routeResult_varr(i)<>p_routeResult) then
100 		 p_routeResult_varr.DELETE();
101 		 p_routeResult_varr.EXTEND();
102       else
103 		x_return_status := G_TRUE;
104 		return p_routeResult;
105 	 end if ;
106     end if;
107     i := p_routeResult_varr.FIRST;
108     if (i <= p_routeResult_varr.LAST) then
109 	--dbms_output.put_line (' Value of routeResult is ' || p_routeResult_varr(i));
110       l_orig_result := p_routeResult_varr(i);
111       p_routeResult_varr(i) := p_routeResult;
112       x_return_status := G_TRUE;
113     End If ;
114     return l_orig_result;
115     EXCEPTION
116       WHEN NULL_POINTER_EXCEPTION THEN
117         RAISE NULL_POINTER_EXCEPTION;
118       WHEN OTHERS THEN
119       return l_orig_result;
120 END SetResultType;
121 
122 FUNCTION	 NumOfAgents(
123      p_routeResult_varr  IN cct_routeResult_varr
124  ) return NUMBER IS
125 
126    l_size NUMBER;
127    i BINARY_INTEGER;
128  begin
129     i := p_routeResult_varr.COUNT();
130     l_size := i-1;
131     return l_size;
132     EXCEPTION
133       WHEN OTHERS THEN
134       return l_size;
135 -- end ;
136 END NumOfAgents;
137 
138 
139 END CCT_Route_Result_Pub;
140