[Home] [Help]
PACKAGE BODY: APPS.CS_KB_ELEMENT_LINKS_PKG
Source
1 PACKAGE BODY CS_KB_ELEMENT_LINKS_PKG AS
2 /* $Header: cskbellb.pls 120.0 2005/06/01 14:43:12 appldev noship $ */
3
4 function Create_Element_Link(
5 P_LINK_TYPE in VARCHAR,
6 P_OBJECT_CODE in VARCHAR,
7 P_ELEMENT_ID in NUMBER,
8 P_OTHER_ID in NUMBER,
9 P_ATTRIBUTE_CATEGORY in VARCHAR2,
10 P_ATTRIBUTE1 in VARCHAR2,
11 P_ATTRIBUTE2 in VARCHAR2,
12 P_ATTRIBUTE3 in VARCHAR2,
13 P_ATTRIBUTE4 in VARCHAR2,
14 P_ATTRIBUTE5 in VARCHAR2,
15 P_ATTRIBUTE6 in VARCHAR2,
16 P_ATTRIBUTE7 in VARCHAR2,
17 P_ATTRIBUTE8 in VARCHAR2,
18 P_ATTRIBUTE9 in VARCHAR2,
19 P_ATTRIBUTE10 in VARCHAR2,
20 P_ATTRIBUTE11 in VARCHAR2,
21 P_ATTRIBUTE12 in VARCHAR2,
22 P_ATTRIBUTE13 in VARCHAR2,
23 P_ATTRIBUTE14 in VARCHAR2,
24 P_ATTRIBUTE15 in VARCHAR2
25 ) return number IS
26 l_date date;
27 l_created_by number;
28 l_login number;
29 l_count pls_integer;
30 l_id number;
31 l_rowid varchar2(30);
32 BEGIN
33
34 -- Check params
35 if(P_OBJECT_CODE is null OR P_ELEMENT_ID is NULL OR
36 (P_OTHER_ID is null
37 )) then
38 fnd_message.set_name('CS', 'CS_KB_C_MISS_PARAM');
39 fnd_msg_pub.Add;
40 goto error_found;
41 end if;
42
43 --prepare data, then insert new element
44
45 select cs_kb_element_links_s.nextval into l_id from dual;
46 l_date := sysdate;
47 l_created_by := fnd_global.user_id;
48 l_login := fnd_global.login_id;
49
50 CS_KB_ELEMENT_LINKS_PKG.Insert_Row(
51 X_Rowid => l_rowid,
52 X_Link_Id => l_id,
53 X_Link_type => p_link_type,
54 X_Object_Code => p_object_code,
55 X_Element_Id => p_element_id,
56 X_Other_Id => p_other_id,
57 X_Creation_Date => l_date,
58 X_Created_By => l_created_by,
59 X_Last_Update_Date => l_date,
60 X_Last_Updated_By => l_created_by,
61 X_Last_Update_Login => l_login,
62 X_ATTRIBUTE_CATEGORY => P_ATTRIBUTE_CATEGORY,
63 X_ATTRIBUTE1 => P_ATTRIBUTE1,
64 X_ATTRIBUTE2 => P_ATTRIBUTE2,
65 X_ATTRIBUTE3 => P_ATTRIBUTE3,
66 X_ATTRIBUTE4 => P_ATTRIBUTE4,
67 X_ATTRIBUTE5 => P_ATTRIBUTE5,
68 X_ATTRIBUTE6 => P_ATTRIBUTE6,
69 X_ATTRIBUTE7 => P_ATTRIBUTE7,
70 X_ATTRIBUTE8 => P_ATTRIBUTE8,
71 X_ATTRIBUTE9 => P_ATTRIBUTE9,
72 X_ATTRIBUTE10 => P_ATTRIBUTE10,
73 X_ATTRIBUTE11 => P_ATTRIBUTE11,
74 X_ATTRIBUTE12 => P_ATTRIBUTE12,
75 X_ATTRIBUTE13 => P_ATTRIBUTE13,
76 X_ATTRIBUTE14 => P_ATTRIBUTE14,
77 X_ATTRIBUTE15 => P_ATTRIBUTE15
78 );
79
80 return l_id;
81
82 <<error_found>>
83 return ERROR_STATUS;
84
85 END Create_Element_Link;
86
87
88 function Update_Element_Link(
89 P_LINK_ID in NUMBER,
90 P_LINK_TYPE in VARCHAR,
91 P_OBJECT_CODE in VARCHAR,
92 P_ELEMENT_ID in NUMBER,
93 P_OTHER_ID in NUMBER,
94 P_ATTRIBUTE_CATEGORY in VARCHAR2,
95 P_ATTRIBUTE1 in VARCHAR2,
96 P_ATTRIBUTE2 in VARCHAR2,
97 P_ATTRIBUTE3 in VARCHAR2,
98 P_ATTRIBUTE4 in VARCHAR2,
99 P_ATTRIBUTE5 in VARCHAR2,
100 P_ATTRIBUTE6 in VARCHAR2,
101 P_ATTRIBUTE7 in VARCHAR2,
102 P_ATTRIBUTE8 in VARCHAR2,
103 P_ATTRIBUTE9 in VARCHAR2,
104 P_ATTRIBUTE10 in VARCHAR2,
105 P_ATTRIBUTE11 in VARCHAR2,
106 P_ATTRIBUTE12 in VARCHAR2,
107 P_ATTRIBUTE13 in VARCHAR2,
108 P_ATTRIBUTE14 in VARCHAR2,
109 P_ATTRIBUTE15 in VARCHAR2
110 ) return number is
111 l_ret number;
112 l_date date;
113 l_updated_by number;
114 l_login number;
115 l_count pls_integer;
116 begin
117
118 -- validate params
119 if(P_LINK_ID is null or
120 P_OBJECT_CODE is null OR P_ELEMENT_ID is NULL OR
121 (P_OTHER_ID is null
122 )) then
123 fnd_message.set_name('CS', 'CS_KB_C_MISS_PARAM');
124 fnd_msg_pub.Add;
125 goto error_found;
126 end if;
127
128 --prepare data, then insert new element
129 l_date := sysdate;
130 l_updated_by := fnd_global.user_id;
131 l_login := fnd_global.login_id;
132
133 CS_KB_ELEMENT_LINKS_PKG.Update_Row(
134 X_Link_Id => p_link_id,
135 X_Link_type => p_link_type,
136 X_Object_Code => p_object_code,
137 X_Element_Id => p_element_id,
138 X_Other_Id => p_other_id,
139 X_Last_Update_Date => l_date,
140 X_Last_Updated_By => l_updated_by,
141 X_Last_Update_Login => l_login,
142 X_ATTRIBUTE_CATEGORY => P_ATTRIBUTE_CATEGORY,
143 X_ATTRIBUTE1 => P_ATTRIBUTE1,
144 X_ATTRIBUTE2 => P_ATTRIBUTE2,
145 X_ATTRIBUTE3 => P_ATTRIBUTE3,
146 X_ATTRIBUTE4 => P_ATTRIBUTE4,
147 X_ATTRIBUTE5 => P_ATTRIBUTE5,
148 X_ATTRIBUTE6 => P_ATTRIBUTE6,
149 X_ATTRIBUTE7 => P_ATTRIBUTE7,
150 X_ATTRIBUTE8 => P_ATTRIBUTE8,
151 X_ATTRIBUTE9 => P_ATTRIBUTE9,
152 X_ATTRIBUTE10 => P_ATTRIBUTE10,
153 X_ATTRIBUTE11 => P_ATTRIBUTE11,
154 X_ATTRIBUTE12 => P_ATTRIBUTE12,
155 X_ATTRIBUTE13 => P_ATTRIBUTE13,
156 X_ATTRIBUTE14 => P_ATTRIBUTE14,
157 X_ATTRIBUTE15 => P_ATTRIBUTE15);
158
159 return OKAY_STATUS;
160 <<error_found>>
161 return ERROR_STATUS;
162 exception
163 when others then
164 return ERROR_STATUS;
165 end Update_Element_Link;
166
167 function Delete_Element_Link_W_Obj_Code(
168 p_element_id in Number,
169 p_object_code in Varchar2,
170 p_other_id in Number
171 ) return number is
172
173 begin
174 if(P_ELEMENT_ID is null or
175 P_OBJECT_CODE is null OR P_OTHER_ID is NULL ) then
176
177 if fnd_msg_pub.Check_Msg_Level( fnd_msg_pub.G_MSG_LVL_ERROR) then
178 fnd_message.set_name('CS', 'CS_KB_C_MISS_PARAM');
179 fnd_msg_pub.Add;
180 end if;
181 raise FND_API.G_EXC_ERROR;
182 --goto error_found;
183 end if;
184
185
186 DELETE FROM CS_KB_ELEMENT_LINKS where Element_Id = p_element_id
187 and Object_Code = p_object_code
188 and Other_Id = p_other_id;
189
190 return OKAY_STATUS;
191 <<error_found>>
192 return ERROR_STATUS;
193
194 end Delete_Element_Link_W_Obj_Code;
195
196
197 function Delete_Element_Link(
198 P_LINK_ID in NUMBER
199 ) return number is
200
201 begin
202 if (P_LINK_ID is null ) then return ERROR_STATUS; end if;
203
204 delete from CS_KB_ELEMENT_LINKS
205 where LINK_ID = P_LINK_ID;
206
207 return OKAY_STATUS;
208 <<error_found>>
209 return ERROR_STATUS;
210
211 end Delete_Element_Link;
212
213 procedure INSERT_ROW (
214 X_ROWID in OUT NOCOPY VARCHAR2,
215 X_LINK_ID in NUMBER,
216 X_LINK_TYPE in VARCHAR2,
217 X_OBJECT_CODE in VARCHAR2,
218 X_ELEMENT_ID in NUMBER,
219 X_OTHER_ID in NUMBER,
220 X_CREATION_DATE in DATE,
221 X_CREATED_BY in NUMBER,
222 X_LAST_UPDATE_DATE in DATE,
223 X_LAST_UPDATED_BY in NUMBER,
224 X_LAST_UPDATE_LOGIN in NUMBER,
225 X_ATTRIBUTE_CATEGORY in VARCHAR2,
226 X_ATTRIBUTE1 in VARCHAR2,
227 X_ATTRIBUTE2 in VARCHAR2,
228 X_ATTRIBUTE3 in VARCHAR2,
229 X_ATTRIBUTE4 in VARCHAR2,
230 X_ATTRIBUTE5 in VARCHAR2,
231 X_ATTRIBUTE6 in VARCHAR2,
232 X_ATTRIBUTE7 in VARCHAR2,
233 X_ATTRIBUTE8 in VARCHAR2,
234 X_ATTRIBUTE9 in VARCHAR2,
235 X_ATTRIBUTE10 in VARCHAR2,
236 X_ATTRIBUTE11 in VARCHAR2,
237 X_ATTRIBUTE12 in VARCHAR2,
238 X_ATTRIBUTE13 in VARCHAR2,
239 X_ATTRIBUTE14 in VARCHAR2,
240 X_ATTRIBUTE15 in VARCHAR2) IS
241
242 cursor C is select ROWID from CS_KB_ELEMENT_LINKS where LINK_ID = X_LINK_ID;
243
244
245 BEGIN
246
247 insert into CS_KB_ELEMENT_LINKS (
248 LINK_ID,
249 LINK_TYPE,
250 OBJECT_CODE,
251 ELEMENT_ID,
252 OTHER_ID,
253 CREATION_DATE,
254 CREATED_BY,
255 LAST_UPDATE_DATE,
256 LAST_UPDATED_BY,
257 LAST_UPDATE_LOGIN,
258 ATTRIBUTE_CATEGORY,
259 ATTRIBUTE1,
260 ATTRIBUTE2,
261 ATTRIBUTE3,
262 ATTRIBUTE4,
263 ATTRIBUTE5,
264 ATTRIBUTE6,
265 ATTRIBUTE7,
266 ATTRIBUTE8,
267 ATTRIBUTE9,
268 ATTRIBUTE10,
269 ATTRIBUTE11,
270 ATTRIBUTE12,
271 ATTRIBUTE13,
272 ATTRIBUTE14,
273 ATTRIBUTE15
274 ) values (
275 X_LINK_ID,
276 X_LINK_TYPE,
277 X_OBJECT_CODE,
278 X_ELEMENT_ID,
279 X_OTHER_ID,
280 X_CREATION_DATE,
281 X_CREATED_BY,
282 X_LAST_UPDATE_DATE,
283 X_LAST_UPDATED_BY,
284 X_LAST_UPDATE_LOGIN,
285 X_ATTRIBUTE_CATEGORY,
286 X_ATTRIBUTE1,
287 X_ATTRIBUTE2,
288 X_ATTRIBUTE3,
289 X_ATTRIBUTE4,
290 X_ATTRIBUTE5,
291 X_ATTRIBUTE6,
292 X_ATTRIBUTE7,
293 X_ATTRIBUTE8,
294 X_ATTRIBUTE9,
295 X_ATTRIBUTE10,
296 X_ATTRIBUTE11,
297 X_ATTRIBUTE12,
298 X_ATTRIBUTE13,
299 X_ATTRIBUTE14,
300 X_ATTRIBUTE15
301 );
302
303 open c;
304 fetch c into X_ROWID;
305
306 if (c%notfound) then
307 close c;
308 raise no_data_found;
309 end if;
310
311 close c;
312
313 END INSERT_ROW;
314
315 procedure UPDATE_ROW (
316 X_LINK_ID in NUMBER,
317 X_LINK_TYPE in VARCHAR2,
318 X_OBJECT_CODE in VARCHAR2,
319 X_ELEMENT_ID in NUMBER,
320 X_OTHER_ID in NUMBER,
321 X_LAST_UPDATE_DATE in DATE,
322 X_LAST_UPDATED_BY in NUMBER,
323 X_LAST_UPDATE_LOGIN in NUMBER,
324 X_ATTRIBUTE_CATEGORY in VARCHAR2,
325 X_ATTRIBUTE1 in VARCHAR2,
326 X_ATTRIBUTE2 in VARCHAR2,
327 X_ATTRIBUTE3 in VARCHAR2,
328 X_ATTRIBUTE4 in VARCHAR2,
329 X_ATTRIBUTE5 in VARCHAR2,
330 X_ATTRIBUTE6 in VARCHAR2,
331 X_ATTRIBUTE7 in VARCHAR2,
332 X_ATTRIBUTE8 in VARCHAR2,
333 X_ATTRIBUTE9 in VARCHAR2,
334 X_ATTRIBUTE10 in VARCHAR2,
335 X_ATTRIBUTE11 in VARCHAR2,
336 X_ATTRIBUTE12 in VARCHAR2,
337 X_ATTRIBUTE13 in VARCHAR2,
338 X_ATTRIBUTE14 in VARCHAR2,
339 X_ATTRIBUTE15 in VARCHAR2
340 ) IS
341
342 BEGIN
343
344 update CS_KB_ELEMENT_LINKS set
345
346 LINK_TYPE = X_LINK_TYPE,
347 OBJECT_CODE = X_OBJECT_CODE,
348 ELEMENT_ID = X_ELEMENT_ID,
349 OTHER_ID = X_OTHER_ID,
350 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
351 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
352 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
353 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
354 ATTRIBUTE1 = X_ATTRIBUTE1,
355 ATTRIBUTE2 = X_ATTRIBUTE2,
356 ATTRIBUTE3 = X_ATTRIBUTE3,
357 ATTRIBUTE4 = X_ATTRIBUTE4,
358 ATTRIBUTE5 = X_ATTRIBUTE5,
359 ATTRIBUTE6 = X_ATTRIBUTE6,
360 ATTRIBUTE7 = X_ATTRIBUTE7,
361 ATTRIBUTE8 = X_ATTRIBUTE8,
362 ATTRIBUTE9 = X_ATTRIBUTE9,
363 ATTRIBUTE10 = X_ATTRIBUTE10,
364 ATTRIBUTE11 = X_ATTRIBUTE11,
365 ATTRIBUTE12 = X_ATTRIBUTE12,
366 ATTRIBUTE13 = X_ATTRIBUTE13,
367 ATTRIBUTE14 = X_ATTRIBUTE14,
368 ATTRIBUTE15 = X_ATTRIBUTE15
369 where LINK_ID = X_LINK_ID;
370
371 if (sql%notfound) then
372 raise no_data_found;
373 end if;
374
375 END UPDATE_ROW;
376
377
378 end CS_KB_ELEMENT_LINKS_PKG;