DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEC_CUSTOM_RMI_UTIL_PVT

Source


1 PACKAGE BODY IEC_CUSTOM_RMI_UTIL_PVT AS
2 /* $Header: IECVRMIB.pls 115.8 2003/08/22 20:42:51 hhuang ship $ */
3 
4 -- Sub-Program Unit Declarations
5 
6 PROCEDURE ADD_EMPTY_BLOB
7   (P_SERVER_ID   IN            NUMBER
8   ,P_COMP_DEF_ID IN            NUMBER
9   ,X_RESULT         OUT NOCOPY NUMBER
10   )
11 AS
12 
13   l_result NUMBER;
14   l_flag  NUMBER;
15   l_flagb  NUMBER;
16   l_comp_name IEO_SVR_COMPS.COMP_NAME%TYPE;
17 
18 BEGIN
19 
20   x_result := NULL;
21 
22   IF( ( P_SERVER_ID is null ) OR
23       ( P_COMP_DEF_ID is null )
24     )
25   THEN
26     raise_application_error
27       ( -20000
28        , 'P_SERVER_ID or P_COMP_DEF_ID  cannot be null.'
29          || 'Values sent are server id (' || P_SERVER_ID || ')'
30          || 'comp def id (' || P_COMP_DEF_ID || ')'
31        ,TRUE
32       );
33    END IF;
34 
35    -- dbms_output.put_line('IEC_CUSTOM_RMI_UTIL_PVT: ADD_EMPTY_BLOB:  Done null check..');
36 
37    l_result := 0;
38    l_flag := 0;
39    l_comp_name := '';
40 
41    -- Check if server_id and comp_id are valid
42    select 1 into l_flag
43     from  ieo_svr_servers a,
44           ieo_svr_comp_defs b
45    where  a.server_id = P_SERVER_ID
46      and  b.comp_def_id = P_COMP_DEF_ID
47      and  a.type_id = b.server_type_id;
48 
49    -- dbms_output.put_line('IEC_CUSTOM_RMI_UTIL_PVT: ADD_EMPTY_BLOB:  Done valid check..');
50 
51    IF ( l_flag <> 1 )
52    THEN
53     raise_application_error
54       ( -20000
55        , 'Data sent is not valid.'
56          || 'Values sent are server id (' || P_SERVER_ID || ')'
57          || 'comp def id (' || P_COMP_DEF_ID || ')'
58        ,TRUE
59       );
60    END IF;
61 
62    BEGIN
63       select 1 into l_flag
64         from  ieo_svr_comps
65        where  server_id = P_SERVER_ID
66          and  comp_def_id = P_COMP_DEF_ID
67          and  object_ref is not null;
68 
69       IF ( l_flag = 1 )
70       THEN
71         -- dbms_output.put_line('IEC_CUSTOM_RMI_UTIL_PVT: ADD_EMPTY_BLOB:  ServerID and CompDefId already present in comp table.');
72         l_result := l_flag;
73       END IF;
74 
75    EXCEPTION
76      WHEN NO_DATA_FOUND THEN
77         -- dbms_output.put_line('IEC_CUSTOM_RMI_UTIL_PVT: ADD_EMPTY_BLOB:  Adding empty blob. ');
78 
79         select comp_def_name into l_comp_name
80           from ieo_svr_comp_defs
81          where comp_def_id = P_COMP_DEF_ID;
82 
83         -- dbms_output.put_line(' Comp_def_name is <' || l_comp_name || '>');
84 
85         insert into IEO_SVR_COMPS
86                ( COMP_ID
87                , SERVER_ID
88                , COMP_DEF_ID
89                , COMP_NAME
90                , OBJECT_REF
91                )
92         values ( IEO_SVR_COMPS_S1.NEXTVAL
93                , P_SERVER_ID
94                , P_COMP_DEF_ID
95                , l_comp_name
96                , empty_blob()
97                );
98 
99         l_result := 1;
100 --        commit;
101 
102         -- dbms_output.put_line('IEC_CUSTOM_RMI_UTIL_PVT: ADD_EMPTY_BLOB:  Done insert empty blob');
103   END;
104 
105 EXCEPTION
106   WHEN OTHERS THEN
107     RAISE;
108 
109 END ADD_EMPTY_BLOB;
110 
111 
112 PROCEDURE BIND
113   (P_SERVER_ID   IN            NUMBER
114   ,P_COMP_DEF_ID IN            NUMBER
115   ,P_OBJECT_REF  IN            BLOB
116   ,X_RESULT         OUT NOCOPY NUMBER
117   )
118   AS
119   l_result NUMBER;
120   l_data_valid_flag  NUMBER;
121   l_comp_name IEO_SVR_COMPS.COMP_NAME%TYPE;
122 BEGIN
123 
124   x_result := NULL;
125 
126   IF( ( P_SERVER_ID is null )
127     OR( P_COMP_DEF_ID is null )
128     OR( P_OBJECT_REF is null ) )
129   THEN
130     raise_application_error
131       ( -20000
132        , 'P_SERVER_ID , P_COMP_DEF_ID or P_OBJECT_ID cannot be null.'
133          || 'Values sent are server id (' || P_SERVER_ID || ')'
134          || 'comp def id (' || P_COMP_DEF_ID || ')'
135        ,TRUE
136       );
137    END IF;
138 
139    l_result := 0;
140    l_data_valid_flag := 0;
141    l_comp_name := '';
142 
143    -- Check if server_id and comp_id are valid
144    select 1 into l_data_valid_flag
145     from  ieo_svr_servers a,
146           ieo_svr_comp_defs b
147    where  a.server_id = P_SERVER_ID
148      and  b.comp_def_id = P_COMP_DEF_ID
149      and  a.type_id = b.server_type_id;
150 
151    IF ( l_data_valid_flag <> 1 )
152    THEN
153     raise_application_error
154       ( -20000
155        , 'Data sent is not valid.'
156          || 'Values sent are server id (' || P_SERVER_ID || ')'
157          || 'comp def id (' || P_COMP_DEF_ID || ')'
158        ,TRUE
159       );
160    END IF;
161 
162    -- Data is valid. update/insert block.
163    update IEO_SVR_COMPS
164       set OBJECT_REF = P_OBJECT_REF
165     where server_id = P_SERVER_ID
166       and comp_def_id = P_COMP_DEF_ID;
167 
168    IF (SQL%NOTFOUND OR (SQL%ROWCOUNT <= 0))
169    THEN
170 
171 
172      select comp_def_name into l_comp_name
173        from ieo_svr_comp_defs
174       where comp_def_id = P_COMP_DEF_ID;
175 
176      insert into IEO_SVR_COMPS
177             ( COMP_ID
178             , SERVER_ID
179             , COMP_DEF_ID
180             , COMP_NAME
181             , OBJECT_REF
182             )
183      values ( IEO_SVR_COMPS_S1.NEXTVAL
184             , P_SERVER_ID
185             , P_COMP_DEF_ID
186             , l_comp_name
187             , empty_blob()
188             );
189 
190      update IEO_SVR_COMPS
191         set OBJECT_REF = P_OBJECT_REF
192       where server_id = P_SERVER_ID
193         and comp_def_id = P_COMP_DEF_ID;
194 
195     END IF;
196 
197     l_result := 1;
198 
199 EXCEPTION
200   WHEN OTHERS THEN
201     RAISE;
202 
203 END BIND;
204 
205 END IEC_CUSTOM_RMI_UTIL_PVT;