[Home] [Help]
PACKAGE BODY: APPS.CS_SYSTEMS_COMMON_PUB
Source
1 package body CS_SYSTEMS_COMMON_PUB as
2 /* $Header: cscommnb.pls 115.7 2001/06/26 18:07:36 pkm ship $ */
3 function get_party_id (p_user_id IN NUMBER) return NUMBER
4 is
5 l_cust_id NUMBER;
6 begin
7 SELECT customer_id INTO l_cust_id FROM FND_USER WHERE user_id =
8 p_user_id;
9 return l_cust_id;
10 end get_party_id;
11
12 function get_system_id (p_system_name IN VARCHAR2) return NUMBER
13 is
14 l_system_id NUMBER(15);
15 begin
16 SELECT system_id INTO l_system_id FROM CS_SYSTEMS_ALL_VL WHERE name=p_system_name;
17 return l_system_id;
18 end get_system_id;
19
20 procedure is_system_enabled(
21 p_api_version_number IN NUMBER,
22 p_init_msg_list IN VARCHAR2,
23 p_commit IN VARCHAR,
24 x_return_status OUT VARCHAR2,
25 x_msg_count OUT NUMBER,
26 x_msg_data OUT VARCHAR2
27 )
28 is
29 l_user_id NUMBER;
33 begin
30 l_resp_id NUMBER;
31 l_app_id NUMBER;
32 l_enable_flag VARCHAR2(1);
34 l_user_id := FND_GLOBAL.USER_ID;
35 l_resp_id := FND_GLOBAL.RESP_ID;
36 l_app_id := FND_GLOBAL.RESP_APPL_ID;
37 x_return_status := FND_PROFILE.VALUE_SPECIFIC ('CS_CSI_ENABLED', l_user_id, l_resp_id, l_app_id);
38
39 exception
40 when others then
41 x_return_status := FND_API.G_RET_STS_ERROR;
42 end is_system_enabled;
43
44 procedure is_system_valid(
45 p_api_version_number IN NUMBER,
46 p_init_msg_list IN VARCHAR2,
47 p_system_id IN NUMBER,
48 p_system_name IN VARCHAR2,
49 p_commit IN VARCHAR,
50 x_return_status OUT VARCHAR2,
51 x_msg_count OUT NUMBER,
52 x_msg_data OUT VARCHAR2
53 )
54 is
55 l_system_id NUMBER(15);
56 l_result NUMBER(15);
57 l_curr_date DATE;
58 begin
59 l_system_id := -1;
60 l_curr_date := sysdate;
61
62 if (p_system_name is not null) then
63 l_system_id := get_system_id (p_system_name);
64 -- dbms_output.put_line ('system_id=' || l_system_id);
65 SELECT system_id INTO l_result FROM cs_systems_all_vl WHERE system_id=l_system_id AND (end_date_active IS null OR (end_date_active > l_curr_date));
66 -- dbms_output.put_line ('result=' || l_result);
67
68 elsif (p_system_id > 0 ) then
69 SELECT system_id INTO l_result FROM cs_systems_all_vl WHERE system_id=p_system_id AND (end_date_active IS null OR (end_date_active > l_curr_date));
70
71 else
72 l_result := -1;
73 end if;
74
75 if (l_result < 0) then
76 x_return_status := FND_API.G_RET_STS_ERROR;
77 else
78 x_return_status := FND_API.G_RET_STS_SUCCESS;
79 end if;
80
81 exception
82 WHEN NO_DATA_FOUND THEN
83 x_return_status := FND_API.G_RET_STS_ERROR;
84 -- dbms_output.put_line ('No data found');
85
86 WHEN OTHERS THEN
87 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
88 -- dbms_output.put_line ('Unexpected error');
89 FND_MSG_PUB.Count_And_Get
90 (p_count => x_msg_count ,
91 p_data => x_msg_data
92 );
93 end is_system_valid;
94
95 procedure get_current_system (
96 p_api_version_number IN NUMBER,
97 p_init_msg_list IN VARCHAR2,
98 p_user_id IN NUMBER,
99 p_commit IN VARCHAR,
100 x_system_id OUT NUMBER,
101 x_system_name OUT VARCHAR2,
102 x_return_status OUT VARCHAR2,
103 x_msg_count OUT NUMBER,
104 x_msg_data OUT VARCHAR2
105 )
106 as
107 l_profile_name VARCHAR2(60);
108 l_perz_data_name VARCHAR2(360);
109 l_perz_data_type VARCHAR2(30);
110 l_application_id NUMBER;
111 l_pd_attrib_tbl JTF_PERZ_DATA_PUB.DATA_ATTRIB_TBL_TYPE;
112 l_system_id NUMBER(15);
113 l_system_name VARCHAR2(50);
114 l_party_id NUMBER(15);
115 out_perz_data_id NUMBER(15);
116 out_perz_data_name VARCHAR2(360);
117 out_perz_data_type VARCHAR2(30);
118 out_perz_data_desc VARCHAR2(240);
119 begin
120 l_system_id := -1;
121 l_system_name := null;
122 l_profile_name := 'IBU_PERZ_' || to_char(p_user_id);
123 l_perz_data_name := 'IBU_PREFERENCES';
124 l_perz_data_type := 'IBU_PREFERENCES';
125 l_application_id := 672;
126
127 JTF_PERZ_DATA_PUB.Get_Perz_Data
128 (
129 p_api_version_number => 1.0,
130 p_init_msg_list => p_init_msg_list,
131 p_application_id => l_application_id,
132 p_profile_id => null,
133 p_profile_name => l_profile_name,
134 p_perz_data_id => null,
135 p_perz_data_name => l_perz_data_name,
136 p_perz_data_type => null,
137 x_perz_data_id => out_perz_data_id,
138 x_perz_data_name => out_perz_data_name,
139 x_perz_data_type => out_perz_data_type,
140 x_perz_data_desc => out_perz_data_desc,
141 x_data_attrib_tbl => l_pd_attrib_tbl,
142 x_return_status => x_return_status,
143 x_msg_count => x_msg_count,
144 x_msg_data => x_msg_data
145 );
146
147 if (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
148 for l_curr_row in 1..l_pd_attrib_tbl.count
149 loop
150 if l_pd_attrib_tbl(l_curr_row).ATTRIBUTE_NAME = 'system_name' then
151 l_system_name := l_pd_attrib_tbl(l_curr_row).ATTRIBUTE_VALUE;
152 elsif l_pd_attrib_tbl(l_curr_row).ATTRIBUTE_NAME = 'system_id' then
153 l_system_id := l_pd_attrib_tbl(l_curr_row).ATTRIBUTE_VALUE;
154 end if;
155 end loop;
156 end if;
157
158 x_system_id := l_system_id;
159 x_system_name := l_system_name;
160
161 exception
162 WHEN NO_DATA_FOUND THEN
163 x_system_id := -1;
164 x_system_name := null;
165 x_return_status := FND_API.G_RET_STS_ERROR;
166
167 WHEN OTHERS THEN
168 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
169 FND_MSG_PUB.Count_And_Get
170 (p_count => x_msg_count ,
171 p_data => x_msg_data
172 );
173 end get_current_system;
174
175 procedure get_all_systems_for_user(
176 p_api_version_number IN NUMBER,
177 p_init_msg_list IN VARCHAR2,
178 p_user_id IN NUMBER,
179 p_commit IN VARCHAR,
180 x_system_data OUT Sys_Info_Cursor,
181 x_return_status OUT VARCHAR2,
182 x_msg_count OUT NUMBER,
183 x_msg_data OUT VARCHAR2
184 )
185 as
186 l_party_id NUMBER(15);
187 l_curr_date DATE;
188 begin
189 l_party_id := get_party_id (p_user_id);
190 l_curr_date := sysdate;
191 open x_system_data for SELECT DISTINCT system_id, name FROM cs_system_party_links_v WHERE party_id = l_party_id AND (end_date_active IS null OR (end_date_active > l_curr_date)) ORDER BY system_id;
192 x_return_status := FND_API.G_RET_STS_SUCCESS;
193 exception
194 WHEN NO_DATA_FOUND THEN
195 x_return_status := FND_API.G_RET_STS_ERROR;
196
197 WHEN OTHERS THEN
198 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
199 FND_MSG_PUB.Count_And_Get
200 (p_count => x_msg_count ,
201 p_data => x_msg_data
202 );
203 end get_all_systems_for_user;
204
205 procedure get_all_child_systems(
206 p_api_version_number IN NUMBER,
207 p_init_msg_list IN VARCHAR2,
208 p_system_id IN NUMBER,
209 p_system_name IN VARCHAR2,
210 p_commit IN VARCHAR,
211 x_system_data OUT Sys_Info_Cursor,
212 x_return_status OUT VARCHAR2,
213 x_msg_count OUT NUMBER,
214 x_msg_data OUT VARCHAR2
215 )
216 as
217 l_system_id NUMBER(15);
218 begin
219 if (p_system_name is not null) then
220 l_system_id := get_system_id (p_system_name);
221 open x_system_data for SELECT distinct system_id, name FROM cs_systems_all_vl WHERE parent_system_id = l_system_id ORDER BY system_id;
222 x_return_status := FND_API.G_RET_STS_SUCCESS;
223
224 elsif (p_system_id > 0) then
225 open x_system_data for SELECT distinct system_id, name FROM cs_systems_all_vl WHERE parent_system_id = p_system_id ORDER BY system_id;
226 x_return_status := FND_API.G_RET_STS_SUCCESS;
227
228 else
229 x_return_status := FND_API.G_RET_STS_ERROR;
230 end if;
231 exception
232 WHEN NO_DATA_FOUND THEN
233 x_return_status := FND_API.G_RET_STS_ERROR;
234
235 WHEN OTHERS THEN
236 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
237 FND_MSG_PUB.Count_And_Get
238 (p_count => x_msg_count ,
239 p_data => x_msg_data
240 );
241 end get_all_child_systems;
242
243 procedure is_user_associated_to_system(
244 p_api_version_number IN NUMBER,
245 p_init_msg_list IN VARCHAR2,
246 p_user_id IN NUMBER,
247 p_system_id IN NUMBER,
248 p_system_name IN VARCHAR2,
249 p_commit IN VARCHAR,
250 x_return_status OUT VARCHAR2,
251 x_msg_count OUT NUMBER,
252 x_msg_data OUT VARCHAR2
253 )
254 as
255 l_party_id NUMBER(15);
256 l_system_id NUMBER(15);
257 l_system_count NUMBER;
258 l_curr_date DATE;
259 begin
260 l_party_id := get_party_id (p_user_id);
261 l_system_id := -1;
262 l_system_count := -1;
263 l_curr_date := sysdate;
264
265 if (p_system_name is not null) then
266 l_system_id := get_system_id (p_system_name);
267 SELECT count(*) INTO l_system_count FROM cs_system_party_links_v WHERE system_id = l_system_id AND party_id = l_party_id and (end_date is null or end_date < l_curr_date);
268 x_return_status := FND_API.G_RET_STS_SUCCESS;
269
270 elsif (p_system_id > 0) then
271 SELECT count(*) INTO l_system_count FROM cs_system_party_links_v WHERE system_id = p_system_id AND party_id = l_party_id and (end_date is null or end_date < l_curr_date);
272 x_return_status := FND_API.G_RET_STS_SUCCESS;
273 else
274 x_return_status := FND_API.G_RET_STS_ERROR;
275 end if;
276 exception
277 WHEN NO_DATA_FOUND THEN
278 x_return_status := FND_API.G_RET_STS_ERROR;
279
280 WHEN OTHERS THEN
281 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
282 FND_MSG_PUB.Count_And_Get
283 (p_count => x_msg_count ,
284 p_data => x_msg_data
285 );
286
287 end is_user_associated_to_system;
288
289 procedure association_exists(
293 p_system_name IN VARCHAR2,
290 p_api_version_number IN NUMBER,
291 p_init_msg_list IN VARCHAR2,
292 p_system_id IN NUMBER,
294 p_commit IN VARCHAR,
295 x_return_status OUT VARCHAR2,
296 x_msg_count OUT NUMBER,
297 x_msg_data OUT VARCHAR2
298 )
299 as
300 l_system_id NUMBER(15);
301 l_system_count NUMBER;
302 l_curr_date DATE;
303 begin
304 l_system_id := -1;
305 l_system_count := -1;
306 l_curr_date := sysdate;
307
308 if (p_system_name is not null) then
309 l_system_id := get_system_id (p_system_name);
310 SELECT count(*) INTO l_system_count FROM cs_system_party_links_v WHERE system_id = l_system_id and (end_date is null or end_date < l_curr_date);
311 if (l_system_count > 0) then
312 x_return_status := FND_API.G_RET_STS_SUCCESS;
313 else
314 x_return_status := FND_API.G_RET_STS_ERROR;
315 end if;
316
317 elsif (p_system_id > 0) then
318 SELECT count(*) INTO l_system_count FROM cs_system_party_links_v WHERE system_id = p_system_id and (end_date is null or end_date < l_curr_date);
319 if (l_system_count > 0) then
320 x_return_status := FND_API.G_RET_STS_SUCCESS;
321 else
322 x_return_status := FND_API.G_RET_STS_ERROR;
323 end if;
324 end if;
325 exception
326 WHEN NO_DATA_FOUND THEN
327 x_return_status := FND_API.G_RET_STS_ERROR;
328
329 WHEN OTHERS THEN
330 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
331 FND_MSG_PUB.Count_And_Get
332 (p_count => x_msg_count ,
333 p_data => x_msg_data
334 );
335 end association_exists;
336
337 procedure user_exists(
338 p_api_version_number IN NUMBER,
339 p_init_msg_list IN VARCHAR2,
340 p_system_id IN NUMBER,
341 p_system_name IN VARCHAR2,
342 p_commit IN VARCHAR,
343 x_return_status OUT VARCHAR2,
344 x_msg_count OUT NUMBER,
345 x_msg_data OUT VARCHAR2
346 )
347 as
348 l_system_id NUMBER(15);
349 l_system_count NUMBER;
350 l_curr_date DATE;
351 begin
352 l_system_id := -1;
353 l_system_count := -1;
354 l_curr_date := sysdate;
355
356 if (p_system_name is not null) then
357 l_system_id := get_system_id (p_system_name);
358 SELECT count(*) INTO l_system_count FROM
359 cs_systems_all_b a, hz_cust_accounts b,
360 hz_parties c, fnd_user d
361 WHERE a.system_id=l_system_id AND
362 a.customer_id=b.cust_account_id AND
363 b.party_id=c.party_id AND
364 c.party_type='PERSON' AND
365 c.party_id=d.customer_id;
366
367 if (l_system_count > 0) then
368 x_return_status := FND_API.G_RET_STS_SUCCESS;
369 else
370 x_return_status := FND_API.G_RET_STS_ERROR;
371 end if;
372
373 elsif (p_system_id > 0) then
374 SELECT count(*) INTO l_system_count FROM
375 cs_systems_all_b a, hz_cust_accounts b,
376 hz_parties c, fnd_user d
377 WHERE a.system_id=p_system_id AND
378 a.customer_id=b.cust_account_id AND
379 b.party_id=c.party_id AND
380 c.party_type='PERSON' AND
381 c.party_id=d.customer_id;
382
383 if (l_system_count > 0) then
384 x_return_status := FND_API.G_RET_STS_SUCCESS;
385 else
386 x_return_status := FND_API.G_RET_STS_ERROR;
387 end if;
388 end if;
389 exception
390 WHEN NO_DATA_FOUND THEN
391 x_return_status := FND_API.G_RET_STS_ERROR;
392
393 WHEN OTHERS THEN
394 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
395 FND_MSG_PUB.Count_And_Get
396 (p_count => x_msg_count ,
397 p_data => x_msg_data
398 );
399 end user_exists;
400
401 end CS_SYSTEMS_COMMON_PUB;