1: PACKAGE BODY QP_Limits_Util AS
2: /* $Header: QPXULMTB.pls 120.1.12000000.2 2007/07/27 04:00:14 rassharm ship $ */
3:
4: -- Global constant holding the package name
5:
2: /* $Header: QPXULMTB.pls 120.1.12000000.2 2007/07/27 04:00:14 rassharm ship $ */
3:
4: -- Global constant holding the package name
5:
6: G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Limits_Util';
7:
8: PROCEDURE Update_List_Header_And_Line
9: (p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type)
10: IS
5:
6: G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Limits_Util';
7:
8: PROCEDURE Update_List_Header_And_Line
9: (p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type)
10: IS
11:
12: l_dummy NUMBER := 0;
13: l_dummy1 NUMBER := 0;
45: IF l_dummy > 0 THEN -- LIST HEADER EXISTS THEN
46:
47: l_dummy1 := 0;
48: SELECT COUNT(*) INTO l_dummy1
49: FROM QP_LIMITS WHERE list_header_id = p_LIMITS_rec.list_header_id;
50:
51: IF l_dummy1 = 0 THEN
52: UPDATE QP_LIST_HEADERS_B SET LIMIT_EXISTS_FLAG = 'N'
53: WHERE list_header_id = p_LIMITS_rec.list_header_id
73: IF l_dummy > 0 THEN -- LIST LINE EXISTS THEN
74:
75: l_dummy1 := 0;
76: SELECT COUNT(*) INTO l_dummy1
77: FROM QP_LIMITS WHERE list_line_id = p_LIMITS_rec.list_line_id;
78:
79: IF l_dummy1 = 0 THEN
80: UPDATE QP_LIST_LINES SET LIMIT_EXISTS_FLAG = 'N'
81: WHERE list_line_id = p_LIMITS_rec.list_line_id
126: -- Procedure Clear_Dependent_Attr
127:
128: PROCEDURE Clear_Dependent_Attr
129: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
130: , p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
131: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type := QP_Limits_PUB.G_MISS_LIMITS_REC
132: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
133: )
134: IS
127:
128: PROCEDURE Clear_Dependent_Attr
129: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
130: , p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
131: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type := QP_Limits_PUB.G_MISS_LIMITS_REC
132: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
133: )
134: IS
135: l_index NUMBER := 0;
128: PROCEDURE Clear_Dependent_Attr
129: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
130: , p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
131: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type := QP_Limits_PUB.G_MISS_LIMITS_REC
132: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
133: )
134: IS
135: l_index NUMBER := 0;
136: l_src_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
148:
149: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.amount, p_old_LIMITS_rec.amount)
150: THEN
151: l_index := l_index + 1;
152: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_AMOUNT;
153: END IF;
154:
155: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute1, p_old_LIMITS_rec.attribute1)
156: THEN
154:
155: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute1, p_old_LIMITS_rec.attribute1)
156: THEN
157: l_index := l_index + 1;
158: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE1;
159: END IF;
160:
161: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute10, p_old_LIMITS_rec.attribute10)
162: THEN
160:
161: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute10, p_old_LIMITS_rec.attribute10)
162: THEN
163: l_index := l_index + 1;
164: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE10;
165: END IF;
166:
167: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute11, p_old_LIMITS_rec.attribute11)
168: THEN
166:
167: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute11, p_old_LIMITS_rec.attribute11)
168: THEN
169: l_index := l_index + 1;
170: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE11;
171: END IF;
172:
173: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute12, p_old_LIMITS_rec.attribute12)
174: THEN
172:
173: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute12, p_old_LIMITS_rec.attribute12)
174: THEN
175: l_index := l_index + 1;
176: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE12;
177: END IF;
178:
179: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute13, p_old_LIMITS_rec.attribute13)
180: THEN
178:
179: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute13, p_old_LIMITS_rec.attribute13)
180: THEN
181: l_index := l_index + 1;
182: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE13;
183: END IF;
184:
185: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute14, p_old_LIMITS_rec.attribute14)
186: THEN
184:
185: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute14, p_old_LIMITS_rec.attribute14)
186: THEN
187: l_index := l_index + 1;
188: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE14;
189: END IF;
190:
191: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute15, p_old_LIMITS_rec.attribute15)
192: THEN
190:
191: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute15, p_old_LIMITS_rec.attribute15)
192: THEN
193: l_index := l_index + 1;
194: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE15;
195: END IF;
196:
197: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute2, p_old_LIMITS_rec.attribute2)
198: THEN
196:
197: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute2, p_old_LIMITS_rec.attribute2)
198: THEN
199: l_index := l_index + 1;
200: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE2;
201: END IF;
202:
203: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute3, p_old_LIMITS_rec.attribute3)
204: THEN
202:
203: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute3, p_old_LIMITS_rec.attribute3)
204: THEN
205: l_index := l_index + 1;
206: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE3;
207: END IF;
208:
209: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute4, p_old_LIMITS_rec.attribute4)
210: THEN
208:
209: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute4, p_old_LIMITS_rec.attribute4)
210: THEN
211: l_index := l_index + 1;
212: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE4;
213: END IF;
214:
215: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute5, p_old_LIMITS_rec.attribute5)
216: THEN
214:
215: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute5, p_old_LIMITS_rec.attribute5)
216: THEN
217: l_index := l_index + 1;
218: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE5;
219: END IF;
220:
221: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute6, p_old_LIMITS_rec.attribute6)
222: THEN
220:
221: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute6, p_old_LIMITS_rec.attribute6)
222: THEN
223: l_index := l_index + 1;
224: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE6;
225: END IF;
226:
227: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute7, p_old_LIMITS_rec.attribute7)
228: THEN
226:
227: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute7, p_old_LIMITS_rec.attribute7)
228: THEN
229: l_index := l_index + 1;
230: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE7;
231: END IF;
232:
233: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute8, p_old_LIMITS_rec.attribute8)
234: THEN
232:
233: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute8, p_old_LIMITS_rec.attribute8)
234: THEN
235: l_index := l_index + 1;
236: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE8;
237: END IF;
238:
239: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute9, p_old_LIMITS_rec.attribute9)
240: THEN
238:
239: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.attribute9, p_old_LIMITS_rec.attribute9)
240: THEN
241: l_index := l_index + 1;
242: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE9;
243: END IF;
244:
245: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.basis, p_old_LIMITS_rec.basis)
246: THEN
244:
245: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.basis, p_old_LIMITS_rec.basis)
246: THEN
247: l_index := l_index + 1;
248: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_BASIS;
249: END IF;
250:
251: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.context, p_old_LIMITS_rec.context)
252: THEN
250:
251: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.context, p_old_LIMITS_rec.context)
252: THEN
253: l_index := l_index + 1;
254: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CONTEXT;
255: END IF;
256:
257: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.created_by, p_old_LIMITS_rec.created_by)
258: THEN
256:
257: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.created_by, p_old_LIMITS_rec.created_by)
258: THEN
259: l_index := l_index + 1;
260: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CREATED_BY;
261: END IF;
262:
263: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.creation_date, p_old_LIMITS_rec.creation_date)
264: THEN
262:
263: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.creation_date, p_old_LIMITS_rec.creation_date)
264: THEN
265: l_index := l_index + 1;
266: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CREATION_DATE;
267: END IF;
268:
269: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.last_updated_by, p_old_LIMITS_rec.last_updated_by)
270: THEN
268:
269: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.last_updated_by, p_old_LIMITS_rec.last_updated_by)
270: THEN
271: l_index := l_index + 1;
272: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATED_BY;
273: END IF;
274:
275: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.last_update_date, p_old_LIMITS_rec.last_update_date)
276: THEN
274:
275: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.last_update_date, p_old_LIMITS_rec.last_update_date)
276: THEN
277: l_index := l_index + 1;
278: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATE_DATE;
279: END IF;
280:
281: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.last_update_login, p_old_LIMITS_rec.last_update_login)
282: THEN
280:
281: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.last_update_login, p_old_LIMITS_rec.last_update_login)
282: THEN
283: l_index := l_index + 1;
284: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATE_LOGIN;
285: END IF;
286:
287: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.limit_exceed_action_code, p_old_LIMITS_rec.limit_exceed_action_code)
288: THEN
286:
287: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.limit_exceed_action_code, p_old_LIMITS_rec.limit_exceed_action_code)
288: THEN
289: l_index := l_index + 1;
290: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_EXCEED_ACTION;
291: END IF;
292:
293:
294: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.limit_id, p_old_LIMITS_rec.limit_id)
293:
294: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.limit_id, p_old_LIMITS_rec.limit_id)
295: THEN
296: l_index := l_index + 1;
297: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT;
298: END IF;
299:
300: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.limit_level_code, p_old_LIMITS_rec.limit_level_code)
301: THEN
299:
300: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.limit_level_code, p_old_LIMITS_rec.limit_level_code)
301: THEN
302: l_index := l_index + 1;
303: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_LEVEL;
304: END IF;
305:
306: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.limit_number, p_old_LIMITS_rec.limit_number)
307: THEN
305:
306: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.limit_number, p_old_LIMITS_rec.limit_number)
307: THEN
308: l_index := l_index + 1;
309: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_NUMBER;
310: END IF;
311:
312: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.list_header_id, p_old_LIMITS_rec.list_header_id)
313: THEN
311:
312: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.list_header_id, p_old_LIMITS_rec.list_header_id)
313: THEN
314: l_index := l_index + 1;
315: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIST_HEADER;
316: END IF;
317:
318: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.list_line_id, p_old_LIMITS_rec.list_line_id)
319: THEN
317:
318: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.list_line_id, p_old_LIMITS_rec.list_line_id)
319: THEN
320: l_index := l_index + 1;
321: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIST_LINE;
322: END IF;
323:
324: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.organization_flag, p_old_LIMITS_rec.organization_flag)
325: THEN
323:
324: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.organization_flag, p_old_LIMITS_rec.organization_flag)
325: THEN
326: l_index := l_index + 1;
327: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ORGANIZATION;
328: END IF;
329:
330: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.program_application_id, p_old_LIMITS_rec.program_application_id)
331: THEN
329:
330: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.program_application_id, p_old_LIMITS_rec.program_application_id)
331: THEN
332: l_index := l_index + 1;
333: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM_APPLICATION;
334: END IF;
335:
336: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.program_id, p_old_LIMITS_rec.program_id)
337: THEN
335:
336: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.program_id, p_old_LIMITS_rec.program_id)
337: THEN
338: l_index := l_index + 1;
339: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM;
340: END IF;
341:
342: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.program_update_date, p_old_LIMITS_rec.program_update_date)
343: THEN
341:
342: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.program_update_date, p_old_LIMITS_rec.program_update_date)
343: THEN
344: l_index := l_index + 1;
345: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM_UPDATE_DATE;
346: END IF;
347:
348: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.request_id, p_old_LIMITS_rec.request_id)
349: THEN
347:
348: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.request_id, p_old_LIMITS_rec.request_id)
349: THEN
350: l_index := l_index + 1;
351: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_REQUEST;
352: END IF;
353:
354: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.limit_hold_flag, p_old_LIMITS_rec.limit_hold_flag)
355: THEN
353:
354: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.limit_hold_flag, p_old_LIMITS_rec.limit_hold_flag)
355: THEN
356: l_index := l_index + 1;
357: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_HOLD;
358: END IF;
359:
360: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr1_type, p_old_LIMITS_rec.multival_attr1_type)
361: THEN
359:
360: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr1_type, p_old_LIMITS_rec.multival_attr1_type)
361: THEN
362: l_index := l_index + 1;
363: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_TYPE;
364: END IF;
365:
366: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr1_context, p_old_LIMITS_rec.multival_attr1_context)
367: THEN
365:
366: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr1_context, p_old_LIMITS_rec.multival_attr1_context)
367: THEN
368: l_index := l_index + 1;
369: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_CONTEXT;
370: END IF;
371:
372: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attribute1, p_old_LIMITS_rec.multival_attribute1)
373: THEN
371:
372: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attribute1, p_old_LIMITS_rec.multival_attribute1)
373: THEN
374: l_index := l_index + 1;
375: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTRIBUTE1;
376: END IF;
377:
378: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr1_datatype, p_old_LIMITS_rec.multival_attr1_datatype)
379: THEN
377:
378: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr1_datatype, p_old_LIMITS_rec.multival_attr1_datatype)
379: THEN
380: l_index := l_index + 1;
381: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_DATATYPE;
382: END IF;
383:
384: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr2_type, p_old_LIMITS_rec.multival_attr2_type)
385: THEN
383:
384: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr2_type, p_old_LIMITS_rec.multival_attr2_type)
385: THEN
386: l_index := l_index + 1;
387: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_TYPE;
388: END IF;
389:
390: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr2_context, p_old_LIMITS_rec.multival_attr2_context)
391: THEN
389:
390: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr2_context, p_old_LIMITS_rec.multival_attr2_context)
391: THEN
392: l_index := l_index + 1;
393: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_CONTEXT;
394: END IF;
395:
396: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attribute2, p_old_LIMITS_rec.multival_attribute2)
397: THEN
395:
396: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attribute2, p_old_LIMITS_rec.multival_attribute2)
397: THEN
398: l_index := l_index + 1;
399: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTRIBUTE2;
400: END IF;
401:
402: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr2_datatype, p_old_LIMITS_rec.multival_attr2_datatype)
403: THEN
401:
402: IF NOT QP_GLOBALS.Equal(p_LIMITS_rec.multival_attr2_datatype, p_old_LIMITS_rec.multival_attr2_datatype)
403: THEN
404: l_index := l_index + 1;
405: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_DATATYPE;
406: END IF;
407:
408: ELSIF p_attr_id = G_AMOUNT THEN
409: l_index := l_index + 1;
406: END IF;
407:
408: ELSIF p_attr_id = G_AMOUNT THEN
409: l_index := l_index + 1;
410: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_AMOUNT;
411: ELSIF p_attr_id = G_ATTRIBUTE1 THEN
412: l_index := l_index + 1;
413: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE1;
414: ELSIF p_attr_id = G_ATTRIBUTE10 THEN
409: l_index := l_index + 1;
410: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_AMOUNT;
411: ELSIF p_attr_id = G_ATTRIBUTE1 THEN
412: l_index := l_index + 1;
413: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE1;
414: ELSIF p_attr_id = G_ATTRIBUTE10 THEN
415: l_index := l_index + 1;
416: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE10;
417: ELSIF p_attr_id = G_ATTRIBUTE11 THEN
412: l_index := l_index + 1;
413: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE1;
414: ELSIF p_attr_id = G_ATTRIBUTE10 THEN
415: l_index := l_index + 1;
416: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE10;
417: ELSIF p_attr_id = G_ATTRIBUTE11 THEN
418: l_index := l_index + 1;
419: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE11;
420: ELSIF p_attr_id = G_ATTRIBUTE12 THEN
415: l_index := l_index + 1;
416: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE10;
417: ELSIF p_attr_id = G_ATTRIBUTE11 THEN
418: l_index := l_index + 1;
419: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE11;
420: ELSIF p_attr_id = G_ATTRIBUTE12 THEN
421: l_index := l_index + 1;
422: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE12;
423: ELSIF p_attr_id = G_ATTRIBUTE13 THEN
418: l_index := l_index + 1;
419: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE11;
420: ELSIF p_attr_id = G_ATTRIBUTE12 THEN
421: l_index := l_index + 1;
422: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE12;
423: ELSIF p_attr_id = G_ATTRIBUTE13 THEN
424: l_index := l_index + 1;
425: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE13;
426: ELSIF p_attr_id = G_ATTRIBUTE14 THEN
421: l_index := l_index + 1;
422: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE12;
423: ELSIF p_attr_id = G_ATTRIBUTE13 THEN
424: l_index := l_index + 1;
425: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE13;
426: ELSIF p_attr_id = G_ATTRIBUTE14 THEN
427: l_index := l_index + 1;
428: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE14;
429: ELSIF p_attr_id = G_ATTRIBUTE15 THEN
424: l_index := l_index + 1;
425: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE13;
426: ELSIF p_attr_id = G_ATTRIBUTE14 THEN
427: l_index := l_index + 1;
428: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE14;
429: ELSIF p_attr_id = G_ATTRIBUTE15 THEN
430: l_index := l_index + 1;
431: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE15;
432: ELSIF p_attr_id = G_ATTRIBUTE2 THEN
427: l_index := l_index + 1;
428: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE14;
429: ELSIF p_attr_id = G_ATTRIBUTE15 THEN
430: l_index := l_index + 1;
431: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE15;
432: ELSIF p_attr_id = G_ATTRIBUTE2 THEN
433: l_index := l_index + 1;
434: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE2;
435: ELSIF p_attr_id = G_ATTRIBUTE3 THEN
430: l_index := l_index + 1;
431: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE15;
432: ELSIF p_attr_id = G_ATTRIBUTE2 THEN
433: l_index := l_index + 1;
434: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE2;
435: ELSIF p_attr_id = G_ATTRIBUTE3 THEN
436: l_index := l_index + 1;
437: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE3;
438: ELSIF p_attr_id = G_ATTRIBUTE4 THEN
433: l_index := l_index + 1;
434: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE2;
435: ELSIF p_attr_id = G_ATTRIBUTE3 THEN
436: l_index := l_index + 1;
437: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE3;
438: ELSIF p_attr_id = G_ATTRIBUTE4 THEN
439: l_index := l_index + 1;
440: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE4;
441: ELSIF p_attr_id = G_ATTRIBUTE5 THEN
436: l_index := l_index + 1;
437: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE3;
438: ELSIF p_attr_id = G_ATTRIBUTE4 THEN
439: l_index := l_index + 1;
440: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE4;
441: ELSIF p_attr_id = G_ATTRIBUTE5 THEN
442: l_index := l_index + 1;
443: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE5;
444: ELSIF p_attr_id = G_ATTRIBUTE6 THEN
439: l_index := l_index + 1;
440: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE4;
441: ELSIF p_attr_id = G_ATTRIBUTE5 THEN
442: l_index := l_index + 1;
443: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE5;
444: ELSIF p_attr_id = G_ATTRIBUTE6 THEN
445: l_index := l_index + 1;
446: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE6;
447: ELSIF p_attr_id = G_ATTRIBUTE7 THEN
442: l_index := l_index + 1;
443: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE5;
444: ELSIF p_attr_id = G_ATTRIBUTE6 THEN
445: l_index := l_index + 1;
446: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE6;
447: ELSIF p_attr_id = G_ATTRIBUTE7 THEN
448: l_index := l_index + 1;
449: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE7;
450: ELSIF p_attr_id = G_ATTRIBUTE8 THEN
445: l_index := l_index + 1;
446: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE6;
447: ELSIF p_attr_id = G_ATTRIBUTE7 THEN
448: l_index := l_index + 1;
449: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE7;
450: ELSIF p_attr_id = G_ATTRIBUTE8 THEN
451: l_index := l_index + 1;
452: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE8;
453: ELSIF p_attr_id = G_ATTRIBUTE9 THEN
448: l_index := l_index + 1;
449: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE7;
450: ELSIF p_attr_id = G_ATTRIBUTE8 THEN
451: l_index := l_index + 1;
452: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE8;
453: ELSIF p_attr_id = G_ATTRIBUTE9 THEN
454: l_index := l_index + 1;
455: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE9;
456: ELSIF p_attr_id = G_BASIS THEN
451: l_index := l_index + 1;
452: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE8;
453: ELSIF p_attr_id = G_ATTRIBUTE9 THEN
454: l_index := l_index + 1;
455: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE9;
456: ELSIF p_attr_id = G_BASIS THEN
457: l_index := l_index + 1;
458: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_BASIS;
459: ELSIF p_attr_id = G_CONTEXT THEN
454: l_index := l_index + 1;
455: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ATTRIBUTE9;
456: ELSIF p_attr_id = G_BASIS THEN
457: l_index := l_index + 1;
458: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_BASIS;
459: ELSIF p_attr_id = G_CONTEXT THEN
460: l_index := l_index + 1;
461: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CONTEXT;
462: ELSIF p_attr_id = G_CREATED_BY THEN
457: l_index := l_index + 1;
458: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_BASIS;
459: ELSIF p_attr_id = G_CONTEXT THEN
460: l_index := l_index + 1;
461: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CONTEXT;
462: ELSIF p_attr_id = G_CREATED_BY THEN
463: l_index := l_index + 1;
464: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CREATED_BY;
465: ELSIF p_attr_id = G_CREATION_DATE THEN
460: l_index := l_index + 1;
461: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CONTEXT;
462: ELSIF p_attr_id = G_CREATED_BY THEN
463: l_index := l_index + 1;
464: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CREATED_BY;
465: ELSIF p_attr_id = G_CREATION_DATE THEN
466: l_index := l_index + 1;
467: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CREATION_DATE;
468: ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
463: l_index := l_index + 1;
464: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CREATED_BY;
465: ELSIF p_attr_id = G_CREATION_DATE THEN
466: l_index := l_index + 1;
467: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CREATION_DATE;
468: ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
469: l_index := l_index + 1;
470: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATED_BY;
471: ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
466: l_index := l_index + 1;
467: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_CREATION_DATE;
468: ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
469: l_index := l_index + 1;
470: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATED_BY;
471: ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
472: l_index := l_index + 1;
473: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATE_DATE;
474: ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
469: l_index := l_index + 1;
470: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATED_BY;
471: ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
472: l_index := l_index + 1;
473: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATE_DATE;
474: ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
475: l_index := l_index + 1;
476: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATE_LOGIN;
477: ELSIF p_attr_id = G_LIMIT_EXCEED_ACTION THEN
472: l_index := l_index + 1;
473: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATE_DATE;
474: ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
475: l_index := l_index + 1;
476: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATE_LOGIN;
477: ELSIF p_attr_id = G_LIMIT_EXCEED_ACTION THEN
478: l_index := l_index + 1;
479: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_EXCEED_ACTION;
480: ELSIF p_attr_id = G_LIMIT THEN
475: l_index := l_index + 1;
476: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LAST_UPDATE_LOGIN;
477: ELSIF p_attr_id = G_LIMIT_EXCEED_ACTION THEN
478: l_index := l_index + 1;
479: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_EXCEED_ACTION;
480: ELSIF p_attr_id = G_LIMIT THEN
481: l_index := l_index + 1;
482: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT;
483: ELSIF p_attr_id = G_LIMIT_LEVEL THEN
478: l_index := l_index + 1;
479: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_EXCEED_ACTION;
480: ELSIF p_attr_id = G_LIMIT THEN
481: l_index := l_index + 1;
482: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT;
483: ELSIF p_attr_id = G_LIMIT_LEVEL THEN
484: l_index := l_index + 1;
485: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_LEVEL;
486: ELSIF p_attr_id = G_LIMIT_NUMBER THEN
481: l_index := l_index + 1;
482: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT;
483: ELSIF p_attr_id = G_LIMIT_LEVEL THEN
484: l_index := l_index + 1;
485: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_LEVEL;
486: ELSIF p_attr_id = G_LIMIT_NUMBER THEN
487: l_index := l_index + 1;
488: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_NUMBER;
489: ELSIF p_attr_id = G_LIST_HEADER THEN
484: l_index := l_index + 1;
485: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_LEVEL;
486: ELSIF p_attr_id = G_LIMIT_NUMBER THEN
487: l_index := l_index + 1;
488: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_NUMBER;
489: ELSIF p_attr_id = G_LIST_HEADER THEN
490: l_index := l_index + 1;
491: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIST_HEADER;
492: ELSIF p_attr_id = G_LIST_LINE THEN
487: l_index := l_index + 1;
488: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_NUMBER;
489: ELSIF p_attr_id = G_LIST_HEADER THEN
490: l_index := l_index + 1;
491: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIST_HEADER;
492: ELSIF p_attr_id = G_LIST_LINE THEN
493: l_index := l_index + 1;
494: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIST_LINE;
495: ELSIF p_attr_id = G_ORGANIZATION THEN
490: l_index := l_index + 1;
491: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIST_HEADER;
492: ELSIF p_attr_id = G_LIST_LINE THEN
493: l_index := l_index + 1;
494: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIST_LINE;
495: ELSIF p_attr_id = G_ORGANIZATION THEN
496: l_index := l_index + 1;
497: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ORGANIZATION;
498: ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
493: l_index := l_index + 1;
494: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIST_LINE;
495: ELSIF p_attr_id = G_ORGANIZATION THEN
496: l_index := l_index + 1;
497: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ORGANIZATION;
498: ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
499: l_index := l_index + 1;
500: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM_APPLICATION;
501: ELSIF p_attr_id = G_PROGRAM THEN
496: l_index := l_index + 1;
497: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_ORGANIZATION;
498: ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
499: l_index := l_index + 1;
500: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM_APPLICATION;
501: ELSIF p_attr_id = G_PROGRAM THEN
502: l_index := l_index + 1;
503: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM;
504: ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
499: l_index := l_index + 1;
500: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM_APPLICATION;
501: ELSIF p_attr_id = G_PROGRAM THEN
502: l_index := l_index + 1;
503: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM;
504: ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
505: l_index := l_index + 1;
506: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM_UPDATE_DATE;
507: ELSIF p_attr_id = G_REQUEST THEN
502: l_index := l_index + 1;
503: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM;
504: ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
505: l_index := l_index + 1;
506: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM_UPDATE_DATE;
507: ELSIF p_attr_id = G_REQUEST THEN
508: l_index := l_index + 1;
509: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_REQUEST;
510: ELSIF p_attr_id = G_LIMIT_HOLD THEN
505: l_index := l_index + 1;
506: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_PROGRAM_UPDATE_DATE;
507: ELSIF p_attr_id = G_REQUEST THEN
508: l_index := l_index + 1;
509: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_REQUEST;
510: ELSIF p_attr_id = G_LIMIT_HOLD THEN
511: l_index := l_index + 1;
512: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_HOLD;
513: ELSIF p_attr_id = G_MULTIVAL_ATTR1_TYPE THEN
508: l_index := l_index + 1;
509: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_REQUEST;
510: ELSIF p_attr_id = G_LIMIT_HOLD THEN
511: l_index := l_index + 1;
512: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_HOLD;
513: ELSIF p_attr_id = G_MULTIVAL_ATTR1_TYPE THEN
514: l_index := l_index + 1;
515: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_TYPE;
516: ELSIF p_attr_id = G_MULTIVAL_ATTR1_CONTEXT THEN
511: l_index := l_index + 1;
512: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_LIMIT_HOLD;
513: ELSIF p_attr_id = G_MULTIVAL_ATTR1_TYPE THEN
514: l_index := l_index + 1;
515: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_TYPE;
516: ELSIF p_attr_id = G_MULTIVAL_ATTR1_CONTEXT THEN
517: l_index := l_index + 1;
518: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_CONTEXT;
519: ELSIF p_attr_id = G_MULTIVAL_ATTRIBUTE1 THEN
514: l_index := l_index + 1;
515: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_TYPE;
516: ELSIF p_attr_id = G_MULTIVAL_ATTR1_CONTEXT THEN
517: l_index := l_index + 1;
518: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_CONTEXT;
519: ELSIF p_attr_id = G_MULTIVAL_ATTRIBUTE1 THEN
520: l_index := l_index + 1;
521: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTRIBUTE1;
522: ELSIF p_attr_id = G_MULTIVAL_ATTR1_DATATYPE THEN
517: l_index := l_index + 1;
518: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_CONTEXT;
519: ELSIF p_attr_id = G_MULTIVAL_ATTRIBUTE1 THEN
520: l_index := l_index + 1;
521: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTRIBUTE1;
522: ELSIF p_attr_id = G_MULTIVAL_ATTR1_DATATYPE THEN
523: l_index := l_index + 1;
524: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_DATATYPE;
525: ELSIF p_attr_id = G_MULTIVAL_ATTR2_TYPE THEN
520: l_index := l_index + 1;
521: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTRIBUTE1;
522: ELSIF p_attr_id = G_MULTIVAL_ATTR1_DATATYPE THEN
523: l_index := l_index + 1;
524: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_DATATYPE;
525: ELSIF p_attr_id = G_MULTIVAL_ATTR2_TYPE THEN
526: l_index := l_index + 1;
527: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_TYPE;
528: ELSIF p_attr_id = G_MULTIVAL_ATTR2_CONTEXT THEN
523: l_index := l_index + 1;
524: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR1_DATATYPE;
525: ELSIF p_attr_id = G_MULTIVAL_ATTR2_TYPE THEN
526: l_index := l_index + 1;
527: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_TYPE;
528: ELSIF p_attr_id = G_MULTIVAL_ATTR2_CONTEXT THEN
529: l_index := l_index + 1;
530: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_CONTEXT;
531: ELSIF p_attr_id = G_MULTIVAL_ATTRIBUTE2 THEN
526: l_index := l_index + 1;
527: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_TYPE;
528: ELSIF p_attr_id = G_MULTIVAL_ATTR2_CONTEXT THEN
529: l_index := l_index + 1;
530: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_CONTEXT;
531: ELSIF p_attr_id = G_MULTIVAL_ATTRIBUTE2 THEN
532: l_index := l_index + 1;
533: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTRIBUTE2;
534: ELSIF p_attr_id = G_MULTIVAL_ATTR2_DATATYPE THEN
529: l_index := l_index + 1;
530: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_CONTEXT;
531: ELSIF p_attr_id = G_MULTIVAL_ATTRIBUTE2 THEN
532: l_index := l_index + 1;
533: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTRIBUTE2;
534: ELSIF p_attr_id = G_MULTIVAL_ATTR2_DATATYPE THEN
535: l_index := l_index + 1;
536: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_DATATYPE;
537: END IF;
532: l_index := l_index + 1;
533: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTRIBUTE2;
534: ELSIF p_attr_id = G_MULTIVAL_ATTR2_DATATYPE THEN
535: l_index := l_index + 1;
536: l_src_attr_tbl(l_index) := QP_LIMITS_UTIL.G_MULTIVAL_ATTR2_DATATYPE;
537: END IF;
538:
539: END Clear_Dependent_Attr;
540:
540:
541: -- Procedure Apply_Attribute_Changes
542:
543: PROCEDURE Apply_Attribute_Changes
544: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
545: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
546: QP_Limits_PUB.G_MISS_LIMITS_REC
547: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
548: )
541: -- Procedure Apply_Attribute_Changes
542:
543: PROCEDURE Apply_Attribute_Changes
544: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
545: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
546: QP_Limits_PUB.G_MISS_LIMITS_REC
547: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
548: )
549: IS
542:
543: PROCEDURE Apply_Attribute_Changes
544: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
545: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
546: QP_Limits_PUB.G_MISS_LIMITS_REC
547: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
548: )
549: IS
550: BEGIN
543: PROCEDURE Apply_Attribute_Changes
544: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
545: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
546: QP_Limits_PUB.G_MISS_LIMITS_REC
547: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
548: )
549: IS
550: BEGIN
551:
772:
773: -- Function Complete_Record
774:
775: FUNCTION Complete_Record
776: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
777: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
778: ) RETURN QP_Limits_PUB.Limits_Rec_Type
779: IS
780: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type := p_LIMITS_rec;
773: -- Function Complete_Record
774:
775: FUNCTION Complete_Record
776: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
777: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
778: ) RETURN QP_Limits_PUB.Limits_Rec_Type
779: IS
780: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type := p_LIMITS_rec;
781: BEGIN
774:
775: FUNCTION Complete_Record
776: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
777: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
778: ) RETURN QP_Limits_PUB.Limits_Rec_Type
779: IS
780: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type := p_LIMITS_rec;
781: BEGIN
782:
776: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
777: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
778: ) RETURN QP_Limits_PUB.Limits_Rec_Type
779: IS
780: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type := p_LIMITS_rec;
781: BEGIN
782:
783: IF l_LIMITS_rec.amount = FND_API.G_MISS_NUM THEN
784: l_LIMITS_rec.amount := p_old_LIMITS_rec.amount;
958:
959: -- Function Convert_Miss_To_Null
960:
961: FUNCTION Convert_Miss_To_Null
962: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
963: ) RETURN QP_Limits_PUB.Limits_Rec_Type
964: IS
965: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type := p_LIMITS_rec;
966: BEGIN
959: -- Function Convert_Miss_To_Null
960:
961: FUNCTION Convert_Miss_To_Null
962: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
963: ) RETURN QP_Limits_PUB.Limits_Rec_Type
964: IS
965: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type := p_LIMITS_rec;
966: BEGIN
967:
961: FUNCTION Convert_Miss_To_Null
962: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
963: ) RETURN QP_Limits_PUB.Limits_Rec_Type
964: IS
965: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type := p_LIMITS_rec;
966: BEGIN
967:
968: IF l_LIMITS_rec.amount = FND_API.G_MISS_NUM THEN
969: l_LIMITS_rec.amount := NULL;
1143:
1144: -- Procedure Update_Row
1145:
1146: PROCEDURE Update_Row
1147: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1148: )
1149:
1150: IS
1151: l_check_active_flag VARCHAR2(1);
1149:
1150: IS
1151: l_check_active_flag VARCHAR2(1);
1152: l_active_flag VARCHAR2(1);
1153: l_LIMITS_rec1 QP_Limits_PUB.Limits_Rec_Type;
1154: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1155: x_retcode NUMBER;
1156: x_errbuf VARCHAR2(250);
1157: BEGIN
1150: IS
1151: l_check_active_flag VARCHAR2(1);
1152: l_active_flag VARCHAR2(1);
1153: l_LIMITS_rec1 QP_Limits_PUB.Limits_Rec_Type;
1154: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1155: x_retcode NUMBER;
1156: x_errbuf VARCHAR2(250);
1157: BEGIN
1158:
1163: INTO l_active_flag
1164: FROM QP_LIST_HEADERS_B
1165: WHERE list_header_id=p_LIMITS_rec.list_header_id;
1166:
1167: UPDATE QP_LIMITS
1168: SET AMOUNT = p_LIMITS_rec.amount
1169: , ATTRIBUTE1 = p_LIMITS_rec.attribute1
1170: , ATTRIBUTE10 = p_LIMITS_rec.attribute10
1171: , ATTRIBUTE11 = p_LIMITS_rec.attribute11
1284:
1285: -- Procedure Insert_Row
1286:
1287: PROCEDURE Insert_Row
1288: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1289: )
1290:
1291: IS
1292: l_check_active_flag VARCHAR2(1);
1290:
1291: IS
1292: l_check_active_flag VARCHAR2(1);
1293: l_active_flag VARCHAR2(1);
1294: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1295:
1296: --dbms_output.put_line('Begin Insert Row');
1297: BEGIN
1298: l_LIMITS_rec := p_LIMITS_rec;
1300: INTO l_active_flag
1301: FROM QP_LIST_HEADERS_B
1302: WHERE list_header_id=p_LIMITS_rec.list_header_id;
1303:
1304: INSERT INTO QP_LIMITS
1305: ( AMOUNT
1306: , ATTRIBUTE1
1307: , ATTRIBUTE10
1308: , ATTRIBUTE11
1445: ( p_limit_id IN NUMBER
1446: )
1447:
1448: IS
1449: l_limits_rec QP_Limits_PUB.Limits_Rec_Type;
1450: BEGIN
1451:
1452: l_limits_rec := Query_Row(p_limit_id);
1453:
1453:
1454: l_limits_rec.operation := QP_GLOBALS.g_opr_delete;
1455: --dbms_output.put_line('In Delete_Row ..' || 'Header ' || l_limits_rec.list_header_id || ' line ' || l_limits_rec.list_line_id);
1456:
1457: DELETE FROM QP_LIMITS
1458: WHERE LIMIT_ID = p_limit_id;
1459:
1460: Update_List_Header_And_Line(l_limits_rec);
1461:
1480: -- Function Query_Row
1481:
1482: FUNCTION Query_Row
1483: ( p_limit_id IN NUMBER
1484: ) RETURN QP_Limits_PUB.Limits_Rec_Type
1485: IS
1486: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1487: BEGIN
1488:
1482: FUNCTION Query_Row
1483: ( p_limit_id IN NUMBER
1484: ) RETURN QP_Limits_PUB.Limits_Rec_Type
1485: IS
1486: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1487: BEGIN
1488:
1489: SELECT AMOUNT
1490: , ATTRIBUTE1
1571: , l_LIMITS_rec.program_application_id
1572: , l_LIMITS_rec.program_id
1573: , l_LIMITS_rec.program_update_date
1574: , l_LIMITS_rec.request_id
1575: FROM QP_LIMITS
1576: WHERE LIMIT_ID = p_limit_id
1577: ;
1578:
1579: RETURN l_LIMITS_rec;
1601: --
1602:
1603: PROCEDURE Lock_Row
1604: ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1605: , p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1606: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
1607: )
1608: IS
1609: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1602:
1603: PROCEDURE Lock_Row
1604: ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1605: , p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1606: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
1607: )
1608: IS
1609: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1610: BEGIN
1605: , p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1606: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
1607: )
1608: IS
1609: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1610: BEGIN
1611:
1612: SELECT AMOUNT
1613: , ATTRIBUTE1
1694: , l_LIMITS_rec.program_application_id
1695: , l_LIMITS_rec.program_id
1696: , l_LIMITS_rec.program_update_date
1697: , l_LIMITS_rec.request_id
1698: FROM QP_LIMITS
1699: WHERE LIMIT_ID = p_LIMITS_rec.limit_id
1700: FOR UPDATE NOWAIT;
1701:
1702: -- Row locked. Compare IN attributes to DB attributes.
1858:
1859: -- Function Get_Values
1860:
1861: FUNCTION Get_Values
1862: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1863: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
1864: QP_Limits_PUB.G_MISS_LIMITS_REC
1865: ) RETURN QP_Limits_PUB.Limits_Val_Rec_Type
1866: IS
1859: -- Function Get_Values
1860:
1861: FUNCTION Get_Values
1862: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1863: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
1864: QP_Limits_PUB.G_MISS_LIMITS_REC
1865: ) RETURN QP_Limits_PUB.Limits_Val_Rec_Type
1866: IS
1867: l_LIMITS_val_rec QP_Limits_PUB.Limits_Val_Rec_Type;
1860:
1861: FUNCTION Get_Values
1862: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1863: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
1864: QP_Limits_PUB.G_MISS_LIMITS_REC
1865: ) RETURN QP_Limits_PUB.Limits_Val_Rec_Type
1866: IS
1867: l_LIMITS_val_rec QP_Limits_PUB.Limits_Val_Rec_Type;
1868: BEGIN
1861: FUNCTION Get_Values
1862: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1863: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
1864: QP_Limits_PUB.G_MISS_LIMITS_REC
1865: ) RETURN QP_Limits_PUB.Limits_Val_Rec_Type
1866: IS
1867: l_LIMITS_val_rec QP_Limits_PUB.Limits_Val_Rec_Type;
1868: BEGIN
1869:
1863: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
1864: QP_Limits_PUB.G_MISS_LIMITS_REC
1865: ) RETURN QP_Limits_PUB.Limits_Val_Rec_Type
1866: IS
1867: l_LIMITS_val_rec QP_Limits_PUB.Limits_Val_Rec_Type;
1868: BEGIN
1869:
1870: IF p_LIMITS_rec.limit_exceed_action_code IS NOT NULL AND
1871: p_LIMITS_rec.limit_exceed_action_code <> FND_API.G_MISS_CHAR AND
1935:
1936: -- Function Get_Ids
1937:
1938: FUNCTION Get_Ids
1939: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1940: , p_LIMITS_val_rec IN QP_Limits_PUB.Limits_Val_Rec_Type
1941: ) RETURN QP_Limits_PUB.Limits_Rec_Type
1942: IS
1943: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1936: -- Function Get_Ids
1937:
1938: FUNCTION Get_Ids
1939: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1940: , p_LIMITS_val_rec IN QP_Limits_PUB.Limits_Val_Rec_Type
1941: ) RETURN QP_Limits_PUB.Limits_Rec_Type
1942: IS
1943: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1944: BEGIN
1937:
1938: FUNCTION Get_Ids
1939: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1940: , p_LIMITS_val_rec IN QP_Limits_PUB.Limits_Val_Rec_Type
1941: ) RETURN QP_Limits_PUB.Limits_Rec_Type
1942: IS
1943: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1944: BEGIN
1945:
1939: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
1940: , p_LIMITS_val_rec IN QP_Limits_PUB.Limits_Val_Rec_Type
1941: ) RETURN QP_Limits_PUB.Limits_Rec_Type
1942: IS
1943: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type;
1944: BEGIN
1945:
1946: -- initialize return_status.
1947:
2136:
2137: END Get_Ids;
2138:
2139: Procedure Pre_Write_Process
2140: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
2141: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
2142: QP_Limits_PUB.G_MISS_LIMITS_REC
2143: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
2144: ) IS
2137: END Get_Ids;
2138:
2139: Procedure Pre_Write_Process
2140: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
2141: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
2142: QP_Limits_PUB.G_MISS_LIMITS_REC
2143: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
2144: ) IS
2145:
2138:
2139: Procedure Pre_Write_Process
2140: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
2141: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
2142: QP_Limits_PUB.G_MISS_LIMITS_REC
2143: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
2144: ) IS
2145:
2146: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type := p_LIMITS_rec;
2139: Procedure Pre_Write_Process
2140: ( p_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type
2141: , p_old_LIMITS_rec IN QP_Limits_PUB.Limits_Rec_Type :=
2142: QP_Limits_PUB.G_MISS_LIMITS_REC
2143: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
2144: ) IS
2145:
2146: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type := p_LIMITS_rec;
2147: l_return_status varchar2(30);
2142: QP_Limits_PUB.G_MISS_LIMITS_REC
2143: , x_LIMITS_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limits_Rec_Type
2144: ) IS
2145:
2146: l_LIMITS_rec QP_Limits_PUB.Limits_Rec_Type := p_LIMITS_rec;
2147: l_return_status varchar2(30);
2148:
2149: BEGIN
2150:
2179:
2180: END Pre_Write_Process;
2181:
2182:
2183: END QP_Limits_Util;