[Home] [Help]
PACKAGE BODY: APPS.QP_SEG_UTIL
Source
1 PACKAGE BODY QP_Seg_Util AS
2 /* $Header: QPXUSEGB.pls 120.2 2005/08/03 07:36:58 srashmi noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Seg_Util';
7
8 -- Procedure Clear_Dependent_Attr
9
10 PROCEDURE p_compile_flexfields(p_segment_mapping_column in varchar2)
11 -- Addded by Abhijit , based on new APIs provided by AOL.(08/07/2002)
12 -- Private procedure to set session,freeze,enable and compile flexfields.
13 is
14 req_id number;
15 request_id number;
16 begin
17 fnd_flex_dsc_api.set_session_mode('customer_data');
18 --
19 -- Enabling column.
20 fnd_flex_dsc_api.enable_columns(APPL_SHORT_NAME =>'QP',
21 FLEXFIELD_NAME =>'QP_ATTR_DEFNS_PRICING',
22 PATTERN => p_segment_mapping_column);
23 -- Freezing the flexfield.
24 fnd_flex_dsc_api.freeze(APPL_SHORT_NAME =>'QP',
25 FLEXFIELD_NAME =>'QP_ATTR_DEFNS_PRICING');
26 --
27 -- Compiling the Flexfield.
28 commit;
29 req_id := fnd_request.submit_request
30 (application => 'FND',
31 program => 'FDFCMPD',
32 description => ('fdfcmp(D,' ||
33 'QP' || ',' ||
34 'QP_ATTR_DEFNS_PRICING' || ')'),
35 start_time => NULL,
36 sub_request => FALSE,
37 argument1 => 'D',
38 argument2 => 'QP',
39 argument3 => 'QP_ATTR_DEFNS_PRICING');
40
41 req_id := fnd_request.submit_request
42 (application => 'FND',
43 program => 'FDFVGN',
44 description => ('fdfvgn(3,' ||
45 '661' || ',' ||
46 'QP_ATTR_DEFNS_PRICING' || ')'),
47 start_time => NULL,
48 sub_request => FALSE,
49 argument1 => '3',
50 argument2 => '661',
51 argument3 => 'QP_ATTR_DEFNS_PRICING');
52 /*request_id := submit_cp_request(p_application_short_name => 'FND',
53 p_concurrent_program_name => 'FDFVGN',
54 px_description => l_description,
55 p_argument1 => '3',
56 p_argument2 => 661
57 p_argument3 => 'QP_ATTR_DEFNS_V'
58 )*/
59 end;
60 --
61 PROCEDURE Clear_Dependent_Attr
62 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
63 , p_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type
64 , p_old_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type :=
65 QP_Attributes_PUB.G_MISS_SEG_REC
66 , x_SEG_rec OUT NOCOPY /* file.sql.39 change */ QP_Attributes_PUB.Seg_Rec_Type
67 )
68 IS
69 l_index NUMBER := 0;
70 l_src_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
71 l_dep_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
72 BEGIN
73
74 -- Load out record
75
76 x_SEG_rec := p_SEG_rec;
77
78 -- If attr_id is missing compare old and new records and for
79 -- every changed attribute clear its dependent fields.
80
81 IF p_attr_id = FND_API.G_MISS_NUM THEN
82
83 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute1,p_old_SEG_rec.attribute1)
84 THEN
85 l_index := l_index + 1;
86 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE1;
87 END IF;
88
89 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute10,p_old_SEG_rec.attribute10)
90 THEN
91 l_index := l_index + 1;
92 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE10;
93 END IF;
94
95 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute11,p_old_SEG_rec.attribute11)
96 THEN
97 l_index := l_index + 1;
98 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE11;
99 END IF;
100
101 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute12,p_old_SEG_rec.attribute12)
102 THEN
103 l_index := l_index + 1;
104 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE12;
105 END IF;
106
107 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute13,p_old_SEG_rec.attribute13)
108 THEN
109 l_index := l_index + 1;
110 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE13;
111 END IF;
112
113 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute14,p_old_SEG_rec.attribute14)
114 THEN
115 l_index := l_index + 1;
116 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE14;
117 END IF;
118
119 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute15,p_old_SEG_rec.attribute15)
120 THEN
121 l_index := l_index + 1;
122 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE15;
123 END IF;
124
125 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute2,p_old_SEG_rec.attribute2)
126 THEN
127 l_index := l_index + 1;
128 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE2;
129 END IF;
130
131 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute3,p_old_SEG_rec.attribute3)
132 THEN
133 l_index := l_index + 1;
134 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE3;
135 END IF;
136
137 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute4,p_old_SEG_rec.attribute4)
138 THEN
139 l_index := l_index + 1;
140 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE4;
141 END IF;
142
143 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute5,p_old_SEG_rec.attribute5)
144 THEN
145 l_index := l_index + 1;
146 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE5;
147 END IF;
148
149 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute6,p_old_SEG_rec.attribute6)
150 THEN
151 l_index := l_index + 1;
152 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE6;
153 END IF;
154
155 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute7,p_old_SEG_rec.attribute7)
156 THEN
157 l_index := l_index + 1;
158 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE7;
159 END IF;
160
161 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute8,p_old_SEG_rec.attribute8)
162 THEN
163 l_index := l_index + 1;
164 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE8;
165 END IF;
166
167 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute9,p_old_SEG_rec.attribute9)
168 THEN
169 l_index := l_index + 1;
170 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE9;
171 END IF;
172
173 IF NOT QP_GLOBALS.Equal(p_SEG_rec.availability_in_basic,p_old_SEG_rec.availability_in_basic)
174 THEN
175 l_index := l_index + 1;
176 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_AVAILABILITY_IN_BASIC;
177 END IF;
178
179 IF NOT QP_GLOBALS.Equal(p_SEG_rec.context,p_old_SEG_rec.context)
180 THEN
181 l_index := l_index + 1;
182 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_CONTEXT;
183 END IF;
184
185 IF NOT QP_GLOBALS.Equal(p_SEG_rec.created_by,p_old_SEG_rec.created_by)
186 THEN
187 l_index := l_index + 1;
188 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_CREATED_BY;
189 END IF;
190
191 IF NOT QP_GLOBALS.Equal(p_SEG_rec.creation_date,p_old_SEG_rec.creation_date)
192 THEN
193 l_index := l_index + 1;
194 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_CREATION_DATE;
195 END IF;
196
197 IF NOT QP_GLOBALS.Equal(p_SEG_rec.last_updated_by,p_old_SEG_rec.last_updated_by)
198 THEN
199 l_index := l_index + 1;
200 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_LAST_UPDATED_BY;
201 END IF;
202
203 IF NOT QP_GLOBALS.Equal(p_SEG_rec.last_update_date,p_old_SEG_rec.last_update_date)
204 THEN
205 l_index := l_index + 1;
206 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_LAST_UPDATE_DATE;
207 END IF;
208
209 IF NOT QP_GLOBALS.Equal(p_SEG_rec.last_update_login,p_old_SEG_rec.last_update_login)
210 THEN
211 l_index := l_index + 1;
212 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_LAST_UPDATE_LOGIN;
213 END IF;
214
215 IF NOT QP_GLOBALS.Equal(p_SEG_rec.prc_context_id,p_old_SEG_rec.prc_context_id)
216 THEN
217 l_index := l_index + 1;
218 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_PRC_CONTEXT;
219 END IF;
220
221 IF NOT QP_GLOBALS.Equal(p_SEG_rec.program_application_id,p_old_SEG_rec.program_application_id)
222 THEN
223 l_index := l_index + 1;
224 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_PROGRAM_APPLICATION;
225 END IF;
226
227 IF NOT QP_GLOBALS.Equal(p_SEG_rec.program_id,p_old_SEG_rec.program_id)
228 THEN
229 l_index := l_index + 1;
230 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_PROGRAM;
231 END IF;
232
233 IF NOT QP_GLOBALS.Equal(p_SEG_rec.program_update_date,p_old_SEG_rec.program_update_date)
234 THEN
235 l_index := l_index + 1;
236 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_PROGRAM_UPDATE_DATE;
237 END IF;
238
239 IF NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_flag,p_old_SEG_rec.seeded_flag)
240 THEN
241 l_index := l_index + 1;
242 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED;
243 END IF;
244
245 IF NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_format_type,p_old_SEG_rec.seeded_format_type)
246 THEN
247 l_index := l_index + 1;
248 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED_FORMAT_TYPE;
249 END IF;
250
251 IF NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_precedence,p_old_SEG_rec.seeded_precedence)
252 THEN
253 l_index := l_index + 1;
254 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED_PRECEDENCE;
255 END IF;
256
257
258 IF NOT QP_GLOBALS.Equal( p_SEG_rec.seeded_description,p_old_SEG_rec.seeded_description)
259 THEN
260 l_index := l_index + 1;
261 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED_DESCRIPTION;
262 END IF;
263
264 IF NOT QP_GLOBALS.Equal( p_SEG_rec.user_description,p_old_SEG_rec.user_description)
265 THEN
266 l_index := l_index + 1;
267 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_USER_DESCRIPTION;
268 END IF;
269
270 IF NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_segment_name,p_old_SEG_rec.seeded_segment_name)
271 THEN
272 l_index := l_index + 1;
273 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED_SEGMENT_NAME;
274 END IF;
275
276 IF NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_valueset_id,p_old_SEG_rec.seeded_valueset_id)
277 THEN
278 l_index := l_index + 1;
279 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED_VALUESET;
280 END IF;
281
282 IF NOT QP_GLOBALS.Equal(p_SEG_rec.segment_code,p_old_SEG_rec.segment_code)
283 THEN
284 l_index := l_index + 1;
285 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEGMENT_code;
286 END IF;
287
288 IF NOT QP_GLOBALS.Equal(p_SEG_rec.segment_id,p_old_SEG_rec.segment_id)
289 THEN
290 l_index := l_index + 1;
291 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEGMENT;
292 END IF;
293
294 IF NOT QP_GLOBALS.Equal(p_SEG_rec.application_id,p_old_SEG_rec.application_id)
295 THEN
296 l_index := l_index + 1;
297 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_APPLICATION_ID;
298 END IF;
299
300 IF NOT QP_GLOBALS.Equal(p_SEG_rec.segment_mapping_column,p_old_SEG_rec.segment_mapping_column)
301 THEN
302 l_index := l_index + 1;
303 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEGMENT_MAPPING_COLUMN;
304 END IF;
305
306 IF NOT QP_GLOBALS.Equal(p_SEG_rec.user_format_type,p_old_SEG_rec.user_format_type)
307 THEN
308 l_index := l_index + 1;
309 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_USER_FORMAT_TYPE;
310 END IF;
311
312 IF NOT QP_GLOBALS.Equal(p_SEG_rec.user_precedence,p_old_SEG_rec.user_precedence)
313 THEN
314 l_index := l_index + 1;
315 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_USER_PRECEDENCE;
316 END IF;
317
318 IF NOT QP_GLOBALS.Equal(p_SEG_rec.user_segment_name,p_old_SEG_rec.user_segment_name)
319 THEN
320 l_index := l_index + 1;
321 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_USER_SEGMENT_NAME;
322 END IF;
323
324 IF NOT QP_GLOBALS.Equal(p_SEG_rec.user_valueset_id,p_old_SEG_rec.user_valueset_id)
325 THEN
326 l_index := l_index + 1;
327 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_USER_VALUESET;
328 END IF;
329
330 IF NOT QP_GLOBALS.Equal(p_SEG_rec.required_flag,p_old_SEG_rec.required_flag)
331 THEN
332 l_index := l_index + 1;
333 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_REQUIRED_FLAG;
334 END IF;
335 -- Added for TCA
336 IF NOT QP_GLOBALS.Equal(p_SEG_rec.party_hierarchy_enabled_flag,p_old_SEG_rec.party_hierarchy_enabled_flag)
337 THEN
338 l_index := l_index + 1;
339 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_PARTY_HIERARCHY_ENABLED_FLAG;
340 END IF;
341
342 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
343 l_index := l_index + 1;
344 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE1;
345 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
346 l_index := l_index + 1;
347 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE10;
348 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
349 l_index := l_index + 1;
350 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE11;
351 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
352 l_index := l_index + 1;
353 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE12;
354 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
355 l_index := l_index + 1;
356 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE13;
357 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
358 l_index := l_index + 1;
359 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE14;
360 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
361 l_index := l_index + 1;
362 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE15;
363 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
364 l_index := l_index + 1;
365 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE2;
366 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
367 l_index := l_index + 1;
368 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE3;
369 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
370 l_index := l_index + 1;
371 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE4;
372 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
373 l_index := l_index + 1;
374 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE5;
375 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
376 l_index := l_index + 1;
377 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE6;
378 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
379 l_index := l_index + 1;
380 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE7;
381 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
382 l_index := l_index + 1;
383 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE8;
384 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
385 l_index := l_index + 1;
386 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_ATTRIBUTE9;
387 ELSIF p_attr_id = G_AVAILABILITY_IN_BASIC THEN
388 l_index := l_index + 1;
389 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_AVAILABILITY_IN_BASIC;
390 ELSIF p_attr_id = G_CONTEXT THEN
391 l_index := l_index + 1;
392 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_CONTEXT;
393 ELSIF p_attr_id = G_CREATED_BY THEN
394 l_index := l_index + 1;
395 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_CREATED_BY;
396 ELSIF p_attr_id = G_CREATION_DATE THEN
397 l_index := l_index + 1;
398 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_CREATION_DATE;
399 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
400 l_index := l_index + 1;
401 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_LAST_UPDATED_BY;
402 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
403 l_index := l_index + 1;
404 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_LAST_UPDATE_DATE;
405 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
406 l_index := l_index + 1;
407 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_LAST_UPDATE_LOGIN;
408 ELSIF p_attr_id = G_PRC_CONTEXT THEN
409 l_index := l_index + 1;
410 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_PRC_CONTEXT;
411 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
412 l_index := l_index + 1;
413 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_PROGRAM_APPLICATION;
414 ELSIF p_attr_id = G_PROGRAM THEN
415 l_index := l_index + 1;
416 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_PROGRAM;
417 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
418 l_index := l_index + 1;
419 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_PROGRAM_UPDATE_DATE;
420 ELSIF p_attr_id = G_SEEDED THEN
421 l_index := l_index + 1;
422 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED;
423 ELSIF p_attr_id = G_SEEDED_FORMAT_TYPE THEN
424 l_index := l_index + 1;
425 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED_FORMAT_TYPE;
426 ELSIF p_attr_id = G_SEEDED_PRECEDENCE THEN
427 l_index := l_index + 1;
428 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED_PRECEDENCE;
429 ELSIF p_attr_id = G_SEEDED_SEGMENT_NAME THEN
430 l_index := l_index + 1;
431 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED_SEGMENT_NAME;
432 ELSIF p_attr_id = G_SEEDED_VALUESET THEN
433 l_index := l_index + 1;
434 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED_VALUESET;
435 ELSIF p_attr_id = G_SEGMENT_code THEN
436 l_index := l_index + 1;
437 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEGMENT_code;
438 ELSIF p_attr_id = G_SEGMENT THEN
439 l_index := l_index + 1;
440 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEGMENT;
441 ELSIF p_attr_id = G_APPLICATION_ID THEN
442 l_index := l_index + 1;
443 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_APPLICATION_ID;
444 ELSIF p_attr_id = G_SEGMENT_MAPPING_COLUMN THEN
445 l_index := l_index + 1;
446 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEGMENT_MAPPING_COLUMN;
447 ELSIF p_attr_id = G_USER_FORMAT_TYPE THEN
448 l_index := l_index + 1;
449 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_USER_FORMAT_TYPE;
450 ELSIF p_attr_id = G_USER_PRECEDENCE THEN
451 l_index := l_index + 1;
452 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_USER_PRECEDENCE;
453 ELSIF p_attr_id = G_USER_SEGMENT_NAME THEN
454 l_index := l_index + 1;
455 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_USER_SEGMENT_NAME;
456 ELSIF p_attr_id = G_USER_VALUESET THEN
457 l_index := l_index + 1;
458 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_USER_VALUESET;
459 ELSIF p_attr_id = G_SEEDED_DESCRIPTION THEN
460 l_index := l_index + 1;
461 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_SEEDED_DESCRIPTION;
462 ELSIF p_attr_id = G_USER_DESCRIPTION THEN
463 l_index := l_index + 1;
464 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_USER_DESCRIPTION;
465 ELSIF p_attr_id = G_REQUIRED_FLAG THEN
466 l_index := l_index + 1;
467 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_REQUIRED_FLAG;
468 -- Added for TCA
469 ELSIF p_attr_id = G_PARTY_HIERARCHY_ENABLED_FLAG THEN
470 l_index := l_index + 1;
471 l_src_attr_tbl(l_index) := QP_SEG_UTIL.G_PARTY_HIERARCHY_ENABLED_FLAG;
472 END IF;
473
474 END Clear_Dependent_Attr;
475
476 -- Procedure Apply_Attribute_Changes
477
478 PROCEDURE Apply_Attribute_Changes
479 ( p_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type
480 , p_old_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type :=
481 QP_Attributes_PUB.G_MISS_SEG_REC
482 , x_SEG_rec OUT NOCOPY /* file.sql.39 change */ QP_Attributes_PUB.Seg_Rec_Type
483 )
484 IS
485 BEGIN
486
487 -- Load out record
488
489 x_SEG_rec := p_SEG_rec;
490
491 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute1,p_old_SEG_rec.attribute1)
492 THEN
493 NULL;
494 END IF;
495
496 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute10,p_old_SEG_rec.attribute10)
497 THEN
498 NULL;
499 END IF;
500
501 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute11,p_old_SEG_rec.attribute11)
502 THEN
503 NULL;
504 END IF;
505
506 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute12,p_old_SEG_rec.attribute12)
507 THEN
508 NULL;
509 END IF;
510
511 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute13,p_old_SEG_rec.attribute13)
512 THEN
513 NULL;
514 END IF;
515
516 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute14,p_old_SEG_rec.attribute14)
517 THEN
518 NULL;
519 END IF;
520
521 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute15,p_old_SEG_rec.attribute15)
522 THEN
523 NULL;
524 END IF;
525
526 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute2,p_old_SEG_rec.attribute2)
527 THEN
528 NULL;
529 END IF;
530
531 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute3,p_old_SEG_rec.attribute3)
532 THEN
533 NULL;
534 END IF;
535
536 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute4,p_old_SEG_rec.attribute4)
537 THEN
538 NULL;
539 END IF;
540
541 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute5,p_old_SEG_rec.attribute5)
542 THEN
543 NULL;
544 END IF;
545
546 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute6,p_old_SEG_rec.attribute6)
547 THEN
548 NULL;
549 END IF;
550
551 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute7,p_old_SEG_rec.attribute7)
552 THEN
553 NULL;
554 END IF;
555
556 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute8,p_old_SEG_rec.attribute8)
557 THEN
558 NULL;
559 END IF;
560
561 IF NOT QP_GLOBALS.Equal(p_SEG_rec.attribute9,p_old_SEG_rec.attribute9)
562 THEN
563 NULL;
564 END IF;
565
566 IF NOT QP_GLOBALS.Equal(p_SEG_rec.availability_in_basic,p_old_SEG_rec.availability_in_basic)
567 THEN
568 NULL;
569 END IF;
570
571 IF NOT QP_GLOBALS.Equal(p_SEG_rec.context,p_old_SEG_rec.context)
572 THEN
573 NULL;
574 END IF;
575
576 IF NOT QP_GLOBALS.Equal(p_SEG_rec.created_by,p_old_SEG_rec.created_by)
577 THEN
578 NULL;
579 END IF;
580
581 IF NOT QP_GLOBALS.Equal(p_SEG_rec.creation_date,p_old_SEG_rec.creation_date)
582 THEN
583 NULL;
584 END IF;
585
586 IF NOT QP_GLOBALS.Equal(p_SEG_rec.last_updated_by,p_old_SEG_rec.last_updated_by)
587 THEN
588 NULL;
589 END IF;
590
591 IF NOT QP_GLOBALS.Equal(p_SEG_rec.last_update_date,p_old_SEG_rec.last_update_date)
592 THEN
593 NULL;
594 END IF;
595
596 IF NOT QP_GLOBALS.Equal(p_SEG_rec.last_update_login,p_old_SEG_rec.last_update_login)
597 THEN
598 NULL;
599 END IF;
600
601 IF NOT QP_GLOBALS.Equal(p_SEG_rec.prc_context_id,p_old_SEG_rec.prc_context_id)
602 THEN
603 NULL;
604 END IF;
605
606 IF NOT QP_GLOBALS.Equal(p_SEG_rec.program_application_id,p_old_SEG_rec.program_application_id)
607 THEN
608 NULL;
609 END IF;
610
611 IF NOT QP_GLOBALS.Equal(p_SEG_rec.program_id,p_old_SEG_rec.program_id)
612 THEN
613 NULL;
614 END IF;
615
616 IF NOT QP_GLOBALS.Equal(p_SEG_rec.program_update_date,p_old_SEG_rec.program_update_date)
617 THEN
618 NULL;
619 END IF;
620
621 IF NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_flag,p_old_SEG_rec.seeded_flag)
622 THEN
623 NULL;
624 END IF;
625
626 IF NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_format_type,p_old_SEG_rec.seeded_format_type)
627 THEN
628 NULL;
629 END IF;
630
631 IF NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_precedence,p_old_SEG_rec.seeded_precedence)
632 THEN
633 NULL;
634 END IF;
635
636 IF NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_segment_name,p_old_SEG_rec.seeded_segment_name)
637 THEN
638 NULL;
639 END IF;
640
641 IF NOT QP_GLOBALS.Equal( p_SEG_rec.seeded_description,p_old_SEG_rec.seeded_description)
642 THEN
643 NULL;
644 END IF;
645
646 IF NOT QP_GLOBALS.Equal( p_SEG_rec.user_description,p_old_SEG_rec.user_description)
647 THEN
648 NULL;
649 END IF;
650
651 IF NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_valueset_id,p_old_SEG_rec.seeded_valueset_id)
652 THEN
653 NULL;
654 END IF;
655
656 IF NOT QP_GLOBALS.Equal(p_SEG_rec.segment_code,p_old_SEG_rec.segment_code)
657 THEN
658 NULL;
659 END IF;
660
661 IF NOT QP_GLOBALS.Equal(p_SEG_rec.segment_id,p_old_SEG_rec.segment_id)
662 THEN
663 NULL;
664 END IF;
665
666 IF NOT QP_GLOBALS.Equal(p_SEG_rec.application_id,p_old_SEG_rec.application_id)
667 THEN
668 NULL;
669 END IF;
670
671 IF NOT QP_GLOBALS.Equal(p_SEG_rec.segment_mapping_column,p_old_SEG_rec.segment_mapping_column)
672 THEN
673 NULL;
674 END IF;
675
676 IF NOT QP_GLOBALS.Equal(p_SEG_rec.user_format_type,p_old_SEG_rec.user_format_type)
677 THEN
678 NULL;
679 END IF;
680
681 IF NOT QP_GLOBALS.Equal(p_SEG_rec.user_precedence,p_old_SEG_rec.user_precedence)
682 THEN
683 NULL;
684 END IF;
685
686 IF NOT QP_GLOBALS.Equal(p_SEG_rec.user_segment_name,p_old_SEG_rec.user_segment_name)
687 THEN
688 NULL;
689 END IF;
690
691 IF NOT QP_GLOBALS.Equal(p_SEG_rec.user_valueset_id,p_old_SEG_rec.user_valueset_id)
692 THEN
693 NULL;
694 END IF;
695
696 IF NOT QP_GLOBALS.Equal(p_SEG_rec.required_flag,p_old_SEG_rec.required_flag)
697 THEN
698 NULL;
699 END IF;
700 --Added for TCA
701 IF NOT QP_GLOBALS.Equal(p_SEG_rec.party_hierarchy_enabled_flag,p_old_SEG_rec.party_hierarchy_enabled_flag)
702 THEN
703 NULL;
704 END IF;
705 END Apply_Attribute_Changes;
706
707 -- Function Complete_Record
708
709 FUNCTION Complete_Record
710 ( p_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type
711 , p_old_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type
712 ) RETURN QP_Attributes_PUB.Seg_Rec_Type
713 IS
714 l_SEG_rec QP_Attributes_PUB.Seg_Rec_Type := p_SEG_rec;
715 BEGIN
716
717 IF l_SEG_rec.attribute1 = FND_API.G_MISS_CHAR THEN
718 l_SEG_rec.attribute1 := p_old_SEG_rec.attribute1;
719 END IF;
720
721 IF l_SEG_rec.attribute10 = FND_API.G_MISS_CHAR THEN
722 l_SEG_rec.attribute10 := p_old_SEG_rec.attribute10;
723 END IF;
724
725 IF l_SEG_rec.attribute11 = FND_API.G_MISS_CHAR THEN
726 l_SEG_rec.attribute11 := p_old_SEG_rec.attribute11;
727 END IF;
728
729 IF l_SEG_rec.attribute12 = FND_API.G_MISS_CHAR THEN
730 l_SEG_rec.attribute12 := p_old_SEG_rec.attribute12;
731 END IF;
732
733 IF l_SEG_rec.attribute13 = FND_API.G_MISS_CHAR THEN
734 l_SEG_rec.attribute13 := p_old_SEG_rec.attribute13;
735 END IF;
736
737 IF l_SEG_rec.attribute14 = FND_API.G_MISS_CHAR THEN
738 l_SEG_rec.attribute14 := p_old_SEG_rec.attribute14;
739 END IF;
740
741 IF l_SEG_rec.attribute15 = FND_API.G_MISS_CHAR THEN
742 l_SEG_rec.attribute15 := p_old_SEG_rec.attribute15;
743 END IF;
744
745 IF l_SEG_rec.attribute2 = FND_API.G_MISS_CHAR THEN
746 l_SEG_rec.attribute2 := p_old_SEG_rec.attribute2;
747 END IF;
748
749 IF l_SEG_rec.attribute3 = FND_API.G_MISS_CHAR THEN
750 l_SEG_rec.attribute3 := p_old_SEG_rec.attribute3;
751 END IF;
752
753 IF l_SEG_rec.attribute4 = FND_API.G_MISS_CHAR THEN
754 l_SEG_rec.attribute4 := p_old_SEG_rec.attribute4;
755 END IF;
756
757 IF l_SEG_rec.attribute5 = FND_API.G_MISS_CHAR THEN
758 l_SEG_rec.attribute5 := p_old_SEG_rec.attribute5;
759 END IF;
760
761 IF l_SEG_rec.attribute6 = FND_API.G_MISS_CHAR THEN
762 l_SEG_rec.attribute6 := p_old_SEG_rec.attribute6;
763 END IF;
764
765 IF l_SEG_rec.attribute7 = FND_API.G_MISS_CHAR THEN
766 l_SEG_rec.attribute7 := p_old_SEG_rec.attribute7;
767 END IF;
768
769 IF l_SEG_rec.attribute8 = FND_API.G_MISS_CHAR THEN
770 l_SEG_rec.attribute8 := p_old_SEG_rec.attribute8;
771 END IF;
772
773 IF l_SEG_rec.attribute9 = FND_API.G_MISS_CHAR THEN
774 l_SEG_rec.attribute9 := p_old_SEG_rec.attribute9;
775 END IF;
776
777 IF l_SEG_rec.availability_in_basic = FND_API.G_MISS_CHAR THEN
778 l_SEG_rec.availability_in_basic := p_old_SEG_rec.availability_in_basic;
779 END IF;
780
781 IF l_SEG_rec.context = FND_API.G_MISS_CHAR THEN
782 l_SEG_rec.context := p_old_SEG_rec.context;
783 END IF;
784
785 IF l_SEG_rec.created_by = FND_API.G_MISS_NUM THEN
786 l_SEG_rec.created_by := p_old_SEG_rec.created_by;
787 END IF;
788
789 IF l_SEG_rec.creation_date = FND_API.G_MISS_DATE THEN
790 l_SEG_rec.creation_date := p_old_SEG_rec.creation_date;
791 END IF;
792
793 IF l_SEG_rec.last_updated_by = FND_API.G_MISS_NUM THEN
794 l_SEG_rec.last_updated_by := p_old_SEG_rec.last_updated_by;
795 END IF;
796
797 IF l_SEG_rec.last_update_date = FND_API.G_MISS_DATE THEN
798 l_SEG_rec.last_update_date := p_old_SEG_rec.last_update_date;
799 END IF;
800
801 IF l_SEG_rec.last_update_login = FND_API.G_MISS_NUM THEN
802 l_SEG_rec.last_update_login := p_old_SEG_rec.last_update_login;
803 END IF;
804
805 IF l_SEG_rec.prc_context_id = FND_API.G_MISS_NUM THEN
806 l_SEG_rec.prc_context_id := p_old_SEG_rec.prc_context_id;
807 END IF;
808
809 IF l_SEG_rec.program_application_id = FND_API.G_MISS_NUM THEN
810 l_SEG_rec.program_application_id := p_old_SEG_rec.program_application_id;
811 END IF;
812
813 IF l_SEG_rec.program_id = FND_API.G_MISS_NUM THEN
814 l_SEG_rec.program_id := p_old_SEG_rec.program_id;
815 END IF;
816
817 IF l_SEG_rec.program_update_date = FND_API.G_MISS_DATE THEN
818 l_SEG_rec.program_update_date := p_old_SEG_rec.program_update_date;
819 END IF;
820
821 IF l_SEG_rec.seeded_flag = FND_API.G_MISS_CHAR THEN
822 l_SEG_rec.seeded_flag := p_old_SEG_rec.seeded_flag;
823 END IF;
824
825 IF l_SEG_rec.seeded_format_type = FND_API.G_MISS_CHAR THEN
826 l_SEG_rec.seeded_format_type := p_old_SEG_rec.seeded_format_type;
827 END IF;
828
829 IF l_SEG_rec.seeded_precedence = FND_API.G_MISS_NUM THEN
830 l_SEG_rec.seeded_precedence := p_old_SEG_rec.seeded_precedence;
831 END IF;
832
833 IF l_SEG_rec.seeded_segment_name = FND_API.G_MISS_CHAR THEN
834 l_SEG_rec.seeded_segment_name := p_old_SEG_rec.seeded_segment_name;
835 END IF;
836
837 IF l_SEG_rec.seeded_description = FND_API.G_MISS_CHAR THEN
838 l_SEG_rec.seeded_description := p_old_SEG_rec.seeded_description;
839 END IF;
840
841 IF l_SEG_rec.user_description = FND_API.G_MISS_CHAR THEN
842 l_SEG_rec.user_description := p_old_SEG_rec.user_description;
843 END IF;
844
845 IF l_SEG_rec.seeded_valueset_id = FND_API.G_MISS_NUM THEN
846 l_SEG_rec.seeded_valueset_id := p_old_SEG_rec.seeded_valueset_id;
847 END IF;
848
849 IF l_SEG_rec.segment_code = FND_API.G_MISS_CHAR THEN
850 l_SEG_rec.segment_code := p_old_SEG_rec.segment_code;
851 END IF;
852
853 IF l_SEG_rec.segment_id = FND_API.G_MISS_NUM THEN
854 l_SEG_rec.segment_id := p_old_SEG_rec.segment_id;
855 END IF;
856
857 IF l_SEG_rec.application_id = FND_API.G_MISS_NUM THEN
858 l_SEG_rec.application_id := p_old_SEG_rec.application_id;
859 END IF;
860
861 IF l_SEG_rec.segment_mapping_column = FND_API.G_MISS_CHAR THEN
862 l_SEG_rec.segment_mapping_column := p_old_SEG_rec.segment_mapping_column;
863 END IF;
864
865 IF l_SEG_rec.user_format_type = FND_API.G_MISS_CHAR THEN
866 l_SEG_rec.user_format_type := p_old_SEG_rec.user_format_type;
867 END IF;
868
869 IF l_SEG_rec.user_precedence = FND_API.G_MISS_NUM THEN
870 l_SEG_rec.user_precedence := p_old_SEG_rec.user_precedence;
871 END IF;
872
873 IF l_SEG_rec.user_segment_name = FND_API.G_MISS_CHAR THEN
874 l_SEG_rec.user_segment_name := p_old_SEG_rec.user_segment_name;
875 END IF;
876
877 IF l_SEG_rec.user_valueset_id = FND_API.G_MISS_NUM THEN
878 l_SEG_rec.user_valueset_id := p_old_SEG_rec.user_valueset_id;
879 END IF;
880
881 IF l_SEG_rec.required_flag = FND_API.G_MISS_CHAR THEN
882 l_SEG_rec.required_flag := p_old_SEG_rec.required_flag;
883 END IF;
884 -- Added for TCA
885 IF l_SEG_rec.party_hierarchy_enabled_flag = FND_API.G_MISS_CHAR THEN
886 l_SEG_rec.party_hierarchy_enabled_flag := p_old_SEG_rec.party_hierarchy_enabled_flag;
887 END IF;
888 RETURN l_SEG_rec;
889
890 END Complete_Record;
891
892 -- Function Convert_Miss_To_Null
893
894 FUNCTION Convert_Miss_To_Null
895 ( p_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type
896 ) RETURN QP_Attributes_PUB.Seg_Rec_Type
897 IS
898 l_SEG_rec QP_Attributes_PUB.Seg_Rec_Type := p_SEG_rec;
899 BEGIN
900
901 IF l_SEG_rec.attribute1 = FND_API.G_MISS_CHAR THEN
902 l_SEG_rec.attribute1 := NULL;
903 END IF;
904
905 IF l_SEG_rec.attribute10 = FND_API.G_MISS_CHAR THEN
906 l_SEG_rec.attribute10 := NULL;
907 END IF;
908
909 IF l_SEG_rec.attribute11 = FND_API.G_MISS_CHAR THEN
910 l_SEG_rec.attribute11 := NULL;
911 END IF;
912
913 IF l_SEG_rec.attribute12 = FND_API.G_MISS_CHAR THEN
914 l_SEG_rec.attribute12 := NULL;
915 END IF;
916
917 IF l_SEG_rec.attribute13 = FND_API.G_MISS_CHAR THEN
918 l_SEG_rec.attribute13 := NULL;
919 END IF;
920
921 IF l_SEG_rec.attribute14 = FND_API.G_MISS_CHAR THEN
922 l_SEG_rec.attribute14 := NULL;
923 END IF;
924
925 IF l_SEG_rec.attribute15 = FND_API.G_MISS_CHAR THEN
926 l_SEG_rec.attribute15 := NULL;
927 END IF;
928
929 IF l_SEG_rec.attribute2 = FND_API.G_MISS_CHAR THEN
930 l_SEG_rec.attribute2 := NULL;
931 END IF;
932
933 IF l_SEG_rec.attribute3 = FND_API.G_MISS_CHAR THEN
934 l_SEG_rec.attribute3 := NULL;
935 END IF;
936
937 IF l_SEG_rec.attribute4 = FND_API.G_MISS_CHAR THEN
938 l_SEG_rec.attribute4 := NULL;
939 END IF;
940
941 IF l_SEG_rec.attribute5 = FND_API.G_MISS_CHAR THEN
942 l_SEG_rec.attribute5 := NULL;
943 END IF;
944
945 IF l_SEG_rec.attribute6 = FND_API.G_MISS_CHAR THEN
946 l_SEG_rec.attribute6 := NULL;
947 END IF;
948
949 IF l_SEG_rec.attribute7 = FND_API.G_MISS_CHAR THEN
950 l_SEG_rec.attribute7 := NULL;
951 END IF;
952
953 IF l_SEG_rec.attribute8 = FND_API.G_MISS_CHAR THEN
954 l_SEG_rec.attribute8 := NULL;
955 END IF;
956
957 IF l_SEG_rec.attribute9 = FND_API.G_MISS_CHAR THEN
958 l_SEG_rec.attribute9 := NULL;
959 END IF;
960
961 IF l_SEG_rec.availability_in_basic = FND_API.G_MISS_CHAR THEN
962 l_SEG_rec.availability_in_basic := NULL;
963 END IF;
964
965 IF l_SEG_rec.context = FND_API.G_MISS_CHAR THEN
966 l_SEG_rec.context := NULL;
967 END IF;
968
969 IF l_SEG_rec.created_by = FND_API.G_MISS_NUM THEN
970 l_SEG_rec.created_by := NULL;
971 END IF;
972
973 IF l_SEG_rec.creation_date = FND_API.G_MISS_DATE THEN
974 l_SEG_rec.creation_date := NULL;
975 END IF;
976
977 IF l_SEG_rec.last_updated_by = FND_API.G_MISS_NUM THEN
978 l_SEG_rec.last_updated_by := NULL;
979 END IF;
980
981 IF l_SEG_rec.last_update_date = FND_API.G_MISS_DATE THEN
982 l_SEG_rec.last_update_date := NULL;
983 END IF;
984
985 IF l_SEG_rec.last_update_login = FND_API.G_MISS_NUM THEN
986 l_SEG_rec.last_update_login := NULL;
987 END IF;
988
989 IF l_SEG_rec.prc_context_id = FND_API.G_MISS_NUM THEN
990 l_SEG_rec.prc_context_id := NULL;
991 END IF;
992
993 IF l_SEG_rec.program_application_id = FND_API.G_MISS_NUM THEN
994 l_SEG_rec.program_application_id := NULL;
995 END IF;
996
997 IF l_SEG_rec.program_id = FND_API.G_MISS_NUM THEN
998 l_SEG_rec.program_id := NULL;
999 END IF;
1000
1001 IF l_SEG_rec.program_update_date = FND_API.G_MISS_DATE THEN
1002 l_SEG_rec.program_update_date := NULL;
1003 END IF;
1004
1005 IF l_SEG_rec.seeded_flag = FND_API.G_MISS_CHAR THEN
1006 l_SEG_rec.seeded_flag := NULL;
1007 END IF;
1008
1009 IF l_SEG_rec.seeded_format_type = FND_API.G_MISS_CHAR THEN
1010 l_SEG_rec.seeded_format_type := NULL;
1011 END IF;
1012
1013 IF l_SEG_rec.seeded_precedence = FND_API.G_MISS_NUM THEN
1014 l_SEG_rec.seeded_precedence := NULL;
1015 END IF;
1016
1017 IF l_SEG_rec.seeded_segment_name = FND_API.G_MISS_CHAR THEN
1018 l_SEG_rec.seeded_segment_name := NULL;
1019 END IF;
1020
1021 IF l_SEG_rec.seeded_description = FND_API.G_MISS_CHAR THEN
1022 l_SEG_rec.seeded_description := NULL;
1023 END IF;
1024
1025 IF l_SEG_rec.user_description = FND_API.G_MISS_CHAR THEN
1026 l_SEG_rec.user_description := NULL;
1027 END IF;
1028
1029 IF l_SEG_rec.seeded_valueset_id = FND_API.G_MISS_NUM THEN
1030 l_SEG_rec.seeded_valueset_id := NULL;
1031 END IF;
1032
1033 IF l_SEG_rec.segment_code = FND_API.G_MISS_CHAR THEN
1034 l_SEG_rec.segment_code := NULL;
1035 END IF;
1036
1037 IF l_SEG_rec.segment_id = FND_API.G_MISS_NUM THEN
1038 l_SEG_rec.segment_id := NULL;
1039 END IF;
1040
1041 IF l_SEG_rec.application_id = FND_API.G_MISS_NUM THEN
1042 l_SEG_rec.application_id := NULL;
1043 END IF;
1044
1045 IF l_SEG_rec.segment_mapping_column = FND_API.G_MISS_CHAR THEN
1046 l_SEG_rec.segment_mapping_column := NULL;
1047 END IF;
1048
1049 IF l_SEG_rec.user_format_type = FND_API.G_MISS_CHAR THEN
1050 l_SEG_rec.user_format_type := NULL;
1051 END IF;
1052
1053 IF l_SEG_rec.user_precedence = FND_API.G_MISS_NUM THEN
1054 l_SEG_rec.user_precedence := NULL;
1055 END IF;
1056
1057 IF l_SEG_rec.user_segment_name = FND_API.G_MISS_CHAR THEN
1058 l_SEG_rec.user_segment_name := NULL;
1059 END IF;
1060
1061 IF l_SEG_rec.user_valueset_id = FND_API.G_MISS_NUM THEN
1062 l_SEG_rec.user_valueset_id := NULL;
1063 END IF;
1064
1065 IF l_SEG_rec.required_flag = FND_API.G_MISS_CHAR THEN
1066 l_SEG_rec.required_flag := NULL;
1067 END IF;
1068 -- Added for TCA
1069 IF l_SEG_rec.party_hierarchy_enabled_flag = FND_API.G_MISS_CHAR THEN
1070 l_SEG_rec.party_hierarchy_enabled_flag:= NULL;
1071 END IF;
1072
1073 RETURN l_SEG_rec;
1074
1075 END Convert_Miss_To_Null;
1076
1077 -- Procedure Update_Row
1078
1079 PROCEDURE Update_Row
1080 ( p_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type
1081 )
1082 IS
1083 l_prc_context_code varchar2(30);
1084 l_prc_context_type varchar2(30);
1085 l_seg_flex_row fnd_descr_flex_column_usages%rowtype;
1086 BEGIN
1087
1088 UPDATE QP_SEGMENTS_b
1089 SET ATTRIBUTE1 = p_SEG_rec.attribute1
1090 , ATTRIBUTE10 = p_SEG_rec.attribute10
1091 , ATTRIBUTE11 = p_SEG_rec.attribute11
1092 , ATTRIBUTE12 = p_SEG_rec.attribute12
1093 , ATTRIBUTE13 = p_SEG_rec.attribute13
1094 , ATTRIBUTE14 = p_SEG_rec.attribute14
1095 , ATTRIBUTE15 = p_SEG_rec.attribute15
1096 , ATTRIBUTE2 = p_SEG_rec.attribute2
1097 , ATTRIBUTE3 = p_SEG_rec.attribute3
1098 , ATTRIBUTE4 = p_SEG_rec.attribute4
1099 , ATTRIBUTE5 = p_SEG_rec.attribute5
1100 , ATTRIBUTE6 = p_SEG_rec.attribute6
1101 , ATTRIBUTE7 = p_SEG_rec.attribute7
1102 , ATTRIBUTE8 = p_SEG_rec.attribute8
1103 , ATTRIBUTE9 = p_SEG_rec.attribute9
1104 , AVAILABILITY_IN_BASIC = p_SEG_rec.availability_in_basic
1105 , CONTEXT = p_SEG_rec.context
1106 , CREATED_BY = p_SEG_rec.created_by
1107 , CREATION_DATE = p_SEG_rec.creation_date
1108 , LAST_UPDATED_BY = p_SEG_rec.last_updated_by
1109 , LAST_UPDATE_DATE = p_SEG_rec.last_update_date
1110 , LAST_UPDATE_LOGIN = p_SEG_rec.last_update_login
1111 , PRC_CONTEXT_ID = p_SEG_rec.prc_context_id
1112 , PROGRAM_APPLICATION_ID = p_SEG_rec.program_application_id
1113 , PROGRAM_ID = p_SEG_rec.program_id
1114 , PROGRAM_UPDATE_DATE = p_SEG_rec.program_update_date
1115 , SEEDED_FLAG = p_SEG_rec.seeded_flag
1116 , SEEDED_FORMAT_TYPE = p_SEG_rec.seeded_format_type
1117 , SEEDED_PRECEDENCE = p_SEG_rec.seeded_precedence
1118 , SEEDED_VALUESET_ID = p_SEG_rec.seeded_valueset_id
1119 , SEGMENT_code = p_SEG_rec.segment_code
1120 , SEGMENT_ID = p_SEG_rec.segment_id
1121 , APPLICATION_ID = p_SEG_rec.application_id
1122 , SEGMENT_MAPPING_COLUMN = p_SEG_rec.segment_mapping_column
1123 , USER_FORMAT_TYPE = p_SEG_rec.user_format_type
1124 , USER_PRECEDENCE = p_SEG_rec.user_precedence
1125 , USER_VALUESET_ID = p_SEG_rec.user_valueset_id
1126 , REQUIRED_FLAG = p_SEG_rec.required_flag
1127 , PARTY_HIERARCHY_ENABLED_FLAG = p_SEG_rec.party_hierarchy_enabled_flag -- Added for TCA
1128 WHERE SEGMENT_ID = p_SEG_rec.segment_id ;
1129
1130 UPDATE qp_segments_tl
1131 SET CREATED_BY = p_SEG_rec.created_by
1132 , CREATION_DATE = p_SEG_rec.creation_date
1133 , LAST_UPDATED_BY = p_SEG_rec.last_updated_by
1134 , LAST_UPDATE_DATE = p_SEG_rec.last_update_date
1135 , LAST_UPDATE_LOGIN = p_SEG_rec.last_update_login
1136 , seeded_segment_name = p_SEG_rec.seeded_segment_name
1137 , user_segment_name = p_SEG_rec.user_segment_name
1138 , seeded_description = p_SEG_rec.seeded_description
1139 , user_description = p_SEG_rec.user_description
1140 , SOURCE_LANG = userenv('LANG')
1141 WHERE segment_id = p_SEG_rec.segment_id and
1142 userenv('LANG') in (LANGUAGE, SOURCE_LANG);
1143 ---
1144 select prc_context_type,
1145 prc_context_code
1146 into l_prc_context_type,
1147 l_prc_context_code
1148 from qp_prc_contexts_b
1149 where prc_context_id = p_SEG_rec.prc_context_id;
1150 --
1151 if l_prc_context_type = 'PRICING_ATTRIBUTE' then
1152 select *
1153 into l_seg_flex_row
1154 from fnd_descr_flex_column_usages
1155 where application_id = 661 and
1156 descriptive_flexfield_name = 'QP_ATTR_DEFNS_PRICING' and
1157 descriptive_flex_context_code = l_prc_context_code and
1158 application_column_name = p_SEG_rec.segment_mapping_column and
1159 rownum = 1;
1160 --
1161 FND_DESCR_FLEX_COL_USAGE_PKG.UPDATE_ROW(
1162 X_APPLICATION_ID => 661,
1163 X_DESCRIPTIVE_FLEXFIELD_NAME => 'QP_ATTR_DEFNS_PRICING',
1164 X_DESCRIPTIVE_FLEX_CONTEXT_COD => l_prc_context_code,
1165 X_APPLICATION_COLUMN_NAME => p_SEG_rec.segment_mapping_column,
1166 X_END_USER_COLUMN_NAME => p_SEG_rec.segment_code,
1167 X_COLUMN_SEQ_NUM => p_SEG_rec.user_precedence,
1168 X_ENABLED_FLAG => l_seg_flex_row.enabled_flag,
1169 X_REQUIRED_FLAG => NVL(p_SEG_rec.required_flag, 'N'),
1170 X_SECURITY_ENABLED_FLAG => l_seg_flex_row.security_enabled_flag,
1171 X_DISPLAY_FLAG => l_seg_flex_row.display_flag,
1172 X_DISPLAY_SIZE => l_seg_flex_row.display_size,
1173 X_MAXIMUM_DESCRIPTION_LEN => l_seg_flex_row.maximum_description_len,
1174 X_CONCATENATION_DESCRIPTION_LE => l_seg_flex_row.concatenation_description_len,
1175 X_FLEX_VALUE_SET_ID => p_SEG_rec.user_valueset_id,
1176 X_RANGE_CODE => l_seg_flex_row.range_code,
1177 X_DEFAULT_TYPE => l_seg_flex_row.default_type,
1178 X_DEFAULT_VALUE => l_seg_flex_row.default_value,
1179 X_RUNTIME_PROPERTY_FUNCTION => l_seg_flex_row.runtime_property_function,
1180 X_SRW_PARAM => l_seg_flex_row.srw_param,
1181 X_FORM_LEFT_PROMPT => p_SEG_rec.user_segment_name,
1182 X_FORM_ABOVE_PROMPT => p_SEG_rec.user_segment_name,
1183 X_DESCRIPTION => p_SEG_rec.user_segment_name,
1184 X_LAST_UPDATE_DATE => p_SEG_rec.LAST_UPDATE_DATE,
1185 X_LAST_UPDATED_BY => p_SEG_rec.LAST_UPDATED_BY,
1186 X_LAST_UPDATE_LOGIN => p_SEG_rec.LAST_UPDATE_LOGIN);
1187
1188 -- Freezing and Compiling the Flexfield.
1189 p_compile_flexfields(p_SEG_rec.segment_mapping_column);
1190 --
1191 end if;
1192
1193 EXCEPTION
1194
1195 WHEN OTHERS THEN
1196
1197 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1198 THEN
1199 OE_MSG_PUB.Add_Exc_Msg
1200 ( G_PKG_NAME
1201 , 'Update_Row'
1202 );
1203 END IF;
1204
1205 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1206
1207 END Update_Row;
1208
1209 -- Procedure Insert_Row
1210
1211 PROCEDURE Insert_Row
1212 ( p_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type
1213 )
1214 IS
1215 l_row_id varchar2(25);
1216 l_prc_context_type varchar2(30);
1217 l_prc_context_code varchar2(30);
1218 req_id number;
1219 attr_in_ff_exists varchar2(1);
1220 --l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1221 BEGIN
1222 select prc_context_type,
1223 prc_context_code
1224 into l_prc_context_type,
1225 l_prc_context_code
1226 from qp_prc_contexts_b
1227 where prc_context_id = p_SEG_rec.prc_context_id;
1228 --
1229 if l_prc_context_type = 'PRICING_ATTRIBUTE' then
1230 begin
1231 select 's'
1232 into attr_in_ff_exists
1233 from fnd_descr_flex_column_usages
1234 where application_id = 661 and
1235 descriptive_flexfield_name = 'QP_ATTR_DEFNS_PRICING' and
1236 descriptive_flex_context_code = l_prc_context_code and
1237 end_user_column_name = p_SEG_rec.segment_code and
1238 rownum = 1;
1239
1240 --l_return_status := FND_API.G_RET_STS_ERROR;
1241 FND_MESSAGE.SET_NAME('QP','QP_ATTR_EXISTS_IN_FF');
1242 --FND_MESSAGE.SET_TOKEN('PTE_CODE', l_pte_code);
1243 OE_MSG_PUB.Add;
1244 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1245 exception
1246 when no_data_found then
1247 null;
1248 end;
1249 end if;
1250 ----
1251 INSERT INTO QP_SEGMENTS_b
1252 ( ATTRIBUTE1
1253 , ATTRIBUTE10
1254 , ATTRIBUTE11
1255 , ATTRIBUTE12
1256 , ATTRIBUTE13
1257 , ATTRIBUTE14
1258 , ATTRIBUTE15
1259 , ATTRIBUTE2
1260 , ATTRIBUTE3
1261 , ATTRIBUTE4
1262 , ATTRIBUTE5
1263 , ATTRIBUTE6
1264 , ATTRIBUTE7
1265 , ATTRIBUTE8
1266 , ATTRIBUTE9
1267 , AVAILABILITY_IN_BASIC
1268 , CONTEXT
1269 , CREATED_BY
1270 , CREATION_DATE
1271 , LAST_UPDATED_BY
1272 , LAST_UPDATE_DATE
1273 , LAST_UPDATE_LOGIN
1274 , PRC_CONTEXT_ID
1275 , PROGRAM_APPLICATION_ID
1276 , PROGRAM_ID
1277 , PROGRAM_UPDATE_DATE
1278 , SEEDED_FLAG
1279 , SEEDED_FORMAT_TYPE
1280 , SEEDED_PRECEDENCE
1281 , SEEDED_VALUESET_ID
1282 , SEGMENT_code
1283 , SEGMENT_ID
1284 , APPLICATION_ID
1285 , SEGMENT_MAPPING_COLUMN
1286 , USER_FORMAT_TYPE
1287 , USER_PRECEDENCE
1288 , USER_VALUESET_ID
1289 , REQUIRED_FLAG
1290 , PARTY_HIERARCHY_ENABLED_FLAG -- Added for TCA
1291 )
1292 VALUES
1293 ( p_SEG_rec.attribute1
1294 , p_SEG_rec.attribute10
1295 , p_SEG_rec.attribute11
1296 , p_SEG_rec.attribute12
1297 , p_SEG_rec.attribute13
1298 , p_SEG_rec.attribute14
1299 , p_SEG_rec.attribute15
1300 , p_SEG_rec.attribute2
1301 , p_SEG_rec.attribute3
1302 , p_SEG_rec.attribute4
1303 , p_SEG_rec.attribute5
1304 , p_SEG_rec.attribute6
1305 , p_SEG_rec.attribute7
1306 , p_SEG_rec.attribute8
1307 , p_SEG_rec.attribute9
1308 , p_SEG_rec.availability_in_basic
1309 , p_SEG_rec.context
1310 , p_SEG_rec.created_by
1311 , p_SEG_rec.creation_date
1312 , p_SEG_rec.last_updated_by
1313 , p_SEG_rec.last_update_date
1314 , p_SEG_rec.last_update_login
1315 , p_SEG_rec.prc_context_id
1316 , p_SEG_rec.program_application_id
1317 , p_SEG_rec.program_id
1318 , p_SEG_rec.program_update_date
1319 , p_SEG_rec.seeded_flag
1320 , p_SEG_rec.seeded_format_type
1321 , p_SEG_rec.seeded_precedence
1322 , p_SEG_rec.seeded_valueset_id
1323 , p_SEG_rec.segment_code
1324 , p_SEG_rec.segment_id
1325 , p_SEG_rec.application_id
1326 , p_SEG_rec.segment_mapping_column
1327 , p_SEG_rec.user_format_type
1328 , p_SEG_rec.user_precedence
1329 , p_SEG_rec.user_valueset_id
1330 , p_SEG_rec.required_flag
1331 , p_SEG_rec.party_hierarchy_enabled_flag --Added for TCA
1332 );
1333
1334 INSERT INTO QP_segments_tl
1335 ( CREATED_BY
1336 , CREATION_DATE
1337 , LAST_UPDATED_BY
1338 , LAST_UPDATE_DATE
1339 , LAST_UPDATE_LOGIN
1340 , segment_id
1341 , seeded_segment_name
1342 , user_segment_name
1343 , seeded_description
1344 , user_description
1345 , language
1346 , source_lang
1347 )
1348 SELECT p_SEG_rec.created_by
1349 , p_SEG_rec.creation_date
1350 , p_SEG_rec.last_updated_by
1351 , p_SEG_rec.last_update_date
1352 , p_SEG_rec.last_update_login
1353 , p_SEG_rec.segment_id
1354 , p_SEG_rec.seeded_segment_name
1355 , p_SEG_rec.user_segment_name
1356 , p_SEG_rec.seeded_description
1357 , p_SEG_rec.user_description
1358 , L.language_code
1359 , userenv('LANG')
1360 from FND_LANGUAGES L
1361 where L.INSTALLED_FLAG in ('I', 'B')
1362 and not exists
1363 ( select NULL
1364 from qp_segments_tl T
1365 where T.segment_id = p_SEG_rec.segment_id
1366 and T.LANGUAGE = L.LANGUAGE_CODE );
1367 ---
1368 /*
1369 select prc_context_type,
1370 prc_context_code
1371 into l_prc_context_type,
1372 l_prc_context_code
1373 from qp_prc_contexts_b
1374 where prc_context_id = p_SEG_rec.prc_context_id;
1375 */
1376 --
1377 if l_prc_context_type = 'PRICING_ATTRIBUTE' then
1378 FND_DESCR_FLEX_COL_USAGE_PKG.INSERT_ROW(
1379 X_ROWID => l_row_id,
1380 X_APPLICATION_ID => 661,
1381 X_DESCRIPTIVE_FLEXFIELD_NAME => 'QP_ATTR_DEFNS_PRICING',
1382 X_DESCRIPTIVE_FLEX_CONTEXT_COD => l_prc_context_code,
1383 X_APPLICATION_COLUMN_NAME => p_SEG_rec.segment_mapping_column,
1384 X_END_USER_COLUMN_NAME => p_SEG_rec.segment_code,
1385 X_COLUMN_SEQ_NUM => p_SEG_rec.user_precedence,
1386 X_ENABLED_FLAG => 'Y',
1387 X_REQUIRED_FLAG => NVL(p_SEG_rec.required_flag, 'N'),
1388 X_SECURITY_ENABLED_FLAG => 'N',
1389 X_DISPLAY_FLAG => 'Y',
1390 X_DISPLAY_SIZE => 35,
1391 X_MAXIMUM_DESCRIPTION_LEN => 50,
1392 X_CONCATENATION_DESCRIPTION_LE => 25,
1393 X_FLEX_VALUE_SET_ID => p_SEG_rec.user_valueset_id,
1394 X_RANGE_CODE => null,
1395 X_DEFAULT_TYPE => null,
1396 X_DEFAULT_VALUE => null,
1397 X_RUNTIME_PROPERTY_FUNCTION => null,
1398 X_SRW_PARAM => null,
1399 X_FORM_LEFT_PROMPT => p_SEG_rec.user_segment_name,
1400 X_FORM_ABOVE_PROMPT => p_SEG_rec.user_segment_name,
1401 X_DESCRIPTION => p_SEG_rec.user_segment_name,
1402 X_CREATION_DATE => p_SEG_rec.CREATION_DATE,
1403 X_CREATED_BY => p_SEG_rec.CREATED_BY,
1404 X_LAST_UPDATE_DATE => p_SEG_rec.LAST_UPDATE_DATE,
1405 X_LAST_UPDATED_BY => p_SEG_rec.LAST_UPDATED_BY,
1406 X_LAST_UPDATE_LOGIN => p_SEG_rec.LAST_UPDATE_LOGIN);
1407
1408 -- Freezing and Compiling the Flexfield.
1409 p_compile_flexfields(p_SEG_rec.segment_mapping_column);
1410 --
1411 end if;
1412 --
1413 EXCEPTION
1414
1415 WHEN OTHERS THEN
1416
1417 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1418 THEN
1419 OE_MSG_PUB.Add_Exc_Msg
1420 ( G_PKG_NAME
1421 , 'Insert_Row'
1422 );
1423 END IF;
1424
1425 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1426
1427 END Insert_Row;
1428
1429 -- Procedure Delete_Row
1430
1431 PROCEDURE Delete_Row
1432 ( p_segment_id IN NUMBER
1433 )
1434 IS
1435 l_prc_context_type varchar2(30);
1436 l_prc_context_code varchar2(30);
1437 l_segment_code varchar2(30);
1438 l_seeded_flag varchar2(1);
1439 BEGIN
1440
1441 select a.prc_context_type,
1442 a.prc_context_code,
1443 b.segment_code,
1444 b.seeded_flag
1445 into l_prc_context_type,
1446 l_prc_context_code,
1447 l_segment_code,
1448 l_seeded_flag
1449 from qp_prc_contexts_b a,
1450 qp_segments_b b
1451 where a.prc_context_id = b.prc_context_id and
1452 b.segment_id = p_segment_id;
1453 --
1454 DELETE FROM QP_SEGMENTS_b
1455 WHERE SEGMENT_ID = p_segment_id ;
1456 DELETE FROM QP_SEGMENTS_tl
1457 WHERE SEGMENT_ID = p_segment_id ;
1458 ---
1459 ---
1460 if l_prc_context_type = 'PRICING_ATTRIBUTE' and l_seeded_flag = 'N' then
1461 begin
1462 fnd_flex_dsc_api.delete_segment(
1463 APPL_SHORT_NAME => 'QP',
1464 FLEXFIELD_NAME => 'QP_ATTR_DEFNS_PRICING',
1465 CONTEXT => l_prc_context_code,
1466 SEGMENT => l_segment_code);
1467 exception
1468 when no_data_found then
1469 null;
1470 end;
1471 --
1472 end if;
1473
1474 EXCEPTION
1475
1476 WHEN OTHERS THEN
1477
1478 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1479 THEN
1480 OE_MSG_PUB.Add_Exc_Msg
1481 ( G_PKG_NAME
1482 , 'Delete_Row'
1483 );
1484 END IF;
1485
1486 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1487
1488 END Delete_Row;
1489
1490 -- Function Query_Row
1491
1492 FUNCTION Query_Row
1493 ( p_segment_id IN NUMBER
1494 ) RETURN QP_Attributes_PUB.Seg_Rec_Type
1495 IS
1496 BEGIN
1497
1498 RETURN Query_Rows
1499 ( p_segment_id => p_segment_id
1500 )(1);
1501
1502 END Query_Row;
1503
1504 -- Function Query_Rows
1505
1506 --
1507
1508 FUNCTION Query_Rows
1509 ( p_segment_id IN NUMBER :=
1510 FND_API.G_MISS_NUM
1511 , p_prc_context_id IN NUMBER :=
1512 FND_API.G_MISS_NUM
1513 ) RETURN QP_Attributes_PUB.Seg_Tbl_Type
1514 IS
1515 l_SEG_rec QP_Attributes_PUB.Seg_Rec_Type;
1516 l_SEG_tbl QP_Attributes_PUB.Seg_Tbl_Type;
1517
1518 CURSOR l_SEG_csr IS
1519 SELECT ATTRIBUTE1
1520 , ATTRIBUTE10
1521 , ATTRIBUTE11
1522 , ATTRIBUTE12
1523 , ATTRIBUTE13
1524 , ATTRIBUTE14
1525 , ATTRIBUTE15
1526 , ATTRIBUTE2
1527 , ATTRIBUTE3
1528 , ATTRIBUTE4
1529 , ATTRIBUTE5
1530 , ATTRIBUTE6
1531 , ATTRIBUTE7
1532 , ATTRIBUTE8
1533 , ATTRIBUTE9
1534 , AVAILABILITY_IN_BASIC
1535 , CONTEXT
1536 , CREATED_BY
1537 , CREATION_DATE
1538 , LAST_UPDATED_BY
1539 , LAST_UPDATE_DATE
1540 , LAST_UPDATE_LOGIN
1541 , PRC_CONTEXT_ID
1542 , PROGRAM_APPLICATION_ID
1543 , PROGRAM_ID
1544 , PROGRAM_UPDATE_DATE
1545 , SEEDED_FLAG
1546 , SEEDED_FORMAT_TYPE
1547 , SEEDED_PRECEDENCE
1548 , SEEDED_SEGMENT_NAME
1549 , SEEDED_DESCRIPTION
1550 , SEEDED_VALUESET_ID
1551 , SEGMENT_code
1552 , SEGMENT_ID
1553 , APPLICATION_ID
1554 , SEGMENT_MAPPING_COLUMN
1555 , USER_FORMAT_TYPE
1556 , USER_PRECEDENCE
1557 , USER_SEGMENT_NAME
1558 , USER_DESCRIPTION
1559 , USER_VALUESET_ID
1560 , REQUIRED_FLAG
1561 , PARTY_HIERARCHY_ENABLED_FLAG -- Added for TCA
1562 FROM QP_SEGMENTS_V
1563 WHERE ( SEGMENT_ID = p_segment_id
1564 )
1565 OR ( PRC_CONTEXT_ID = p_prc_context_id
1566 );
1567
1568 BEGIN
1569
1570 IF
1571 (p_segment_id IS NOT NULL
1572 AND
1573 p_segment_id <> FND_API.G_MISS_NUM)
1574 AND
1575 (p_prc_context_id IS NOT NULL
1576 AND
1577 p_prc_context_id <> FND_API.G_MISS_NUM)
1578 THEN
1579 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1580 THEN
1581 OE_MSG_PUB.Add_Exc_Msg
1582 ( G_PKG_NAME
1583 , 'Query Rows'
1584 , 'Keys are mutually exclusive: segment_id = '|| p_segment_id || ', prc_context_id = '|| p_prc_context_id
1585 );
1586 END IF;
1587
1588 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1589
1590 END IF;
1591
1592
1593 -- Loop over fetched records
1594
1595 FOR l_implicit_rec IN l_SEG_csr LOOP
1596
1597 l_SEG_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
1598 l_SEG_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
1599 l_SEG_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
1600 l_SEG_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
1601 l_SEG_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
1602 l_SEG_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
1603 l_SEG_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
1604 l_SEG_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
1605 l_SEG_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
1606 l_SEG_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
1607 l_SEG_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
1608 l_SEG_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
1609 l_SEG_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
1610 l_SEG_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
1611 l_SEG_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
1612 l_SEG_rec.availability_in_basic := l_implicit_rec.AVAILABILITY_IN_BASIC;
1613 l_SEG_rec.context := l_implicit_rec.CONTEXT;
1614 l_SEG_rec.created_by := l_implicit_rec.CREATED_BY;
1615 l_SEG_rec.creation_date := l_implicit_rec.CREATION_DATE;
1616 l_SEG_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
1617 l_SEG_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
1618 l_SEG_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
1619 l_SEG_rec.prc_context_id := l_implicit_rec.PRC_CONTEXT_ID;
1620 l_SEG_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
1621 l_SEG_rec.program_id := l_implicit_rec.PROGRAM_ID;
1622 l_SEG_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
1623 l_SEG_rec.seeded_flag := l_implicit_rec.SEEDED_FLAG;
1624 l_SEG_rec.seeded_format_type := l_implicit_rec.SEEDED_FORMAT_TYPE;
1625 l_SEG_rec.seeded_precedence := l_implicit_rec.SEEDED_PRECEDENCE;
1626 l_SEG_rec.seeded_segment_name := l_implicit_rec.SEEDED_SEGMENT_NAME;
1627 l_SEG_rec.seeded_description := l_implicit_rec.seeded_description;
1628 l_SEG_rec.user_description := l_implicit_rec.user_description;
1629 l_SEG_rec.seeded_valueset_id := l_implicit_rec.SEEDED_VALUESET_ID;
1630 l_SEG_rec.segment_code := l_implicit_rec.SEGMENT_code;
1631 l_SEG_rec.segment_id := l_implicit_rec.SEGMENT_ID;
1632 l_SEG_rec.application_id := l_implicit_rec.APPLICATION_ID;
1633 l_SEG_rec.segment_mapping_column := l_implicit_rec.SEGMENT_MAPPING_COLUMN;
1634 l_SEG_rec.user_format_type := l_implicit_rec.USER_FORMAT_TYPE;
1635 l_SEG_rec.user_precedence := l_implicit_rec.USER_PRECEDENCE;
1636 l_SEG_rec.user_segment_name := l_implicit_rec.USER_SEGMENT_NAME;
1637 l_SEG_rec.user_valueset_id := l_implicit_rec.USER_VALUESET_ID;
1638 l_SEG_rec.required_flag := l_implicit_rec.REQUIRED_FLAG;
1639 l_SEG_rec.party_hierarchy_enabled_flag := l_implicit_rec.PARTY_HIERARCHY_ENABLED_FLAG; -- Added for TCA
1640
1641 l_SEG_tbl(l_SEG_tbl.COUNT + 1) := l_SEG_rec;
1642
1643 END LOOP;
1644
1645
1646 -- PK sent and no rows found
1647
1648 IF
1649 (p_segment_id IS NOT NULL
1650 AND
1651 p_segment_id <> FND_API.G_MISS_NUM)
1652 AND
1653 (l_SEG_tbl.COUNT = 0)
1654 THEN
1655 RAISE NO_DATA_FOUND;
1656 END IF;
1657
1658
1659 -- Return fetched table
1660
1661 RETURN l_SEG_tbl;
1662
1663 EXCEPTION
1664
1665 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1666
1667 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1668
1669 WHEN OTHERS THEN
1670
1671 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1672 THEN
1673 OE_MSG_PUB.Add_Exc_Msg
1674 ( G_PKG_NAME
1675 , 'Query_Rows'
1676 );
1677 END IF;
1678
1679 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1680
1681 END Query_Rows;
1682
1683 -- Procedure lock_Row
1684 --
1685
1686 PROCEDURE Lock_Row
1687 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1688 , p_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type
1689 , x_SEG_rec OUT NOCOPY /* file.sql.39 change */ QP_Attributes_PUB.Seg_Rec_Type
1690 )
1691 IS
1692 l_SEG_rec QP_Attributes_PUB.Seg_Rec_Type;
1693 BEGIN
1694
1695 SELECT ATTRIBUTE1
1696 , ATTRIBUTE10
1697 , ATTRIBUTE11
1698 , ATTRIBUTE12
1699 , ATTRIBUTE13
1700 , ATTRIBUTE14
1701 , ATTRIBUTE15
1702 , ATTRIBUTE2
1703 , ATTRIBUTE3
1704 , ATTRIBUTE4
1705 , ATTRIBUTE5
1706 , ATTRIBUTE6
1707 , ATTRIBUTE7
1708 , ATTRIBUTE8
1709 , ATTRIBUTE9
1710 , AVAILABILITY_IN_BASIC
1711 , CONTEXT
1712 , CREATED_BY
1713 , CREATION_DATE
1714 , LAST_UPDATED_BY
1715 , LAST_UPDATE_DATE
1716 , LAST_UPDATE_LOGIN
1717 , PRC_CONTEXT_ID
1718 , PROGRAM_APPLICATION_ID
1719 , PROGRAM_ID
1720 , PROGRAM_UPDATE_DATE
1721 , SEEDED_FLAG
1722 , SEEDED_FORMAT_TYPE
1723 , SEEDED_PRECEDENCE
1724 , SEEDED_SEGMENT_NAME
1725 , SEEDED_DESCRIPTION
1726 , SEEDED_VALUESET_ID
1727 , SEGMENT_code
1728 , SEGMENT_ID
1729 , APPLICATION_ID
1730 , SEGMENT_MAPPING_COLUMN
1731 , USER_FORMAT_TYPE
1732 , USER_PRECEDENCE
1733 , USER_SEGMENT_NAME
1734 , USER_DESCRIPTION
1735 , USER_VALUESET_ID
1736 , REQUIRED_FLAG
1737 , PARTY_HIERARCHY_ENABLED_FLAG --Added for TCA
1738 INTO l_SEG_rec.attribute1
1739 , l_SEG_rec.attribute10
1740 , l_SEG_rec.attribute11
1741 , l_SEG_rec.attribute12
1742 , l_SEG_rec.attribute13
1743 , l_SEG_rec.attribute14
1744 , l_SEG_rec.attribute15
1745 , l_SEG_rec.attribute2
1746 , l_SEG_rec.attribute3
1747 , l_SEG_rec.attribute4
1748 , l_SEG_rec.attribute5
1749 , l_SEG_rec.attribute6
1750 , l_SEG_rec.attribute7
1751 , l_SEG_rec.attribute8
1752 , l_SEG_rec.attribute9
1753 , l_SEG_rec.availability_in_basic
1754 , l_SEG_rec.context
1755 , l_SEG_rec.created_by
1756 , l_SEG_rec.creation_date
1757 , l_SEG_rec.last_updated_by
1758 , l_SEG_rec.last_update_date
1759 , l_SEG_rec.last_update_login
1760 , l_SEG_rec.prc_context_id
1761 , l_SEG_rec.program_application_id
1762 , l_SEG_rec.program_id
1763 , l_SEG_rec.program_update_date
1764 , l_SEG_rec.seeded_flag
1765 , l_SEG_rec.seeded_format_type
1766 , l_SEG_rec.seeded_precedence
1767 , l_SEG_rec.seeded_segment_name
1768 , l_SEG_rec.seeded_description
1769 , l_SEG_rec.seeded_valueset_id
1770 , l_SEG_rec.segment_code
1771 , l_SEG_rec.segment_id
1772 , l_SEG_rec.application_id
1773 , l_SEG_rec.segment_mapping_column
1774 , l_SEG_rec.user_format_type
1775 , l_SEG_rec.user_precedence
1776 , l_SEG_rec.user_segment_name
1777 , l_SEG_rec.user_description
1778 , l_SEG_rec.user_valueset_id
1779 , l_SEG_rec.required_flag
1780 , l_SEG_rec.party_hierarchy_enabled_flag -- Added for TCA
1781 FROM QP_SEGMENTS_V
1782 WHERE SEGMENT_ID = p_SEG_rec.segment_id
1783 FOR UPDATE NOWAIT;
1784
1785 -- Row locked. Compare IN attributes to DB attributes.
1786
1787 IF QP_GLOBALS.Equal(p_SEG_rec.attribute1,
1788 l_SEG_rec.attribute1)
1789 AND QP_GLOBALS.Equal(p_SEG_rec.attribute10,
1790 l_SEG_rec.attribute10)
1791 AND QP_GLOBALS.Equal(p_SEG_rec.attribute11,
1792 l_SEG_rec.attribute11)
1793 AND QP_GLOBALS.Equal(p_SEG_rec.attribute12,
1794 l_SEG_rec.attribute12)
1795 AND QP_GLOBALS.Equal(p_SEG_rec.attribute13,
1796 l_SEG_rec.attribute13)
1797 AND QP_GLOBALS.Equal(p_SEG_rec.attribute14,
1798 l_SEG_rec.attribute14)
1799 AND QP_GLOBALS.Equal(p_SEG_rec.attribute15,
1800 l_SEG_rec.attribute15)
1801 AND QP_GLOBALS.Equal(p_SEG_rec.attribute2,
1802 l_SEG_rec.attribute2)
1803 AND QP_GLOBALS.Equal(p_SEG_rec.attribute3,
1804 l_SEG_rec.attribute3)
1805 AND QP_GLOBALS.Equal(p_SEG_rec.attribute4,
1806 l_SEG_rec.attribute4)
1807 AND QP_GLOBALS.Equal(p_SEG_rec.attribute5,
1808 l_SEG_rec.attribute5)
1809 AND QP_GLOBALS.Equal(p_SEG_rec.attribute6,
1810 l_SEG_rec.attribute6)
1811 AND QP_GLOBALS.Equal(p_SEG_rec.attribute7,
1812 l_SEG_rec.attribute7)
1813 AND QP_GLOBALS.Equal(p_SEG_rec.attribute8,
1814 l_SEG_rec.attribute8)
1815 AND QP_GLOBALS.Equal(p_SEG_rec.attribute9,
1816 l_SEG_rec.attribute9)
1817 AND QP_GLOBALS.Equal(p_SEG_rec.availability_in_basic,
1818 l_SEG_rec.availability_in_basic)
1819 AND QP_GLOBALS.Equal(p_SEG_rec.context,
1820 l_SEG_rec.context)
1821 AND QP_GLOBALS.Equal(p_SEG_rec.created_by,
1822 l_SEG_rec.created_by)
1823 AND QP_GLOBALS.Equal(p_SEG_rec.creation_date,
1824 l_SEG_rec.creation_date)
1825 AND QP_GLOBALS.Equal(p_SEG_rec.last_updated_by,
1826 l_SEG_rec.last_updated_by)
1827 AND QP_GLOBALS.Equal(p_SEG_rec.last_update_date,
1828 l_SEG_rec.last_update_date)
1829 AND QP_GLOBALS.Equal(p_SEG_rec.last_update_login,
1830 l_SEG_rec.last_update_login)
1831 AND QP_GLOBALS.Equal(p_SEG_rec.prc_context_id,
1832 l_SEG_rec.prc_context_id)
1833 AND QP_GLOBALS.Equal(p_SEG_rec.program_application_id,
1834 l_SEG_rec.program_application_id)
1835 AND QP_GLOBALS.Equal(p_SEG_rec.program_id,
1836 l_SEG_rec.program_id)
1837 AND QP_GLOBALS.Equal(p_SEG_rec.program_update_date,
1838 l_SEG_rec.program_update_date)
1839 AND QP_GLOBALS.Equal(p_SEG_rec.seeded_flag,
1840 l_SEG_rec.seeded_flag)
1841 AND QP_GLOBALS.Equal(p_SEG_rec.seeded_format_type,
1842 l_SEG_rec.seeded_format_type)
1843 AND QP_GLOBALS.Equal(p_SEG_rec.seeded_precedence,
1844 l_SEG_rec.seeded_precedence)
1845 AND QP_GLOBALS.Equal(p_SEG_rec.seeded_segment_name,
1846 l_SEG_rec.seeded_segment_name)
1847 AND QP_GLOBALS.Equal(p_SEG_rec.seeded_valueset_id,
1848 l_SEG_rec.seeded_valueset_id)
1849 AND QP_GLOBALS.Equal(p_SEG_rec.segment_code,
1850 l_SEG_rec.segment_code)
1851 AND QP_GLOBALS.Equal(p_SEG_rec.segment_id,
1852 l_SEG_rec.segment_id)
1853 AND QP_GLOBALS.Equal(p_SEG_rec.application_id,
1854 l_SEG_rec.application_id)
1855 AND QP_GLOBALS.Equal(p_SEG_rec.segment_mapping_column,
1856 l_SEG_rec.segment_mapping_column)
1857 AND QP_GLOBALS.Equal(p_SEG_rec.user_format_type,
1858 l_SEG_rec.user_format_type)
1859 AND QP_GLOBALS.Equal(p_SEG_rec.user_precedence,
1860 l_SEG_rec.user_precedence)
1861 AND QP_GLOBALS.Equal(p_SEG_rec.user_segment_name,
1862 l_SEG_rec.user_segment_name)
1863 AND QP_GLOBALS.Equal( p_SEG_rec.seeded_description,
1864 l_SEG_rec.seeded_description)
1865 AND QP_GLOBALS.Equal( p_SEG_rec.user_description,
1866 l_SEG_rec.user_description)
1867 AND QP_GLOBALS.Equal(p_SEG_rec.user_valueset_id,
1868 l_SEG_rec.user_valueset_id)
1869 AND QP_GLOBALS.Equal(p_SEG_rec.required_flag,
1870 l_SEG_rec.required_flag)
1871 -- Added for TCA
1872 AND QP_GLOBALS.Equal(p_SEG_rec.party_hierarchy_enabled_flag,
1873 l_SEG_rec.party_hierarchy_enabled_flag)
1874
1875 THEN
1876 -- Row has not changed. Set out parameter.
1877
1878 x_SEG_rec := l_SEG_rec;
1879
1880 -- Set return status
1881
1882 x_return_status := FND_API.G_RET_STS_SUCCESS;
1883 x_SEG_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1884
1885 ELSE
1886
1887 -- Row has changed by another user.
1888
1889 x_return_status := FND_API.G_RET_STS_ERROR;
1890 x_SEG_rec.return_status := FND_API.G_RET_STS_ERROR;
1891
1892 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1893 THEN
1894
1895 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED_abhi6');
1896 OE_MSG_PUB.Add;
1897
1898 END IF;
1899
1900 END IF;
1901
1902 EXCEPTION
1903
1904 WHEN NO_DATA_FOUND THEN
1905
1906 x_return_status := FND_API.G_RET_STS_ERROR;
1907 x_SEG_rec.return_status := FND_API.G_RET_STS_ERROR;
1908
1909 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1910 THEN
1911
1912 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
1913 OE_MSG_PUB.Add;
1914
1915 END IF;
1916 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
1917
1918 x_return_status := FND_API.G_RET_STS_ERROR;
1919 x_SEG_rec.return_status := FND_API.G_RET_STS_ERROR;
1920
1921 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1922 THEN
1923
1924 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
1925 OE_MSG_PUB.Add;
1926
1927 END IF;
1928 WHEN OTHERS THEN
1929
1930 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1931 x_SEG_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1932
1933 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1934 THEN
1935 OE_MSG_PUB.Add_Exc_Msg
1936 ( G_PKG_NAME
1937 , 'Lock_Row'
1938 );
1939 END IF;
1940
1941 END Lock_Row;
1942
1943 -- Function Get_Values
1944
1945 FUNCTION Get_Values
1946 ( p_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type
1947 , p_old_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type :=
1948 QP_Attributes_PUB.G_MISS_SEG_REC
1949 ) RETURN QP_Attributes_PUB.Seg_Val_Rec_Type
1950 IS
1951 l_SEG_val_rec QP_Attributes_PUB.Seg_Val_Rec_Type;
1952 BEGIN
1953
1954 IF p_SEG_rec.prc_context_id IS NOT NULL AND
1955 p_SEG_rec.prc_context_id <> FND_API.G_MISS_NUM AND
1956 NOT QP_GLOBALS.Equal(p_SEG_rec.prc_context_id,
1957 p_old_SEG_rec.prc_context_id)
1958 THEN
1959 l_SEG_val_rec.prc_context := QP_Id_To_Value.Prc_Context
1960 ( p_prc_context_id => p_SEG_rec.prc_context_id
1961 );
1962 END IF;
1963
1964 IF p_SEG_rec.seeded_flag IS NOT NULL AND
1965 p_SEG_rec.seeded_flag <> FND_API.G_MISS_CHAR AND
1966 NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_flag,
1967 p_old_SEG_rec.seeded_flag)
1968 THEN
1969 l_SEG_val_rec.seeded := QP_Id_To_Value.Seeded
1970 ( p_seeded_flag => p_SEG_rec.seeded_flag
1971 );
1972 END IF;
1973
1974 IF p_SEG_rec.seeded_valueset_id IS NOT NULL AND
1975 p_SEG_rec.seeded_valueset_id <> FND_API.G_MISS_NUM AND
1976 NOT QP_GLOBALS.Equal(p_SEG_rec.seeded_valueset_id,
1977 p_old_SEG_rec.seeded_valueset_id)
1978 THEN
1979 l_SEG_val_rec.seeded_valueset := QP_Id_To_Value.Seeded_Valueset
1980 ( p_seeded_valueset_id => p_SEG_rec.seeded_valueset_id
1981 );
1982 END IF;
1983
1984 IF p_SEG_rec.segment_id IS NOT NULL AND
1985 p_SEG_rec.segment_id <> FND_API.G_MISS_NUM AND
1986 NOT QP_GLOBALS.Equal(p_SEG_rec.segment_id,
1987 p_old_SEG_rec.segment_id)
1988 THEN
1989 l_SEG_val_rec.segment := QP_Id_To_Value.Segment
1990 ( p_segment_id => p_SEG_rec.segment_id
1991 );
1992 END IF;
1993
1994 IF p_SEG_rec.user_valueset_id IS NOT NULL AND
1995 p_SEG_rec.user_valueset_id <> FND_API.G_MISS_NUM AND
1996 NOT QP_GLOBALS.Equal(p_SEG_rec.user_valueset_id,
1997 p_old_SEG_rec.user_valueset_id)
1998 THEN
1999 l_SEG_val_rec.user_valueset := QP_Id_To_Value.User_Valueset
2000 ( p_user_valueset_id => p_SEG_rec.user_valueset_id
2001 );
2002 END IF;
2003
2004 RETURN l_SEG_val_rec;
2005
2006 END Get_Values;
2007
2008 -- Function Get_Ids
2009
2010 FUNCTION Get_Ids
2011 ( p_SEG_rec IN QP_Attributes_PUB.Seg_Rec_Type
2012 , p_SEG_val_rec IN QP_Attributes_PUB.Seg_Val_Rec_Type
2013 ) RETURN QP_Attributes_PUB.Seg_Rec_Type
2014 IS
2015 l_SEG_rec QP_Attributes_PUB.Seg_Rec_Type;
2016 BEGIN
2017
2018 -- initialize return_status.
2019
2020 l_SEG_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2021
2022 -- initialize l_SEG_rec.
2023
2024 l_SEG_rec := p_SEG_rec;
2025
2026 IF p_SEG_val_rec.prc_context <> FND_API.G_MISS_CHAR
2027 THEN
2028
2029 IF p_SEG_rec.prc_context_id <> FND_API.G_MISS_NUM THEN
2030
2031 l_SEG_rec.prc_context_id := p_SEG_rec.prc_context_id;
2032
2033 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2034 THEN
2035
2036 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2037 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','prc_context');
2038 OE_MSG_PUB.Add;
2039
2040 END IF;
2041
2042 ELSE
2043
2044 l_SEG_rec.prc_context_id := QP_Value_To_Id.prc_context
2045 ( p_prc_context => p_SEG_val_rec.prc_context
2046 );
2047
2048 IF l_SEG_rec.prc_context_id = FND_API.G_MISS_NUM THEN
2049 l_SEG_rec.return_status := FND_API.G_RET_STS_ERROR;
2050 END IF;
2051
2052 END IF;
2053
2054 END IF;
2055
2056 IF p_SEG_val_rec.seeded <> FND_API.G_MISS_CHAR
2057 THEN
2058
2059 IF p_SEG_rec.seeded_flag <> FND_API.G_MISS_CHAR THEN
2060
2061 l_SEG_rec.seeded_flag := p_SEG_rec.seeded_flag;
2062
2063 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2064 THEN
2065
2066 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2067 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','seeded');
2068 OE_MSG_PUB.Add;
2069
2070 END IF;
2071
2072 ELSE
2073
2074 l_SEG_rec.seeded_flag := QP_Value_To_Id.seeded
2075 ( p_seeded => p_SEG_val_rec.seeded
2076 );
2077
2078 IF l_SEG_rec.seeded_flag = FND_API.G_MISS_CHAR THEN
2079 l_SEG_rec.return_status := FND_API.G_RET_STS_ERROR;
2080 END IF;
2081
2082 END IF;
2083
2084 END IF;
2085
2086 IF p_SEG_val_rec.seeded_valueset <> FND_API.G_MISS_CHAR
2087 THEN
2088
2089 IF p_SEG_rec.seeded_valueset_id <> FND_API.G_MISS_NUM THEN
2090
2091 l_SEG_rec.seeded_valueset_id := p_SEG_rec.seeded_valueset_id;
2092
2093 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2094 THEN
2095
2096 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2097 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','seeded_valueset');
2098 OE_MSG_PUB.Add;
2099
2100 END IF;
2101
2102 ELSE
2103
2104 l_SEG_rec.seeded_valueset_id := QP_Value_To_Id.seeded_valueset
2105 ( p_seeded_valueset => p_SEG_val_rec.seeded_valueset
2106 );
2107
2108 IF l_SEG_rec.seeded_valueset_id = FND_API.G_MISS_NUM THEN
2109 l_SEG_rec.return_status := FND_API.G_RET_STS_ERROR;
2110 END IF;
2111
2112 END IF;
2113
2114 END IF;
2115
2116 IF p_SEG_val_rec.segment <> FND_API.G_MISS_CHAR
2117 THEN
2118
2119 IF p_SEG_rec.segment_id <> FND_API.G_MISS_NUM THEN
2120
2121 l_SEG_rec.segment_id := p_SEG_rec.segment_id;
2122
2123 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2124 THEN
2125
2126 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2127 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','segment');
2128 OE_MSG_PUB.Add;
2129
2130 END IF;
2131
2132 ELSE
2133
2134 l_SEG_rec.segment_id := QP_Value_To_Id.segment
2135 ( p_segment => p_SEG_val_rec.segment
2136 );
2137
2138 IF l_SEG_rec.segment_id = FND_API.G_MISS_NUM THEN
2139 l_SEG_rec.return_status := FND_API.G_RET_STS_ERROR;
2140 END IF;
2141
2142 END IF;
2143
2144 END IF;
2145
2146 IF p_SEG_val_rec.user_valueset <> FND_API.G_MISS_CHAR
2147 THEN
2148
2149 IF p_SEG_rec.user_valueset_id <> FND_API.G_MISS_NUM THEN
2150
2151 l_SEG_rec.user_valueset_id := p_SEG_rec.user_valueset_id;
2152
2153 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2154 THEN
2155
2156 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2157 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','user_valueset');
2158 OE_MSG_PUB.Add;
2159
2160 END IF;
2161
2162 ELSE
2163
2164 l_SEG_rec.user_valueset_id := QP_Value_To_Id.user_valueset
2165 ( p_user_valueset => p_SEG_val_rec.user_valueset
2166 );
2167
2168 IF l_SEG_rec.user_valueset_id = FND_API.G_MISS_NUM THEN
2169 l_SEG_rec.return_status := FND_API.G_RET_STS_ERROR;
2170 END IF;
2171
2172 END IF;
2173
2174 END IF;
2175
2176
2177 RETURN l_SEG_rec;
2178
2179 END Get_Ids;
2180
2181 END QP_Seg_Util;