[Home] [Help]
PACKAGE BODY: APPS.QP_PRICE_LIST_UTIL
Source
1 PACKAGE BODY QP_Price_List_Util AS
2 /* $Header: QPXUPLHB.pls 120.5 2006/04/19 11:15:16 rnayani ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Price_List_Util';
7
8 -- Procedure Clear_Dependent_Attr
9
10 PROCEDURE Clear_Dependent_Attr
11 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
12 , p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
13 , p_old_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type :=
14 QP_Price_List_PUB.G_MISS_PRICE_LIST_REC
15 , x_PRICE_LIST_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_List_PUB.Price_List_Rec_Type
16 )
17 IS
18 l_index NUMBER := 0;
19 l_src_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
20 l_dep_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
21 BEGIN
22
23 -- Load out record
24
25 x_PRICE_LIST_rec := p_PRICE_LIST_rec;
26
27 -- If attr_id is missing compare old and new records and for
28 -- every changed attribute clear its dependent fields.
29
30 IF p_attr_id = FND_API.G_MISS_NUM THEN
31
32 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute1,p_old_PRICE_LIST_rec.attribute1)
33 THEN
34 l_index := l_index + 1;
35 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE1;
36 END IF;
37
38 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute10,p_old_PRICE_LIST_rec.attribute10)
39 THEN
40 l_index := l_index + 1;
41 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE10;
42 END IF;
43
44 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute11,p_old_PRICE_LIST_rec.attribute11)
45 THEN
46 l_index := l_index + 1;
47 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE11;
48 END IF;
49
50 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute12,p_old_PRICE_LIST_rec.attribute12)
51 THEN
52 l_index := l_index + 1;
53 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE12;
54 END IF;
55
56 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute13,p_old_PRICE_LIST_rec.attribute13)
57 THEN
58 l_index := l_index + 1;
59 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE13;
60 END IF;
61
62 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute14,p_old_PRICE_LIST_rec.attribute14)
63 THEN
64 l_index := l_index + 1;
65 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE14;
66 END IF;
67
68 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute15,p_old_PRICE_LIST_rec.attribute15)
69 THEN
70 l_index := l_index + 1;
71 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE15;
72 END IF;
73
74 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute2,p_old_PRICE_LIST_rec.attribute2)
75 THEN
76 l_index := l_index + 1;
77 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE2;
78 END IF;
79
80 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute3,p_old_PRICE_LIST_rec.attribute3)
81 THEN
82 l_index := l_index + 1;
83 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE3;
84 END IF;
85
86 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute4,p_old_PRICE_LIST_rec.attribute4)
87 THEN
88 l_index := l_index + 1;
89 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE4;
90 END IF;
91
92 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute5,p_old_PRICE_LIST_rec.attribute5)
93 THEN
94 l_index := l_index + 1;
95 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE5;
96 END IF;
97
98 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute6,p_old_PRICE_LIST_rec.attribute6)
99 THEN
100 l_index := l_index + 1;
101 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE6;
102 END IF;
103
104 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute7,p_old_PRICE_LIST_rec.attribute7)
105 THEN
106 l_index := l_index + 1;
107 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE7;
108 END IF;
109
110 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute8,p_old_PRICE_LIST_rec.attribute8)
111 THEN
112 l_index := l_index + 1;
113 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE8;
114 END IF;
115
116 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute9,p_old_PRICE_LIST_rec.attribute9)
117 THEN
118 l_index := l_index + 1;
119 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE9;
120 END IF;
121
122 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.automatic_flag,p_old_PRICE_LIST_rec.automatic_flag)
123 THEN
124 l_index := l_index + 1;
125 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_AUTOMATIC;
126 END IF;
127
128 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.comments,p_old_PRICE_LIST_rec.comments)
129 THEN
130 l_index := l_index + 1;
131 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_COMMENTS;
132 END IF;
133
134 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.context,p_old_PRICE_LIST_rec.context)
135 THEN
136 l_index := l_index + 1;
137 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_CONTEXT;
138 END IF;
139
140 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.created_by,p_old_PRICE_LIST_rec.created_by)
141 THEN
142 l_index := l_index + 1;
143 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_CREATED_BY;
144 END IF;
145
146 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.creation_date,p_old_PRICE_LIST_rec.creation_date)
147 THEN
148 l_index := l_index + 1;
149 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_CREATION_DATE;
150 END IF;
151
152 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_code,p_old_PRICE_LIST_rec.currency_code)
153 THEN
154 l_index := l_index + 1;
155 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_CURRENCY;
156 END IF;
157
158 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.discount_lines_flag,p_old_PRICE_LIST_rec.discount_lines_flag)
159 THEN
160 l_index := l_index + 1;
161 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_DISCOUNT_LINES;
162 END IF;
163
164 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.end_date_active,p_old_PRICE_LIST_rec.end_date_active)
165 THEN
166 l_index := l_index + 1;
167 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_END_DATE_ACTIVE;
168 END IF;
169
170 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.freight_terms_code,p_old_PRICE_LIST_rec.freight_terms_code)
171 THEN
172 l_index := l_index + 1;
173 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_FREIGHT_TERMS;
174 END IF;
175
176 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.gsa_indicator,p_old_PRICE_LIST_rec.gsa_indicator)
177 THEN
178 l_index := l_index + 1;
179 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_GSA_INDICATOR;
180 END IF;
181
182 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_updated_by,p_old_PRICE_LIST_rec.last_updated_by)
183 THEN
184 l_index := l_index + 1;
185 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LAST_UPDATED_BY;
186 END IF;
187
188 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_date,p_old_PRICE_LIST_rec.last_update_date)
189 THEN
190 l_index := l_index + 1;
191 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LAST_UPDATE_DATE;
192 END IF;
193
194 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_login,p_old_PRICE_LIST_rec.last_update_login)
195 THEN
196 l_index := l_index + 1;
197 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LAST_UPDATE_LOGIN;
198 END IF;
199
200 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.name,p_old_PRICE_LIST_rec.name)
201 THEN
202 l_index := l_index + 1;
203 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_NAME;
204 END IF;
205
206 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.description,p_old_PRICE_LIST_rec.description)
207 THEN
208 l_index := l_index + 1;
209 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_DESCRIPTION;
210 END IF;
211
212
213 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_header_id,p_old_PRICE_LIST_rec.list_header_id)
214 THEN
215 l_index := l_index + 1;
216 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LIST_HEADER;
217 END IF;
218
219 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_type_code,p_old_PRICE_LIST_rec.list_type_code)
220 THEN
221 l_index := l_index + 1;
222 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LIST_TYPE;
223 END IF;
224
225 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.version_no,p_old_PRICE_LIST_rec.version_no)
226 THEN
227 l_index := l_index + 1;
228 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_VERSION_NO;
229 END IF;
230
231 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.active_flag,p_old_PRICE_LIST_rec.active_flag)
232 THEN
233 l_index := l_index + 1;
234 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ACTIVE_FLAG;
235 END IF;
236
237 --mkarya for bug 1944882
238 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.mobile_download,p_old_PRICE_LIST_rec.mobile_download)
239 THEN
240 l_index := l_index + 1;
241 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_MOBILE_DOWNLOAD;
242 END IF;
243
244 --Pricing Security gtippire
245 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.global_flag,p_old_PRICE_LIST_rec.global_flag)
246 THEN
247 l_index := l_index + 1;
248 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_GLOBAL_FLAG;
249 END IF;
250
251 --Multi-Currency SunilPandey
252 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_header_id,p_old_PRICE_LIST_rec.currency_header_id)
253 THEN
254 l_index := l_index + 1;
255 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_CURRENCY_HEADER;
256 END IF;
257
258 --Attributes Manager Giri
259 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.pte_code,p_old_PRICE_LIST_rec.pte_code)
260 THEN
261 l_index := l_index + 1;
262 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_PTE;
263 END IF;
264
265 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_application_id,p_old_PRICE_LIST_rec.program_application_id)
266 THEN
267 l_index := l_index + 1;
268 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_PROGRAM_APPLICATION;
269 END IF;
270
271 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_id,p_old_PRICE_LIST_rec.program_id)
272 THEN
273 l_index := l_index + 1;
274 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_PROGRAM;
275 END IF;
276
277 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_update_date,p_old_PRICE_LIST_rec.program_update_date)
278 THEN
279 l_index := l_index + 1;
280 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_PROGRAM_UPDATE_DATE;
281 END IF;
282
283 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.prorate_flag,p_old_PRICE_LIST_rec.prorate_flag)
284 THEN
285 l_index := l_index + 1;
286 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_PRORATE;
287 END IF;
288
289 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.request_id,p_old_PRICE_LIST_rec.request_id)
290 THEN
291 l_index := l_index + 1;
292 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_REQUEST;
293 END IF;
294
295 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.rounding_factor,p_old_PRICE_LIST_rec.rounding_factor)
296 THEN
297 l_index := l_index + 1;
298 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ROUNDING_FACTOR;
299 END IF;
300
301 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.ship_method_code,p_old_PRICE_LIST_rec.ship_method_code)
302 THEN
303 l_index := l_index + 1;
304 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_SHIP_METHOD;
305 END IF;
306
307 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.start_date_active,p_old_PRICE_LIST_rec.start_date_active)
308 THEN
309 l_index := l_index + 1;
310 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_START_DATE_ACTIVE;
311 END IF;
312
313 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.terms_id,p_old_PRICE_LIST_rec.terms_id)
314 THEN
315 l_index := l_index + 1;
316 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_TERMS;
317 END IF;
318
319 --Blanket Sales Order Addition
320 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_source_code,p_old_PRICE_LIST_rec.list_source_code)
321 THEN
322 l_index := l_index + 1;
323 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LIST_SOURCE;
324 END IF;
325
326 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.orig_system_header_ref,p_old_PRICE_LIST_rec.orig_system_header_ref)
327 THEN
328 l_index := l_index + 1;
329 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.ORIG_SYSTEM_HEADER_REF;
330 END IF;
331
332 --Blanket Pricing
333 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.source_system_code,p_old_PRICE_LIST_rec.source_system_code)
334 THEN
335 l_index := l_index + 1;
336 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_SOURCE_SYSTEM_CODE;
337 END IF;
338
339 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.shareable_flag,p_old_PRICE_LIST_rec.shareable_flag)
340 THEN
341 l_index := l_index + 1;
342 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_SHAREABLE_FLAG;
343 END IF;
344
345 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.sold_to_org_id, p_old_PRICE_LIST_rec.sold_to_org_id)
346 THEN
347 l_index := l_index + 1;
348 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_SOLD_TO_ORG_ID;
349 END IF;
350
351
352 --Added for Price List Locking project (Pack J)
353 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.locked_from_list_header_id,
354 p_old_PRICE_LIST_rec.locked_from_list_header_id)
355 THEN
356 l_index := l_index + 1;
357 l_src_attr_tbl(l_index) :=
358 QP_PRICE_LIST_UTIL.G_LOCKED_FROM_LIST_HEADER;
359 END IF;
360
361 --added for MOAC
362 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.org_id,p_old_PRICE_LIST_rec.org_id)
363 THEN
364 l_index := l_index + 1;
365 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ORG_ID;
366 END IF;
367
368 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
369 l_index := l_index + 1;
370 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE1;
371 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
372 l_index := l_index + 1;
373 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE10;
374 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
375 l_index := l_index + 1;
376 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE11;
377 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
378 l_index := l_index + 1;
379 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE12;
380 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
381 l_index := l_index + 1;
382 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE13;
383 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
384 l_index := l_index + 1;
385 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE14;
386 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
387 l_index := l_index + 1;
388 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE15;
389 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
390 l_index := l_index + 1;
391 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE2;
392 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
393 l_index := l_index + 1;
394 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE3;
395 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
396 l_index := l_index + 1;
397 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE4;
398 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
399 l_index := l_index + 1;
400 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE5;
401 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
402 l_index := l_index + 1;
403 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE6;
404 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
405 l_index := l_index + 1;
406 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE7;
407 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
408 l_index := l_index + 1;
409 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE8;
410 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
411 l_index := l_index + 1;
412 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ATTRIBUTE9;
413 ELSIF p_attr_id = G_AUTOMATIC THEN
414 l_index := l_index + 1;
415 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_AUTOMATIC;
416 ELSIF p_attr_id = G_COMMENTS THEN
417 l_index := l_index + 1;
418 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_COMMENTS;
419 ELSIF p_attr_id = G_CONTEXT THEN
420 l_index := l_index + 1;
421 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_CONTEXT;
422 ELSIF p_attr_id = G_CREATED_BY THEN
423 l_index := l_index + 1;
424 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_CREATED_BY;
425 ELSIF p_attr_id = G_CREATION_DATE THEN
426 l_index := l_index + 1;
427 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_CREATION_DATE;
428 ELSIF p_attr_id = G_CURRENCY THEN
429 l_index := l_index + 1;
430 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_CURRENCY;
431 ELSIF p_attr_id = G_DISCOUNT_LINES THEN
432 l_index := l_index + 1;
433 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_DISCOUNT_LINES;
434 ELSIF p_attr_id = G_END_DATE_ACTIVE THEN
435 l_index := l_index + 1;
436 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_END_DATE_ACTIVE;
437 ELSIF p_attr_id = G_FREIGHT_TERMS THEN
438 l_index := l_index + 1;
439 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_FREIGHT_TERMS;
440 ELSIF p_attr_id = G_GSA_INDICATOR THEN
441 l_index := l_index + 1;
442 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_GSA_INDICATOR;
443 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
444 l_index := l_index + 1;
445 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LAST_UPDATED_BY;
446 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
447 l_index := l_index + 1;
448 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LAST_UPDATE_DATE;
449 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
450 l_index := l_index + 1;
451 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LAST_UPDATE_LOGIN;
452 ELSIF p_attr_id = G_NAME THEN
453 l_index := l_index + 1;
454 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_NAME;
455 ELSIF p_attr_id = G_DESCRIPTION THEN
456 l_index := l_index + 1;
457 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_DESCRIPTION;
458 ELSIF p_attr_id = G_LIST_HEADER THEN
459 l_index := l_index + 1;
460 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LIST_HEADER;
461 ELSIF p_attr_id = G_LIST_TYPE THEN
462 l_index := l_index + 1;
463 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LIST_TYPE;
464 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
465 l_index := l_index + 1;
466 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_PROGRAM_APPLICATION;
467 ELSIF p_attr_id = G_PROGRAM THEN
468 l_index := l_index + 1;
469 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_PROGRAM;
470 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
471 l_index := l_index + 1;
472 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_PROGRAM_UPDATE_DATE;
473 ELSIF p_attr_id = G_PRORATE THEN
474 l_index := l_index + 1;
475 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_PRORATE;
476 ELSIF p_attr_id = G_REQUEST THEN
477 l_index := l_index + 1;
478 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_REQUEST;
479 ELSIF p_attr_id = G_ROUNDING_FACTOR THEN
480 l_index := l_index + 1;
481 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ROUNDING_FACTOR;
482 ELSIF p_attr_id = G_SHIP_METHOD THEN
483 l_index := l_index + 1;
484 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_SHIP_METHOD;
485 ELSIF p_attr_id = G_START_DATE_ACTIVE THEN
486 l_index := l_index + 1;
487 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_START_DATE_ACTIVE;
488 ELSIF p_attr_id = G_TERMS THEN
489 l_index := l_index + 1;
490 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_TERMS;
491
492 --Blanket Sales Order Addition
493 ELSIF p_attr_id = G_LIST_SOURCE THEN
494 l_index := l_index + 1;
495 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_LIST_SOURCE;
496 ELSIF p_attr_id = ORIG_SYSTEM_HEADER_REF THEN
497 l_index := l_index + 1;
498 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.ORIG_SYSTEM_HEADER_REF;
499
500 --Blanket pricing
501 ELSIF p_attr_id = G_SOURCE_SYSTEM_CODE THEN
502 l_index := l_index + 1;
503 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_SOURCE_SYSTEM_CODE;
504 ELSIF p_attr_id = G_SHAREABLE_FLAG THEN
505 l_index := l_index + 1;
506 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_SHAREABLE_FLAG;
507 ELSIF p_attr_id = G_SOLD_TO_ORG_ID THEN
508 l_index := l_index + 1;
509 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_SOLD_TO_ORG_ID;
510 --added for MOAC
511 ELSIF p_attr_id = G_ORG_ID THEN
512 l_index := l_index + 1;
513 l_src_attr_tbl(l_index) := QP_PRICE_LIST_UTIL.G_ORG_ID;
514 END IF;
515 END Clear_Dependent_Attr;
516
517 -- Procedure Apply_Attribute_Changes
518
519 PROCEDURE Apply_Attribute_Changes
520 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
521 , p_old_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type :=
522 QP_Price_List_PUB.G_MISS_PRICE_LIST_REC
523 , x_PRICE_LIST_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_List_PUB.Price_List_Rec_Type
524 )
525 IS
526 BEGIN
527
528 -- Load out record
529
530 x_PRICE_LIST_rec := p_PRICE_LIST_rec;
531
532
533 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute1,p_old_PRICE_LIST_rec.attribute1)
534 THEN
535 NULL;
536 END IF;
537
538 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute10,p_old_PRICE_LIST_rec.attribute10)
539 THEN
540 NULL;
541 END IF;
542
543 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute11,p_old_PRICE_LIST_rec.attribute11)
544 THEN
545 NULL;
546 END IF;
547
548 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute12,p_old_PRICE_LIST_rec.attribute12)
549 THEN
550 NULL;
551 END IF;
552
553 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute13,p_old_PRICE_LIST_rec.attribute13)
554 THEN
555 NULL;
556 END IF;
557
558 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute14,p_old_PRICE_LIST_rec.attribute14)
559 THEN
560 NULL;
561 END IF;
562
563 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute15,p_old_PRICE_LIST_rec.attribute15)
564 THEN
565 NULL;
566 END IF;
567
568 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute2,p_old_PRICE_LIST_rec.attribute2)
569 THEN
570 NULL;
571 END IF;
572
573 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute3,p_old_PRICE_LIST_rec.attribute3)
574 THEN
575 NULL;
576 END IF;
577
578 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute4,p_old_PRICE_LIST_rec.attribute4)
579 THEN
580 NULL;
581 END IF;
582
583 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute5,p_old_PRICE_LIST_rec.attribute5)
584 THEN
585 NULL;
586 END IF;
587
588 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute6,p_old_PRICE_LIST_rec.attribute6)
589 THEN
590 NULL;
591 END IF;
592
593 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute7,p_old_PRICE_LIST_rec.attribute7)
594 THEN
595 NULL;
596 END IF;
597
598 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute8,p_old_PRICE_LIST_rec.attribute8)
599 THEN
600 NULL;
601 END IF;
602
603 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute9,p_old_PRICE_LIST_rec.attribute9)
604 THEN
605 NULL;
606 END IF;
607
608 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.automatic_flag,p_old_PRICE_LIST_rec.automatic_flag)
609 THEN
610 NULL;
611 END IF;
612
613 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.comments,p_old_PRICE_LIST_rec.comments)
614 THEN
615 NULL;
616 END IF;
617
618 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.context,p_old_PRICE_LIST_rec.context)
619 THEN
620 NULL;
621 END IF;
622
623 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.created_by,p_old_PRICE_LIST_rec.created_by)
624 THEN
625 NULL;
626 END IF;
627
628 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.creation_date,p_old_PRICE_LIST_rec.creation_date)
629 THEN
630 NULL;
631 END IF;
632
633 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_code,p_old_PRICE_LIST_rec.currency_code)
634 THEN
635 NULL;
636 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
637 IF(p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
638 qp_delayed_requests_pvt.log_request(
639 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
640 p_entity_id => p_PRICE_LIST_rec.list_header_id,
641 p_request_unique_key1 => NULL,
642 p_request_unique_key2 => 'UD',
643 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
644 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
645 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
646 x_return_status => x_PRICE_LIST_rec.return_status);
647 END IF;
648 END IF; --Java Engine Installed
649 -- pattern
650
651 END IF;
652
653 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.discount_lines_flag,p_old_PRICE_LIST_rec.discount_lines_flag)
654 THEN
655 NULL;
656 END IF;
657
658 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.end_date_active,p_old_PRICE_LIST_rec.end_date_active)
659 THEN
660 NULL;
661 END IF;
662
663 /* Bug 1856788 Added the if condition to propogate the change in active_flag of price_list to qualifiers
664 of the price_list */
665 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.active_flag,p_old_PRICE_LIST_rec.active_flag)
666 THEN
667 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
668 IF (p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
669 qp_delayed_requests_pvt.log_request(
670 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
671 p_entity_id => p_PRICE_LIST_rec.list_header_id,
672 p_request_unique_key1 => NULL,
673 p_request_unique_key2 => 'UD',
674 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
675 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
676 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
677 x_return_status => x_PRICE_LIST_rec.return_status);
678 END IF;
679 END IF; --Java Engine Installed
680 -- pattern
681
682 -- added for bug 2912834
683 IF p_PRICE_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE
684 THEN
685
686 UPDATE qp_qualifiers
687 SET active_flag = p_PRICE_LIST_rec.active_flag
688 WHERE list_header_id = p_PRICE_LIST_rec.list_header_id;
689
690 -- Dynamic sourcing of attributes changes
691 IF p_PRICE_LIST_rec.active_flag = 'Y'
692 THEN
693 update qp_pte_segments d set used_in_setup='Y'
694 where nvl(used_in_setup,'N')='N'
695 and exists
696 (select 'x'
697 from qp_segments_b a,qp_prc_contexts_b b,qp_qualifiers c
698 where c.list_header_id = p_PRICE_LIST_rec.list_header_id
699 and a.segment_mapping_column = c .qualifier_attribute
700 and a.segment_id = d.segment_id
701 and a.prc_context_id = b.prc_context_id
702 and b.prc_context_type = 'QUALIFIER'
703 and b.prc_context_code = c.qualifier_context);
704
705 update qp_pte_segments d set used_in_setup='Y'
706 where nvl(used_in_setup,'N')='N'
707 and exists
708 (select 'x'
709 from qp_segments_b a,qp_prc_contexts_b b,qp_pricing_attributes c
710 where c.list_header_id = p_PRICE_LIST_rec.list_header_id
711 and a.segment_mapping_column = c.pricing_attribute
712 and a.segment_id = d.segment_id
713 and a.prc_context_id = b.prc_context_id
714 and b.prc_context_type = 'PRICING_ATTRIBUTE'
715 and b.prc_context_code = c.pricing_attribute_context);
716
717 update qp_pte_segments d set used_in_setup='Y'
718 where nvl(used_in_setup,'N')='N'
719 and exists
720 (select 'x'
721 from qp_segments_b a,qp_prc_contexts_b b,qp_pricing_attributes c
722 where c.list_header_id = p_PRICE_LIST_rec.list_header_id
723 and a.segment_mapping_column = c.product_attribute
724 and a.segment_id = d.segment_id
725 and a.prc_context_id = b.prc_context_id
726 and b.prc_context_type = 'PRODUCT'
727 and b.prc_context_code = c.product_attribute_context);
728
729 END IF;
730
731 END IF;
732
733 END IF;
734 -- mkarya for bug 1944882
735 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.mobile_download,p_old_PRICE_LIST_rec.mobile_download)
736 THEN
737 NULL;
738 END IF;
739
740 -- Pricing Security gtippire
741 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.global_flag,p_old_PRICE_LIST_rec.global_flag)
742 THEN
743 NULL;
744 END IF;
745
746 oe_debug_pub.add('QPXUPLHB - list_header_id = ' || p_PRICE_LIST_rec.list_header_id);
747 oe_debug_pub.add('QPXUPLHB - currency_header_id = ' || p_PRICE_LIST_rec.currency_header_id);
748 oe_debug_pub.add('QPXUPLHB - old currency_header_id = ' || p_old_PRICE_LIST_rec.currency_header_id);
749 oe_debug_pub.add('QPXUPLHB - rounding_factor = ' || p_PRICE_LIST_rec.rounding_factor);
750 -- Multi-Currency SunilPandey
751 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_header_id,p_old_PRICE_LIST_rec.currency_header_id)
752 THEN
753 NULL;
754 if p_PRICE_LIST_rec.currency_header_id is not null then
755 select BASE_ROUNDING_FACTOR
756 into x_PRICE_LIST_rec.rounding_factor
757 from QP_CURRENCY_LISTS_VL
758 where currency_header_id = p_PRICE_LIST_rec.currency_header_id;
759 end if;
760 END IF;
761
762 -- Attributes Manager Giri
763 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.pte_code,p_old_PRICE_LIST_rec.pte_code)
764 THEN
765 NULL;
766 END IF;
767
768 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.freight_terms_code,p_old_PRICE_LIST_rec.freight_terms_code)
769 THEN
770 NULL;
771 END IF;
772
773 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.gsa_indicator,p_old_PRICE_LIST_rec.gsa_indicator)
774 THEN
775 NULL;
776 END IF;
777
778 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_updated_by,p_old_PRICE_LIST_rec.last_updated_by)
779 THEN
780 NULL;
781 END IF;
782
783 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_date,p_old_PRICE_LIST_rec.last_update_date)
784 THEN
785 NULL;
786 END IF;
787
788 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_login,p_old_PRICE_LIST_rec.last_update_login)
789 THEN
790 NULL;
791 END IF;
792
793 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.name,p_old_PRICE_LIST_rec.name)
794 THEN
795 IF NOT QP_Validate.Price_List_Name(p_PRICE_LIST_rec.name,
796 p_PRICE_LIST_rec.list_header_id,
797 p_PRICE_LIST_rec.version_no) THEN
798 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
799 END IF;
800 END IF;
801
802 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.description,p_old_PRICE_LIST_rec.description)
803 THEN
804 NULL;
805 END IF;
806
807 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_header_id,p_old_PRICE_LIST_rec.list_header_id)
808 THEN
809 NULL;
810 END IF;
811
812 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_type_code,p_old_PRICE_LIST_rec.list_type_code)
813 THEN
814 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
815 IF(p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
816 qp_delayed_requests_pvt.log_request(
817 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
818 p_entity_id => p_PRICE_LIST_rec.list_header_id,
819 p_request_unique_key1 => NULL,
820 p_request_unique_key2 => 'UD',
821 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
822 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
823 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
824 x_return_status => x_PRICE_LIST_rec.return_status);
825 END IF;
826 END IF; --Java Engine Installed
827 -- pattern
828
829 NULL;
830 END IF;
831
832 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.version_no,p_old_PRICE_LIST_rec.version_no)
833 THEN
834 NULL;
835 END IF;
836
837 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_application_id,p_old_PRICE_LIST_rec.program_application_id)
838 THEN
839 NULL;
840 END IF;
841
842 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_id,p_old_PRICE_LIST_rec.program_id)
843 THEN
844 NULL;
845 END IF;
846
847 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_update_date,p_old_PRICE_LIST_rec.program_update_date)
848 THEN
849 NULL;
850 END IF;
851
852 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.prorate_flag,p_old_PRICE_LIST_rec.prorate_flag)
853 THEN
854 NULL;
855 END IF;
856
857 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.request_id,p_old_PRICE_LIST_rec.request_id)
858 THEN
859 NULL;
860 END IF;
861
862 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.rounding_factor,p_old_PRICE_LIST_rec.rounding_factor)
863 THEN
864 /*
865 IF NOT QP_Validate.Rounding_Factor(p_PRICE_LIST_rec.rounding_factor,
866 p_PRICE_LIST_rec.currency_code)
867 THEN
868 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
869 END IF;
870 */
871 null;
872 END IF;
873
874 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.ship_method_code,p_old_PRICE_LIST_rec.ship_method_code)
875 THEN
876 NULL;
877 END IF;
878
879 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.start_date_active,p_old_PRICE_LIST_rec.start_date_active)
880 THEN
881 NULL;
882 END IF;
883
884 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.terms_id,p_old_PRICE_LIST_rec.terms_id)
885 THEN
886 NULL;
887 END IF;
888
889 -- Blanket Sales Order
890 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_source_code,p_old_PRICE_LIST_rec.list_source_code)
891 THEN
892 NULL;
893 END IF;
894
895 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.orig_system_header_ref,p_old_PRICE_LIST_rec.orig_system_header_ref)
896 THEN
897 NULL;
898 END IF;
899
900 -- Blanket Pricing
901 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.source_system_code, p_old_PRICE_LIST_rec.source_system_code)
902 THEN
903 NULL;
904 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
905 IF( p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
906 qp_delayed_requests_pvt.log_request(
907 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
908 p_entity_id => p_PRICE_LIST_rec.list_header_id,
909 p_request_unique_key1 => NULL,
910 p_request_unique_key2 => 'UD',
911 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
912 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
913 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
914 x_return_status => x_PRICE_LIST_rec.return_status);
915 END IF;
916 END IF; --Java Engine Installed
917 -- pattern
918
919 END IF;
920
921 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.shareable_flag, p_old_PRICE_LIST_rec.shareable_flag)
922 THEN
923 NULL;
924 END IF;
925
926 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.sold_to_org_id, p_old_PRICE_LIST_rec.sold_to_org_id)
927 THEN
928 NULL;
929 END IF;
930
931 --Added for Price List Locking
932 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.locked_from_list_header_id, p_old_PRICE_LIST_rec.locked_from_list_header_id)
933 THEN
934 NULL;
935 END IF;
936
937 --added for MOAC
938 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.org_id, p_old_PRICE_LIST_rec.org_id)
939 THEN
940 NULL;
941 END IF;
942 END Apply_Attribute_Changes;
943
944 -- Function Complete_Record
945
946 FUNCTION Complete_Record
947 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
948 , p_old_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
949 ) RETURN QP_Price_List_PUB.Price_List_Rec_Type
950 IS
951 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type := p_PRICE_LIST_rec;
952 BEGIN
953
954 IF l_PRICE_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
955 l_PRICE_LIST_rec.attribute1 := p_old_PRICE_LIST_rec.attribute1;
956 END IF;
957
958 IF l_PRICE_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
959 l_PRICE_LIST_rec.attribute10 := p_old_PRICE_LIST_rec.attribute10;
960 END IF;
961
962 IF l_PRICE_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
963 l_PRICE_LIST_rec.attribute11 := p_old_PRICE_LIST_rec.attribute11;
964 END IF;
965
966 IF l_PRICE_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
967 l_PRICE_LIST_rec.attribute12 := p_old_PRICE_LIST_rec.attribute12;
968 END IF;
969
970 IF l_PRICE_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
971 l_PRICE_LIST_rec.attribute13 := p_old_PRICE_LIST_rec.attribute13;
972 END IF;
973
974 IF l_PRICE_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
975 l_PRICE_LIST_rec.attribute14 := p_old_PRICE_LIST_rec.attribute14;
976 END IF;
977
978 IF l_PRICE_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
979 l_PRICE_LIST_rec.attribute15 := p_old_PRICE_LIST_rec.attribute15;
980 END IF;
981
982 IF l_PRICE_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
983 l_PRICE_LIST_rec.attribute2 := p_old_PRICE_LIST_rec.attribute2;
984 END IF;
985
986 IF l_PRICE_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
987 l_PRICE_LIST_rec.attribute3 := p_old_PRICE_LIST_rec.attribute3;
988 END IF;
989
990 IF l_PRICE_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
991 l_PRICE_LIST_rec.attribute4 := p_old_PRICE_LIST_rec.attribute4;
992 END IF;
993
994 IF l_PRICE_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
995 l_PRICE_LIST_rec.attribute5 := p_old_PRICE_LIST_rec.attribute5;
996 END IF;
997
998 IF l_PRICE_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
999 l_PRICE_LIST_rec.attribute6 := p_old_PRICE_LIST_rec.attribute6;
1000 END IF;
1001
1002 IF l_PRICE_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1003 l_PRICE_LIST_rec.attribute7 := p_old_PRICE_LIST_rec.attribute7;
1004 END IF;
1005
1006 IF l_PRICE_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1007 l_PRICE_LIST_rec.attribute8 := p_old_PRICE_LIST_rec.attribute8;
1008 END IF;
1009
1010 IF l_PRICE_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1011 l_PRICE_LIST_rec.attribute9 := p_old_PRICE_LIST_rec.attribute9;
1012 END IF;
1013
1014 IF l_PRICE_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1015 l_PRICE_LIST_rec.automatic_flag := p_old_PRICE_LIST_rec.automatic_flag;
1016 END IF;
1017
1018 IF l_PRICE_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
1019 l_PRICE_LIST_rec.comments := p_old_PRICE_LIST_rec.comments;
1020 END IF;
1021
1022 IF l_PRICE_LIST_rec.context = FND_API.G_MISS_CHAR THEN
1023 l_PRICE_LIST_rec.context := p_old_PRICE_LIST_rec.context;
1024 END IF;
1025
1026 IF l_PRICE_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
1027 l_PRICE_LIST_rec.created_by := p_old_PRICE_LIST_rec.created_by;
1028 END IF;
1029
1030 IF l_PRICE_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
1031 l_PRICE_LIST_rec.creation_date := p_old_PRICE_LIST_rec.creation_date;
1032 END IF;
1033
1034 IF l_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
1035 l_PRICE_LIST_rec.currency_code := p_old_PRICE_LIST_rec.currency_code;
1036 END IF;
1037
1038 IF l_PRICE_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
1039 l_PRICE_LIST_rec.discount_lines_flag := p_old_PRICE_LIST_rec.discount_lines_flag;
1040 END IF;
1041
1042 IF l_PRICE_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
1043 l_PRICE_LIST_rec.end_date_active := p_old_PRICE_LIST_rec.end_date_active;
1044 END IF;
1045
1046 IF l_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
1047 l_PRICE_LIST_rec.freight_terms_code := p_old_PRICE_LIST_rec.freight_terms_code;
1048 END IF;
1049
1050 IF l_PRICE_LIST_rec.gsa_indicator = FND_API.G_MISS_CHAR THEN
1051 l_PRICE_LIST_rec.gsa_indicator := p_old_PRICE_LIST_rec.gsa_indicator;
1052 END IF;
1053
1054 IF l_PRICE_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1055 l_PRICE_LIST_rec.last_updated_by := p_old_PRICE_LIST_rec.last_updated_by;
1056 END IF;
1057
1058 IF l_PRICE_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
1059 l_PRICE_LIST_rec.last_update_date := p_old_PRICE_LIST_rec.last_update_date;
1060 END IF;
1061
1062 IF l_PRICE_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
1063 l_PRICE_LIST_rec.last_update_login := p_old_PRICE_LIST_rec.last_update_login;
1064 END IF;
1065
1066 IF l_PRICE_LIST_rec.name = FND_API.G_MISS_CHAR THEN
1067 l_PRICE_LIST_rec.name := p_old_PRICE_LIST_rec.name;
1068 END IF;
1069
1070
1071 IF l_PRICE_LIST_rec.description = FND_API.G_MISS_CHAR THEN
1072 l_PRICE_LIST_rec.description := p_old_PRICE_LIST_rec.description;
1073 END IF;
1074
1075 IF l_PRICE_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
1076 l_PRICE_LIST_rec.list_header_id := p_old_PRICE_LIST_rec.list_header_id;
1077 END IF;
1078
1079 IF l_PRICE_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
1080 l_PRICE_LIST_rec.list_type_code := p_old_PRICE_LIST_rec.list_type_code;
1081 END IF;
1082
1083 IF l_PRICE_LIST_rec.version_no = FND_API.G_MISS_CHAR THEN
1084 l_PRICE_LIST_rec.version_no := p_old_PRICE_LIST_rec.version_no;
1085 END IF;
1086
1087 IF l_PRICE_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
1088 l_PRICE_LIST_rec.program_application_id := p_old_PRICE_LIST_rec.program_application_id;
1089 END IF;
1090
1091 IF l_PRICE_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
1092 l_PRICE_LIST_rec.program_id := p_old_PRICE_LIST_rec.program_id;
1093 END IF;
1094
1095 IF l_PRICE_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
1096 l_PRICE_LIST_rec.program_update_date := p_old_PRICE_LIST_rec.program_update_date;
1097 END IF;
1098
1099 IF l_PRICE_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
1100 l_PRICE_LIST_rec.prorate_flag := p_old_PRICE_LIST_rec.prorate_flag;
1101 END IF;
1102
1103 IF l_PRICE_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
1104 l_PRICE_LIST_rec.request_id := p_old_PRICE_LIST_rec.request_id;
1105 END IF;
1106
1107 IF l_PRICE_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
1108 l_PRICE_LIST_rec.rounding_factor := p_old_PRICE_LIST_rec.rounding_factor;
1109 END IF;
1110
1111 IF l_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
1112 l_PRICE_LIST_rec.ship_method_code := p_old_PRICE_LIST_rec.ship_method_code;
1113 END IF;
1114
1115 IF l_PRICE_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
1116 l_PRICE_LIST_rec.start_date_active := p_old_PRICE_LIST_rec.start_date_active;
1117 END IF;
1118
1119 IF l_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
1120 l_PRICE_LIST_rec.terms_id := p_old_PRICE_LIST_rec.terms_id;
1121 END IF;
1122
1123 -- Blanket Agreement Pricing bug#3684285
1124 IF l_PRICE_LIST_rec.list_source_code = FND_API.G_MISS_CHAR THEN
1125 l_PRICE_LIST_rec.list_source_code := p_old_PRICE_LIST_rec.list_source_code;
1126 END IF;
1127
1128 IF l_PRICE_LIST_rec.orig_system_header_ref = FND_API.G_MISS_CHAR THEN
1129 l_PRICE_LIST_rec.orig_system_header_ref := p_old_PRICE_LIST_rec.orig_system_header_ref;
1130 END IF;
1131
1132 IF l_PRICE_LIST_rec.source_system_code = FND_API.G_MISS_CHAR THEN
1133 l_PRICE_LIST_rec.source_system_code := p_old_PRICE_LIST_rec.source_system_code;
1134 END IF;
1135
1136 IF l_PRICE_LIST_rec.pte_code = FND_API.G_MISS_CHAR THEN
1137 l_PRICE_LIST_rec.pte_code := p_old_PRICE_LIST_rec.pte_code;
1138 END IF;
1139
1140 IF l_PRICE_LIST_rec.shareable_flag = FND_API.G_MISS_CHAR THEN
1141 l_PRICE_LIST_rec.shareable_flag := p_old_PRICE_LIST_rec.shareable_flag;
1142 END IF;
1143
1144 IF l_PRICE_LIST_rec.sold_to_org_id = FND_API.G_MISS_NUM THEN
1145 l_PRICE_LIST_rec.sold_to_org_id := p_old_PRICE_LIST_rec.sold_to_org_id;
1146 END IF;
1147
1148 /* Added code for active_flag and mobile_download by dhgupta for bug 2052900 */
1149
1150 IF l_PRICE_LIST_rec.active_flag = FND_API.G_MISS_CHAR THEN
1151 l_PRICE_LIST_rec.active_flag := p_old_PRICE_LIST_rec.active_flag;
1152 END IF;
1153
1154 IF l_PRICE_LIST_rec.mobile_download = FND_API.G_MISS_CHAR THEN
1155 l_PRICE_LIST_rec.mobile_download := p_old_PRICE_LIST_rec.mobile_download;
1156 END IF;
1157
1158 -- Pricing Security gtippire
1159 IF l_PRICE_LIST_rec.global_flag = FND_API.G_MISS_CHAR THEN
1160 l_PRICE_LIST_rec.global_flag := p_old_PRICE_LIST_rec.global_flag;
1161 END IF;
1162
1163 IF l_PRICE_LIST_rec.locked_from_list_header_id = FND_API.G_MISS_NUM THEN
1164 l_PRICE_LIST_rec.locked_from_list_header_id := p_old_PRICE_LIST_rec.locked_from_list_header_id;
1165 END IF;
1166
1167 --added for MOAC
1168 IF l_PRICE_LIST_rec.org_id = FND_API.G_MISS_NUM THEN
1169 l_PRICE_LIST_rec.org_id := p_old_PRICE_LIST_rec.org_id;
1170 END IF;
1171
1172 RETURN l_PRICE_LIST_rec;
1173
1174 END Complete_Record;
1175
1176 -- Function Convert_Miss_To_Null
1177
1178 FUNCTION Convert_Miss_To_Null
1179 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1180 ) RETURN QP_Price_List_PUB.Price_List_Rec_Type
1181 IS
1182 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type := p_PRICE_LIST_rec;
1183 BEGIN
1184
1185 IF l_PRICE_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1186 l_PRICE_LIST_rec.attribute1 := NULL;
1187 END IF;
1188
1189 IF l_PRICE_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1190 l_PRICE_LIST_rec.attribute10 := NULL;
1191 END IF;
1192
1193 IF l_PRICE_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1194 l_PRICE_LIST_rec.attribute11 := NULL;
1195 END IF;
1196
1197 IF l_PRICE_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1198 l_PRICE_LIST_rec.attribute12 := NULL;
1199 END IF;
1200
1201 IF l_PRICE_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1202 l_PRICE_LIST_rec.attribute13 := NULL;
1203 END IF;
1204
1205 IF l_PRICE_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1206 l_PRICE_LIST_rec.attribute14 := NULL;
1207 END IF;
1208
1209 IF l_PRICE_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1210 l_PRICE_LIST_rec.attribute15 := NULL;
1211 END IF;
1212
1213 IF l_PRICE_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1214 l_PRICE_LIST_rec.attribute2 := NULL;
1215 END IF;
1216
1217 IF l_PRICE_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1218 l_PRICE_LIST_rec.attribute3 := NULL;
1219 END IF;
1220
1221 IF l_PRICE_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1222 l_PRICE_LIST_rec.attribute4 := NULL;
1223 END IF;
1224
1225 IF l_PRICE_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1226 l_PRICE_LIST_rec.attribute5 := NULL;
1227 END IF;
1228
1229 IF l_PRICE_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1230 l_PRICE_LIST_rec.attribute6 := NULL;
1231 END IF;
1232
1233 IF l_PRICE_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1234 l_PRICE_LIST_rec.attribute7 := NULL;
1235 END IF;
1236
1237 IF l_PRICE_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1238 l_PRICE_LIST_rec.attribute8 := NULL;
1239 END IF;
1240
1241 IF l_PRICE_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1242 l_PRICE_LIST_rec.attribute9 := NULL;
1243 END IF;
1244
1245 IF l_PRICE_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1246 l_PRICE_LIST_rec.automatic_flag := NULL;
1247 END IF;
1248
1249 IF l_PRICE_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
1250 l_PRICE_LIST_rec.comments := NULL;
1251 END IF;
1252
1253 IF l_PRICE_LIST_rec.context = FND_API.G_MISS_CHAR THEN
1254 l_PRICE_LIST_rec.context := NULL;
1255 END IF;
1256
1257 IF l_PRICE_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
1258 l_PRICE_LIST_rec.created_by := NULL;
1259 END IF;
1260
1261 IF l_PRICE_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
1262 l_PRICE_LIST_rec.creation_date := NULL;
1263 END IF;
1264
1265 IF l_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
1266 l_PRICE_LIST_rec.currency_code := NULL;
1267 END IF;
1268
1269 IF l_PRICE_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
1270 l_PRICE_LIST_rec.discount_lines_flag := NULL;
1271 END IF;
1272
1273 IF l_PRICE_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
1274 l_PRICE_LIST_rec.end_date_active := NULL;
1275 END IF;
1276
1277 IF l_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
1278 l_PRICE_LIST_rec.freight_terms_code := NULL;
1279 END IF;
1280
1281 IF l_PRICE_LIST_rec.gsa_indicator = FND_API.G_MISS_CHAR THEN
1282 l_PRICE_LIST_rec.gsa_indicator := NULL;
1283 END IF;
1284
1285 IF l_PRICE_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1286 l_PRICE_LIST_rec.last_updated_by := NULL;
1287 END IF;
1288
1289 IF l_PRICE_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
1290 l_PRICE_LIST_rec.last_update_date := NULL;
1291 END IF;
1292
1293 IF l_PRICE_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
1294 l_PRICE_LIST_rec.last_update_login := NULL;
1295 END IF;
1296
1297 IF l_PRICE_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
1298 l_PRICE_LIST_rec.list_header_id := NULL;
1299 END IF;
1300
1301 IF l_PRICE_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
1302 l_PRICE_LIST_rec.list_type_code := NULL;
1303 END IF;
1304
1305 IF l_PRICE_LIST_rec.version_no = FND_API.G_MISS_CHAR THEN
1306 l_PRICE_LIST_rec.version_no := NULL;
1307 END IF;
1308
1309 IF l_PRICE_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
1310 l_PRICE_LIST_rec.program_application_id := NULL;
1311 END IF;
1312
1313 IF l_PRICE_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
1314 l_PRICE_LIST_rec.program_id := NULL;
1315 END IF;
1316
1317 IF l_PRICE_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
1318 l_PRICE_LIST_rec.program_update_date := NULL;
1319 END IF;
1320
1321 IF l_PRICE_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
1322 l_PRICE_LIST_rec.prorate_flag := NULL;
1323 END IF;
1324
1325 IF l_PRICE_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
1326 l_PRICE_LIST_rec.request_id := NULL;
1327 END IF;
1328
1329 IF l_PRICE_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
1330 l_PRICE_LIST_rec.rounding_factor := NULL;
1331 END IF;
1332
1333 IF l_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
1334 l_PRICE_LIST_rec.ship_method_code := NULL;
1335 END IF;
1336
1337 IF l_PRICE_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
1338 l_PRICE_LIST_rec.start_date_active := NULL;
1339 END IF;
1340
1341 IF l_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
1342 l_PRICE_LIST_rec.terms_id := NULL;
1343 END IF;
1344
1345 IF l_PRICE_LIST_rec.name = FND_API.G_MISS_CHAR THEN
1346 l_PRICE_LIST_rec.name := NULL;
1347 END IF;
1348
1349 IF l_PRICE_LIST_rec.description = FND_API.G_MISS_CHAR THEN
1350 l_PRICE_LIST_rec.description := NULL;
1351 END IF;
1352
1353 IF l_PRICE_LIST_rec.locked_from_list_header_id = FND_API.G_MISS_NUM THEN
1354 l_PRICE_LIST_rec.locked_from_list_header_id := NULL;
1355 END IF;
1356
1357 RETURN l_PRICE_LIST_rec;
1358
1359 END Convert_Miss_To_Null;
1360
1361 -- Procedure Update_Row
1362
1363 PROCEDURE Update_Row
1364 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1365 )
1366 IS
1367 l_price_list_exists number := 0;
1368 BEGIN
1369
1370 IF QP_security.check_function( p_function_name => QP_Security.G_FUNCTION_UPDATE,
1371 p_instance_type => QP_Security.G_PRICELIST_OBJECT,
1372 p_instance_pk1 => p_PRICE_LIST_rec.list_header_id) <> 'F' THEN
1373
1374 --for moac changes QP_LIST_HEADERS_B to all_b to enable updates to PL with orig_org_id
1375 --that do not belong to the responsibility when the user has update privilges
1376 UPDATE QP_LIST_HEADERS_ALL_B
1377 SET ATTRIBUTE1 = p_PRICE_LIST_rec.attribute1
1378 , ATTRIBUTE10 = p_PRICE_LIST_rec.attribute10
1379 , ATTRIBUTE11 = p_PRICE_LIST_rec.attribute11
1380 , ATTRIBUTE12 = p_PRICE_LIST_rec.attribute12
1381 , ATTRIBUTE13 = p_PRICE_LIST_rec.attribute13
1382 , ATTRIBUTE14 = p_PRICE_LIST_rec.attribute14
1383 , ATTRIBUTE15 = p_PRICE_LIST_rec.attribute15
1384 , ATTRIBUTE2 = p_PRICE_LIST_rec.attribute2
1385 , ATTRIBUTE3 = p_PRICE_LIST_rec.attribute3
1386 , ATTRIBUTE4 = p_PRICE_LIST_rec.attribute4
1387 , ATTRIBUTE5 = p_PRICE_LIST_rec.attribute5
1388 , ATTRIBUTE6 = p_PRICE_LIST_rec.attribute6
1389 , ATTRIBUTE7 = p_PRICE_LIST_rec.attribute7
1390 , ATTRIBUTE8 = p_PRICE_LIST_rec.attribute8
1391 , ATTRIBUTE9 = p_PRICE_LIST_rec.attribute9
1392 , AUTOMATIC_FLAG = p_PRICE_LIST_rec.automatic_flag
1393 , COMMENTS = p_PRICE_LIST_rec.comments
1394 , CONTEXT = p_PRICE_LIST_rec.context
1395 , CREATED_BY = p_PRICE_LIST_rec.created_by
1396 , CREATION_DATE = p_PRICE_LIST_rec.creation_date
1397 , CURRENCY_CODE = p_PRICE_LIST_rec.currency_code
1398 , DISCOUNT_LINES_FLAG = p_PRICE_LIST_rec.discount_lines_flag
1399 , END_DATE_ACTIVE = trunc(p_PRICE_LIST_rec.end_date_active)
1400 , FREIGHT_TERMS_CODE = p_PRICE_LIST_rec.freight_terms_code
1401 , GSA_INDICATOR = p_PRICE_LIST_rec.gsa_indicator
1402 , LAST_UPDATED_BY = p_PRICE_LIST_rec.last_updated_by
1403 , LAST_UPDATE_DATE = p_PRICE_LIST_rec.last_update_date
1404 , LAST_UPDATE_LOGIN = p_PRICE_LIST_rec.last_update_login
1405 , LIST_HEADER_ID = p_PRICE_LIST_rec.list_header_id
1406 , LIST_TYPE_CODE = p_PRICE_LIST_rec.list_type_code
1407 , PROGRAM_APPLICATION_ID = p_PRICE_LIST_rec.program_application_id
1408 , PROGRAM_ID = p_PRICE_LIST_rec.program_id
1409 , PROGRAM_UPDATE_DATE = p_PRICE_LIST_rec.program_update_date
1410 , PRORATE_FLAG = p_PRICE_LIST_rec.prorate_flag
1411 , REQUEST_ID = p_PRICE_LIST_rec.request_id
1412 , ROUNDING_FACTOR = p_PRICE_LIST_rec.rounding_factor
1413 , SHIP_METHOD_CODE = p_PRICE_LIST_rec.ship_method_code
1414 , START_DATE_ACTIVE = trunc(p_PRICE_LIST_rec.start_date_active)
1415 , TERMS_ID = p_PRICE_LIST_rec.terms_id
1416 , ASK_FOR_FLAG = 'N'
1417 , ACTIVE_FLAG =
1418 decode(p_PRICE_LIST_rec.active_flag, FND_API.G_MISS_CHAR, ACTIVE_FLAG, --dhgupta for 2052900
1419 p_PRICE_LIST_rec.active_flag)
1420 , MOBILE_DOWNLOAD =
1421 decode(p_PRICE_LIST_rec.mobile_download, FND_API.G_MISS_CHAR, MOBILE_DOWNLOAD,--dhgupta for 2052900
1422 p_PRICE_LIST_rec.mobile_download) -- mkarya for bug 1944882
1423 , CURRENCY_HEADER_ID = p_PRICE_LIST_rec.currency_header_id
1424 , PTE_CODE = p_PRICE_LIST_rec.pte_code -- Giri for Attributes Manager
1425 , LIST_SOURCE_CODE = p_PRICE_LIST_rec.list_source_code --Blanket Sales Order
1426 , ORIG_SYSTEM_HEADER_REF = p_PRICE_LIST_rec.orig_system_header_ref --Blanket Sales Order
1427 , GLOBAL_FLAG =
1428 decode(p_PRICE_LIST_rec.global_flag, FND_API.G_MISS_CHAR, GLOBAL_FLAG,
1429 p_PRICE_LIST_rec.global_flag) -- Pricing Security gtippire
1430 , SOURCE_SYSTEM_CODE = p_PRICE_LIST_rec.source_system_code
1431 , SHAREABLE_FLAG = p_PRICE_LIST_rec.shareable_flag
1432 , SOLD_TO_ORG_ID = p_PRICE_LIST_rec.sold_to_org_id
1433 , LOCKED_FROM_LIST_HEADER_ID =
1434 p_PRICE_LIST_rec.locked_from_list_header_id --Pricelist locking
1435 --added for MOAC
1436 , ORIG_ORG_ID = p_PRICE_LIST_rec.org_id
1437 WHERE LIST_HEADER_ID = p_PRICE_LIST_rec.list_header_id
1438 ;
1439
1440 update QP_LIST_HEADERS_TL set
1441 NAME = p_PRICE_LIST_rec.name,
1442 DESCRIPTION = p_PRICE_LIST_rec.description,
1443 LAST_UPDATE_DATE = p_PRICE_LIST_rec.LAST_UPDATE_DATE,
1444 LAST_UPDATED_BY = p_PRICE_LIST_rec.LAST_UPDATED_BY,
1445 LAST_UPDATE_LOGIN = p_PRICE_LIST_rec.LAST_UPDATE_LOGIN,
1446 VERSION_NO = p_PRICE_LIST_rec.version_no,
1447 SOURCE_LANG = userenv('LANG')
1448 where LIST_HEADER_ID = p_PRICE_LIST_rec.LIST_HEADER_ID
1449 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
1450
1451 --ELSE
1452 -- fnd_message.set_name('QP', 'QP_NO_PRIVILEGE');
1453 -- fnd_message.set_token('PRICING_OBJECT', 'Price List');
1454 -- oe_msg_pub.Add;
1455 END IF;
1456
1457 EXCEPTION
1458
1459 WHEN OTHERS THEN
1460
1461 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1462 THEN
1463 oe_msg_pub.Add_Exc_Msg
1464 ( G_PKG_NAME
1465 , 'Update_Row'
1466 );
1467 END IF;
1468
1469 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1470
1471 END Update_Row;
1472
1473 -- Procedure Insert_Row
1474
1475 PROCEDURE Insert_Row
1476 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1477 )
1478 IS
1479
1480 --l_source_system_code varchar2(30);
1481 x_result VARCHAR2(1);
1482
1483 BEGIN
1484 /*
1485 l_source_system_code := fnd_profile.value('QP_SOURCE_SYSTEM_CODE');
1486
1487 IF l_source_system_code is null then
1488
1489 l_source_system_code := 'QP';
1490
1491 END IF;
1492 */
1493
1494 INSERT INTO QP_LIST_HEADERS_B
1495 ( ATTRIBUTE1
1496 , ATTRIBUTE10
1497 , ATTRIBUTE11
1498 , ATTRIBUTE12
1499 , ATTRIBUTE13
1500 , ATTRIBUTE14
1501 , ATTRIBUTE15
1502 , ATTRIBUTE2
1503 , ATTRIBUTE3
1504 , ATTRIBUTE4
1505 , ATTRIBUTE5
1506 , ATTRIBUTE6
1507 , ATTRIBUTE7
1508 , ATTRIBUTE8
1509 , ATTRIBUTE9
1510 , AUTOMATIC_FLAG
1511 , COMMENTS
1512 , CONTEXT
1513 , CREATED_BY
1514 , CREATION_DATE
1515 , CURRENCY_CODE
1516 , DISCOUNT_LINES_FLAG
1517 , END_DATE_ACTIVE
1518 , FREIGHT_TERMS_CODE
1519 , GSA_INDICATOR
1520 , LAST_UPDATED_BY
1521 , LAST_UPDATE_DATE
1522 , LAST_UPDATE_LOGIN
1523 , LIST_HEADER_ID
1524 , LIST_TYPE_CODE
1525 , PROGRAM_APPLICATION_ID
1526 , PROGRAM_ID
1527 , PROGRAM_UPDATE_DATE
1528 , PRORATE_FLAG
1529 , REQUEST_ID
1530 , ROUNDING_FACTOR
1531 , SHIP_METHOD_CODE
1532 , START_DATE_ACTIVE
1533 , TERMS_ID
1534 , ASK_FOR_FLAG
1535 , SOURCE_SYSTEM_CODE
1536 , ACTIVE_FLAG
1537 , MOBILE_DOWNLOAD -- mkarya for bug 1944882
1538 , CURRENCY_HEADER_ID -- Multi-Currency SunilPandey
1539 , PTE_CODE -- Attributes Manager Giri
1540 , LIST_SOURCE_CODE --Blanket Sales Order
1541 , ORIG_SYSTEM_HEADER_REF --Blanket Sales Order
1542 , GLOBAL_FLAG --Pricing Security gtippire
1543 , ORIG_ORG_ID -- Pricing Security sfiresto
1544 , SHAREABLE_FLAG
1545 , SOLD_TO_ORG_ID
1546 , LOCKED_FROM_LIST_HEADER_ID
1547 )
1548 VALUES
1549 ( p_PRICE_LIST_rec.attribute1
1550 , p_PRICE_LIST_rec.attribute10
1551 , p_PRICE_LIST_rec.attribute11
1552 , p_PRICE_LIST_rec.attribute12
1553 , p_PRICE_LIST_rec.attribute13
1554 , p_PRICE_LIST_rec.attribute14
1555 , p_PRICE_LIST_rec.attribute15
1556 , p_PRICE_LIST_rec.attribute2
1557 , p_PRICE_LIST_rec.attribute3
1558 , p_PRICE_LIST_rec.attribute4
1559 , p_PRICE_LIST_rec.attribute5
1560 , p_PRICE_LIST_rec.attribute6
1561 , p_PRICE_LIST_rec.attribute7
1562 , p_PRICE_LIST_rec.attribute8
1563 , p_PRICE_LIST_rec.attribute9
1564 , p_PRICE_LIST_rec.automatic_flag
1565 , p_PRICE_LIST_rec.comments
1566 , p_PRICE_LIST_rec.context
1567 , p_PRICE_LIST_rec.created_by
1568 , p_PRICE_LIST_rec.creation_date
1569 , p_PRICE_LIST_rec.currency_code
1570 , p_PRICE_LIST_rec.discount_lines_flag
1571 , trunc(p_PRICE_LIST_rec.end_date_active)
1572 , p_PRICE_LIST_rec.freight_terms_code
1573 , p_PRICE_LIST_rec.gsa_indicator
1574 , p_PRICE_LIST_rec.last_updated_by
1575 , p_PRICE_LIST_rec.last_update_date
1576 , p_PRICE_LIST_rec.last_update_login
1577 , p_PRICE_LIST_rec.list_header_id
1578 , p_PRICE_LIST_rec.list_type_code
1579 , p_PRICE_LIST_rec.program_application_id
1580 , p_PRICE_LIST_rec.program_id
1581 , p_PRICE_LIST_rec.program_update_date
1582 , p_PRICE_LIST_rec.prorate_flag
1583 , p_PRICE_LIST_rec.request_id
1584 , p_PRICE_LIST_rec.rounding_factor
1585 , p_PRICE_LIST_rec.ship_method_code
1586 , trunc(p_PRICE_LIST_rec.start_date_active)
1587 , p_PRICE_LIST_rec.terms_id
1588 , 'N' /* ask_for_flag */
1589 -- , l_source_system_code
1590 , p_PRICE_LIST_rec.source_system_code
1591 , decode(p_PRICE_LIST_rec.active_flag, FND_API.G_MISS_CHAR, 'Y',
1592 p_PRICE_LIST_rec.active_flag)
1593 , decode(p_PRICE_LIST_rec.mobile_download, FND_API.G_MISS_CHAR, 'N',
1594 p_PRICE_LIST_rec.mobile_download) -- mkarya for bug 1944882
1595 , p_PRICE_LIST_rec.currency_header_id
1596 , p_PRICE_LIST_rec.pte_code -- Giri for Attributes Manager
1597 , p_PRICE_LIST_rec.list_source_code -- Blanket Sales Order
1598 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1599 , nvl(p_PRICE_LIST_rec.orig_system_header_ref,QP_PRICE_LIST_UTIL.Get_Orig_Sys_Hdr(p_PRICE_LIST_rec.list_header_id)) -- Blanket Sales Order
1600 , decode(p_PRICE_LIST_rec.global_flag, FND_API.G_MISS_CHAR, 'N',
1601 p_PRICE_LIST_rec.global_flag) -- Pricing Security gtippire
1602 --added for MOAC
1603 , p_PRICE_LIST_rec.org_id
1604 , p_PRICE_LIST_rec.shareable_flag
1605 , p_PRICE_LIST_rec.sold_to_org_id
1606 , p_PRICE_LIST_rec.locked_from_list_header_id
1607 );
1608
1609 insert into QP_LIST_HEADERS_TL (
1610 LAST_UPDATE_LOGIN,
1611 NAME,
1612 DESCRIPTION,
1613 VERSION_NO,
1614 CREATION_DATE,
1615 CREATED_BY,
1616 LAST_UPDATE_DATE,
1617 LAST_UPDATED_BY,
1618 LIST_HEADER_ID,
1619 LANGUAGE,
1620 SOURCE_LANG
1621 ) select
1622 p_PRICE_LIST_rec.LAST_UPDATE_LOGIN,
1623 p_PRICE_LIST_rec.NAME,
1624 p_PRICE_LIST_rec.DESCRIPTION,
1625 p_PRICE_LIST_rec.version_no,
1626 p_PRICE_LIST_rec.CREATION_DATE,
1627 p_PRICE_LIST_rec.CREATED_BY,
1628 p_PRICE_LIST_rec.LAST_UPDATE_DATE,
1629 p_PRICE_LIST_rec.LAST_UPDATED_BY,
1630 p_PRICE_LIST_rec.LIST_HEADER_ID,
1631 L.LANGUAGE_CODE,
1632 userenv('LANG')
1633 from FND_LANGUAGES L
1634 where L.INSTALLED_FLAG in ('I', 'B')
1635 and not exists
1636 (select NULL
1637 from QP_LIST_HEADERS_TL T
1638 where T.LIST_HEADER_ID = p_PRICE_LIST_rec.LIST_HEADER_ID
1639 and T.LANGUAGE = L.LANGUAGE_CODE);
1640
1641 IF p_PRICE_LIST_rec.list_type_code = 'AGR' THEN
1642 QP_security.create_default_grants( p_instance_type => QP_security.G_AGREEMENT_OBJECT,
1643 p_instance_pk1 => p_PRICE_LIST_rec.list_header_id,
1644 x_return_status => x_result);
1645 ELSE
1646 QP_security.create_default_grants( p_instance_type => QP_security.G_PRICELIST_OBJECT,
1647 p_instance_pk1 => p_PRICE_LIST_rec.list_header_id,
1648 x_return_status => x_result);
1649 END IF;
1650
1651 EXCEPTION
1652
1653 WHEN OTHERS THEN
1654
1655 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1656 THEN
1657 oe_msg_pub.Add_Exc_Msg
1658 ( G_PKG_NAME
1659 , 'Insert_Row'
1660 );
1661 END IF;
1662
1663 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1664
1665 END Insert_Row;
1666
1667 -- Procedure Delete_Row
1668
1669 PROCEDURE Delete_Row
1670 ( p_list_header_id IN NUMBER
1671 )
1672 IS
1673 cursor lines is
1674 select list_line_id
1675 from qp_list_lines
1676 where list_header_id = p_list_header_id;
1677
1678 BEGIN
1679
1680 for lines_rec in lines loop
1681
1682 QP_PRICE_LIST_LINE_UTIL.DELETE_ROW(lines_rec.list_line_id);
1683
1684 end loop;
1685
1686 /* delete all qualifiers which refer to this list_header_id */
1687
1688 delete from qp_qualifiers
1689 where list_header_id = p_list_header_id
1690 or ( qualifier_attr_value = to_char(p_list_header_id)
1691 and qualifier_context = 'MODLIST'
1692 and qualifier_attribute = 'QUALIFIER_ATTRIBUTE4' );
1693
1694
1695 delete from QP_LIST_HEADERS_TL
1696 where LIST_HEADER_ID = p_list_header_id;
1697
1698 /*
1699 if (sql%notfound) then
1700 raise no_data_found;
1701 end if;
1702 */
1703
1704 DELETE FROM QP_LIST_HEADERS_B
1705 WHERE LIST_HEADER_ID = p_list_header_id;
1706
1707
1708
1709 EXCEPTION
1710
1711 WHEN OTHERS THEN
1712
1713 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1714 THEN
1715 oe_msg_pub.Add_Exc_Msg
1716 ( G_PKG_NAME
1717 , 'Delete_Row'
1718 );
1719 END IF;
1720
1721 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1722
1723 END Delete_Row;
1724
1725 -- Function Query_Row
1726
1727 FUNCTION Query_Row
1728 ( p_list_header_id IN NUMBER
1729 ) RETURN QP_Price_List_PUB.Price_List_Rec_Type
1730 IS
1731 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1732 BEGIN
1733
1734 SELECT ATTRIBUTE1
1735 , ATTRIBUTE10
1736 , ATTRIBUTE11
1737 , ATTRIBUTE12
1738 , ATTRIBUTE13
1739 , ATTRIBUTE14
1740 , ATTRIBUTE15
1741 , ATTRIBUTE2
1742 , ATTRIBUTE3
1743 , ATTRIBUTE4
1744 , ATTRIBUTE5
1745 , ATTRIBUTE6
1746 , ATTRIBUTE7
1747 , ATTRIBUTE8
1748 , ATTRIBUTE9
1749 , AUTOMATIC_FLAG
1750 , COMMENTS
1751 , CONTEXT
1752 , CREATED_BY
1753 , CREATION_DATE
1754 , CURRENCY_CODE
1755 , DISCOUNT_LINES_FLAG
1756 , END_DATE_ACTIVE
1757 , FREIGHT_TERMS_CODE
1758 , GSA_INDICATOR
1759 , LAST_UPDATED_BY
1760 , LAST_UPDATE_DATE
1761 , LAST_UPDATE_LOGIN
1762 , LIST_HEADER_ID
1763 , LIST_TYPE_CODE
1764 , PROGRAM_APPLICATION_ID
1765 , PROGRAM_ID
1766 , PROGRAM_UPDATE_DATE
1767 , PRORATE_FLAG
1768 , REQUEST_ID
1769 , ROUNDING_FACTOR
1770 , SHIP_METHOD_CODE
1771 , START_DATE_ACTIVE
1772 , TERMS_ID
1773 , ACTIVE_FLAG
1774 , MOBILE_DOWNLOAD --mkarya for bug 1944882
1775 , CURRENCY_HEADER_ID --Multi-Currency SunilPandey
1776 , PTE_CODE --Attributes Manager Giri
1777 , LIST_SOURCE_CODE --Blanket Sales Order
1778 , ORIG_SYSTEM_HEADER_REF --Blanket Sales Order
1779 , GLOBAL_FLAG --Pricing Security gtippire
1780 , SOURCE_SYSTEM_CODE
1781 , SHAREABLE_FLAG
1782 , SOLD_TO_ORG_ID
1783 , LOCKED_FROM_LIST_HEADER_ID
1784 --added for MOAC
1785 , ORIG_ORG_ID
1786 INTO l_PRICE_LIST_rec.attribute1
1787 , l_PRICE_LIST_rec.attribute10
1788 , l_PRICE_LIST_rec.attribute11
1789 , l_PRICE_LIST_rec.attribute12
1790 , l_PRICE_LIST_rec.attribute13
1791 , l_PRICE_LIST_rec.attribute14
1792 , l_PRICE_LIST_rec.attribute15
1793 , l_PRICE_LIST_rec.attribute2
1794 , l_PRICE_LIST_rec.attribute3
1795 , l_PRICE_LIST_rec.attribute4
1796 , l_PRICE_LIST_rec.attribute5
1797 , l_PRICE_LIST_rec.attribute6
1798 , l_PRICE_LIST_rec.attribute7
1799 , l_PRICE_LIST_rec.attribute8
1800 , l_PRICE_LIST_rec.attribute9
1801 , l_PRICE_LIST_rec.automatic_flag
1802 , l_PRICE_LIST_rec.comments
1803 , l_PRICE_LIST_rec.context
1804 , l_PRICE_LIST_rec.created_by
1805 , l_PRICE_LIST_rec.creation_date
1806 , l_PRICE_LIST_rec.currency_code
1807 , l_PRICE_LIST_rec.discount_lines_flag
1808 , l_PRICE_LIST_rec.end_date_active
1809 , l_PRICE_LIST_rec.freight_terms_code
1810 , l_PRICE_LIST_rec.gsa_indicator
1811 , l_PRICE_LIST_rec.last_updated_by
1812 , l_PRICE_LIST_rec.last_update_date
1813 , l_PRICE_LIST_rec.last_update_login
1814 , l_PRICE_LIST_rec.list_header_id
1815 , l_PRICE_LIST_rec.list_type_code
1816 , l_PRICE_LIST_rec.program_application_id
1817 , l_PRICE_LIST_rec.program_id
1818 , l_PRICE_LIST_rec.program_update_date
1819 , l_PRICE_LIST_rec.prorate_flag
1820 , l_PRICE_LIST_rec.request_id
1821 , l_PRICE_LIST_rec.rounding_factor
1822 , l_PRICE_LIST_rec.ship_method_code
1823 , l_PRICE_LIST_rec.start_date_active
1824 , l_PRICE_LIST_rec.terms_id
1825 , l_PRICE_LIST_rec.active_flag
1826 , l_PRICE_LIST_rec.mobile_download -- mkarya for bug 1944882
1827 , l_PRICE_LIST_rec.currency_header_id -- Multi-Currency SunilPandey
1828 , l_PRICE_LIST_rec.pte_code -- Attributes Manager Giri
1829 , l_PRICE_LIST_rec.list_source_code -- Blanket Sales Order
1830 , l_PRICE_LIST_rec.orig_system_header_ref -- Blanket Sales Order
1831 , l_PRICE_LIST_rec.global_flag -- Pricing Security gtippire
1832 , l_PRICE_LIST_rec.source_system_code
1833 , l_PRICE_LIST_rec.shareable_flag
1834 , l_PRICE_LIST_rec.sold_to_org_id
1835 , l_PRICE_LIST_rec.locked_from_list_header_id
1836 --added for MOAC
1837 , l_PRICE_LIST_rec.org_id
1838 FROM QP_LIST_HEADERS_B
1839 WHERE LIST_HEADER_ID = p_list_header_id
1840 ;
1841
1842 SELECT NAME
1843 , DESCRIPTION
1844 , VERSION_NO
1845 INTO l_PRICE_LIST_rec.name
1846 , l_PRICE_LIST_rec.description
1847 , l_PRICE_LIST_rec.version_no
1848 FROM QP_LIST_HEADERS_TL
1849 WHERE LIST_HEADER_ID = p_list_header_id
1850 AND LANGUAGE = userenv('LANG');
1851
1852
1853 RETURN l_PRICE_LIST_rec;
1854
1855 EXCEPTION
1856
1857 WHEN OTHERS THEN
1858
1859 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1860 THEN
1861 oe_msg_pub.Add_Exc_Msg
1862 ( G_PKG_NAME
1863 , 'Query_Row'
1864 );
1865 END IF;
1866
1867 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1868
1869 END Query_Row;
1870
1871 -- Procedure lock_Row
1872 --
1873
1874 PROCEDURE Lock_Row
1875 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1876 , p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1877 , x_PRICE_LIST_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_List_PUB.Price_List_Rec_Type
1878 )
1879 IS
1880 cursor c1 is select
1881 NAME,
1882 DESCRIPTION,
1883 VERSION_NO,
1884 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
1885 from QP_LIST_HEADERS_TL
1886 where LIST_HEADER_ID = p_PRICE_LIST_rec.LIST_HEADER_ID
1887 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
1888 for update of LIST_HEADER_ID nowait;
1889
1890 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1891 BEGIN
1892
1893 SELECT ATTRIBUTE1
1894 , ATTRIBUTE10
1895 , ATTRIBUTE11
1896 , ATTRIBUTE12
1897 , ATTRIBUTE13
1898 , ATTRIBUTE14
1899 , ATTRIBUTE15
1900 , ATTRIBUTE2
1901 , ATTRIBUTE3
1902 , ATTRIBUTE4
1903 , ATTRIBUTE5
1904 , ATTRIBUTE6
1905 , ATTRIBUTE7
1906 , ATTRIBUTE8
1907 , ATTRIBUTE9
1908 , AUTOMATIC_FLAG
1909 , COMMENTS
1910 , CONTEXT
1911 , CREATED_BY
1912 , CREATION_DATE
1913 , CURRENCY_CODE
1914 , DISCOUNT_LINES_FLAG
1915 , END_DATE_ACTIVE
1916 , FREIGHT_TERMS_CODE
1917 , GSA_INDICATOR
1918 , LAST_UPDATED_BY
1919 , LAST_UPDATE_DATE
1920 , LAST_UPDATE_LOGIN
1921 , LIST_HEADER_ID
1922 , LIST_TYPE_CODE
1923 , PROGRAM_APPLICATION_ID
1924 , PROGRAM_ID
1925 , PROGRAM_UPDATE_DATE
1926 , PRORATE_FLAG
1927 , REQUEST_ID
1928 , ROUNDING_FACTOR
1929 , SHIP_METHOD_CODE
1930 , START_DATE_ACTIVE
1931 , TERMS_ID
1932 , ACTIVE_FLAG -- Added by dhgupta for bug 2144903
1933 , MOBILE_DOWNLOAD -- Added by dhgupta for bug 2144903
1934 , CURRENCY_HEADER_ID --Multi-Currency Change SunilPandey; new change
1935 , PTE_CODE --Attributes Manager Change - Giri
1936 , LIST_SOURCE_CODE --Blanket Sales Order
1937 , ORIG_SYSTEM_HEADER_REF -- Blanket Sales Order
1938 , GLOBAL_FLAG -- Pricing Security gtippire
1939 , SOURCE_SYSTEM_CODE
1940 , SHAREABLE_FLAG
1941 , SOLD_TO_ORG_ID
1942 , LOCKED_FROM_LIST_HEADER_ID
1943 --added for MOAC
1944 , ORIG_ORG_ID
1945 INTO l_PRICE_LIST_rec.attribute1
1946 , l_PRICE_LIST_rec.attribute10
1947 , l_PRICE_LIST_rec.attribute11
1948 , l_PRICE_LIST_rec.attribute12
1949 , l_PRICE_LIST_rec.attribute13
1950 , l_PRICE_LIST_rec.attribute14
1951 , l_PRICE_LIST_rec.attribute15
1952 , l_PRICE_LIST_rec.attribute2
1953 , l_PRICE_LIST_rec.attribute3
1954 , l_PRICE_LIST_rec.attribute4
1955 , l_PRICE_LIST_rec.attribute5
1956 , l_PRICE_LIST_rec.attribute6
1957 , l_PRICE_LIST_rec.attribute7
1958 , l_PRICE_LIST_rec.attribute8
1959 , l_PRICE_LIST_rec.attribute9
1960 , l_PRICE_LIST_rec.automatic_flag
1961 , l_PRICE_LIST_rec.comments
1962 , l_PRICE_LIST_rec.context
1963 , l_PRICE_LIST_rec.created_by
1964 , l_PRICE_LIST_rec.creation_date
1965 , l_PRICE_LIST_rec.currency_code
1966 , l_PRICE_LIST_rec.discount_lines_flag
1967 , l_PRICE_LIST_rec.end_date_active
1968 , l_PRICE_LIST_rec.freight_terms_code
1969 , l_PRICE_LIST_rec.gsa_indicator
1970 , l_PRICE_LIST_rec.last_updated_by
1971 , l_PRICE_LIST_rec.last_update_date
1972 , l_PRICE_LIST_rec.last_update_login
1973 , l_PRICE_LIST_rec.list_header_id
1974 , l_PRICE_LIST_rec.list_type_code
1975 , l_PRICE_LIST_rec.program_application_id
1976 , l_PRICE_LIST_rec.program_id
1977 , l_PRICE_LIST_rec.program_update_date
1978 , l_PRICE_LIST_rec.prorate_flag
1979 , l_PRICE_LIST_rec.request_id
1980 , l_PRICE_LIST_rec.rounding_factor
1981 , l_PRICE_LIST_rec.ship_method_code
1982 , l_PRICE_LIST_rec.start_date_active
1983 , l_PRICE_LIST_rec.terms_id
1984 , l_PRICE_LIST_rec.active_flag -- Added by dhgupta for bug 2144903
1985 , l_PRICE_LIST_rec.mobile_download -- Added by dhgupta for bug 2144903
1986 , l_PRICE_LIST_rec.currency_header_id --Multi-Currency Change SunilPandey; new change
1987 , l_PRICE_LIST_rec.pte_code --Attributes manager Change - Giri
1988 , l_PRICE_LIST_rec.list_source_code --Blanket Sales Order
1989 , l_PRICE_LIST_rec.orig_system_header_ref --Blanket Sales Order
1990 , l_PRICE_LIST_rec.global_flag --Pricing Security gtippire
1991 , l_PRICE_LIST_rec.source_system_code
1992 , l_PRICE_LIST_rec.shareable_flag
1993 , l_PRICE_LIST_rec.sold_to_org_id
1994 , l_PRICE_LIST_rec.locked_from_list_header_id
1995 --added for MOAC
1996 , l_PRICE_LIST_rec.org_id
1997 --for moac changes QP_LIST_HEADERS_B to all_b to enable locks/updates to PL with orig_org_id
1998 --that do not belong to the responsibility when the user has update privilges
1999 FROM QP_LIST_HEADERS_ALL_B
2000 WHERE LIST_HEADER_ID = p_PRICE_LIST_rec.list_header_id
2001 FOR UPDATE NOWAIT;
2002
2003 -- Row locked. Compare IN attributes to DB attributes.
2004
2005 IF QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute1,
2006 l_PRICE_LIST_rec.attribute1)
2007 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute10,
2008 l_PRICE_LIST_rec.attribute10)
2009 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute11,
2010 l_PRICE_LIST_rec.attribute11)
2011 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute12,
2012 l_PRICE_LIST_rec.attribute12)
2013 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute13,
2014 l_PRICE_LIST_rec.attribute13)
2015 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute14,
2016 l_PRICE_LIST_rec.attribute14)
2017 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute15,
2018 l_PRICE_LIST_rec.attribute15)
2019 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute2,
2020 l_PRICE_LIST_rec.attribute2)
2021 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute3,
2022 l_PRICE_LIST_rec.attribute3)
2023 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute4,
2024 l_PRICE_LIST_rec.attribute4)
2025 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute5,
2026 l_PRICE_LIST_rec.attribute5)
2027 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute6,
2028 l_PRICE_LIST_rec.attribute6)
2029 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute7,
2030 l_PRICE_LIST_rec.attribute7)
2031 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute8,
2032 l_PRICE_LIST_rec.attribute8)
2033 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute9,
2034 l_PRICE_LIST_rec.attribute9)
2035 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.automatic_flag,
2036 l_PRICE_LIST_rec.automatic_flag)
2037 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.comments,
2038 l_PRICE_LIST_rec.comments)
2039 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.context,
2040 l_PRICE_LIST_rec.context)
2041 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.created_by,
2042 l_PRICE_LIST_rec.created_by)
2043 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.creation_date,
2044 l_PRICE_LIST_rec.creation_date)
2045 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_code,
2046 l_PRICE_LIST_rec.currency_code)
2047 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.discount_lines_flag,
2048 l_PRICE_LIST_rec.discount_lines_flag)
2049 AND QP_GLOBALS.Equal(to_date(to_char(p_PRICE_LIST_rec.end_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'),
2050 to_date(to_char(l_PRICE_LIST_rec.end_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'))
2051 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.freight_terms_code,
2052 l_PRICE_LIST_rec.freight_terms_code)
2053 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.gsa_indicator,
2054 l_PRICE_LIST_rec.gsa_indicator)
2055 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_updated_by,
2056 l_PRICE_LIST_rec.last_updated_by)
2057 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_date,
2058 l_PRICE_LIST_rec.last_update_date)
2059 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_login,
2060 l_PRICE_LIST_rec.last_update_login)
2061 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_header_id,
2062 l_PRICE_LIST_rec.list_header_id)
2063 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_type_code,
2064 l_PRICE_LIST_rec.list_type_code)
2065 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_application_id,
2066 l_PRICE_LIST_rec.program_application_id)
2067 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_id,
2068 l_PRICE_LIST_rec.program_id)
2069 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_update_date,
2070 l_PRICE_LIST_rec.program_update_date)
2071 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.prorate_flag,
2072 l_PRICE_LIST_rec.prorate_flag)
2073 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.request_id,
2074 l_PRICE_LIST_rec.request_id)
2075 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.rounding_factor,
2076 l_PRICE_LIST_rec.rounding_factor)
2077 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.ship_method_code,
2078 l_PRICE_LIST_rec.ship_method_code)
2079 AND QP_GLOBALS.Equal(to_date(to_char(p_PRICE_LIST_rec.start_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'),
2080 to_date(to_char(l_PRICE_LIST_rec.start_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'))
2081 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.terms_id,
2082 l_PRICE_LIST_rec.terms_id)
2083 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.active_flag, -- Added by dhgupta for bug 2144903
2084 l_PRICE_LIST_rec.active_flag)
2085 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.mobile_download, -- Added by dhgupta for bug 2144903
2086 l_PRICE_LIST_rec.mobile_download)
2087 -- Multi-Currency Change SunilPandey
2088 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_header_id,
2089 l_PRICE_LIST_rec.currency_header_id)
2090 -- Blanket Sales Order
2091 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_source_code,
2092 l_PRICE_LIST_rec.list_source_code)
2093 -- Bug # 5128941
2094 --AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.orig_system_header_ref,
2095 -- l_PRICE_LIST_rec.orig_system_header_ref)
2096 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.global_flag, -- Pricing Security gtippire
2097 l_PRICE_LIST_rec.global_flag)
2098 -- Blanket Pricing
2099 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.source_system_code,
2100 l_PRICE_LIST_rec.source_system_code)
2101 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.shareable_flag,
2102 l_PRICE_LIST_rec.shareable_flag)
2103 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.sold_to_org_id,
2104 l_PRICE_LIST_rec.sold_to_org_id)
2105 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.locked_from_list_header_id,
2106 l_PRICE_LIST_rec.locked_from_list_header_id)
2107 --added for MOAC
2108 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.org_id,
2109 l_PRICE_LIST_rec.org_id)
2110 THEN
2111
2112 -- Row has not changed. Set out parameter.
2113
2114 x_PRICE_LIST_rec := l_PRICE_LIST_rec;
2115
2116 -- Set return status
2117
2118 x_return_status := FND_API.G_RET_STS_SUCCESS;
2119 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2120
2121 oe_debug_pub.add('success 1');
2122
2123 ELSE
2124 if not QP_GLOBALS.EQUAL(p_PRICE_LIST_rec.list_source_code,l_PRICE_LIST_rec.list_source_code) then
2125 -- Row has changed by another user.
2126 oe_debug_pub.add('Passed Value: LSC'||p_PRICE_LIST_rec.list_source_code);
2127 oe_debug_pub.add('DB Value: LSC'||l_PRICE_LIST_rec.list_source_code);
2128
2129 end if ;
2130
2131 if not QP_GLOBALS.EQUAL(p_PRICE_LIST_rec.orig_system_header_ref,l_PRICE_LIST_rec.orig_system_header_ref) then
2132
2133 oe_debug_pub.add('Passed Value: OSHR'||p_PRICE_LIST_rec.orig_system_header_ref);
2134
2135
2136 oe_debug_pub.add('DB Value: OSHR'||l_PRICE_LIST_rec.orig_system_header_ref);
2137 end if;
2138 oe_debug_pub.add('failed 1');
2139
2140 x_return_status := FND_API.G_RET_STS_ERROR;
2141 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2142
2143 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
2144 THEN
2145
2146 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED');
2147 oe_msg_pub.Add;
2148
2149 END IF;
2150
2151 END IF;
2152
2153 for tlinfo in c1 loop
2154 if (tlinfo.BASELANG = 'Y') then
2155 oe_debug_pub.add('DB Value: name'||tlinfo.NAME||' Passed Value: '|| p_PRICE_LIST_rec.NAME);
2156 oe_debug_pub.add('DB Value: description'||tlinfo.description||' Passed Value: '|| p_PRICE_LIST_rec.description);
2157 oe_debug_pub.add('DB Value: version_no'||tlinfo.version_no||' Passed Value: '|| p_PRICE_LIST_rec.version_no);
2158 if ( 1=1 -- (tlinfo.NAME = p_PRICE_LIST_rec.NAME)
2159 AND ((tlinfo.DESCRIPTION = p_PRICE_LIST_rec.DESCRIPTION)
2160 OR ((tlinfo.DESCRIPTION is null) AND (p_PRICE_LIST_rec.DESCRIPTION is null)))
2161 AND ((tlinfo.VERSION_NO = p_PRICE_LIST_rec.VERSION_NO)
2162 OR ((tlinfo.VERSION_NO is null) AND (p_PRICE_LIST_rec.VERSION_NO is null)))
2163 ) then
2164 x_PRICE_LIST_rec.NAME := tlinfo.NAME;
2165 x_PRICE_LIST_rec.VERSION_NO := tlinfo.VERSION_NO;
2166 x_PRICE_LIST_rec.DESCRIPTION := tlinfo.DESCRIPTION;
2167 else
2168 oe_debug_pub.add('failed 2');
2169
2170 oe_debug_pub.add('tlinfo.name - rec.name ' || tlinfo.name || ' - ' || p_PRICE_LIST_rec.name );
2171
2172 oe_debug_pub.add('tlinfo.description - rec.desc ' || tlinfo.description || ' - ' || p_PRICE_LIST_rec.description );
2173
2174 oe_debug_pub.add('tlinfo.ver_no - rec.ver_no ' || tlinfo.version_no || ' - ' || p_PRICE_LIST_rec.version_no );
2175
2176 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
2177 app_exception.raise_exception;
2178 end if;
2179 end if;
2180 end loop;
2181
2182
2183
2184 EXCEPTION
2185
2186 WHEN NO_DATA_FOUND THEN
2187
2188 x_return_status := FND_API.G_RET_STS_ERROR;
2189 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2190
2191 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
2192 THEN
2193
2194 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
2195 oe_msg_pub.Add;
2196
2197 END IF;
2198 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
2199
2200 x_return_status := FND_API.G_RET_STS_ERROR;
2201 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2202
2203 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
2204 THEN
2205
2206 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
2207 oe_msg_pub.Add;
2208
2209 END IF;
2210 WHEN OTHERS THEN
2211
2212 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2213 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2214
2215 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
2216 THEN
2217 oe_msg_pub.Add_Exc_Msg
2218 ( G_PKG_NAME
2219 , 'Lock_Row'
2220 );
2221 END IF;
2222
2223 END Lock_Row;
2224
2225 -- Function Get_Values
2226
2227 FUNCTION Get_Values
2228 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
2229 , p_old_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type :=
2230 QP_Price_List_PUB.G_MISS_PRICE_LIST_REC
2231 ) RETURN QP_Price_List_PUB.Price_List_Val_Rec_Type
2232 IS
2233 l_PRICE_LIST_val_rec QP_Price_List_PUB.Price_List_Val_Rec_Type;
2234 BEGIN
2235
2236 IF p_PRICE_LIST_rec.automatic_flag IS NOT NULL AND
2237 p_PRICE_LIST_rec.automatic_flag <> FND_API.G_MISS_CHAR AND
2238 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.automatic_flag,
2239 p_old_PRICE_LIST_rec.automatic_flag)
2240 THEN
2241 l_PRICE_LIST_val_rec.automatic := QP_Id_To_Value.Automatic
2242 ( p_automatic_flag => p_PRICE_LIST_rec.automatic_flag
2243 );
2244 END IF;
2245
2246 IF p_PRICE_LIST_rec.currency_code IS NOT NULL AND
2247 p_PRICE_LIST_rec.currency_code <> FND_API.G_MISS_CHAR AND
2248 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_code,
2249 p_old_PRICE_LIST_rec.currency_code)
2250 THEN
2251 l_PRICE_LIST_val_rec.currency := QP_Id_To_Value.Currency
2252 ( p_currency_code => p_PRICE_LIST_rec.currency_code
2253 );
2254 END IF;
2255
2256 IF p_PRICE_LIST_rec.discount_lines_flag IS NOT NULL AND
2257 p_PRICE_LIST_rec.discount_lines_flag <> FND_API.G_MISS_CHAR AND
2258 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.discount_lines_flag,
2259 p_old_PRICE_LIST_rec.discount_lines_flag)
2260 THEN
2261 l_PRICE_LIST_val_rec.discount_lines := QP_Id_To_Value.Discount_Lines
2262 ( p_discount_lines_flag => p_PRICE_LIST_rec.discount_lines_flag
2263 );
2264 END IF;
2265
2266 IF p_PRICE_LIST_rec.freight_terms_code IS NOT NULL AND
2267 p_PRICE_LIST_rec.freight_terms_code <> FND_API.G_MISS_CHAR AND
2268 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.freight_terms_code,
2269 p_old_PRICE_LIST_rec.freight_terms_code)
2270 THEN
2271 l_PRICE_LIST_val_rec.freight_terms := QP_Id_To_Value.Freight_Terms
2272 ( p_freight_terms_code => p_PRICE_LIST_rec.freight_terms_code
2273 );
2274 END IF;
2275
2276 IF p_PRICE_LIST_rec.list_header_id IS NOT NULL AND
2277 p_PRICE_LIST_rec.list_header_id <> FND_API.G_MISS_NUM AND
2278 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_header_id,
2279 p_old_PRICE_LIST_rec.list_header_id)
2280 THEN
2281 l_PRICE_LIST_val_rec.list_header := QP_Id_To_Value.List_Header
2282 ( p_list_header_id => p_PRICE_LIST_rec.list_header_id
2283 );
2284 END IF;
2285
2286 IF p_PRICE_LIST_rec.list_type_code IS NOT NULL AND
2287 p_PRICE_LIST_rec.list_type_code <> FND_API.G_MISS_CHAR AND
2288 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_type_code,
2289 p_old_PRICE_LIST_rec.list_type_code)
2290 THEN
2291 l_PRICE_LIST_val_rec.list_type := QP_Id_To_Value.List_Type
2292 ( p_list_type_code => p_PRICE_LIST_rec.list_type_code
2293 );
2294 END IF;
2295
2296 IF p_PRICE_LIST_rec.prorate_flag IS NOT NULL AND
2297 p_PRICE_LIST_rec.prorate_flag <> FND_API.G_MISS_CHAR AND
2298 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.prorate_flag,
2299 p_old_PRICE_LIST_rec.prorate_flag)
2300 THEN
2301 l_PRICE_LIST_val_rec.prorate := QP_Id_To_Value.Prorate
2302 ( p_prorate_flag => p_PRICE_LIST_rec.prorate_flag
2303 );
2304 END IF;
2305
2306 IF p_PRICE_LIST_rec.ship_method_code IS NOT NULL AND
2307 p_PRICE_LIST_rec.ship_method_code <> FND_API.G_MISS_CHAR AND
2308 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.ship_method_code,
2309 p_old_PRICE_LIST_rec.ship_method_code)
2310 THEN
2311 l_PRICE_LIST_val_rec.ship_method := QP_Id_To_Value.Ship_Method
2312 ( p_ship_method_code => p_PRICE_LIST_rec.ship_method_code
2313 );
2314 END IF;
2315
2316 IF p_PRICE_LIST_rec.terms_id IS NOT NULL AND
2317 p_PRICE_LIST_rec.terms_id <> FND_API.G_MISS_NUM AND
2318 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.terms_id,
2319 p_old_PRICE_LIST_rec.terms_id)
2320 THEN
2321 l_PRICE_LIST_val_rec.terms := QP_Id_To_Value.Terms
2322 ( p_terms_id => p_PRICE_LIST_rec.terms_id
2323 );
2324 END IF;
2325
2326 RETURN l_PRICE_LIST_val_rec;
2327
2328 END Get_Values;
2329
2330 -- Function Get_Ids
2331
2332 FUNCTION Get_Ids
2333 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
2334 , p_PRICE_LIST_val_rec IN QP_Price_List_PUB.Price_List_Val_Rec_Type
2335 ) RETURN QP_Price_List_PUB.Price_List_Rec_Type
2336 IS
2337 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
2338 BEGIN
2339
2340 -- initialize return_status.
2341
2342 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2343
2344 -- initialize l_PRICE_LIST_rec.
2345
2346 l_PRICE_LIST_rec := p_PRICE_LIST_rec;
2347
2348 IF p_PRICE_LIST_val_rec.automatic <> FND_API.G_MISS_CHAR
2349 THEN
2350
2351 IF p_PRICE_LIST_rec.automatic_flag <> FND_API.G_MISS_CHAR THEN
2352
2353 l_PRICE_LIST_rec.automatic_flag := p_PRICE_LIST_rec.automatic_flag;
2354
2355 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2356 THEN
2357
2358 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2359 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','automatic');
2360 oe_msg_pub.Add;
2361
2362 END IF;
2363
2364 ELSE
2365
2366 l_PRICE_LIST_rec.automatic_flag := QP_Value_To_Id.automatic
2367 ( p_automatic => p_PRICE_LIST_val_rec.automatic
2368 );
2369
2370 IF l_PRICE_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
2371 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2372 END IF;
2373
2374 END IF;
2375
2376 END IF;
2377
2378 IF p_PRICE_LIST_val_rec.currency <> FND_API.G_MISS_CHAR
2379 THEN
2380
2381 IF p_PRICE_LIST_rec.currency_code <> FND_API.G_MISS_CHAR THEN
2382
2383 l_PRICE_LIST_rec.currency_code := p_PRICE_LIST_rec.currency_code;
2384
2385 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2386 THEN
2387
2388 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2389 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency');
2390 oe_msg_pub.Add;
2391
2392 END IF;
2393
2394 ELSE
2395
2396 l_PRICE_LIST_rec.currency_code := QP_Value_To_Id.currency
2397 ( p_currency => p_PRICE_LIST_val_rec.currency
2398 );
2399
2400 IF l_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
2401 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2402 END IF;
2403
2404 END IF;
2405
2406 END IF;
2407
2408 IF p_PRICE_LIST_val_rec.discount_lines <> FND_API.G_MISS_CHAR
2409 THEN
2410
2411 IF p_PRICE_LIST_rec.discount_lines_flag <> FND_API.G_MISS_CHAR THEN
2412
2413 l_PRICE_LIST_rec.discount_lines_flag := p_PRICE_LIST_rec.discount_lines_flag;
2414
2415 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2416 THEN
2417
2418 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2419 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','discount_lines');
2420 oe_msg_pub.Add;
2421
2422 END IF;
2423
2424 ELSE
2425
2426 l_PRICE_LIST_rec.discount_lines_flag := QP_Value_To_Id.discount_lines
2427 ( p_discount_lines => p_PRICE_LIST_val_rec.discount_lines
2428 );
2429
2430 IF l_PRICE_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
2431 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2432 END IF;
2433
2434 END IF;
2435
2436 END IF;
2437
2438 IF p_PRICE_LIST_val_rec.freight_terms <> FND_API.G_MISS_CHAR
2439 THEN
2440
2441 IF p_PRICE_LIST_rec.freight_terms_code <> FND_API.G_MISS_CHAR THEN
2442
2443 l_PRICE_LIST_rec.freight_terms_code := p_PRICE_LIST_rec.freight_terms_code;
2444
2445 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2446 THEN
2447
2448 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2449 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','freight_terms');
2450 oe_msg_pub.Add;
2451
2452 END IF;
2453
2454 ELSE
2455
2456 l_PRICE_LIST_rec.freight_terms_code := QP_Value_To_Id.freight_terms
2457 ( p_freight_terms => p_PRICE_LIST_val_rec.freight_terms
2458 );
2459
2460 IF l_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
2461 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2462 END IF;
2463
2464 END IF;
2465
2466 END IF;
2467
2468 IF p_PRICE_LIST_val_rec.list_header <> FND_API.G_MISS_CHAR
2469 THEN
2470
2471 IF p_PRICE_LIST_rec.list_header_id <> FND_API.G_MISS_NUM THEN
2472
2473 l_PRICE_LIST_rec.list_header_id := p_PRICE_LIST_rec.list_header_id;
2474
2475 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2476 THEN
2477
2478 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2479 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_header');
2480 oe_msg_pub.Add;
2481
2482 END IF;
2483
2484 ELSE
2485
2486 l_PRICE_LIST_rec.list_header_id := QP_Value_To_Id.list_header
2487 ( p_list_header => p_PRICE_LIST_val_rec.list_header
2488 );
2489
2490 IF l_PRICE_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
2491 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2492 END IF;
2493
2494 END IF;
2495
2496 END IF;
2497
2498 IF p_PRICE_LIST_val_rec.list_type <> FND_API.G_MISS_CHAR
2499 THEN
2500
2501 IF p_PRICE_LIST_rec.list_type_code <> FND_API.G_MISS_CHAR THEN
2502
2503 l_PRICE_LIST_rec.list_type_code := p_PRICE_LIST_rec.list_type_code;
2504
2505 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2506 THEN
2507
2508 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2509 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_type');
2510 oe_msg_pub.Add;
2511
2512 END IF;
2513
2514 ELSE
2515
2516 l_PRICE_LIST_rec.list_type_code := QP_Value_To_Id.list_type
2517 ( p_list_type => p_PRICE_LIST_val_rec.list_type
2518 );
2519
2520 IF l_PRICE_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
2521 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2522 END IF;
2523
2524 END IF;
2525
2526 END IF;
2527
2528 IF p_PRICE_LIST_val_rec.prorate <> FND_API.G_MISS_CHAR
2529 THEN
2530
2531 IF p_PRICE_LIST_rec.prorate_flag <> FND_API.G_MISS_CHAR THEN
2532
2533 l_PRICE_LIST_rec.prorate_flag := p_PRICE_LIST_rec.prorate_flag;
2534
2535 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2536 THEN
2537
2538 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2539 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','prorate');
2540 oe_msg_pub.Add;
2541
2542 END IF;
2543
2544 ELSE
2545
2546 l_PRICE_LIST_rec.prorate_flag := QP_Value_To_Id.prorate
2547 ( p_prorate => p_PRICE_LIST_val_rec.prorate
2548 );
2549
2550 IF l_PRICE_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
2551 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2552 END IF;
2553
2554 END IF;
2555
2556 END IF;
2557
2558 IF p_PRICE_LIST_val_rec.ship_method <> FND_API.G_MISS_CHAR
2559 THEN
2560
2561 IF p_PRICE_LIST_rec.ship_method_code <> FND_API.G_MISS_CHAR THEN
2562
2563 l_PRICE_LIST_rec.ship_method_code := p_PRICE_LIST_rec.ship_method_code;
2564
2565 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2566 THEN
2567
2568 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2569 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ship_method');
2570 oe_msg_pub.Add;
2571
2572 END IF;
2573
2574 ELSE
2575
2576 l_PRICE_LIST_rec.ship_method_code := QP_Value_To_Id.ship_method
2577 ( p_ship_method => p_PRICE_LIST_val_rec.ship_method
2578 );
2579
2580 IF l_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
2581 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2582 END IF;
2583
2584 END IF;
2585
2586 END IF;
2587
2588 IF p_PRICE_LIST_val_rec.terms <> FND_API.G_MISS_CHAR
2589 THEN
2590
2591 IF p_PRICE_LIST_rec.terms_id <> FND_API.G_MISS_NUM THEN
2592
2593 l_PRICE_LIST_rec.terms_id := p_PRICE_LIST_rec.terms_id;
2594
2595 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2596 THEN
2597
2598 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2599 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','terms');
2600 oe_msg_pub.Add;
2601
2602 END IF;
2603
2604 ELSE
2605
2606 l_PRICE_LIST_rec.terms_id := QP_Value_To_Id.terms
2607 ( p_terms => p_PRICE_LIST_val_rec.terms
2608 );
2609
2610 IF l_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
2611 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2612 END IF;
2613
2614 END IF;
2615
2616 END IF;
2617
2618
2619 RETURN l_PRICE_LIST_rec;
2620
2621 END Get_Ids;
2622
2623 --ENH Upgrade BOAPI for orig_sys...ref RAVI
2624 FUNCTION Get_Orig_Sys_Hdr(
2625 p_LIST_HEADER_ID NUMBER
2626 ) RETURN VARCHAR2
2627 IS
2628 l_exist NUMBER:=0;
2629 BEGIN
2630 IF p_LIST_HEADER_ID IS NULL THEN
2631 RETURN NULL;
2632 ELSE
2633 Select COUNT(*) into l_exist
2634 from qp_list_headers_b h
2635 where h.orig_system_header_ref=to_char(p_LIST_HEADER_ID);
2636
2637 IF l_exist>0 THEN
2638 RETURN 'INT-D-'||TO_CHAR(p_LIST_HEADER_ID);
2639 ELSE
2640 RETURN TO_CHAR(p_LIST_HEADER_ID);
2641 END IF;
2642 END IF;
2643 END;
2644
2645 END QP_Price_List_Util;