[Home] [Help]
PACKAGE BODY: APPS.QP_LIMIT_BALANCES_UTIL
Source
1 PACKAGE BODY QP_Limit_Balances_Util AS
2 /* $Header: QPXULMBB.pls 120.1 2005/06/10 02:17:54 appldev $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Limit_Balances_Util';
7
8 -- Procedure Clear_Dependent_Attr
9
10 PROCEDURE Clear_Dependent_Attr
11 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
12 , p_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type
13 , p_old_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type :=
14 QP_Limits_PUB.G_MISS_LIMIT_BALANCES_REC
15 , x_LIMIT_BALANCES_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limit_Balances_Rec_Type
16 )
17 IS
18 l_index NUMBER := 0;
19 l_src_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
20 l_dep_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
21 BEGIN
22
23 -- Load out record
24
25 x_LIMIT_BALANCES_rec := p_LIMIT_BALANCES_rec;
26
27 -- If attr_id is missing compare old and new records and for
28 -- every changed attribute clear its dependent fields.
29
30 IF p_attr_id = FND_API.G_MISS_NUM THEN
31
32 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute1,p_old_LIMIT_BALANCES_rec.attribute1)
33 THEN
34 l_index := l_index + 1;
35 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE1;
36 END IF;
37
38 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute10,p_old_LIMIT_BALANCES_rec.attribute10)
39 THEN
40 l_index := l_index + 1;
41 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE10;
42 END IF;
43
44 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute11,p_old_LIMIT_BALANCES_rec.attribute11)
45 THEN
46 l_index := l_index + 1;
47 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE11;
48 END IF;
49
50 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute12,p_old_LIMIT_BALANCES_rec.attribute12)
51 THEN
52 l_index := l_index + 1;
53 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE12;
54 END IF;
55
56 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute13,p_old_LIMIT_BALANCES_rec.attribute13)
57 THEN
58 l_index := l_index + 1;
59 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE13;
60 END IF;
61
62 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute14,p_old_LIMIT_BALANCES_rec.attribute14)
63 THEN
64 l_index := l_index + 1;
65 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE14;
66 END IF;
67
68 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute15,p_old_LIMIT_BALANCES_rec.attribute15)
69 THEN
70 l_index := l_index + 1;
71 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE15;
72 END IF;
73
74 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute2,p_old_LIMIT_BALANCES_rec.attribute2)
75 THEN
76 l_index := l_index + 1;
77 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE2;
78 END IF;
79
80 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute3,p_old_LIMIT_BALANCES_rec.attribute3)
81 THEN
82 l_index := l_index + 1;
83 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE3;
84 END IF;
85
86 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute4,p_old_LIMIT_BALANCES_rec.attribute4)
87 THEN
88 l_index := l_index + 1;
89 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE4;
90 END IF;
91
92 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute5,p_old_LIMIT_BALANCES_rec.attribute5)
93 THEN
94 l_index := l_index + 1;
95 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE5;
96 END IF;
97
98 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute6,p_old_LIMIT_BALANCES_rec.attribute6)
99 THEN
100 l_index := l_index + 1;
101 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE6;
102 END IF;
103
104 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute7,p_old_LIMIT_BALANCES_rec.attribute7)
105 THEN
106 l_index := l_index + 1;
107 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE7;
108 END IF;
109
110 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute8,p_old_LIMIT_BALANCES_rec.attribute8)
111 THEN
112 l_index := l_index + 1;
113 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE8;
114 END IF;
115
116 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute9,p_old_LIMIT_BALANCES_rec.attribute9)
117 THEN
118 l_index := l_index + 1;
119 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE9;
120 END IF;
121
122 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.available_amount,p_old_LIMIT_BALANCES_rec.available_amount)
123 THEN
124 l_index := l_index + 1;
125 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_AVAILABLE_AMOUNT;
126 END IF;
127
128 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.consumed_amount,p_old_LIMIT_BALANCES_rec.consumed_amount)
129 THEN
130 l_index := l_index + 1;
131 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_CONSUMED_AMOUNT;
132 END IF;
133
134 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.context,p_old_LIMIT_BALANCES_rec.context)
135 THEN
136 l_index := l_index + 1;
137 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_CONTEXT;
138 END IF;
139
140 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.created_by,p_old_LIMIT_BALANCES_rec.created_by)
141 THEN
142 l_index := l_index + 1;
143 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_CREATED_BY;
144 END IF;
145
146 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.creation_date,p_old_LIMIT_BALANCES_rec.creation_date)
147 THEN
148 l_index := l_index + 1;
149 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_CREATION_DATE;
150 END IF;
151
152 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.last_updated_by,p_old_LIMIT_BALANCES_rec.last_updated_by)
153 THEN
154 l_index := l_index + 1;
155 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_LAST_UPDATED_BY;
156 END IF;
157
158 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.last_update_date,p_old_LIMIT_BALANCES_rec.last_update_date)
159 THEN
160 l_index := l_index + 1;
161 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_LAST_UPDATE_DATE;
162 END IF;
163
164 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.last_update_login,p_old_LIMIT_BALANCES_rec.last_update_login)
165 THEN
166 l_index := l_index + 1;
167 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_LAST_UPDATE_LOGIN;
168 END IF;
169
170 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.limit_balance_id,p_old_LIMIT_BALANCES_rec.limit_balance_id)
171 THEN
172 l_index := l_index + 1;
173 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_LIMIT_BALANCE;
174 END IF;
175
176 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.limit_id,p_old_LIMIT_BALANCES_rec.limit_id)
177 THEN
178 l_index := l_index + 1;
179 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_LIMIT;
180 END IF;
181
182 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.program_application_id,p_old_LIMIT_BALANCES_rec.program_application_id)
183 THEN
184 l_index := l_index + 1;
185 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_PROGRAM_APPLICATION;
186 END IF;
187
188 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.program_id,p_old_LIMIT_BALANCES_rec.program_id)
189 THEN
190 l_index := l_index + 1;
191 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_PROGRAM;
192 END IF;
193
194 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.program_update_date,p_old_LIMIT_BALANCES_rec.program_update_date)
195 THEN
196 l_index := l_index + 1;
197 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_PROGRAM_UPDATE_DATE;
198 END IF;
199
200 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.request_id,p_old_LIMIT_BALANCES_rec.request_id)
201 THEN
202 l_index := l_index + 1;
203 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_REQUEST;
204 END IF;
205
206 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.reserved_amount,p_old_LIMIT_BALANCES_rec.reserved_amount)
207 THEN
208 l_index := l_index + 1;
209 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_RESERVED_AMOUNT;
210 END IF;
211
212 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_type,p_old_LIMIT_BALANCES_rec.multival_attr1_type)
213 THEN
214 l_index := l_index + 1;
215 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR1_TYPE;
216 END IF;
217
218 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_context,p_old_LIMIT_BALANCES_rec.multival_attr1_context)
219 THEN
220 l_index := l_index + 1;
221 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR1_CONTEXT;
222 END IF;
223
224 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attribute1,p_old_LIMIT_BALANCES_rec.multival_attribute1)
225 THEN
226 l_index := l_index + 1;
227 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTRIBUTE1;
228 END IF;
229
230 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_value,p_old_LIMIT_BALANCES_rec.multival_attr1_value)
231 THEN
232 l_index := l_index + 1;
233 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR1_VALUE;
234 END IF;
235
236 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_datatype,p_old_LIMIT_BALANCES_rec.multival_attr1_datatype)
237 THEN
238 l_index := l_index + 1;
239 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR1_DATATYPE;
240 END IF;
241
242 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_type,p_old_LIMIT_BALANCES_rec.multival_attr2_type)
243 THEN
244 l_index := l_index + 1;
245 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR2_TYPE;
246 END IF;
247
248 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_context,p_old_LIMIT_BALANCES_rec.multival_attr2_context)
249 THEN
250 l_index := l_index + 1;
251 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR2_CONTEXT;
252 END IF;
253
254 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attribute2,p_old_LIMIT_BALANCES_rec.multival_attribute2)
255 THEN
256 l_index := l_index + 1;
257 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTRIBUTE2;
258 END IF;
259
260 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_value,p_old_LIMIT_BALANCES_rec.multival_attr2_value)
261 THEN
262 l_index := l_index + 1;
263 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR2_VALUE;
264 END IF;
265
266 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_datatype,p_old_LIMIT_BALANCES_rec.multival_attr2_datatype)
267 THEN
268 l_index := l_index + 1;
269 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR2_DATATYPE;
270 END IF;
271
272 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.organization_attr_context,p_old_LIMIT_BALANCES_rec.organization_attr_context)
273 THEN
274 l_index := l_index + 1;
275 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ORGANIZATION_ATTR_CONTEXT;
276 END IF;
277
278 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.organization_attribute,p_old_LIMIT_BALANCES_rec.organization_attribute)
279 THEN
280 l_index := l_index + 1;
281 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ORGANIZATION_ATTRIBUTE;
282 END IF;
283
284 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.organization_attr_value,p_old_LIMIT_BALANCES_rec.organization_attr_value)
285 THEN
286 l_index := l_index + 1;
287 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ORGANIZATION_ATTR_VALUE;
288 END IF;
289
290 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
291 l_index := l_index + 1;
292 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE1;
293 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
294 l_index := l_index + 1;
295 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE10;
296 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
297 l_index := l_index + 1;
298 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE11;
299 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
300 l_index := l_index + 1;
301 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE12;
302 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
303 l_index := l_index + 1;
304 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE13;
305 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
306 l_index := l_index + 1;
307 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE14;
308 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
309 l_index := l_index + 1;
310 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE15;
311 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
312 l_index := l_index + 1;
313 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE2;
314 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
315 l_index := l_index + 1;
316 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE3;
317 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
318 l_index := l_index + 1;
319 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE4;
320 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
321 l_index := l_index + 1;
322 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE5;
323 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
324 l_index := l_index + 1;
325 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE6;
326 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
327 l_index := l_index + 1;
328 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE7;
329 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
330 l_index := l_index + 1;
331 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE8;
332 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
333 l_index := l_index + 1;
334 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ATTRIBUTE9;
335 ELSIF p_attr_id = G_AVAILABLE_AMOUNT THEN
336 l_index := l_index + 1;
337 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_AVAILABLE_AMOUNT;
338 ELSIF p_attr_id = G_CONSUMED_AMOUNT THEN
339 l_index := l_index + 1;
340 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_CONSUMED_AMOUNT;
341 ELSIF p_attr_id = G_CONTEXT THEN
342 l_index := l_index + 1;
343 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_CONTEXT;
344 ELSIF p_attr_id = G_CREATED_BY THEN
345 l_index := l_index + 1;
346 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_CREATED_BY;
347 ELSIF p_attr_id = G_CREATION_DATE THEN
348 l_index := l_index + 1;
349 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_CREATION_DATE;
350 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
351 l_index := l_index + 1;
352 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_LAST_UPDATED_BY;
353 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
354 l_index := l_index + 1;
355 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_LAST_UPDATE_DATE;
356 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
357 l_index := l_index + 1;
358 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_LAST_UPDATE_LOGIN;
359 ELSIF p_attr_id = G_LIMIT_BALANCE THEN
360 l_index := l_index + 1;
361 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_LIMIT_BALANCE;
362 ELSIF p_attr_id = G_LIMIT THEN
363 l_index := l_index + 1;
364 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_LIMIT;
365 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
366 l_index := l_index + 1;
367 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_PROGRAM_APPLICATION;
368 ELSIF p_attr_id = G_PROGRAM THEN
369 l_index := l_index + 1;
370 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_PROGRAM;
371 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
372 l_index := l_index + 1;
373 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_PROGRAM_UPDATE_DATE;
374 ELSIF p_attr_id = G_REQUEST THEN
375 l_index := l_index + 1;
376 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_REQUEST;
377 ELSIF p_attr_id = G_RESERVED_AMOUNT THEN
378 l_index := l_index + 1;
379 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_RESERVED_AMOUNT;
380 ELSIF p_attr_id = G_MULTIVAL_ATTR1_TYPE THEN
381 l_index := l_index + 1;
382 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR1_TYPE;
383 ELSIF p_attr_id = G_MULTIVAL_ATTR1_CONTEXT THEN
384 l_index := l_index + 1;
385 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR1_CONTEXT;
386 ELSIF p_attr_id = G_MULTIVAL_ATTRIBUTE1 THEN
387 l_index := l_index + 1;
388 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTRIBUTE1;
389 ELSIF p_attr_id = G_MULTIVAL_ATTR1_VALUE THEN
390 l_index := l_index + 1;
391 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR1_VALUE;
392 ELSIF p_attr_id = G_MULTIVAL_ATTR1_DATATYPE THEN
393 l_index := l_index + 1;
394 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR1_DATATYPE;
395 ELSIF p_attr_id = G_MULTIVAL_ATTR2_TYPE THEN
396 l_index := l_index + 1;
397 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR2_TYPE;
398 ELSIF p_attr_id = G_MULTIVAL_ATTR2_CONTEXT THEN
399 l_index := l_index + 1;
400 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR2_CONTEXT;
401 ELSIF p_attr_id = G_MULTIVAL_ATTRIBUTE2 THEN
402 l_index := l_index + 1;
403 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTRIBUTE2;
404 ELSIF p_attr_id = G_MULTIVAL_ATTR2_VALUE THEN
405 l_index := l_index + 1;
406 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR2_VALUE;
407 ELSIF p_attr_id = G_MULTIVAL_ATTR2_DATATYPE THEN
408 l_index := l_index + 1;
409 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_MULTIVAL_ATTR2_DATATYPE;
410 ELSIF p_attr_id = G_ORGANIZATION_ATTR_CONTEXT THEN
411 l_index := l_index + 1;
412 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ORGANIZATION_ATTR_CONTEXT;
413 ELSIF p_attr_id = G_ORGANIZATION_ATTRIBUTE THEN
414 l_index := l_index + 1;
415 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ORGANIZATION_ATTRIBUTE;
416 ELSIF p_attr_id = G_ORGANIZATION_ATTR_VALUE THEN
417 l_index := l_index + 1;
418 l_src_attr_tbl(l_index) := QP_LIMIT_BALANCES_UTIL.G_ORGANIZATION_ATTR_VALUE;
419 END IF;
420
421 END Clear_Dependent_Attr;
422
423 -- Procedure Apply_Attribute_Changes
424
425 PROCEDURE Apply_Attribute_Changes
426 ( p_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type
427 , p_old_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type :=
428 QP_Limits_PUB.G_MISS_LIMIT_BALANCES_REC
429 , x_LIMIT_BALANCES_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limit_Balances_Rec_Type
430 )
431 IS
432 BEGIN
433
434 -- Load out record
435
436 x_LIMIT_BALANCES_rec := p_LIMIT_BALANCES_rec;
437
438 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute1,p_old_LIMIT_BALANCES_rec.attribute1)
439 THEN
440 NULL;
441 END IF;
442
443 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute10,p_old_LIMIT_BALANCES_rec.attribute10)
444 THEN
445 NULL;
446 END IF;
447
448 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute11,p_old_LIMIT_BALANCES_rec.attribute11)
449 THEN
450 NULL;
451 END IF;
452
453 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute12,p_old_LIMIT_BALANCES_rec.attribute12)
454 THEN
455 NULL;
456 END IF;
457
458 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute13,p_old_LIMIT_BALANCES_rec.attribute13)
459 THEN
460 NULL;
461 END IF;
462
463 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute14,p_old_LIMIT_BALANCES_rec.attribute14)
464 THEN
465 NULL;
466 END IF;
467
468 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute15,p_old_LIMIT_BALANCES_rec.attribute15)
469 THEN
470 NULL;
471 END IF;
472
473 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute2,p_old_LIMIT_BALANCES_rec.attribute2)
474 THEN
475 NULL;
476 END IF;
477
478 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute3,p_old_LIMIT_BALANCES_rec.attribute3)
479 THEN
480 NULL;
481 END IF;
482
483 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute4,p_old_LIMIT_BALANCES_rec.attribute4)
484 THEN
485 NULL;
486 END IF;
487
488 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute5,p_old_LIMIT_BALANCES_rec.attribute5)
489 THEN
490 NULL;
491 END IF;
492
493 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute6,p_old_LIMIT_BALANCES_rec.attribute6)
494 THEN
495 NULL;
496 END IF;
497
498 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute7,p_old_LIMIT_BALANCES_rec.attribute7)
499 THEN
500 NULL;
501 END IF;
502
503 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute8,p_old_LIMIT_BALANCES_rec.attribute8)
504 THEN
505 NULL;
506 END IF;
507
508 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute9,p_old_LIMIT_BALANCES_rec.attribute9)
509 THEN
510 NULL;
511 END IF;
512
513 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.available_amount,p_old_LIMIT_BALANCES_rec.available_amount)
514 THEN
515 NULL;
516 END IF;
517
518 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.consumed_amount,p_old_LIMIT_BALANCES_rec.consumed_amount)
519 THEN
520 NULL;
521 END IF;
522
523 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.context,p_old_LIMIT_BALANCES_rec.context)
524 THEN
525 NULL;
526 END IF;
527
528 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.created_by,p_old_LIMIT_BALANCES_rec.created_by)
529 THEN
530 NULL;
531 END IF;
532
533 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.creation_date,p_old_LIMIT_BALANCES_rec.creation_date)
534 THEN
535 NULL;
536 END IF;
537
538 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.last_updated_by,p_old_LIMIT_BALANCES_rec.last_updated_by)
539 THEN
540 NULL;
541 END IF;
542
543 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.last_update_date,p_old_LIMIT_BALANCES_rec.last_update_date)
544 THEN
545 NULL;
546 END IF;
547
548 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.last_update_login,p_old_LIMIT_BALANCES_rec.last_update_login)
549 THEN
550 NULL;
551 END IF;
552
553 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.limit_balance_id,p_old_LIMIT_BALANCES_rec.limit_balance_id)
554 THEN
555 NULL;
556 END IF;
557
558 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.limit_id,p_old_LIMIT_BALANCES_rec.limit_id)
559 THEN
560 NULL;
561 END IF;
562
563 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.program_application_id,p_old_LIMIT_BALANCES_rec.program_application_id)
564 THEN
565 NULL;
566 END IF;
567
568 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.program_id,p_old_LIMIT_BALANCES_rec.program_id)
569 THEN
570 NULL;
571 END IF;
572
573 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.program_update_date,p_old_LIMIT_BALANCES_rec.program_update_date)
574 THEN
575 NULL;
576 END IF;
577
578 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.request_id,p_old_LIMIT_BALANCES_rec.request_id)
579 THEN
580 NULL;
581 END IF;
582
583 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.reserved_amount,p_old_LIMIT_BALANCES_rec.reserved_amount)
584 THEN
585 NULL;
586 END IF;
587
588 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_type,p_old_LIMIT_BALANCES_rec.multival_attr1_type)
589 THEN
590 NULL;
591 END IF;
592
593 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_context,p_old_LIMIT_BALANCES_rec.multival_attr1_context)
594 THEN
595 NULL;
596 END IF;
597
598 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attribute1,p_old_LIMIT_BALANCES_rec.multival_attribute1)
599 THEN
600 NULL;
601 END IF;
602
603 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_value,p_old_LIMIT_BALANCES_rec.multival_attr1_value)
604 THEN
605 NULL;
606 END IF;
607
608 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_datatype,p_old_LIMIT_BALANCES_rec.multival_attr1_datatype)
609 THEN
610 NULL;
611 END IF;
612
613 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_type,p_old_LIMIT_BALANCES_rec.multival_attr2_type)
614 THEN
615 NULL;
616 END IF;
617
618 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_context,p_old_LIMIT_BALANCES_rec.multival_attr2_context)
619 THEN
620 NULL;
621 END IF;
622
623 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attribute2,p_old_LIMIT_BALANCES_rec.multival_attribute2)
624 THEN
625 NULL;
626 END IF;
627
628 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_value,p_old_LIMIT_BALANCES_rec.multival_attr2_value)
629 THEN
630 NULL;
631 END IF;
632
633 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_datatype,p_old_LIMIT_BALANCES_rec.multival_attr2_datatype)
634 THEN
635 NULL;
636 END IF;
637
638 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.organization_attr_context,p_old_LIMIT_BALANCES_rec.organization_attr_context)
639 THEN
640 NULL;
641 END IF;
642
643 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.organization_attribute,p_old_LIMIT_BALANCES_rec.organization_attribute)
644 THEN
645 NULL;
646 END IF;
647
648 IF NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.organization_attr_value,p_old_LIMIT_BALANCES_rec.organization_attr_value)
649 THEN
650 NULL;
651 END IF;
652
653
654 END Apply_Attribute_Changes;
655
656 -- Function Complete_Record
657
658 FUNCTION Complete_Record
659 ( p_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type
660 , p_old_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type
661 ) RETURN QP_Limits_PUB.Limit_Balances_Rec_Type
662 IS
663 l_LIMIT_BALANCES_rec QP_Limits_PUB.Limit_Balances_Rec_Type := p_LIMIT_BALANCES_rec;
664 BEGIN
665
666 IF l_LIMIT_BALANCES_rec.attribute1 = FND_API.G_MISS_CHAR THEN
667 l_LIMIT_BALANCES_rec.attribute1 := p_old_LIMIT_BALANCES_rec.attribute1;
668 END IF;
669
670 IF l_LIMIT_BALANCES_rec.attribute10 = FND_API.G_MISS_CHAR THEN
671 l_LIMIT_BALANCES_rec.attribute10 := p_old_LIMIT_BALANCES_rec.attribute10;
672 END IF;
673
674 IF l_LIMIT_BALANCES_rec.attribute11 = FND_API.G_MISS_CHAR THEN
675 l_LIMIT_BALANCES_rec.attribute11 := p_old_LIMIT_BALANCES_rec.attribute11;
676 END IF;
677
678 IF l_LIMIT_BALANCES_rec.attribute12 = FND_API.G_MISS_CHAR THEN
679 l_LIMIT_BALANCES_rec.attribute12 := p_old_LIMIT_BALANCES_rec.attribute12;
680 END IF;
681
682 IF l_LIMIT_BALANCES_rec.attribute13 = FND_API.G_MISS_CHAR THEN
683 l_LIMIT_BALANCES_rec.attribute13 := p_old_LIMIT_BALANCES_rec.attribute13;
684 END IF;
685
686 IF l_LIMIT_BALANCES_rec.attribute14 = FND_API.G_MISS_CHAR THEN
687 l_LIMIT_BALANCES_rec.attribute14 := p_old_LIMIT_BALANCES_rec.attribute14;
688 END IF;
689
690 IF l_LIMIT_BALANCES_rec.attribute15 = FND_API.G_MISS_CHAR THEN
691 l_LIMIT_BALANCES_rec.attribute15 := p_old_LIMIT_BALANCES_rec.attribute15;
692 END IF;
693
694 IF l_LIMIT_BALANCES_rec.attribute2 = FND_API.G_MISS_CHAR THEN
695 l_LIMIT_BALANCES_rec.attribute2 := p_old_LIMIT_BALANCES_rec.attribute2;
696 END IF;
697
698 IF l_LIMIT_BALANCES_rec.attribute3 = FND_API.G_MISS_CHAR THEN
699 l_LIMIT_BALANCES_rec.attribute3 := p_old_LIMIT_BALANCES_rec.attribute3;
700 END IF;
701
702 IF l_LIMIT_BALANCES_rec.attribute4 = FND_API.G_MISS_CHAR THEN
703 l_LIMIT_BALANCES_rec.attribute4 := p_old_LIMIT_BALANCES_rec.attribute4;
704 END IF;
705
706 IF l_LIMIT_BALANCES_rec.attribute5 = FND_API.G_MISS_CHAR THEN
707 l_LIMIT_BALANCES_rec.attribute5 := p_old_LIMIT_BALANCES_rec.attribute5;
708 END IF;
709
710 IF l_LIMIT_BALANCES_rec.attribute6 = FND_API.G_MISS_CHAR THEN
711 l_LIMIT_BALANCES_rec.attribute6 := p_old_LIMIT_BALANCES_rec.attribute6;
712 END IF;
713
714 IF l_LIMIT_BALANCES_rec.attribute7 = FND_API.G_MISS_CHAR THEN
715 l_LIMIT_BALANCES_rec.attribute7 := p_old_LIMIT_BALANCES_rec.attribute7;
716 END IF;
717
718 IF l_LIMIT_BALANCES_rec.attribute8 = FND_API.G_MISS_CHAR THEN
719 l_LIMIT_BALANCES_rec.attribute8 := p_old_LIMIT_BALANCES_rec.attribute8;
720 END IF;
721
722 IF l_LIMIT_BALANCES_rec.attribute9 = FND_API.G_MISS_CHAR THEN
723 l_LIMIT_BALANCES_rec.attribute9 := p_old_LIMIT_BALANCES_rec.attribute9;
724 END IF;
725
726 IF l_LIMIT_BALANCES_rec.available_amount = FND_API.G_MISS_NUM THEN
727 l_LIMIT_BALANCES_rec.available_amount := p_old_LIMIT_BALANCES_rec.available_amount;
728 END IF;
729
730 IF l_LIMIT_BALANCES_rec.consumed_amount = FND_API.G_MISS_NUM THEN
731 l_LIMIT_BALANCES_rec.consumed_amount := p_old_LIMIT_BALANCES_rec.consumed_amount;
732 END IF;
733
734 IF l_LIMIT_BALANCES_rec.context = FND_API.G_MISS_CHAR THEN
735 l_LIMIT_BALANCES_rec.context := p_old_LIMIT_BALANCES_rec.context;
736 END IF;
737
738 IF l_LIMIT_BALANCES_rec.created_by = FND_API.G_MISS_NUM THEN
739 l_LIMIT_BALANCES_rec.created_by := p_old_LIMIT_BALANCES_rec.created_by;
740 END IF;
741
742 IF l_LIMIT_BALANCES_rec.creation_date = FND_API.G_MISS_DATE THEN
743 l_LIMIT_BALANCES_rec.creation_date := p_old_LIMIT_BALANCES_rec.creation_date;
744 END IF;
745
746 IF l_LIMIT_BALANCES_rec.last_updated_by = FND_API.G_MISS_NUM THEN
747 l_LIMIT_BALANCES_rec.last_updated_by := p_old_LIMIT_BALANCES_rec.last_updated_by;
748 END IF;
749
750 IF l_LIMIT_BALANCES_rec.last_update_date = FND_API.G_MISS_DATE THEN
751 l_LIMIT_BALANCES_rec.last_update_date := p_old_LIMIT_BALANCES_rec.last_update_date;
752 END IF;
753
754 IF l_LIMIT_BALANCES_rec.last_update_login = FND_API.G_MISS_NUM THEN
755 l_LIMIT_BALANCES_rec.last_update_login := p_old_LIMIT_BALANCES_rec.last_update_login;
756 END IF;
757
758 IF l_LIMIT_BALANCES_rec.limit_balance_id = FND_API.G_MISS_NUM THEN
759 l_LIMIT_BALANCES_rec.limit_balance_id := p_old_LIMIT_BALANCES_rec.limit_balance_id;
760 END IF;
761
762 IF l_LIMIT_BALANCES_rec.limit_id = FND_API.G_MISS_NUM THEN
763 l_LIMIT_BALANCES_rec.limit_id := p_old_LIMIT_BALANCES_rec.limit_id;
764 END IF;
765
766 IF l_LIMIT_BALANCES_rec.program_application_id = FND_API.G_MISS_NUM THEN
767 l_LIMIT_BALANCES_rec.program_application_id := p_old_LIMIT_BALANCES_rec.program_application_id;
768 END IF;
769
770 IF l_LIMIT_BALANCES_rec.program_id = FND_API.G_MISS_NUM THEN
771 l_LIMIT_BALANCES_rec.program_id := p_old_LIMIT_BALANCES_rec.program_id;
772 END IF;
773
774 IF l_LIMIT_BALANCES_rec.program_update_date = FND_API.G_MISS_DATE THEN
775 l_LIMIT_BALANCES_rec.program_update_date := p_old_LIMIT_BALANCES_rec.program_update_date;
776 END IF;
777
778 IF l_LIMIT_BALANCES_rec.request_id = FND_API.G_MISS_NUM THEN
779 l_LIMIT_BALANCES_rec.request_id := p_old_LIMIT_BALANCES_rec.request_id;
780 END IF;
781
782 IF l_LIMIT_BALANCES_rec.reserved_amount = FND_API.G_MISS_NUM THEN
783 l_LIMIT_BALANCES_rec.reserved_amount := p_old_LIMIT_BALANCES_rec.reserved_amount;
784 END IF;
785
786 IF l_LIMIT_BALANCES_rec.multival_attr1_type = FND_API.G_MISS_CHAR THEN
787 l_LIMIT_BALANCES_rec.multival_attr1_type := p_old_LIMIT_BALANCES_rec.multival_attr1_type;
788 END IF;
789
790 IF l_LIMIT_BALANCES_rec.multival_attr1_context = FND_API.G_MISS_CHAR THEN
791 l_LIMIT_BALANCES_rec.multival_attr1_context := p_old_LIMIT_BALANCES_rec.multival_attr1_context;
792 END IF;
793
794 IF l_LIMIT_BALANCES_rec.multival_attribute1 = FND_API.G_MISS_CHAR THEN
795 l_LIMIT_BALANCES_rec.multival_attribute1 := p_old_LIMIT_BALANCES_rec.multival_attribute1;
796 END IF;
797
798 IF l_LIMIT_BALANCES_rec.multival_attr1_value = FND_API.G_MISS_CHAR THEN
799 l_LIMIT_BALANCES_rec.multival_attr1_value := p_old_LIMIT_BALANCES_rec.multival_attr1_value;
800 END IF;
801
802 IF l_LIMIT_BALANCES_rec.multival_attr1_datatype = FND_API.G_MISS_CHAR THEN
803 l_LIMIT_BALANCES_rec.multival_attr1_datatype := p_old_LIMIT_BALANCES_rec.multival_attr1_datatype;
804 END IF;
805
806 IF l_LIMIT_BALANCES_rec.multival_attr2_type = FND_API.G_MISS_CHAR THEN
807 l_LIMIT_BALANCES_rec.multival_attr2_type := p_old_LIMIT_BALANCES_rec.multival_attr2_type;
808 END IF;
809
810 IF l_LIMIT_BALANCES_rec.multival_attr2_context = FND_API.G_MISS_CHAR THEN
811 l_LIMIT_BALANCES_rec.multival_attr2_context := p_old_LIMIT_BALANCES_rec.multival_attr2_context;
812 END IF;
813
814 IF l_LIMIT_BALANCES_rec.multival_attribute2 = FND_API.G_MISS_CHAR THEN
815 l_LIMIT_BALANCES_rec.multival_attribute2 := p_old_LIMIT_BALANCES_rec.multival_attribute2;
816 END IF;
817
818 IF l_LIMIT_BALANCES_rec.multival_attr2_value = FND_API.G_MISS_CHAR THEN
819 l_LIMIT_BALANCES_rec.multival_attr2_value := p_old_LIMIT_BALANCES_rec.multival_attr2_value;
820 END IF;
821
822 IF l_LIMIT_BALANCES_rec.multival_attr2_datatype = FND_API.G_MISS_CHAR THEN
823 l_LIMIT_BALANCES_rec.multival_attr2_datatype := p_old_LIMIT_BALANCES_rec.multival_attr2_datatype;
824 END IF;
825
826 IF l_LIMIT_BALANCES_rec.organization_attr_context = FND_API.G_MISS_CHAR THEN
827 l_LIMIT_BALANCES_rec.organization_attr_context := p_old_LIMIT_BALANCES_rec.organization_attr_context;
828 END IF;
829
830 IF l_LIMIT_BALANCES_rec.organization_attribute = FND_API.G_MISS_CHAR THEN
831 l_LIMIT_BALANCES_rec.organization_attribute := p_old_LIMIT_BALANCES_rec.organization_attribute;
832 END IF;
833
834 IF l_LIMIT_BALANCES_rec.organization_attr_value = FND_API.G_MISS_CHAR THEN
835 l_LIMIT_BALANCES_rec.organization_attr_value := p_old_LIMIT_BALANCES_rec.organization_attr_value;
836 END IF;
837
838 RETURN l_LIMIT_BALANCES_rec;
839
840 END Complete_Record;
841
842 -- Function Convert_Miss_To_Null
843
844 FUNCTION Convert_Miss_To_Null
845 ( p_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type
846 ) RETURN QP_Limits_PUB.Limit_Balances_Rec_Type
847 IS
848 l_LIMIT_BALANCES_rec QP_Limits_PUB.Limit_Balances_Rec_Type := p_LIMIT_BALANCES_rec;
849 BEGIN
850
851 IF l_LIMIT_BALANCES_rec.attribute1 = FND_API.G_MISS_CHAR THEN
852 l_LIMIT_BALANCES_rec.attribute1 := NULL;
853 END IF;
854
855 IF l_LIMIT_BALANCES_rec.attribute10 = FND_API.G_MISS_CHAR THEN
856 l_LIMIT_BALANCES_rec.attribute10 := NULL;
857 END IF;
858
859 IF l_LIMIT_BALANCES_rec.attribute11 = FND_API.G_MISS_CHAR THEN
860 l_LIMIT_BALANCES_rec.attribute11 := NULL;
861 END IF;
862
863 IF l_LIMIT_BALANCES_rec.attribute12 = FND_API.G_MISS_CHAR THEN
864 l_LIMIT_BALANCES_rec.attribute12 := NULL;
865 END IF;
866
867 IF l_LIMIT_BALANCES_rec.attribute13 = FND_API.G_MISS_CHAR THEN
868 l_LIMIT_BALANCES_rec.attribute13 := NULL;
869 END IF;
870
871 IF l_LIMIT_BALANCES_rec.attribute14 = FND_API.G_MISS_CHAR THEN
872 l_LIMIT_BALANCES_rec.attribute14 := NULL;
873 END IF;
874
875 IF l_LIMIT_BALANCES_rec.attribute15 = FND_API.G_MISS_CHAR THEN
876 l_LIMIT_BALANCES_rec.attribute15 := NULL;
877 END IF;
878
879 IF l_LIMIT_BALANCES_rec.attribute2 = FND_API.G_MISS_CHAR THEN
880 l_LIMIT_BALANCES_rec.attribute2 := NULL;
881 END IF;
882
883 IF l_LIMIT_BALANCES_rec.attribute3 = FND_API.G_MISS_CHAR THEN
884 l_LIMIT_BALANCES_rec.attribute3 := NULL;
885 END IF;
886
887 IF l_LIMIT_BALANCES_rec.attribute4 = FND_API.G_MISS_CHAR THEN
888 l_LIMIT_BALANCES_rec.attribute4 := NULL;
889 END IF;
890
891 IF l_LIMIT_BALANCES_rec.attribute5 = FND_API.G_MISS_CHAR THEN
892 l_LIMIT_BALANCES_rec.attribute5 := NULL;
893 END IF;
894
895 IF l_LIMIT_BALANCES_rec.attribute6 = FND_API.G_MISS_CHAR THEN
896 l_LIMIT_BALANCES_rec.attribute6 := NULL;
897 END IF;
898
899 IF l_LIMIT_BALANCES_rec.attribute7 = FND_API.G_MISS_CHAR THEN
900 l_LIMIT_BALANCES_rec.attribute7 := NULL;
901 END IF;
902
903 IF l_LIMIT_BALANCES_rec.attribute8 = FND_API.G_MISS_CHAR THEN
904 l_LIMIT_BALANCES_rec.attribute8 := NULL;
905 END IF;
906
907 IF l_LIMIT_BALANCES_rec.attribute9 = FND_API.G_MISS_CHAR THEN
908 l_LIMIT_BALANCES_rec.attribute9 := NULL;
909 END IF;
910
911 IF l_LIMIT_BALANCES_rec.available_amount = FND_API.G_MISS_NUM THEN
912 l_LIMIT_BALANCES_rec.available_amount := NULL;
913 END IF;
914
915 IF l_LIMIT_BALANCES_rec.consumed_amount = FND_API.G_MISS_NUM THEN
916 l_LIMIT_BALANCES_rec.consumed_amount := NULL;
917 END IF;
918
919 IF l_LIMIT_BALANCES_rec.context = FND_API.G_MISS_CHAR THEN
920 l_LIMIT_BALANCES_rec.context := NULL;
921 END IF;
922
923 IF l_LIMIT_BALANCES_rec.created_by = FND_API.G_MISS_NUM THEN
924 l_LIMIT_BALANCES_rec.created_by := NULL;
925 END IF;
926
927 IF l_LIMIT_BALANCES_rec.creation_date = FND_API.G_MISS_DATE THEN
928 l_LIMIT_BALANCES_rec.creation_date := NULL;
929 END IF;
930
931 IF l_LIMIT_BALANCES_rec.last_updated_by = FND_API.G_MISS_NUM THEN
932 l_LIMIT_BALANCES_rec.last_updated_by := NULL;
933 END IF;
934
935 IF l_LIMIT_BALANCES_rec.last_update_date = FND_API.G_MISS_DATE THEN
936 l_LIMIT_BALANCES_rec.last_update_date := NULL;
937 END IF;
938
939 IF l_LIMIT_BALANCES_rec.last_update_login = FND_API.G_MISS_NUM THEN
940 l_LIMIT_BALANCES_rec.last_update_login := NULL;
941 END IF;
942
943 IF l_LIMIT_BALANCES_rec.limit_balance_id = FND_API.G_MISS_NUM THEN
944 l_LIMIT_BALANCES_rec.limit_balance_id := NULL;
945 END IF;
946
947 IF l_LIMIT_BALANCES_rec.limit_id = FND_API.G_MISS_NUM THEN
948 l_LIMIT_BALANCES_rec.limit_id := NULL;
949 END IF;
950
951 IF l_LIMIT_BALANCES_rec.program_application_id = FND_API.G_MISS_NUM THEN
952 l_LIMIT_BALANCES_rec.program_application_id := NULL;
953 END IF;
954
955 IF l_LIMIT_BALANCES_rec.program_id = FND_API.G_MISS_NUM THEN
956 l_LIMIT_BALANCES_rec.program_id := NULL;
957 END IF;
958
959 IF l_LIMIT_BALANCES_rec.program_update_date = FND_API.G_MISS_DATE THEN
960 l_LIMIT_BALANCES_rec.program_update_date := NULL;
961 END IF;
962
963 IF l_LIMIT_BALANCES_rec.request_id = FND_API.G_MISS_NUM THEN
964 l_LIMIT_BALANCES_rec.request_id := NULL;
965 END IF;
966
967 IF l_LIMIT_BALANCES_rec.reserved_amount = FND_API.G_MISS_NUM THEN
968 l_LIMIT_BALANCES_rec.reserved_amount := NULL;
969 END IF;
970
971 IF l_LIMIT_BALANCES_rec.multival_attr1_type = FND_API.G_MISS_CHAR THEN
972 l_LIMIT_BALANCES_rec.multival_attr1_type := NULL;
973 END IF;
974
975 IF l_LIMIT_BALANCES_rec.multival_attr1_context = FND_API.G_MISS_CHAR THEN
976 l_LIMIT_BALANCES_rec.multival_attr1_context := NULL;
977 END IF;
978
979 IF l_LIMIT_BALANCES_rec.multival_attribute1 = FND_API.G_MISS_CHAR THEN
980 l_LIMIT_BALANCES_rec.multival_attribute1 := NULL;
981 END IF;
982
983 IF l_LIMIT_BALANCES_rec.multival_attr1_value = FND_API.G_MISS_CHAR THEN
984 l_LIMIT_BALANCES_rec.multival_attr1_value := NULL;
985 END IF;
986
987 IF l_LIMIT_BALANCES_rec.multival_attr1_datatype = FND_API.G_MISS_CHAR THEN
988 l_LIMIT_BALANCES_rec.multival_attr1_datatype := NULL;
989 END IF;
990
991 IF l_LIMIT_BALANCES_rec.multival_attr2_type = FND_API.G_MISS_CHAR THEN
992 l_LIMIT_BALANCES_rec.multival_attr2_type := NULL;
993 END IF;
994
995 IF l_LIMIT_BALANCES_rec.multival_attr2_context = FND_API.G_MISS_CHAR THEN
996 l_LIMIT_BALANCES_rec.multival_attr2_context := NULL;
997 END IF;
998
999 IF l_LIMIT_BALANCES_rec.multival_attribute2 = FND_API.G_MISS_CHAR THEN
1000 l_LIMIT_BALANCES_rec.multival_attribute2 := NULL;
1001 END IF;
1002
1003 IF l_LIMIT_BALANCES_rec.multival_attr2_value = FND_API.G_MISS_CHAR THEN
1004 l_LIMIT_BALANCES_rec.multival_attr2_value := NULL;
1005 END IF;
1006
1007 IF l_LIMIT_BALANCES_rec.multival_attr2_datatype = FND_API.G_MISS_CHAR THEN
1008 l_LIMIT_BALANCES_rec.multival_attr2_datatype := NULL;
1009 END IF;
1010
1011 IF l_LIMIT_BALANCES_rec.organization_attr_context = FND_API.G_MISS_CHAR THEN
1012 l_LIMIT_BALANCES_rec.organization_attr_context := NULL;
1013 END IF;
1014
1015 IF l_LIMIT_BALANCES_rec.organization_attribute = FND_API.G_MISS_CHAR THEN
1016 l_LIMIT_BALANCES_rec.organization_attribute := NULL;
1017 END IF;
1018
1019 IF l_LIMIT_BALANCES_rec.organization_attr_value = FND_API.G_MISS_CHAR THEN
1020 l_LIMIT_BALANCES_rec.organization_attr_value := NULL;
1021 END IF;
1022
1023 RETURN l_LIMIT_BALANCES_rec;
1024
1025 END Convert_Miss_To_Null;
1026
1027 -- Procedure Update_Row
1028
1029 PROCEDURE Update_Row
1030 ( p_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type
1031 )
1032 IS
1033 l_check_active_flag VARCHAR2(1);
1034 l_active_flag VARCHAR2(1);
1035 BEGIN
1036 SELECT active_flag
1037 INTO l_active_flag
1038 FROM QP_LIMITS a,QP_LIST_HEADERS_B b
1039 WHERE a.limit_id=p_LIMIT_BALANCES_rec.limit_id
1040 AND b.list_header_id=a.list_header_id;
1041
1042
1043 UPDATE QP_LIMIT_BALANCES
1044 SET ATTRIBUTE1 = p_LIMIT_BALANCES_rec.attribute1
1045 , ATTRIBUTE10 = p_LIMIT_BALANCES_rec.attribute10
1046 , ATTRIBUTE11 = p_LIMIT_BALANCES_rec.attribute11
1047 , ATTRIBUTE12 = p_LIMIT_BALANCES_rec.attribute12
1048 , ATTRIBUTE13 = p_LIMIT_BALANCES_rec.attribute13
1049 , ATTRIBUTE14 = p_LIMIT_BALANCES_rec.attribute14
1050 , ATTRIBUTE15 = p_LIMIT_BALANCES_rec.attribute15
1051 , ATTRIBUTE2 = p_LIMIT_BALANCES_rec.attribute2
1052 , ATTRIBUTE3 = p_LIMIT_BALANCES_rec.attribute3
1053 , ATTRIBUTE4 = p_LIMIT_BALANCES_rec.attribute4
1054 , ATTRIBUTE5 = p_LIMIT_BALANCES_rec.attribute5
1055 , ATTRIBUTE6 = p_LIMIT_BALANCES_rec.attribute6
1056 , ATTRIBUTE7 = p_LIMIT_BALANCES_rec.attribute7
1057 , ATTRIBUTE8 = p_LIMIT_BALANCES_rec.attribute8
1058 , ATTRIBUTE9 = p_LIMIT_BALANCES_rec.attribute9
1059 , AVAILABLE_AMOUNT = p_LIMIT_BALANCES_rec.available_amount
1060 , CONSUMED_AMOUNT = p_LIMIT_BALANCES_rec.consumed_amount
1061 , CONTEXT = p_LIMIT_BALANCES_rec.context
1062 , CREATED_BY = p_LIMIT_BALANCES_rec.created_by
1063 , CREATION_DATE = p_LIMIT_BALANCES_rec.creation_date
1064 , LAST_UPDATED_BY = p_LIMIT_BALANCES_rec.last_updated_by
1065 , LAST_UPDATE_DATE = p_LIMIT_BALANCES_rec.last_update_date
1066 , LAST_UPDATE_LOGIN = p_LIMIT_BALANCES_rec.last_update_login
1067 , LIMIT_BALANCE_ID = p_LIMIT_BALANCES_rec.limit_balance_id
1068 , LIMIT_ID = p_LIMIT_BALANCES_rec.limit_id
1069 , PROGRAM_APPLICATION_ID = p_LIMIT_BALANCES_rec.program_application_id
1070 , PROGRAM_ID = p_LIMIT_BALANCES_rec.program_id
1071 , PROGRAM_UPDATE_DATE = p_LIMIT_BALANCES_rec.program_update_date
1072 , REQUEST_ID = p_LIMIT_BALANCES_rec.request_id
1073 , RESERVED_AMOUNT = p_LIMIT_BALANCES_rec.reserved_amount
1074 , MULTIVAL_ATTR1_TYPE = p_LIMIT_BALANCES_rec.multival_attr1_type
1075 , MULTIVAL_ATTR1_CONTEXT = p_LIMIT_BALANCES_rec.multival_attr1_context
1076 , MULTIVAL_ATTRIBUTE1 = p_LIMIT_BALANCES_rec.multival_attribute1
1077 , MULTIVAL_ATTR1_VALUE = p_LIMIT_BALANCES_rec.multival_attr1_value
1078 , MULTIVAL_ATTR1_DATATYPE = p_LIMIT_BALANCES_rec.multival_attr1_datatype
1079 , MULTIVAL_ATTR2_TYPE = p_LIMIT_BALANCES_rec.multival_attr2_type
1080 , MULTIVAL_ATTR2_CONTEXT = p_LIMIT_BALANCES_rec.multival_attr2_context
1081 , MULTIVAL_ATTRIBUTE2 = p_LIMIT_BALANCES_rec.multival_attribute2
1082 , MULTIVAL_ATTR2_VALUE = p_LIMIT_BALANCES_rec.multival_attr2_value
1083 , MULTIVAL_ATTR2_DATATYPE = p_LIMIT_BALANCES_rec.multival_attr2_datatype
1084 , ORGANIZATION_ATTR_CONTEXT = p_LIMIT_BALANCES_rec.organization_attr_context
1085 , ORGANIZATION_ATTRIBUTE = p_LIMIT_BALANCES_rec.organization_attribute
1086 , ORGANIZATION_ATTR_VALUE = p_LIMIT_BALANCES_rec.organization_attr_value
1087 WHERE LIMIT_BALANCE_ID = p_LIMIT_BALANCES_rec.limit_balance_id
1088 ;
1089
1090
1091 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
1092 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_active_flag='Y') THEN
1093
1094 IF(p_LIMIT_BALANCES_rec.multival_attr1_context IS NOT NULL)
1095 AND (p_LIMIT_BALANCES_rec.multival_attribute1 IS NOT NULL) THEN
1096 UPDATE qp_pte_segments SET used_in_setup='Y'
1097 WHERE nvl(used_in_setup,'N')='N'
1098 AND segment_id IN
1099 (SELECT a.segment_id
1100 FROM qp_segments_b a,qp_prc_contexts_b b
1101 WHERE a.segment_mapping_column=p_LIMIT_BALANCES_rec.multival_attribute1
1102 AND a.prc_context_id=b.prc_context_id
1103 AND b.prc_context_type = p_LIMIT_BALANCES_rec.multival_attr1_type
1104 AND b.prc_context_code=p_LIMIT_BALANCES_rec.multival_attr1_context);
1105 END IF;
1106
1107 IF(p_LIMIT_BALANCES_rec.multival_attr2_context IS NOT NULL) AND
1108 (p_LIMIT_BALANCES_rec.multival_attribute2 IS NOT NULL) THEN
1109 UPDATE qp_pte_segments SET used_in_setup='Y'
1110 WHERE nvl(used_in_setup,'N')='N'
1111 AND segment_id IN
1112 (SELECT a.segment_id
1113 FROM qp_segments_b a,qp_prc_contexts_b b
1114 WHERE a.segment_mapping_column=p_LIMIT_BALANCES_rec.multival_attribute2
1115 AND a.prc_context_id=b.prc_context_id
1116 AND b.prc_context_type = p_LIMIT_BALANCES_rec.multival_attr2_type
1117 AND b.prc_context_code=p_LIMIT_BALANCES_rec.multival_attr2_context);
1118 END IF;
1119 END IF;
1120
1121
1122 EXCEPTION
1123
1124 WHEN OTHERS THEN
1125
1126 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1127 THEN
1128 OE_MSG_PUB.Add_Exc_Msg
1129 ( G_PKG_NAME
1130 , 'Update_Row'
1131 );
1132 END IF;
1133
1134 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1135
1136 END Update_Row;
1137
1138 -- Procedure Insert_Row
1139
1140 PROCEDURE Insert_Row
1141 ( p_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type
1142 )
1143 IS
1144 l_check_active_flag VARCHAR2(1);
1145 l_active_flag VARCHAR2(1);
1146 BEGIN
1147 SELECT active_flag
1148 INTO l_active_flag
1149 FROM QP_LIMITS a,QP_LIST_HEADERS_B b
1150 WHERE a.limit_id=p_LIMIT_BALANCES_rec.limit_id
1151 AND b.list_header_id=a.list_header_id;
1152
1153 INSERT INTO QP_LIMIT_BALANCES
1154 ( ATTRIBUTE1
1155 , ATTRIBUTE10
1156 , ATTRIBUTE11
1157 , ATTRIBUTE12
1158 , ATTRIBUTE13
1159 , ATTRIBUTE14
1160 , ATTRIBUTE15
1161 , ATTRIBUTE2
1162 , ATTRIBUTE3
1163 , ATTRIBUTE4
1164 , ATTRIBUTE5
1165 , ATTRIBUTE6
1166 , ATTRIBUTE7
1167 , ATTRIBUTE8
1168 , ATTRIBUTE9
1169 , AVAILABLE_AMOUNT
1170 , CONSUMED_AMOUNT
1171 , CONTEXT
1172 , CREATED_BY
1173 , CREATION_DATE
1174 , LAST_UPDATED_BY
1175 , LAST_UPDATE_DATE
1176 , LAST_UPDATE_LOGIN
1177 , LIMIT_BALANCE_ID
1178 , LIMIT_ID
1179 , PROGRAM_APPLICATION_ID
1180 , PROGRAM_ID
1181 , PROGRAM_UPDATE_DATE
1182 , REQUEST_ID
1183 , RESERVED_AMOUNT
1184 , MULTIVAL_ATTR1_TYPE
1185 , MULTIVAL_ATTR1_CONTEXT
1186 , MULTIVAL_ATTRIBUTE1
1187 , MULTIVAL_ATTR1_VALUE
1188 , MULTIVAL_ATTR1_DATATYPE
1189 , MULTIVAL_ATTR2_TYPE
1190 , MULTIVAL_ATTR2_CONTEXT
1191 , MULTIVAL_ATTRIBUTE2
1192 , MULTIVAL_ATTR2_VALUE
1193 , MULTIVAL_ATTR2_DATATYPE
1194 , ORGANIZATION_ATTR_CONTEXT
1195 , ORGANIZATION_ATTRIBUTE
1196 , ORGANIZATION_ATTR_VALUE
1197 )
1198 VALUES
1199 ( p_LIMIT_BALANCES_rec.attribute1
1200 , p_LIMIT_BALANCES_rec.attribute10
1201 , p_LIMIT_BALANCES_rec.attribute11
1202 , p_LIMIT_BALANCES_rec.attribute12
1203 , p_LIMIT_BALANCES_rec.attribute13
1204 , p_LIMIT_BALANCES_rec.attribute14
1205 , p_LIMIT_BALANCES_rec.attribute15
1206 , p_LIMIT_BALANCES_rec.attribute2
1207 , p_LIMIT_BALANCES_rec.attribute3
1208 , p_LIMIT_BALANCES_rec.attribute4
1209 , p_LIMIT_BALANCES_rec.attribute5
1210 , p_LIMIT_BALANCES_rec.attribute6
1211 , p_LIMIT_BALANCES_rec.attribute7
1212 , p_LIMIT_BALANCES_rec.attribute8
1213 , p_LIMIT_BALANCES_rec.attribute9
1214 , p_LIMIT_BALANCES_rec.available_amount
1215 , p_LIMIT_BALANCES_rec.consumed_amount
1216 , p_LIMIT_BALANCES_rec.context
1217 , p_LIMIT_BALANCES_rec.created_by
1218 , p_LIMIT_BALANCES_rec.creation_date
1219 , p_LIMIT_BALANCES_rec.last_updated_by
1220 , p_LIMIT_BALANCES_rec.last_update_date
1221 , p_LIMIT_BALANCES_rec.last_update_login
1222 , p_LIMIT_BALANCES_rec.limit_balance_id
1223 , p_LIMIT_BALANCES_rec.limit_id
1224 , p_LIMIT_BALANCES_rec.program_application_id
1225 , p_LIMIT_BALANCES_rec.program_id
1226 , p_LIMIT_BALANCES_rec.program_update_date
1227 , p_LIMIT_BALANCES_rec.request_id
1228 , p_LIMIT_BALANCES_rec.reserved_amount
1229 , p_LIMIT_BALANCES_rec.multival_attr1_type
1230 , p_LIMIT_BALANCES_rec.multival_attr1_context
1231 , p_LIMIT_BALANCES_rec.multival_attribute1
1232 , p_LIMIT_BALANCES_rec.multival_attr1_value
1233 , p_LIMIT_BALANCES_rec.multival_attr1_datatype
1234 , p_LIMIT_BALANCES_rec.multival_attr2_type
1235 , p_LIMIT_BALANCES_rec.multival_attr2_context
1236 , p_LIMIT_BALANCES_rec.multival_attribute2
1237 , p_LIMIT_BALANCES_rec.multival_attr2_value
1238 , p_LIMIT_BALANCES_rec.multival_attr2_datatype
1239 , p_LIMIT_BALANCES_rec.organization_attr_context
1240 , p_LIMIT_BALANCES_rec.organization_attribute
1241 , p_LIMIT_BALANCES_rec.organization_attr_value
1242 );
1243
1244 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
1245 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_active_flag='Y') THEN
1246 IF(p_LIMIT_BALANCES_rec.multival_attr1_context IS NOT NULL)
1247 AND (p_LIMIT_BALANCES_rec.multival_attribute1 IS NOT NULL) THEN
1248 UPDATE qp_pte_segments SET used_in_setup='Y'
1249 WHERE nvl(used_in_setup,'N')='N'
1250 AND segment_id IN
1251 (SELECT a.segment_id
1252 FROM qp_segments_b a,qp_prc_contexts_b b
1253 WHERE a.segment_mapping_column=p_LIMIT_BALANCES_rec.multival_attribute1
1254 AND a.prc_context_id=b.prc_context_id
1255 AND b.prc_context_type = p_LIMIT_BALANCES_rec.multival_attr1_type
1256 AND b.prc_context_code=p_LIMIT_BALANCES_rec.multival_attr1_context);
1257 END IF;
1258
1259 IF(p_LIMIT_BALANCES_rec.multival_attr2_context IS NOT NULL) AND
1260 (p_LIMIT_BALANCES_rec.multival_attribute2 IS NOT NULL) THEN
1261 UPDATE qp_pte_segments SET used_in_setup='Y'
1262 WHERE nvl(used_in_setup,'N')='N'
1263 AND segment_id IN
1264 (SELECT a.segment_id
1265 FROM qp_segments_b a,qp_prc_contexts_b b
1266 WHERE a.segment_mapping_column=p_LIMIT_BALANCES_rec.multival_attribute2
1267 AND a.prc_context_id=b.prc_context_id
1268 AND b.prc_context_type = p_LIMIT_BALANCES_rec.multival_attr2_type
1269 AND b.prc_context_code=p_LIMIT_BALANCES_rec.multival_attr2_context);
1270 END IF;
1271 END IF;
1272
1273 EXCEPTION
1274
1275 WHEN OTHERS THEN
1276
1277 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1278 THEN
1279 OE_MSG_PUB.Add_Exc_Msg
1280 ( G_PKG_NAME
1281 , 'Insert_Row'
1282 );
1283 END IF;
1284
1285 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1286
1287 END Insert_Row;
1288
1289 -- Procedure Delete_Row
1290
1291 PROCEDURE Delete_Row
1292 ( p_limit_balance_id IN NUMBER
1293 )
1294 IS
1295 BEGIN
1296
1297 DELETE FROM QP_LIMIT_BALANCES
1298 WHERE LIMIT_BALANCE_ID = p_limit_balance_id
1299 ;
1300
1301
1302
1303 EXCEPTION
1304
1305 WHEN OTHERS THEN
1306
1307 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1308 THEN
1309 OE_MSG_PUB.Add_Exc_Msg
1310 ( G_PKG_NAME
1311 , 'Delete_Row'
1312 );
1313 END IF;
1314
1315 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1316
1317 END Delete_Row;
1318
1319 -- Function Query_Row
1320
1321 FUNCTION Query_Row
1322 ( p_limit_balance_id IN NUMBER
1323 ) RETURN QP_Limits_PUB.Limit_Balances_Rec_Type
1324 IS
1325 BEGIN
1326
1327 RETURN Query_Rows
1328 ( p_limit_balance_id => p_limit_balance_id
1329 )(1);
1330
1331 END Query_Row;
1332
1333 -- Function Query_Rows
1334
1335 --
1336
1337 FUNCTION Query_Rows
1338 ( p_limit_balance_id IN NUMBER :=
1339 FND_API.G_MISS_NUM
1340 , p_limit_id IN NUMBER :=
1341 FND_API.G_MISS_NUM
1342 ) RETURN QP_Limits_PUB.Limit_Balances_Tbl_Type
1343 IS
1344 l_LIMIT_BALANCES_rec QP_Limits_PUB.Limit_Balances_Rec_Type;
1345 l_LIMIT_BALANCES_tbl QP_Limits_PUB.Limit_Balances_Tbl_Type;
1346
1347 CURSOR l_LIMIT_BALANCES_csr IS
1348 SELECT ATTRIBUTE1
1349 , ATTRIBUTE10
1350 , ATTRIBUTE11
1351 , ATTRIBUTE12
1352 , ATTRIBUTE13
1353 , ATTRIBUTE14
1354 , ATTRIBUTE15
1355 , ATTRIBUTE2
1356 , ATTRIBUTE3
1357 , ATTRIBUTE4
1358 , ATTRIBUTE5
1359 , ATTRIBUTE6
1360 , ATTRIBUTE7
1361 , ATTRIBUTE8
1362 , ATTRIBUTE9
1363 , AVAILABLE_AMOUNT
1364 , CONSUMED_AMOUNT
1365 , CONTEXT
1366 , CREATED_BY
1367 , CREATION_DATE
1368 , LAST_UPDATED_BY
1369 , LAST_UPDATE_DATE
1370 , LAST_UPDATE_LOGIN
1371 , LIMIT_BALANCE_ID
1372 , LIMIT_ID
1373 , PROGRAM_APPLICATION_ID
1374 , PROGRAM_ID
1375 , PROGRAM_UPDATE_DATE
1376 , REQUEST_ID
1377 , RESERVED_AMOUNT
1378 , MULTIVAL_ATTR1_TYPE
1379 , MULTIVAL_ATTR1_CONTEXT
1380 , MULTIVAL_ATTRIBUTE1
1381 , MULTIVAL_ATTR1_VALUE
1382 , MULTIVAL_ATTR1_DATATYPE
1383 , MULTIVAL_ATTR2_TYPE
1384 , MULTIVAL_ATTR2_CONTEXT
1385 , MULTIVAL_ATTRIBUTE2
1386 , MULTIVAL_ATTR2_VALUE
1387 , MULTIVAL_ATTR2_DATATYPE
1388 , ORGANIZATION_ATTR_CONTEXT
1389 , ORGANIZATION_ATTRIBUTE
1390 , ORGANIZATION_ATTR_VALUE
1391 FROM QP_LIMIT_BALANCES
1392 WHERE ( LIMIT_BALANCE_ID = p_limit_balance_id
1393 )
1394 OR ( LIMIT_ID = p_limit_id
1395 );
1396
1397 BEGIN
1398
1399 IF
1400 (p_limit_balance_id IS NOT NULL
1401 AND
1402 p_limit_balance_id <> FND_API.G_MISS_NUM)
1403 AND
1404 (p_limit_id IS NOT NULL
1405 AND
1406 p_limit_id <> FND_API.G_MISS_NUM)
1407 THEN
1408 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1409 THEN
1410 OE_MSG_PUB.Add_Exc_Msg
1411 ( G_PKG_NAME
1412 , 'Query Rows'
1413 , 'Keys are mutually exclusive: limit_balance_id = '|| p_limit_balance_id || ', limit_id = '|| p_limit_id
1414 );
1415 END IF;
1416
1417 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1418
1419 END IF;
1420
1421
1422 -- Loop over fetched records
1423
1424 FOR l_implicit_rec IN l_LIMIT_BALANCES_csr LOOP
1425
1426 l_LIMIT_BALANCES_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
1427 l_LIMIT_BALANCES_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
1428 l_LIMIT_BALANCES_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
1429 l_LIMIT_BALANCES_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
1430 l_LIMIT_BALANCES_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
1431 l_LIMIT_BALANCES_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
1432 l_LIMIT_BALANCES_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
1433 l_LIMIT_BALANCES_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
1434 l_LIMIT_BALANCES_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
1435 l_LIMIT_BALANCES_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
1436 l_LIMIT_BALANCES_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
1437 l_LIMIT_BALANCES_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
1438 l_LIMIT_BALANCES_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
1439 l_LIMIT_BALANCES_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
1440 l_LIMIT_BALANCES_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
1441 l_LIMIT_BALANCES_rec.available_amount := l_implicit_rec.AVAILABLE_AMOUNT;
1442 l_LIMIT_BALANCES_rec.consumed_amount := l_implicit_rec.CONSUMED_AMOUNT;
1443 l_LIMIT_BALANCES_rec.context := l_implicit_rec.CONTEXT;
1444 l_LIMIT_BALANCES_rec.created_by := l_implicit_rec.CREATED_BY;
1445 l_LIMIT_BALANCES_rec.creation_date := l_implicit_rec.CREATION_DATE;
1446 l_LIMIT_BALANCES_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
1447 l_LIMIT_BALANCES_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
1448 l_LIMIT_BALANCES_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
1449 l_LIMIT_BALANCES_rec.limit_balance_id := l_implicit_rec.LIMIT_BALANCE_ID;
1450 l_LIMIT_BALANCES_rec.limit_id := l_implicit_rec.LIMIT_ID;
1451 l_LIMIT_BALANCES_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
1452 l_LIMIT_BALANCES_rec.program_id := l_implicit_rec.PROGRAM_ID;
1453 l_LIMIT_BALANCES_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
1454 l_LIMIT_BALANCES_rec.request_id := l_implicit_rec.REQUEST_ID;
1455 l_LIMIT_BALANCES_rec.reserved_amount := l_implicit_rec.RESERVED_AMOUNT;
1456 l_LIMIT_BALANCES_rec.multival_attr1_type := l_implicit_rec.MULTIVAL_ATTR1_TYPE;
1457 l_LIMIT_BALANCES_rec.multival_attr1_context := l_implicit_rec.MULTIVAL_ATTR1_CONTEXT;
1458 l_LIMIT_BALANCES_rec.multival_attribute1 := l_implicit_rec.MULTIVAL_ATTRIBUTE1;
1459 l_LIMIT_BALANCES_rec.multival_attr1_value := l_implicit_rec.MULTIVAL_ATTR1_VALUE;
1460 l_LIMIT_BALANCES_rec.multival_attr1_datatype := l_implicit_rec.MULTIVAL_ATTR1_DATATYPE;
1461 l_LIMIT_BALANCES_rec.multival_attr2_type := l_implicit_rec.MULTIVAL_ATTR2_TYPE;
1462 l_LIMIT_BALANCES_rec.multival_attr2_context := l_implicit_rec.MULTIVAL_ATTR2_CONTEXT;
1463 l_LIMIT_BALANCES_rec.multival_attribute2 := l_implicit_rec.MULTIVAL_ATTRIBUTE2;
1464 l_LIMIT_BALANCES_rec.multival_attr2_value := l_implicit_rec.MULTIVAL_ATTR2_VALUE;
1465 l_LIMIT_BALANCES_rec.multival_attr2_datatype := l_implicit_rec.MULTIVAL_ATTR2_DATATYPE;
1466 l_LIMIT_BALANCES_rec.organization_attr_context := l_implicit_rec.ORGANIZATION_ATTR_CONTEXT;
1467 l_LIMIT_BALANCES_rec.organization_attribute := l_implicit_rec.ORGANIZATION_ATTRIBUTE;
1468 l_LIMIT_BALANCES_rec.organization_attr_value := l_implicit_rec.ORGANIZATION_ATTR_VALUE;
1469
1470 l_LIMIT_BALANCES_tbl(l_LIMIT_BALANCES_tbl.COUNT + 1) := l_LIMIT_BALANCES_rec;
1471
1472 END LOOP;
1473
1474
1475 -- PK sent and no rows found
1476
1477 IF
1478 (p_limit_balance_id IS NOT NULL
1479 AND
1480 p_limit_balance_id <> FND_API.G_MISS_NUM)
1481 AND
1482 (l_LIMIT_BALANCES_tbl.COUNT = 0)
1483 THEN
1484 RAISE NO_DATA_FOUND;
1485 END IF;
1486
1487
1488 -- Return fetched table
1489
1490 RETURN l_LIMIT_BALANCES_tbl;
1491
1492 EXCEPTION
1493
1494 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1495
1496 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1497
1498 WHEN OTHERS THEN
1499
1500 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1501 THEN
1502 OE_MSG_PUB.Add_Exc_Msg
1503 ( G_PKG_NAME
1504 , 'Query_Rows'
1505 );
1506 END IF;
1507
1508 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1509
1510 END Query_Rows;
1511
1512 -- Procedure lock_Row
1513 --
1514
1515 PROCEDURE Lock_Row
1516 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1517 , p_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type
1518 , x_LIMIT_BALANCES_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limit_Balances_Rec_Type
1519 )
1520 IS
1521 l_LIMIT_BALANCES_rec QP_Limits_PUB.Limit_Balances_Rec_Type;
1522 BEGIN
1523
1524 SELECT ATTRIBUTE1
1525 , ATTRIBUTE10
1526 , ATTRIBUTE11
1527 , ATTRIBUTE12
1528 , ATTRIBUTE13
1529 , ATTRIBUTE14
1530 , ATTRIBUTE15
1531 , ATTRIBUTE2
1532 , ATTRIBUTE3
1533 , ATTRIBUTE4
1534 , ATTRIBUTE5
1535 , ATTRIBUTE6
1536 , ATTRIBUTE7
1537 , ATTRIBUTE8
1538 , ATTRIBUTE9
1539 , AVAILABLE_AMOUNT
1540 , CONSUMED_AMOUNT
1541 , CONTEXT
1542 , CREATED_BY
1543 , CREATION_DATE
1544 , LAST_UPDATED_BY
1545 , LAST_UPDATE_DATE
1546 , LAST_UPDATE_LOGIN
1547 , LIMIT_BALANCE_ID
1548 , LIMIT_ID
1549 , PROGRAM_APPLICATION_ID
1550 , PROGRAM_ID
1551 , PROGRAM_UPDATE_DATE
1552 , REQUEST_ID
1553 , RESERVED_AMOUNT
1554 , MULTIVAL_ATTR1_TYPE
1555 , MULTIVAL_ATTR1_CONTEXT
1556 , MULTIVAL_ATTRIBUTE1
1557 , MULTIVAL_ATTR1_VALUE
1558 , MULTIVAL_ATTR1_DATATYPE
1559 , MULTIVAL_ATTR2_TYPE
1560 , MULTIVAL_ATTR2_CONTEXT
1561 , MULTIVAL_ATTRIBUTE2
1562 , MULTIVAL_ATTR2_VALUE
1563 , MULTIVAL_ATTR2_DATATYPE
1564 , ORGANIZATION_ATTR_CONTEXT
1565 , ORGANIZATION_ATTRIBUTE
1566 , ORGANIZATION_ATTR_VALUE
1567 INTO l_LIMIT_BALANCES_rec.attribute1
1568 , l_LIMIT_BALANCES_rec.attribute10
1569 , l_LIMIT_BALANCES_rec.attribute11
1570 , l_LIMIT_BALANCES_rec.attribute12
1571 , l_LIMIT_BALANCES_rec.attribute13
1572 , l_LIMIT_BALANCES_rec.attribute14
1573 , l_LIMIT_BALANCES_rec.attribute15
1574 , l_LIMIT_BALANCES_rec.attribute2
1575 , l_LIMIT_BALANCES_rec.attribute3
1576 , l_LIMIT_BALANCES_rec.attribute4
1577 , l_LIMIT_BALANCES_rec.attribute5
1578 , l_LIMIT_BALANCES_rec.attribute6
1579 , l_LIMIT_BALANCES_rec.attribute7
1580 , l_LIMIT_BALANCES_rec.attribute8
1581 , l_LIMIT_BALANCES_rec.attribute9
1582 , l_LIMIT_BALANCES_rec.available_amount
1583 , l_LIMIT_BALANCES_rec.consumed_amount
1584 , l_LIMIT_BALANCES_rec.context
1585 , l_LIMIT_BALANCES_rec.created_by
1586 , l_LIMIT_BALANCES_rec.creation_date
1587 , l_LIMIT_BALANCES_rec.last_updated_by
1588 , l_LIMIT_BALANCES_rec.last_update_date
1589 , l_LIMIT_BALANCES_rec.last_update_login
1590 , l_LIMIT_BALANCES_rec.limit_balance_id
1591 , l_LIMIT_BALANCES_rec.limit_id
1592 , l_LIMIT_BALANCES_rec.program_application_id
1593 , l_LIMIT_BALANCES_rec.program_id
1594 , l_LIMIT_BALANCES_rec.program_update_date
1595 , l_LIMIT_BALANCES_rec.request_id
1596 , l_LIMIT_BALANCES_rec.reserved_amount
1597 , l_LIMIT_BALANCES_rec.multival_attr1_type
1598 , l_LIMIT_BALANCES_rec.multival_attr1_context
1599 , l_LIMIT_BALANCES_rec.multival_attribute1
1600 , l_LIMIT_BALANCES_rec.multival_attr1_value
1601 , l_LIMIT_BALANCES_rec.multival_attr1_datatype
1602 , l_LIMIT_BALANCES_rec.multival_attr2_type
1603 , l_LIMIT_BALANCES_rec.multival_attr2_context
1604 , l_LIMIT_BALANCES_rec.multival_attribute2
1605 , l_LIMIT_BALANCES_rec.multival_attr2_value
1606 , l_LIMIT_BALANCES_rec.multival_attr2_datatype
1607 , l_LIMIT_BALANCES_rec.organization_attr_context
1608 , l_LIMIT_BALANCES_rec.organization_attribute
1609 , l_LIMIT_BALANCES_rec.organization_attr_value
1610 FROM QP_LIMIT_BALANCES
1611 WHERE LIMIT_BALANCE_ID = p_LIMIT_BALANCES_rec.limit_balance_id
1612 FOR UPDATE NOWAIT;
1613
1614 -- Row locked. Compare IN attributes to DB attributes.
1615
1616 IF QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute1,
1617 l_LIMIT_BALANCES_rec.attribute1)
1618 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute10,
1619 l_LIMIT_BALANCES_rec.attribute10)
1620 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute11,
1621 l_LIMIT_BALANCES_rec.attribute11)
1622 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute12,
1623 l_LIMIT_BALANCES_rec.attribute12)
1624 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute13,
1625 l_LIMIT_BALANCES_rec.attribute13)
1626 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute14,
1627 l_LIMIT_BALANCES_rec.attribute14)
1628 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute15,
1629 l_LIMIT_BALANCES_rec.attribute15)
1630 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute2,
1631 l_LIMIT_BALANCES_rec.attribute2)
1632 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute3,
1633 l_LIMIT_BALANCES_rec.attribute3)
1634 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute4,
1635 l_LIMIT_BALANCES_rec.attribute4)
1636 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute5,
1637 l_LIMIT_BALANCES_rec.attribute5)
1638 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute6,
1639 l_LIMIT_BALANCES_rec.attribute6)
1640 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute7,
1641 l_LIMIT_BALANCES_rec.attribute7)
1642 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute8,
1643 l_LIMIT_BALANCES_rec.attribute8)
1644 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.attribute9,
1645 l_LIMIT_BALANCES_rec.attribute9)
1646 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.available_amount,
1647 l_LIMIT_BALANCES_rec.available_amount)
1648 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.consumed_amount,
1649 l_LIMIT_BALANCES_rec.consumed_amount)
1650 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.context,
1651 l_LIMIT_BALANCES_rec.context)
1652 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.created_by,
1653 l_LIMIT_BALANCES_rec.created_by)
1654 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.creation_date,
1655 l_LIMIT_BALANCES_rec.creation_date)
1656 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.last_updated_by,
1657 l_LIMIT_BALANCES_rec.last_updated_by)
1658 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.last_update_date,
1659 l_LIMIT_BALANCES_rec.last_update_date)
1660 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.last_update_login,
1661 l_LIMIT_BALANCES_rec.last_update_login)
1662 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.limit_balance_id,
1663 l_LIMIT_BALANCES_rec.limit_balance_id)
1664 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.limit_id,
1665 l_LIMIT_BALANCES_rec.limit_id)
1666 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.program_application_id,
1667 l_LIMIT_BALANCES_rec.program_application_id)
1668 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.program_id,
1669 l_LIMIT_BALANCES_rec.program_id)
1670 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.program_update_date,
1671 l_LIMIT_BALANCES_rec.program_update_date)
1672 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.request_id,
1673 l_LIMIT_BALANCES_rec.request_id)
1674 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.reserved_amount,
1675 l_LIMIT_BALANCES_rec.reserved_amount)
1676 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_type,
1677 l_LIMIT_BALANCES_rec.multival_attr1_type)
1678 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_context,
1679 l_LIMIT_BALANCES_rec.multival_attr1_context)
1680 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attribute1,
1681 l_LIMIT_BALANCES_rec.multival_attribute1)
1682 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_value,
1683 l_LIMIT_BALANCES_rec.multival_attr1_value)
1684 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr1_datatype,
1685 l_LIMIT_BALANCES_rec.multival_attr1_datatype)
1686 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_type,
1687 l_LIMIT_BALANCES_rec.multival_attr2_type)
1688 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_context,
1689 l_LIMIT_BALANCES_rec.multival_attr2_context)
1690 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attribute2,
1691 l_LIMIT_BALANCES_rec.multival_attribute2)
1692 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_value,
1693 l_LIMIT_BALANCES_rec.multival_attr2_value)
1694 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.multival_attr2_datatype,
1695 l_LIMIT_BALANCES_rec.multival_attr2_datatype)
1696 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.organization_attr_context,
1697 l_LIMIT_BALANCES_rec.organization_attr_context)
1698 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.organization_attribute,
1699 l_LIMIT_BALANCES_rec.organization_attribute)
1700 AND QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.organization_attr_value,
1701 l_LIMIT_BALANCES_rec.organization_attr_value)
1702 THEN
1703
1704 -- Row has not changed. Set out parameter.
1705
1706 x_LIMIT_BALANCES_rec := l_LIMIT_BALANCES_rec;
1707
1708 -- Set return status
1709
1710 x_return_status := FND_API.G_RET_STS_SUCCESS;
1711 x_LIMIT_BALANCES_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1712
1713 ELSE
1714
1715 -- Row has changed by another user.
1716
1717 x_return_status := FND_API.G_RET_STS_ERROR;
1718 x_LIMIT_BALANCES_rec.return_status := FND_API.G_RET_STS_ERROR;
1719
1720 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1721 THEN
1722
1723 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED');
1724 OE_MSG_PUB.Add;
1725
1726 END IF;
1727
1728 END IF;
1729
1730 EXCEPTION
1731
1732 WHEN NO_DATA_FOUND THEN
1733
1734 x_return_status := FND_API.G_RET_STS_ERROR;
1735 x_LIMIT_BALANCES_rec.return_status := FND_API.G_RET_STS_ERROR;
1736
1737 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1738 THEN
1739
1740 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
1741 OE_MSG_PUB.Add;
1742
1743 END IF;
1744 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
1745
1746 x_return_status := FND_API.G_RET_STS_ERROR;
1747 x_LIMIT_BALANCES_rec.return_status := FND_API.G_RET_STS_ERROR;
1748
1749 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1750 THEN
1751
1752 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
1753 OE_MSG_PUB.Add;
1754
1755 END IF;
1756 WHEN OTHERS THEN
1757
1758 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1759 x_LIMIT_BALANCES_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1760
1761 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1762 THEN
1763 OE_MSG_PUB.Add_Exc_Msg
1764 ( G_PKG_NAME
1765 , 'Lock_Row'
1766 );
1767 END IF;
1768
1769 END Lock_Row;
1770
1771 -- Function Get_Values
1772
1773 FUNCTION Get_Values
1774 ( p_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type
1775 , p_old_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type :=
1776 QP_Limits_PUB.G_MISS_LIMIT_BALANCES_REC
1777 ) RETURN QP_Limits_PUB.Limit_Balances_Val_Rec_Type
1778 IS
1779 l_LIMIT_BALANCES_val_rec QP_Limits_PUB.Limit_Balances_Val_Rec_Type;
1780 BEGIN
1781
1782 IF p_LIMIT_BALANCES_rec.limit_balance_id IS NOT NULL AND
1783 p_LIMIT_BALANCES_rec.limit_balance_id <> FND_API.G_MISS_NUM AND
1784 NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.limit_balance_id,
1785 p_old_LIMIT_BALANCES_rec.limit_balance_id)
1786 THEN
1787 l_LIMIT_BALANCES_val_rec.limit_balance := QP_Id_To_Value.Limit_Balance
1788 ( p_limit_balance_id => p_LIMIT_BALANCES_rec.limit_balance_id
1789 );
1790 END IF;
1791
1792 IF p_LIMIT_BALANCES_rec.limit_id IS NOT NULL AND
1793 p_LIMIT_BALANCES_rec.limit_id <> FND_API.G_MISS_NUM AND
1794 NOT QP_GLOBALS.Equal(p_LIMIT_BALANCES_rec.limit_id,
1795 p_old_LIMIT_BALANCES_rec.limit_id)
1796 THEN
1797 l_LIMIT_BALANCES_val_rec.limit := QP_Id_To_Value.Limit
1798 ( p_limit_id => p_LIMIT_BALANCES_rec.limit_id
1799 );
1800 END IF;
1801
1802 RETURN l_LIMIT_BALANCES_val_rec;
1803
1804 END Get_Values;
1805
1806 -- Function Get_Ids
1807
1808 FUNCTION Get_Ids
1809 ( p_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type
1810 , p_LIMIT_BALANCES_val_rec IN QP_Limits_PUB.Limit_Balances_Val_Rec_Type
1811 ) RETURN QP_Limits_PUB.Limit_Balances_Rec_Type
1812 IS
1813 l_LIMIT_BALANCES_rec QP_Limits_PUB.Limit_Balances_Rec_Type;
1814 BEGIN
1815
1816 -- initialize return_status.
1817
1818 l_LIMIT_BALANCES_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1819
1820 -- initialize l_LIMIT_BALANCES_rec.
1821
1822 l_LIMIT_BALANCES_rec := p_LIMIT_BALANCES_rec;
1823
1824 IF p_LIMIT_BALANCES_val_rec.limit_balance <> FND_API.G_MISS_CHAR
1825 THEN
1826
1827 IF p_LIMIT_BALANCES_rec.limit_balance_id <> FND_API.G_MISS_NUM THEN
1828
1829 l_LIMIT_BALANCES_rec.limit_balance_id := p_LIMIT_BALANCES_rec.limit_balance_id;
1830
1831 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1832 THEN
1833
1834 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1835 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','limit_balance');
1836 OE_MSG_PUB.Add;
1837
1838 END IF;
1839
1840 ELSE
1841
1842 l_LIMIT_BALANCES_rec.limit_balance_id := QP_Value_To_Id.limit_balance
1843 ( p_limit_balance => p_LIMIT_BALANCES_val_rec.limit_balance
1844 );
1845
1846 IF l_LIMIT_BALANCES_rec.limit_balance_id = FND_API.G_MISS_NUM THEN
1847 l_LIMIT_BALANCES_rec.return_status := FND_API.G_RET_STS_ERROR;
1848 END IF;
1849
1850 END IF;
1851
1852 END IF;
1853
1854 IF p_LIMIT_BALANCES_val_rec.limit <> FND_API.G_MISS_CHAR
1855 THEN
1856
1857 IF p_LIMIT_BALANCES_rec.limit_id <> FND_API.G_MISS_NUM THEN
1858
1859 l_LIMIT_BALANCES_rec.limit_id := p_LIMIT_BALANCES_rec.limit_id;
1860
1861 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1862 THEN
1863
1864 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1865 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','limit');
1866 OE_MSG_PUB.Add;
1867
1868 END IF;
1869
1870 ELSE
1871
1872 l_LIMIT_BALANCES_rec.limit_id := QP_Value_To_Id.limit
1873 ( p_limit => p_LIMIT_BALANCES_val_rec.limit
1874 );
1875
1876 IF l_LIMIT_BALANCES_rec.limit_id = FND_API.G_MISS_NUM THEN
1877 l_LIMIT_BALANCES_rec.return_status := FND_API.G_RET_STS_ERROR;
1878 END IF;
1879
1880 END IF;
1881
1882 END IF;
1883
1884
1885 RETURN l_LIMIT_BALANCES_rec;
1886
1887 END Get_Ids;
1888
1889 END QP_Limit_Balances_Util;