[Home] [Help]
PACKAGE BODY: APPS.QP_PRICE_LIST_UTIL
Source
1 PACKAGE BODY QP_Price_List_Util AS
2 /* $Header: QPXUPLHB.pls 120.12 2011/11/29 15:42:40 jputta 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 -- jagan's PL/SQL pattern
651 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
652 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'P' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
653 IF(p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
654 qp_delayed_requests_pvt.log_request(
655 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
656 p_entity_id => p_PRICE_LIST_rec.list_header_id,
657 p_request_unique_key1 => NULL,
658 p_request_unique_key2 => 'UD',
659 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
660 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
661 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
662 x_return_status => x_PRICE_LIST_rec.return_status);
663 END IF;
664 END IF;
665 END IF;
666
667 END IF;
668
669 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.discount_lines_flag,p_old_PRICE_LIST_rec.discount_lines_flag)
670 THEN
671 NULL;
672 END IF;
673
674 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.end_date_active,p_old_PRICE_LIST_rec.end_date_active)
675 THEN
676 -- NULL;
677 -- jagan's PL/SQL pattern
678 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
679 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'P' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
680 IF (p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
681 qp_delayed_requests_pvt.log_request(
682 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
683 p_entity_id => p_PRICE_LIST_rec.list_header_id,
684 p_request_unique_key1 => NULL,
685 p_request_unique_key2 => 'UD',
686 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
687 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
688 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
689 x_return_status => x_PRICE_LIST_rec.return_status);
690 END IF;
691 END IF;
692 END IF;
693
694 END IF;
695
696 /* Bug 1856788 Added the if condition to propogate the change in active_flag of price_list to qualifiers
697 of the price_list */
698 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.active_flag,p_old_PRICE_LIST_rec.active_flag)
699 THEN
700 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
701 IF (p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
702 qp_delayed_requests_pvt.log_request(
703 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
704 p_entity_id => p_PRICE_LIST_rec.list_header_id,
705 p_request_unique_key1 => NULL,
706 p_request_unique_key2 => 'UD',
707 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
708 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
709 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
710 x_return_status => x_PRICE_LIST_rec.return_status);
711 END IF;
712 END IF; --Java Engine Installed
713 -- pattern
714 -- jagan's PL/SQL pattern
715 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
716 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'P' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
717 IF (p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
718 qp_delayed_requests_pvt.log_request(
719 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
720 p_entity_id => p_PRICE_LIST_rec.list_header_id,
721 p_request_unique_key1 => NULL,
722 p_request_unique_key2 => 'UD',
723 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
724 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
725 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
726 x_return_status => x_PRICE_LIST_rec.return_status);
727 END IF;
728 END IF;
729 END IF;
730
731
732 -- added for bug 2912834
733 IF p_PRICE_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE
734 THEN
735
736 UPDATE qp_qualifiers
737 SET active_flag = p_PRICE_LIST_rec.active_flag
738 WHERE list_header_id = p_PRICE_LIST_rec.list_header_id;
739
740 -- Dynamic sourcing of attributes changes
741 IF p_PRICE_LIST_rec.active_flag = 'Y'
742 THEN
743 update qp_pte_segments d set used_in_setup='Y'
744 where nvl(used_in_setup,'N')='N'
745 and exists
746 (select 'x'
747 from qp_segments_b a,qp_prc_contexts_b b,qp_qualifiers c
748 where c.list_header_id = p_PRICE_LIST_rec.list_header_id
749 and a.segment_mapping_column = c .qualifier_attribute
750 and a.segment_id = d.segment_id
751 and a.prc_context_id = b.prc_context_id
752 and b.prc_context_type = 'QUALIFIER'
753 and b.prc_context_code = c.qualifier_context);
754
755 update qp_pte_segments d set used_in_setup='Y'
756 where nvl(used_in_setup,'N')='N'
757 and exists
758 (select 'x'
759 from qp_segments_b a,qp_prc_contexts_b b,qp_pricing_attributes c
760 where c.list_header_id = p_PRICE_LIST_rec.list_header_id
761 and a.segment_mapping_column = c.pricing_attribute
762 and a.segment_id = d.segment_id
763 and a.prc_context_id = b.prc_context_id
764 and b.prc_context_type = 'PRICING_ATTRIBUTE'
765 and b.prc_context_code = c.pricing_attribute_context);
766
767 update qp_pte_segments d set used_in_setup='Y'
768 where nvl(used_in_setup,'N')='N'
769 and exists
770 (select 'x'
771 from qp_segments_b a,qp_prc_contexts_b b,qp_pricing_attributes c
772 where c.list_header_id = p_PRICE_LIST_rec.list_header_id
773 and a.segment_mapping_column = c.product_attribute
774 and a.segment_id = d.segment_id
775 and a.prc_context_id = b.prc_context_id
776 and b.prc_context_type = 'PRODUCT'
777 and b.prc_context_code = c.product_attribute_context);
778
779 END IF;
780
781 END IF;
782
783 END IF;
784 -- mkarya for bug 1944882
785 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.mobile_download,p_old_PRICE_LIST_rec.mobile_download)
786 THEN
787 NULL;
788 END IF;
789
790 -- Pricing Security gtippire
791 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.global_flag,p_old_PRICE_LIST_rec.global_flag)
792 THEN
793 -- NULL;
794 -- jagan's PL/SQL pattern
795 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
796 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'P' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
797 IF (p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
798 qp_delayed_requests_pvt.log_request(
799 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
800 p_entity_id => p_PRICE_LIST_rec.list_header_id,
801 p_request_unique_key1 => NULL,
802 p_request_unique_key2 => 'UD',
803 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
804 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
805 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
806 x_return_status => x_PRICE_LIST_rec.return_status);
807 END IF;
808 END IF;
809 END IF;
810
811 END IF;
812
813 oe_debug_pub.add('QPXUPLHB - list_header_id = ' || p_PRICE_LIST_rec.list_header_id);
814 oe_debug_pub.add('QPXUPLHB - currency_header_id = ' || p_PRICE_LIST_rec.currency_header_id);
815 oe_debug_pub.add('QPXUPLHB - old currency_header_id = ' || p_old_PRICE_LIST_rec.currency_header_id);
816 oe_debug_pub.add('QPXUPLHB - rounding_factor = ' || p_PRICE_LIST_rec.rounding_factor);
817 -- Multi-Currency SunilPandey
818 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_header_id,p_old_PRICE_LIST_rec.currency_header_id)
819 THEN
820 -- NULL;
821 if p_PRICE_LIST_rec.currency_header_id is not null then
822 select BASE_ROUNDING_FACTOR
823 into x_PRICE_LIST_rec.rounding_factor
824 from QP_CURRENCY_LISTS_VL
825 where currency_header_id = p_PRICE_LIST_rec.currency_header_id;
826 end if;
827 -- jagan's PL/SQL pattern
828 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
829 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'P' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
830 IF (p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
831 qp_delayed_requests_pvt.log_request(
832 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
833 p_entity_id => p_PRICE_LIST_rec.list_header_id,
834 p_request_unique_key1 => NULL,
835 p_request_unique_key2 => 'UD',
836 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
837 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
838 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
839 x_return_status => x_PRICE_LIST_rec.return_status);
840 END IF;
841 END IF;
842 END IF;
843
844 END IF;
845
846 -- Attributes Manager Giri
847 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.pte_code,p_old_PRICE_LIST_rec.pte_code)
848 THEN
849 NULL;
850 END IF;
851
852 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.freight_terms_code,p_old_PRICE_LIST_rec.freight_terms_code)
853 THEN
854 NULL;
855 END IF;
856
857 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.gsa_indicator,p_old_PRICE_LIST_rec.gsa_indicator)
858 THEN
859 NULL;
860 END IF;
861
862 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_updated_by,p_old_PRICE_LIST_rec.last_updated_by)
863 THEN
864 NULL;
865 END IF;
866
867 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_date,p_old_PRICE_LIST_rec.last_update_date)
868 THEN
869 NULL;
870 END IF;
871
872 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_login,p_old_PRICE_LIST_rec.last_update_login)
873 THEN
874 NULL;
875 END IF;
876
877 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.name,p_old_PRICE_LIST_rec.name)
878 THEN
879 IF NOT QP_Validate.Price_List_Name(p_PRICE_LIST_rec.name,
880 p_PRICE_LIST_rec.list_header_id,
881 p_PRICE_LIST_rec.version_no) THEN
882 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
883 END IF;
884 END IF;
885
886 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.description,p_old_PRICE_LIST_rec.description)
887 THEN
888 NULL;
889 END IF;
890
891 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_header_id,p_old_PRICE_LIST_rec.list_header_id)
892 THEN
893 NULL;
894 END IF;
895
896 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_type_code,p_old_PRICE_LIST_rec.list_type_code)
897 THEN
898 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
899 IF(p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
900 qp_delayed_requests_pvt.log_request(
901 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
902 p_entity_id => p_PRICE_LIST_rec.list_header_id,
903 p_request_unique_key1 => NULL,
904 p_request_unique_key2 => 'UD',
905 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
906 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
907 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
908 x_return_status => x_PRICE_LIST_rec.return_status);
909 END IF;
910 END IF; --Java Engine Installed
911 -- pattern
912 -- jagan's PL/SQL pattern
913 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
914 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'P' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
915 IF(p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
916 qp_delayed_requests_pvt.log_request(
917 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
918 p_entity_id => p_PRICE_LIST_rec.list_header_id,
919 p_request_unique_key1 => NULL,
920 p_request_unique_key2 => 'UD',
921 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
922 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
923 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
924 x_return_status => x_PRICE_LIST_rec.return_status);
925 END IF;
926 END IF;
927 END IF;
928
929 NULL;
930 END IF;
931
932 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.version_no,p_old_PRICE_LIST_rec.version_no)
933 THEN
934 NULL;
935 END IF;
936
937 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_application_id,p_old_PRICE_LIST_rec.program_application_id)
938 THEN
939 NULL;
940 END IF;
941
942 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_id,p_old_PRICE_LIST_rec.program_id)
943 THEN
944 NULL;
945 END IF;
946
947 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_update_date,p_old_PRICE_LIST_rec.program_update_date)
948 THEN
949 NULL;
950 END IF;
951
952 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.prorate_flag,p_old_PRICE_LIST_rec.prorate_flag)
953 THEN
954 NULL;
955 END IF;
956
957 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.request_id,p_old_PRICE_LIST_rec.request_id)
958 THEN
959 NULL;
960 END IF;
961
962 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.rounding_factor,p_old_PRICE_LIST_rec.rounding_factor)
963 THEN
964 /*
965 IF NOT QP_Validate.Rounding_Factor(p_PRICE_LIST_rec.rounding_factor,
966 p_PRICE_LIST_rec.currency_code)
967 THEN
968 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
969 END IF;
970 */
971 null;
972 END IF;
973
974 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.ship_method_code,p_old_PRICE_LIST_rec.ship_method_code)
975 THEN
976 NULL;
977 END IF;
978
979 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.start_date_active,p_old_PRICE_LIST_rec.start_date_active)
980 THEN
981 -- NULL;
982 -- jagan's PL/SQL pattern
983 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
984 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'P' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
985 IF (p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
986 qp_delayed_requests_pvt.log_request(
987 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
988 p_entity_id => p_PRICE_LIST_rec.list_header_id,
989 p_request_unique_key1 => NULL,
990 p_request_unique_key2 => 'UD',
991 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
992 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
993 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
994 x_return_status => x_PRICE_LIST_rec.return_status);
995 END IF;
996 END IF;
997 END IF;
998
999 END IF;
1000
1001 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.terms_id,p_old_PRICE_LIST_rec.terms_id)
1002 THEN
1003 NULL;
1004 END IF;
1005
1006 -- Blanket Sales Order
1007 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_source_code,p_old_PRICE_LIST_rec.list_source_code)
1008 THEN
1009 NULL;
1010 END IF;
1011
1012 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.orig_system_header_ref,p_old_PRICE_LIST_rec.orig_system_header_ref)
1013 THEN
1014 NULL;
1015 END IF;
1016
1017 -- Blanket Pricing
1018 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.source_system_code, p_old_PRICE_LIST_rec.source_system_code)
1019 THEN
1020 NULL;
1021 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
1022 IF( p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1023 qp_delayed_requests_pvt.log_request(
1024 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1025 p_entity_id => p_PRICE_LIST_rec.list_header_id,
1026 p_request_unique_key1 => NULL,
1027 p_request_unique_key2 => 'UD',
1028 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1029 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
1030 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1031 x_return_status => x_PRICE_LIST_rec.return_status);
1032 END IF;
1033 END IF; --Java Engine Installed
1034 -- pattern
1035 -- jagan's PL/SQL pattern
1036 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
1037 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'P' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
1038 IF( p_PRICE_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1039 qp_delayed_requests_pvt.log_request(
1040 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1041 p_entity_id => p_PRICE_LIST_rec.list_header_id,
1042 p_request_unique_key1 => NULL,
1043 p_request_unique_key2 => 'UD',
1044 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1045 p_requesting_entity_id => p_PRICE_LIST_rec.list_header_id,
1046 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1047 x_return_status => x_PRICE_LIST_rec.return_status);
1048 END IF;
1049 END IF;
1050 END IF;
1051
1052 END IF;
1053
1054 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.shareable_flag, p_old_PRICE_LIST_rec.shareable_flag)
1055 THEN
1056 NULL;
1057 END IF;
1058
1059 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.sold_to_org_id, p_old_PRICE_LIST_rec.sold_to_org_id)
1060 THEN
1061 NULL;
1062 END IF;
1063
1064 --Added for Price List Locking
1065 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.locked_from_list_header_id, p_old_PRICE_LIST_rec.locked_from_list_header_id)
1066 THEN
1067 NULL;
1068 END IF;
1069
1070 --added for MOAC
1071 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.org_id, p_old_PRICE_LIST_rec.org_id)
1072 THEN
1073 NULL;
1074 END IF;
1075 END Apply_Attribute_Changes;
1076
1077 -- Function Complete_Record
1078
1079 FUNCTION Complete_Record
1080 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1081 , p_old_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1082 ) RETURN QP_Price_List_PUB.Price_List_Rec_Type
1083 IS
1084 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type := p_PRICE_LIST_rec;
1085 BEGIN
1086
1087 IF l_PRICE_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1088 l_PRICE_LIST_rec.attribute1 := p_old_PRICE_LIST_rec.attribute1;
1089 END IF;
1090
1091 IF l_PRICE_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1092 l_PRICE_LIST_rec.attribute10 := p_old_PRICE_LIST_rec.attribute10;
1093 END IF;
1094
1095 IF l_PRICE_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1096 l_PRICE_LIST_rec.attribute11 := p_old_PRICE_LIST_rec.attribute11;
1097 END IF;
1098
1099 IF l_PRICE_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1100 l_PRICE_LIST_rec.attribute12 := p_old_PRICE_LIST_rec.attribute12;
1101 END IF;
1102
1103 IF l_PRICE_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1104 l_PRICE_LIST_rec.attribute13 := p_old_PRICE_LIST_rec.attribute13;
1105 END IF;
1106
1107 IF l_PRICE_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1108 l_PRICE_LIST_rec.attribute14 := p_old_PRICE_LIST_rec.attribute14;
1109 END IF;
1110
1111 IF l_PRICE_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1112 l_PRICE_LIST_rec.attribute15 := p_old_PRICE_LIST_rec.attribute15;
1113 END IF;
1114
1115 IF l_PRICE_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1116 l_PRICE_LIST_rec.attribute2 := p_old_PRICE_LIST_rec.attribute2;
1117 END IF;
1118
1119 IF l_PRICE_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1120 l_PRICE_LIST_rec.attribute3 := p_old_PRICE_LIST_rec.attribute3;
1121 END IF;
1122
1123 IF l_PRICE_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1124 l_PRICE_LIST_rec.attribute4 := p_old_PRICE_LIST_rec.attribute4;
1125 END IF;
1126
1127 IF l_PRICE_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1128 l_PRICE_LIST_rec.attribute5 := p_old_PRICE_LIST_rec.attribute5;
1129 END IF;
1130
1131 IF l_PRICE_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1132 l_PRICE_LIST_rec.attribute6 := p_old_PRICE_LIST_rec.attribute6;
1133 END IF;
1134
1135 IF l_PRICE_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1136 l_PRICE_LIST_rec.attribute7 := p_old_PRICE_LIST_rec.attribute7;
1137 END IF;
1138
1139 IF l_PRICE_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1140 l_PRICE_LIST_rec.attribute8 := p_old_PRICE_LIST_rec.attribute8;
1141 END IF;
1142
1143 IF l_PRICE_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1144 l_PRICE_LIST_rec.attribute9 := p_old_PRICE_LIST_rec.attribute9;
1145 END IF;
1146
1147 IF l_PRICE_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1148 l_PRICE_LIST_rec.automatic_flag := p_old_PRICE_LIST_rec.automatic_flag;
1149 END IF;
1150
1151 IF l_PRICE_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
1152 l_PRICE_LIST_rec.comments := p_old_PRICE_LIST_rec.comments;
1153 END IF;
1154
1155 IF l_PRICE_LIST_rec.context = FND_API.G_MISS_CHAR THEN
1156 l_PRICE_LIST_rec.context := p_old_PRICE_LIST_rec.context;
1157 END IF;
1158
1159 IF l_PRICE_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
1160 l_PRICE_LIST_rec.created_by := p_old_PRICE_LIST_rec.created_by;
1161 END IF;
1162
1163 IF l_PRICE_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
1164 l_PRICE_LIST_rec.creation_date := p_old_PRICE_LIST_rec.creation_date;
1165 END IF;
1166
1167 IF l_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
1168 l_PRICE_LIST_rec.currency_code := p_old_PRICE_LIST_rec.currency_code;
1169 END IF;
1170
1171 IF l_PRICE_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
1172 l_PRICE_LIST_rec.discount_lines_flag := p_old_PRICE_LIST_rec.discount_lines_flag;
1173 END IF;
1174
1175 IF l_PRICE_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
1176 l_PRICE_LIST_rec.end_date_active := p_old_PRICE_LIST_rec.end_date_active;
1177 END IF;
1178
1179 IF l_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
1180 l_PRICE_LIST_rec.freight_terms_code := p_old_PRICE_LIST_rec.freight_terms_code;
1181 END IF;
1182
1183 IF l_PRICE_LIST_rec.gsa_indicator = FND_API.G_MISS_CHAR THEN
1184 l_PRICE_LIST_rec.gsa_indicator := p_old_PRICE_LIST_rec.gsa_indicator;
1185 END IF;
1186
1187 IF l_PRICE_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1188 l_PRICE_LIST_rec.last_updated_by := p_old_PRICE_LIST_rec.last_updated_by;
1189 END IF;
1190
1191 IF l_PRICE_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
1192 l_PRICE_LIST_rec.last_update_date := p_old_PRICE_LIST_rec.last_update_date;
1193 END IF;
1194
1195 IF l_PRICE_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
1196 l_PRICE_LIST_rec.last_update_login := p_old_PRICE_LIST_rec.last_update_login;
1197 END IF;
1198
1199 IF l_PRICE_LIST_rec.name = FND_API.G_MISS_CHAR THEN
1200 l_PRICE_LIST_rec.name := p_old_PRICE_LIST_rec.name;
1201 END IF;
1202
1203
1204 IF l_PRICE_LIST_rec.description = FND_API.G_MISS_CHAR THEN
1205 l_PRICE_LIST_rec.description := p_old_PRICE_LIST_rec.description;
1206 END IF;
1207
1208 IF l_PRICE_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
1209 l_PRICE_LIST_rec.list_header_id := p_old_PRICE_LIST_rec.list_header_id;
1210 END IF;
1211
1212 IF l_PRICE_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
1213 l_PRICE_LIST_rec.list_type_code := p_old_PRICE_LIST_rec.list_type_code;
1214 END IF;
1215
1216 IF l_PRICE_LIST_rec.version_no = FND_API.G_MISS_CHAR THEN
1217 l_PRICE_LIST_rec.version_no := p_old_PRICE_LIST_rec.version_no;
1218 END IF;
1219
1220 IF l_PRICE_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
1221 l_PRICE_LIST_rec.program_application_id := p_old_PRICE_LIST_rec.program_application_id;
1222 END IF;
1223
1224 IF l_PRICE_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
1225 l_PRICE_LIST_rec.program_id := p_old_PRICE_LIST_rec.program_id;
1226 END IF;
1227
1228 IF l_PRICE_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
1229 l_PRICE_LIST_rec.program_update_date := p_old_PRICE_LIST_rec.program_update_date;
1230 END IF;
1231
1232 IF l_PRICE_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
1233 l_PRICE_LIST_rec.prorate_flag := p_old_PRICE_LIST_rec.prorate_flag;
1234 END IF;
1235
1236 IF l_PRICE_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
1237 l_PRICE_LIST_rec.request_id := p_old_PRICE_LIST_rec.request_id;
1238 END IF;
1239
1240 IF l_PRICE_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
1241 l_PRICE_LIST_rec.rounding_factor := p_old_PRICE_LIST_rec.rounding_factor;
1242 END IF;
1243
1244 IF l_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
1245 l_PRICE_LIST_rec.ship_method_code := p_old_PRICE_LIST_rec.ship_method_code;
1246 END IF;
1247
1248 IF l_PRICE_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
1249 l_PRICE_LIST_rec.start_date_active := p_old_PRICE_LIST_rec.start_date_active;
1250 END IF;
1251
1252 IF l_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
1253 l_PRICE_LIST_rec.terms_id := p_old_PRICE_LIST_rec.terms_id;
1254 END IF;
1255
1256 -- Blanket Agreement Pricing bug#3684285
1257 IF l_PRICE_LIST_rec.list_source_code = FND_API.G_MISS_CHAR THEN
1258 l_PRICE_LIST_rec.list_source_code := p_old_PRICE_LIST_rec.list_source_code;
1259 END IF;
1260
1261 IF l_PRICE_LIST_rec.orig_system_header_ref = FND_API.G_MISS_CHAR THEN
1262 l_PRICE_LIST_rec.orig_system_header_ref := p_old_PRICE_LIST_rec.orig_system_header_ref;
1263 END IF;
1264
1265 IF l_PRICE_LIST_rec.source_system_code = FND_API.G_MISS_CHAR THEN
1266 l_PRICE_LIST_rec.source_system_code := p_old_PRICE_LIST_rec.source_system_code;
1267 END IF;
1268
1269 --bug#13110812
1270 IF l_PRICE_LIST_rec.currency_header_id = FND_API.G_MISS_NUM THEN
1271 l_PRICE_LIST_rec.currency_header_id := p_old_PRICE_LIST_rec.currency_header_id;
1272 END IF;
1273 --bug#13110812
1274
1275 IF l_PRICE_LIST_rec.pte_code = FND_API.G_MISS_CHAR THEN
1276 l_PRICE_LIST_rec.pte_code := p_old_PRICE_LIST_rec.pte_code;
1277 END IF;
1278
1279 IF l_PRICE_LIST_rec.shareable_flag = FND_API.G_MISS_CHAR THEN
1280 l_PRICE_LIST_rec.shareable_flag := p_old_PRICE_LIST_rec.shareable_flag;
1281 END IF;
1282
1283 IF l_PRICE_LIST_rec.sold_to_org_id = FND_API.G_MISS_NUM THEN
1284 l_PRICE_LIST_rec.sold_to_org_id := p_old_PRICE_LIST_rec.sold_to_org_id;
1285 END IF;
1286
1287 /* Added code for active_flag and mobile_download by dhgupta for bug 2052900 */
1288
1289 IF l_PRICE_LIST_rec.active_flag = FND_API.G_MISS_CHAR THEN
1290 l_PRICE_LIST_rec.active_flag := p_old_PRICE_LIST_rec.active_flag;
1291 END IF;
1292
1293 IF l_PRICE_LIST_rec.mobile_download = FND_API.G_MISS_CHAR THEN
1294 l_PRICE_LIST_rec.mobile_download := p_old_PRICE_LIST_rec.mobile_download;
1295 END IF;
1296
1297 -- Pricing Security gtippire
1298 IF l_PRICE_LIST_rec.global_flag = FND_API.G_MISS_CHAR THEN
1299 l_PRICE_LIST_rec.global_flag := p_old_PRICE_LIST_rec.global_flag;
1300 END IF;
1301
1302 IF l_PRICE_LIST_rec.locked_from_list_header_id = FND_API.G_MISS_NUM THEN
1303 l_PRICE_LIST_rec.locked_from_list_header_id := p_old_PRICE_LIST_rec.locked_from_list_header_id;
1304 END IF;
1305
1306 --added for MOAC
1307 IF l_PRICE_LIST_rec.org_id = FND_API.G_MISS_NUM THEN
1308 l_PRICE_LIST_rec.org_id := p_old_PRICE_LIST_rec.org_id;
1309 END IF;
1310
1311 RETURN l_PRICE_LIST_rec;
1312
1313 END Complete_Record;
1314
1315 -- Function Convert_Miss_To_Null
1316
1317 FUNCTION Convert_Miss_To_Null
1318 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1319 ) RETURN QP_Price_List_PUB.Price_List_Rec_Type
1320 IS
1321 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type := p_PRICE_LIST_rec;
1322 BEGIN
1323
1324 IF l_PRICE_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1325 l_PRICE_LIST_rec.attribute1 := NULL;
1326 END IF;
1327
1328 IF l_PRICE_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1329 l_PRICE_LIST_rec.attribute10 := NULL;
1330 END IF;
1331
1332 IF l_PRICE_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1333 l_PRICE_LIST_rec.attribute11 := NULL;
1334 END IF;
1335
1336 IF l_PRICE_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1337 l_PRICE_LIST_rec.attribute12 := NULL;
1338 END IF;
1339
1340 IF l_PRICE_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1341 l_PRICE_LIST_rec.attribute13 := NULL;
1342 END IF;
1343
1344 IF l_PRICE_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1345 l_PRICE_LIST_rec.attribute14 := NULL;
1346 END IF;
1347
1348 IF l_PRICE_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1349 l_PRICE_LIST_rec.attribute15 := NULL;
1350 END IF;
1351
1352 IF l_PRICE_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1353 l_PRICE_LIST_rec.attribute2 := NULL;
1354 END IF;
1355
1356 IF l_PRICE_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1357 l_PRICE_LIST_rec.attribute3 := NULL;
1358 END IF;
1359
1360 IF l_PRICE_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1361 l_PRICE_LIST_rec.attribute4 := NULL;
1362 END IF;
1363
1364 IF l_PRICE_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1365 l_PRICE_LIST_rec.attribute5 := NULL;
1366 END IF;
1367
1368 IF l_PRICE_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1369 l_PRICE_LIST_rec.attribute6 := NULL;
1370 END IF;
1371
1372 IF l_PRICE_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1373 l_PRICE_LIST_rec.attribute7 := NULL;
1374 END IF;
1375
1376 IF l_PRICE_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1377 l_PRICE_LIST_rec.attribute8 := NULL;
1378 END IF;
1379
1380 IF l_PRICE_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1381 l_PRICE_LIST_rec.attribute9 := NULL;
1382 END IF;
1383
1384 IF l_PRICE_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1385 l_PRICE_LIST_rec.automatic_flag := NULL;
1386 END IF;
1387
1388 IF l_PRICE_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
1389 l_PRICE_LIST_rec.comments := NULL;
1390 END IF;
1391
1392 IF l_PRICE_LIST_rec.context = FND_API.G_MISS_CHAR THEN
1393 l_PRICE_LIST_rec.context := NULL;
1394 END IF;
1395
1396 IF l_PRICE_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
1397 l_PRICE_LIST_rec.created_by := NULL;
1398 END IF;
1399
1400 IF l_PRICE_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
1401 l_PRICE_LIST_rec.creation_date := NULL;
1402 END IF;
1403
1404 IF l_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
1405 l_PRICE_LIST_rec.currency_code := NULL;
1406 END IF;
1407
1408 IF l_PRICE_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
1409 l_PRICE_LIST_rec.discount_lines_flag := NULL;
1410 END IF;
1411
1412 IF l_PRICE_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
1413 l_PRICE_LIST_rec.end_date_active := NULL;
1414 END IF;
1415
1416 IF l_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
1417 l_PRICE_LIST_rec.freight_terms_code := NULL;
1418 END IF;
1419
1420 IF l_PRICE_LIST_rec.gsa_indicator = FND_API.G_MISS_CHAR THEN
1421 l_PRICE_LIST_rec.gsa_indicator := NULL;
1422 END IF;
1423
1424 IF l_PRICE_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1425 l_PRICE_LIST_rec.last_updated_by := NULL;
1426 END IF;
1427
1428 IF l_PRICE_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
1429 l_PRICE_LIST_rec.last_update_date := NULL;
1430 END IF;
1431
1432 IF l_PRICE_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
1433 l_PRICE_LIST_rec.last_update_login := NULL;
1434 END IF;
1435
1436 IF l_PRICE_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
1437 l_PRICE_LIST_rec.list_header_id := NULL;
1438 END IF;
1439
1440 IF l_PRICE_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
1441 l_PRICE_LIST_rec.list_type_code := NULL;
1442 END IF;
1443
1444 IF l_PRICE_LIST_rec.version_no = FND_API.G_MISS_CHAR THEN
1445 l_PRICE_LIST_rec.version_no := NULL;
1446 END IF;
1447
1448 IF l_PRICE_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
1449 l_PRICE_LIST_rec.program_application_id := NULL;
1450 END IF;
1451
1452 IF l_PRICE_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
1453 l_PRICE_LIST_rec.program_id := NULL;
1454 END IF;
1455
1456 IF l_PRICE_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
1457 l_PRICE_LIST_rec.program_update_date := NULL;
1458 END IF;
1459
1460 IF l_PRICE_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
1461 l_PRICE_LIST_rec.prorate_flag := NULL;
1462 END IF;
1463
1464 IF l_PRICE_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
1465 l_PRICE_LIST_rec.request_id := NULL;
1466 END IF;
1467
1468 IF l_PRICE_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
1469 l_PRICE_LIST_rec.rounding_factor := NULL;
1470 END IF;
1471
1472 IF l_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
1473 l_PRICE_LIST_rec.ship_method_code := NULL;
1474 END IF;
1475
1476 IF l_PRICE_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
1477 l_PRICE_LIST_rec.start_date_active := NULL;
1478 END IF;
1479
1480 IF l_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
1481 l_PRICE_LIST_rec.terms_id := NULL;
1482 END IF;
1483
1484 IF l_PRICE_LIST_rec.name = FND_API.G_MISS_CHAR THEN
1485 l_PRICE_LIST_rec.name := NULL;
1486 END IF;
1487
1488 IF l_PRICE_LIST_rec.description = FND_API.G_MISS_CHAR THEN
1489 l_PRICE_LIST_rec.description := NULL;
1490 END IF;
1491
1492 IF l_PRICE_LIST_rec.locked_from_list_header_id = FND_API.G_MISS_NUM THEN
1493 l_PRICE_LIST_rec.locked_from_list_header_id := NULL;
1494 END IF;
1495
1496 RETURN l_PRICE_LIST_rec;
1497
1498 END Convert_Miss_To_Null;
1499
1500 -- Procedure Update_Row
1501
1502 PROCEDURE Update_Row
1503 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1504 )
1505 IS
1506 l_price_list_exists number := 0;
1507 BEGIN
1508
1509 IF QP_security.check_function( p_function_name => QP_Security.G_FUNCTION_UPDATE,
1510 p_instance_type => QP_Security.G_PRICELIST_OBJECT,
1511 p_instance_pk1 => p_PRICE_LIST_rec.list_header_id) <> 'F' THEN
1512
1513 --for moac changes QP_LIST_HEADERS_B to all_b to enable updates to PL with orig_org_id
1514 --that do not belong to the responsibility when the user has update privilges
1515 UPDATE QP_LIST_HEADERS_ALL_B
1516 SET ATTRIBUTE1 = p_PRICE_LIST_rec.attribute1
1517 , ATTRIBUTE10 = p_PRICE_LIST_rec.attribute10
1518 , ATTRIBUTE11 = p_PRICE_LIST_rec.attribute11
1519 , ATTRIBUTE12 = p_PRICE_LIST_rec.attribute12
1520 , ATTRIBUTE13 = p_PRICE_LIST_rec.attribute13
1521 , ATTRIBUTE14 = p_PRICE_LIST_rec.attribute14
1522 , ATTRIBUTE15 = p_PRICE_LIST_rec.attribute15
1523 , ATTRIBUTE2 = p_PRICE_LIST_rec.attribute2
1524 , ATTRIBUTE3 = p_PRICE_LIST_rec.attribute3
1525 , ATTRIBUTE4 = p_PRICE_LIST_rec.attribute4
1526 , ATTRIBUTE5 = p_PRICE_LIST_rec.attribute5
1527 , ATTRIBUTE6 = p_PRICE_LIST_rec.attribute6
1528 , ATTRIBUTE7 = p_PRICE_LIST_rec.attribute7
1529 , ATTRIBUTE8 = p_PRICE_LIST_rec.attribute8
1530 , ATTRIBUTE9 = p_PRICE_LIST_rec.attribute9
1531 , AUTOMATIC_FLAG = p_PRICE_LIST_rec.automatic_flag
1532 , COMMENTS = p_PRICE_LIST_rec.comments
1533 , CONTEXT = p_PRICE_LIST_rec.context
1534 , CREATED_BY = p_PRICE_LIST_rec.created_by
1535 , CREATION_DATE = p_PRICE_LIST_rec.creation_date
1536 , CURRENCY_CODE = p_PRICE_LIST_rec.currency_code
1537 , DISCOUNT_LINES_FLAG = p_PRICE_LIST_rec.discount_lines_flag
1538 , END_DATE_ACTIVE = trunc(p_PRICE_LIST_rec.end_date_active)
1539 , FREIGHT_TERMS_CODE = p_PRICE_LIST_rec.freight_terms_code
1540 , GSA_INDICATOR = p_PRICE_LIST_rec.gsa_indicator
1541 , LAST_UPDATED_BY = p_PRICE_LIST_rec.last_updated_by
1542 , LAST_UPDATE_DATE = p_PRICE_LIST_rec.last_update_date
1543 , LAST_UPDATE_LOGIN = p_PRICE_LIST_rec.last_update_login
1544 , LIST_HEADER_ID = p_PRICE_LIST_rec.list_header_id
1545 , LIST_TYPE_CODE = p_PRICE_LIST_rec.list_type_code
1546 , PROGRAM_APPLICATION_ID = p_PRICE_LIST_rec.program_application_id
1547 , PROGRAM_ID = p_PRICE_LIST_rec.program_id
1548 , PROGRAM_UPDATE_DATE = p_PRICE_LIST_rec.program_update_date
1549 , PRORATE_FLAG = p_PRICE_LIST_rec.prorate_flag
1550 , REQUEST_ID = p_PRICE_LIST_rec.request_id
1551 , ROUNDING_FACTOR = p_PRICE_LIST_rec.rounding_factor
1552 , SHIP_METHOD_CODE = p_PRICE_LIST_rec.ship_method_code
1553 , START_DATE_ACTIVE = trunc(p_PRICE_LIST_rec.start_date_active)
1554 , TERMS_ID = p_PRICE_LIST_rec.terms_id
1555 , ASK_FOR_FLAG = 'N'
1556 , ACTIVE_FLAG =
1557 decode(p_PRICE_LIST_rec.active_flag, FND_API.G_MISS_CHAR, ACTIVE_FLAG, --dhgupta for 2052900
1558 p_PRICE_LIST_rec.active_flag)
1559 , MOBILE_DOWNLOAD =
1560 decode(p_PRICE_LIST_rec.mobile_download, FND_API.G_MISS_CHAR, MOBILE_DOWNLOAD,--dhgupta for 2052900
1561 p_PRICE_LIST_rec.mobile_download) -- mkarya for bug 1944882
1562 , CURRENCY_HEADER_ID = p_PRICE_LIST_rec.currency_header_id
1563 , PTE_CODE = p_PRICE_LIST_rec.pte_code -- Giri for Attributes Manager
1564 , LIST_SOURCE_CODE = p_PRICE_LIST_rec.list_source_code --Blanket Sales Order
1565 , ORIG_SYSTEM_HEADER_REF = p_PRICE_LIST_rec.orig_system_header_ref --Blanket Sales Order
1566 , GLOBAL_FLAG =
1567 decode(p_PRICE_LIST_rec.global_flag, FND_API.G_MISS_CHAR, GLOBAL_FLAG,
1568 p_PRICE_LIST_rec.global_flag) -- Pricing Security gtippire
1569 , SOURCE_SYSTEM_CODE = p_PRICE_LIST_rec.source_system_code
1570 , SHAREABLE_FLAG = p_PRICE_LIST_rec.shareable_flag
1571 , SOLD_TO_ORG_ID = p_PRICE_LIST_rec.sold_to_org_id
1572 , LOCKED_FROM_LIST_HEADER_ID =
1573 p_PRICE_LIST_rec.locked_from_list_header_id --Pricelist locking
1574 --added for MOAC
1575 , ORIG_ORG_ID = p_PRICE_LIST_rec.org_id
1576 WHERE LIST_HEADER_ID = p_PRICE_LIST_rec.list_header_id
1577 ;
1578
1579 update QP_LIST_HEADERS_TL set
1580 NAME = p_PRICE_LIST_rec.name,
1581 DESCRIPTION = p_PRICE_LIST_rec.description,
1582 LAST_UPDATE_DATE = p_PRICE_LIST_rec.LAST_UPDATE_DATE,
1583 LAST_UPDATED_BY = p_PRICE_LIST_rec.LAST_UPDATED_BY,
1584 LAST_UPDATE_LOGIN = p_PRICE_LIST_rec.LAST_UPDATE_LOGIN,
1585 VERSION_NO = p_PRICE_LIST_rec.version_no,
1586 SOURCE_LANG = userenv('LANG')
1587 where LIST_HEADER_ID = p_PRICE_LIST_rec.LIST_HEADER_ID
1588 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
1589
1590 --ELSE
1591 -- fnd_message.set_name('QP', 'QP_NO_PRIVILEGE');
1592 -- fnd_message.set_token('PRICING_OBJECT', 'Price List');
1593 -- oe_msg_pub.Add;
1594 END IF;
1595
1596 EXCEPTION
1597
1598 WHEN OTHERS THEN
1599
1600 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1601 THEN
1602 oe_msg_pub.Add_Exc_Msg
1603 ( G_PKG_NAME
1604 , 'Update_Row'
1605 );
1606 END IF;
1607
1608 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1609
1610 END Update_Row;
1611
1612 -- Procedure Insert_Row
1613
1614 PROCEDURE Insert_Row
1615 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
1616 )
1617 IS
1618
1619 --l_source_system_code varchar2(30);
1620 x_result VARCHAR2(1);
1621
1622 BEGIN
1623 /*
1624 l_source_system_code := fnd_profile.value('QP_SOURCE_SYSTEM_CODE');
1625
1626 IF l_source_system_code is null then
1627
1628 l_source_system_code := 'QP';
1629
1630 END IF;
1631 */
1632
1633 INSERT INTO QP_LIST_HEADERS_B
1634 ( ATTRIBUTE1
1635 , ATTRIBUTE10
1636 , ATTRIBUTE11
1637 , ATTRIBUTE12
1638 , ATTRIBUTE13
1639 , ATTRIBUTE14
1640 , ATTRIBUTE15
1641 , ATTRIBUTE2
1642 , ATTRIBUTE3
1643 , ATTRIBUTE4
1644 , ATTRIBUTE5
1645 , ATTRIBUTE6
1646 , ATTRIBUTE7
1647 , ATTRIBUTE8
1648 , ATTRIBUTE9
1649 , AUTOMATIC_FLAG
1650 , COMMENTS
1651 , CONTEXT
1652 , CREATED_BY
1653 , CREATION_DATE
1654 , CURRENCY_CODE
1655 , DISCOUNT_LINES_FLAG
1656 , END_DATE_ACTIVE
1657 , FREIGHT_TERMS_CODE
1658 , GSA_INDICATOR
1659 , LAST_UPDATED_BY
1660 , LAST_UPDATE_DATE
1661 , LAST_UPDATE_LOGIN
1662 , LIST_HEADER_ID
1663 , LIST_TYPE_CODE
1664 , PROGRAM_APPLICATION_ID
1665 , PROGRAM_ID
1666 , PROGRAM_UPDATE_DATE
1667 , PRORATE_FLAG
1668 , REQUEST_ID
1669 , ROUNDING_FACTOR
1670 , SHIP_METHOD_CODE
1671 , START_DATE_ACTIVE
1672 , TERMS_ID
1673 , ASK_FOR_FLAG
1674 , SOURCE_SYSTEM_CODE
1675 , ACTIVE_FLAG
1676 , MOBILE_DOWNLOAD -- mkarya for bug 1944882
1677 , CURRENCY_HEADER_ID -- Multi-Currency SunilPandey
1678 , PTE_CODE -- Attributes Manager Giri
1679 , LIST_SOURCE_CODE --Blanket Sales Order
1680 , ORIG_SYSTEM_HEADER_REF --Blanket Sales Order
1681 , GLOBAL_FLAG --Pricing Security gtippire
1682 , ORIG_ORG_ID -- Pricing Security sfiresto
1683 , SHAREABLE_FLAG
1684 , SOLD_TO_ORG_ID
1685 , LOCKED_FROM_LIST_HEADER_ID
1686 )
1687 VALUES
1688 ( p_PRICE_LIST_rec.attribute1
1689 , p_PRICE_LIST_rec.attribute10
1690 , p_PRICE_LIST_rec.attribute11
1691 , p_PRICE_LIST_rec.attribute12
1692 , p_PRICE_LIST_rec.attribute13
1693 , p_PRICE_LIST_rec.attribute14
1694 , p_PRICE_LIST_rec.attribute15
1695 , p_PRICE_LIST_rec.attribute2
1696 , p_PRICE_LIST_rec.attribute3
1697 , p_PRICE_LIST_rec.attribute4
1698 , p_PRICE_LIST_rec.attribute5
1699 , p_PRICE_LIST_rec.attribute6
1700 , p_PRICE_LIST_rec.attribute7
1701 , p_PRICE_LIST_rec.attribute8
1702 , p_PRICE_LIST_rec.attribute9
1703 , p_PRICE_LIST_rec.automatic_flag
1704 , p_PRICE_LIST_rec.comments
1705 , p_PRICE_LIST_rec.context
1706 , p_PRICE_LIST_rec.created_by
1707 , p_PRICE_LIST_rec.creation_date
1708 , p_PRICE_LIST_rec.currency_code
1709 , p_PRICE_LIST_rec.discount_lines_flag
1710 , trunc(p_PRICE_LIST_rec.end_date_active)
1711 , p_PRICE_LIST_rec.freight_terms_code
1712 , p_PRICE_LIST_rec.gsa_indicator
1713 , p_PRICE_LIST_rec.last_updated_by
1714 , p_PRICE_LIST_rec.last_update_date
1715 , p_PRICE_LIST_rec.last_update_login
1716 , p_PRICE_LIST_rec.list_header_id
1717 , p_PRICE_LIST_rec.list_type_code
1718 , p_PRICE_LIST_rec.program_application_id
1719 , p_PRICE_LIST_rec.program_id
1720 , p_PRICE_LIST_rec.program_update_date
1721 , p_PRICE_LIST_rec.prorate_flag
1722 , p_PRICE_LIST_rec.request_id
1723 , p_PRICE_LIST_rec.rounding_factor
1724 , p_PRICE_LIST_rec.ship_method_code
1725 , trunc(p_PRICE_LIST_rec.start_date_active)
1726 , p_PRICE_LIST_rec.terms_id
1727 , 'N' /* ask_for_flag */
1728 -- , l_source_system_code
1729 , p_PRICE_LIST_rec.source_system_code
1730 , decode(p_PRICE_LIST_rec.active_flag, FND_API.G_MISS_CHAR, 'Y',
1731 p_PRICE_LIST_rec.active_flag)
1732 , decode(p_PRICE_LIST_rec.mobile_download, FND_API.G_MISS_CHAR, 'N',
1733 p_PRICE_LIST_rec.mobile_download) -- mkarya for bug 1944882
1734 , p_PRICE_LIST_rec.currency_header_id
1735 , p_PRICE_LIST_rec.pte_code -- Giri for Attributes Manager
1736 , p_PRICE_LIST_rec.list_source_code -- Blanket Sales Order
1737 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1738 , 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
1739 , decode(p_PRICE_LIST_rec.global_flag, FND_API.G_MISS_CHAR, 'N',
1740 p_PRICE_LIST_rec.global_flag) -- Pricing Security gtippire
1741 --added for MOAC
1742 , p_PRICE_LIST_rec.org_id
1743 , p_PRICE_LIST_rec.shareable_flag
1744 , p_PRICE_LIST_rec.sold_to_org_id
1745 , p_PRICE_LIST_rec.locked_from_list_header_id
1746 );
1747
1748 insert into QP_LIST_HEADERS_TL (
1749 LAST_UPDATE_LOGIN,
1750 NAME,
1751 DESCRIPTION,
1752 VERSION_NO,
1753 CREATION_DATE,
1754 CREATED_BY,
1755 LAST_UPDATE_DATE,
1756 LAST_UPDATED_BY,
1757 LIST_HEADER_ID,
1758 LANGUAGE,
1759 SOURCE_LANG
1760 ) select
1761 p_PRICE_LIST_rec.LAST_UPDATE_LOGIN,
1762 p_PRICE_LIST_rec.NAME,
1763 p_PRICE_LIST_rec.DESCRIPTION,
1764 p_PRICE_LIST_rec.version_no,
1765 p_PRICE_LIST_rec.CREATION_DATE,
1766 p_PRICE_LIST_rec.CREATED_BY,
1767 p_PRICE_LIST_rec.LAST_UPDATE_DATE,
1768 p_PRICE_LIST_rec.LAST_UPDATED_BY,
1769 p_PRICE_LIST_rec.LIST_HEADER_ID,
1770 L.LANGUAGE_CODE,
1771 userenv('LANG')
1772 from FND_LANGUAGES L
1773 where L.INSTALLED_FLAG in ('I', 'B')
1774 and not exists
1775 (select NULL
1776 from QP_LIST_HEADERS_TL T
1777 where T.LIST_HEADER_ID = p_PRICE_LIST_rec.LIST_HEADER_ID
1778 and T.LANGUAGE = L.LANGUAGE_CODE);
1779
1780 IF p_PRICE_LIST_rec.list_type_code = 'AGR' THEN
1781 QP_security.create_default_grants( p_instance_type => QP_security.G_AGREEMENT_OBJECT,
1782 p_instance_pk1 => p_PRICE_LIST_rec.list_header_id,
1783 x_return_status => x_result);
1784 ELSE
1785 QP_security.create_default_grants( p_instance_type => QP_security.G_PRICELIST_OBJECT,
1786 p_instance_pk1 => p_PRICE_LIST_rec.list_header_id,
1787 x_return_status => x_result);
1788 END IF;
1789
1790 EXCEPTION
1791
1792 WHEN OTHERS THEN
1793
1794 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1795 THEN
1796 oe_msg_pub.Add_Exc_Msg
1797 ( G_PKG_NAME
1798 , 'Insert_Row'
1799 );
1800 END IF;
1801
1802 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1803
1804 END Insert_Row;
1805
1806 -- Procedure Delete_Row
1807
1808 PROCEDURE Delete_Row
1809 ( p_list_header_id IN NUMBER
1810 )
1811 IS
1812 cursor lines is
1813 select list_line_id
1814 from qp_list_lines
1815 where list_header_id = p_list_header_id;
1816
1817 BEGIN
1818
1819 for lines_rec in lines loop
1820
1821 QP_PRICE_LIST_LINE_UTIL.DELETE_ROW(lines_rec.list_line_id);
1822
1823 end loop;
1824
1825 /* delete all qualifiers which refer to this list_header_id */
1826
1827 delete from qp_qualifiers
1828 where list_header_id = p_list_header_id
1829 or ( qualifier_attr_value = to_char(p_list_header_id)
1830 and qualifier_context = 'MODLIST'
1831 and qualifier_attribute = 'QUALIFIER_ATTRIBUTE4' );
1832
1833
1834 delete from QP_LIST_HEADERS_TL
1835 where LIST_HEADER_ID = p_list_header_id;
1836
1837 /*
1838 if (sql%notfound) then
1839 raise no_data_found;
1840 end if;
1841 */
1842
1843 DELETE FROM QP_LIST_HEADERS_B
1844 WHERE LIST_HEADER_ID = p_list_header_id;
1845
1846
1847
1848 EXCEPTION
1849
1850 WHEN OTHERS THEN
1851
1852 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1853 THEN
1854 oe_msg_pub.Add_Exc_Msg
1855 ( G_PKG_NAME
1856 , 'Delete_Row'
1857 );
1858 END IF;
1859
1860 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1861
1862 END Delete_Row;
1863
1864 -- Function Query_Row
1865
1866 FUNCTION Query_Row
1867 ( p_list_header_id IN NUMBER
1868 ) RETURN QP_Price_List_PUB.Price_List_Rec_Type
1869 IS
1870 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1871 BEGIN
1872
1873 SELECT ATTRIBUTE1
1874 , ATTRIBUTE10
1875 , ATTRIBUTE11
1876 , ATTRIBUTE12
1877 , ATTRIBUTE13
1878 , ATTRIBUTE14
1879 , ATTRIBUTE15
1880 , ATTRIBUTE2
1881 , ATTRIBUTE3
1882 , ATTRIBUTE4
1883 , ATTRIBUTE5
1884 , ATTRIBUTE6
1885 , ATTRIBUTE7
1886 , ATTRIBUTE8
1887 , ATTRIBUTE9
1888 , AUTOMATIC_FLAG
1889 , COMMENTS
1890 , CONTEXT
1891 , CREATED_BY
1892 , CREATION_DATE
1893 , CURRENCY_CODE
1894 , DISCOUNT_LINES_FLAG
1895 , END_DATE_ACTIVE
1896 , FREIGHT_TERMS_CODE
1897 , GSA_INDICATOR
1898 , LAST_UPDATED_BY
1899 , LAST_UPDATE_DATE
1900 , LAST_UPDATE_LOGIN
1901 , LIST_HEADER_ID
1902 , LIST_TYPE_CODE
1903 , PROGRAM_APPLICATION_ID
1904 , PROGRAM_ID
1905 , PROGRAM_UPDATE_DATE
1906 , PRORATE_FLAG
1907 , REQUEST_ID
1908 , ROUNDING_FACTOR
1909 , SHIP_METHOD_CODE
1910 , START_DATE_ACTIVE
1911 , TERMS_ID
1912 , ACTIVE_FLAG
1913 , MOBILE_DOWNLOAD --mkarya for bug 1944882
1914 , CURRENCY_HEADER_ID --Multi-Currency SunilPandey
1915 , PTE_CODE --Attributes Manager Giri
1916 , LIST_SOURCE_CODE --Blanket Sales Order
1917 , ORIG_SYSTEM_HEADER_REF --Blanket Sales Order
1918 , GLOBAL_FLAG --Pricing Security gtippire
1919 , SOURCE_SYSTEM_CODE
1920 , SHAREABLE_FLAG
1921 , SOLD_TO_ORG_ID
1922 , LOCKED_FROM_LIST_HEADER_ID
1923 --added for MOAC
1924 , ORIG_ORG_ID
1925 INTO l_PRICE_LIST_rec.attribute1
1926 , l_PRICE_LIST_rec.attribute10
1927 , l_PRICE_LIST_rec.attribute11
1928 , l_PRICE_LIST_rec.attribute12
1929 , l_PRICE_LIST_rec.attribute13
1930 , l_PRICE_LIST_rec.attribute14
1931 , l_PRICE_LIST_rec.attribute15
1932 , l_PRICE_LIST_rec.attribute2
1933 , l_PRICE_LIST_rec.attribute3
1934 , l_PRICE_LIST_rec.attribute4
1935 , l_PRICE_LIST_rec.attribute5
1936 , l_PRICE_LIST_rec.attribute6
1937 , l_PRICE_LIST_rec.attribute7
1938 , l_PRICE_LIST_rec.attribute8
1939 , l_PRICE_LIST_rec.attribute9
1940 , l_PRICE_LIST_rec.automatic_flag
1941 , l_PRICE_LIST_rec.comments
1942 , l_PRICE_LIST_rec.context
1943 , l_PRICE_LIST_rec.created_by
1944 , l_PRICE_LIST_rec.creation_date
1945 , l_PRICE_LIST_rec.currency_code
1946 , l_PRICE_LIST_rec.discount_lines_flag
1947 , l_PRICE_LIST_rec.end_date_active
1948 , l_PRICE_LIST_rec.freight_terms_code
1949 , l_PRICE_LIST_rec.gsa_indicator
1950 , l_PRICE_LIST_rec.last_updated_by
1951 , l_PRICE_LIST_rec.last_update_date
1952 , l_PRICE_LIST_rec.last_update_login
1953 , l_PRICE_LIST_rec.list_header_id
1954 , l_PRICE_LIST_rec.list_type_code
1955 , l_PRICE_LIST_rec.program_application_id
1956 , l_PRICE_LIST_rec.program_id
1957 , l_PRICE_LIST_rec.program_update_date
1958 , l_PRICE_LIST_rec.prorate_flag
1959 , l_PRICE_LIST_rec.request_id
1960 , l_PRICE_LIST_rec.rounding_factor
1961 , l_PRICE_LIST_rec.ship_method_code
1962 , l_PRICE_LIST_rec.start_date_active
1963 , l_PRICE_LIST_rec.terms_id
1964 , l_PRICE_LIST_rec.active_flag
1965 , l_PRICE_LIST_rec.mobile_download -- mkarya for bug 1944882
1966 , l_PRICE_LIST_rec.currency_header_id -- Multi-Currency SunilPandey
1967 , l_PRICE_LIST_rec.pte_code -- Attributes Manager Giri
1968 , l_PRICE_LIST_rec.list_source_code -- Blanket Sales Order
1969 , l_PRICE_LIST_rec.orig_system_header_ref -- Blanket Sales Order
1970 , l_PRICE_LIST_rec.global_flag -- Pricing Security gtippire
1971 , l_PRICE_LIST_rec.source_system_code
1972 , l_PRICE_LIST_rec.shareable_flag
1973 , l_PRICE_LIST_rec.sold_to_org_id
1974 , l_PRICE_LIST_rec.locked_from_list_header_id
1975 --added for MOAC
1976 , l_PRICE_LIST_rec.org_id
1977 FROM QP_LIST_HEADERS_B
1978 WHERE LIST_HEADER_ID = p_list_header_id
1979 ;
1980
1981 SELECT NAME
1982 , DESCRIPTION
1983 , VERSION_NO
1984 INTO l_PRICE_LIST_rec.name
1985 , l_PRICE_LIST_rec.description
1986 , l_PRICE_LIST_rec.version_no
1987 FROM QP_LIST_HEADERS_TL
1988 WHERE LIST_HEADER_ID = p_list_header_id
1989 AND LANGUAGE = userenv('LANG');
1990
1991
1992 RETURN l_PRICE_LIST_rec;
1993
1994 EXCEPTION
1995
1996 WHEN OTHERS THEN
1997
1998 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1999 THEN
2000 oe_msg_pub.Add_Exc_Msg
2001 ( G_PKG_NAME
2002 , 'Query_Row'
2003 );
2004 END IF;
2005
2006 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2007
2008 END Query_Row;
2009
2010 -- Procedure lock_Row
2011 --
2012
2013 PROCEDURE Lock_Row
2014 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2015 , p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
2016 , x_PRICE_LIST_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_List_PUB.Price_List_Rec_Type
2017 )
2018 IS
2019 cursor c1 is select
2020 NAME,
2021 DESCRIPTION,
2022 VERSION_NO,
2023 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
2024 from QP_LIST_HEADERS_TL
2025 where LIST_HEADER_ID = p_PRICE_LIST_rec.LIST_HEADER_ID
2026 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
2027 for update of LIST_HEADER_ID nowait;
2028
2029 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
2030 BEGIN
2031
2032 SELECT ATTRIBUTE1
2033 , ATTRIBUTE10
2034 , ATTRIBUTE11
2035 , ATTRIBUTE12
2036 , ATTRIBUTE13
2037 , ATTRIBUTE14
2038 , ATTRIBUTE15
2039 , ATTRIBUTE2
2040 , ATTRIBUTE3
2041 , ATTRIBUTE4
2042 , ATTRIBUTE5
2043 , ATTRIBUTE6
2044 , ATTRIBUTE7
2045 , ATTRIBUTE8
2046 , ATTRIBUTE9
2047 , AUTOMATIC_FLAG
2048 , COMMENTS
2049 , CONTEXT
2050 , CREATED_BY
2051 , CREATION_DATE
2052 , CURRENCY_CODE
2053 , DISCOUNT_LINES_FLAG
2054 , END_DATE_ACTIVE
2055 , FREIGHT_TERMS_CODE
2056 , GSA_INDICATOR
2057 , LAST_UPDATED_BY
2058 , LAST_UPDATE_DATE
2059 , LAST_UPDATE_LOGIN
2060 , LIST_HEADER_ID
2061 , LIST_TYPE_CODE
2062 , PROGRAM_APPLICATION_ID
2063 , PROGRAM_ID
2064 , PROGRAM_UPDATE_DATE
2065 , PRORATE_FLAG
2066 , REQUEST_ID
2067 , ROUNDING_FACTOR
2068 , SHIP_METHOD_CODE
2069 , START_DATE_ACTIVE
2070 , TERMS_ID
2071 , ACTIVE_FLAG -- Added by dhgupta for bug 2144903
2072 , MOBILE_DOWNLOAD -- Added by dhgupta for bug 2144903
2073 , CURRENCY_HEADER_ID --Multi-Currency Change SunilPandey; new change
2074 , PTE_CODE --Attributes Manager Change - Giri
2075 , LIST_SOURCE_CODE --Blanket Sales Order
2076 , ORIG_SYSTEM_HEADER_REF -- Blanket Sales Order
2077 , GLOBAL_FLAG -- Pricing Security gtippire
2078 , SOURCE_SYSTEM_CODE
2079 , SHAREABLE_FLAG
2080 , SOLD_TO_ORG_ID
2081 , LOCKED_FROM_LIST_HEADER_ID
2082 --added for MOAC
2083 , ORIG_ORG_ID
2084 INTO l_PRICE_LIST_rec.attribute1
2085 , l_PRICE_LIST_rec.attribute10
2086 , l_PRICE_LIST_rec.attribute11
2087 , l_PRICE_LIST_rec.attribute12
2088 , l_PRICE_LIST_rec.attribute13
2089 , l_PRICE_LIST_rec.attribute14
2090 , l_PRICE_LIST_rec.attribute15
2091 , l_PRICE_LIST_rec.attribute2
2092 , l_PRICE_LIST_rec.attribute3
2093 , l_PRICE_LIST_rec.attribute4
2094 , l_PRICE_LIST_rec.attribute5
2095 , l_PRICE_LIST_rec.attribute6
2096 , l_PRICE_LIST_rec.attribute7
2097 , l_PRICE_LIST_rec.attribute8
2098 , l_PRICE_LIST_rec.attribute9
2099 , l_PRICE_LIST_rec.automatic_flag
2100 , l_PRICE_LIST_rec.comments
2101 , l_PRICE_LIST_rec.context
2102 , l_PRICE_LIST_rec.created_by
2103 , l_PRICE_LIST_rec.creation_date
2104 , l_PRICE_LIST_rec.currency_code
2105 , l_PRICE_LIST_rec.discount_lines_flag
2106 , l_PRICE_LIST_rec.end_date_active
2107 , l_PRICE_LIST_rec.freight_terms_code
2108 , l_PRICE_LIST_rec.gsa_indicator
2109 , l_PRICE_LIST_rec.last_updated_by
2110 , l_PRICE_LIST_rec.last_update_date
2111 , l_PRICE_LIST_rec.last_update_login
2112 , l_PRICE_LIST_rec.list_header_id
2113 , l_PRICE_LIST_rec.list_type_code
2114 , l_PRICE_LIST_rec.program_application_id
2115 , l_PRICE_LIST_rec.program_id
2116 , l_PRICE_LIST_rec.program_update_date
2117 , l_PRICE_LIST_rec.prorate_flag
2118 , l_PRICE_LIST_rec.request_id
2119 , l_PRICE_LIST_rec.rounding_factor
2120 , l_PRICE_LIST_rec.ship_method_code
2121 , l_PRICE_LIST_rec.start_date_active
2122 , l_PRICE_LIST_rec.terms_id
2123 , l_PRICE_LIST_rec.active_flag -- Added by dhgupta for bug 2144903
2124 , l_PRICE_LIST_rec.mobile_download -- Added by dhgupta for bug 2144903
2125 , l_PRICE_LIST_rec.currency_header_id --Multi-Currency Change SunilPandey; new change
2126 , l_PRICE_LIST_rec.pte_code --Attributes manager Change - Giri
2127 , l_PRICE_LIST_rec.list_source_code --Blanket Sales Order
2128 , l_PRICE_LIST_rec.orig_system_header_ref --Blanket Sales Order
2129 , l_PRICE_LIST_rec.global_flag --Pricing Security gtippire
2130 , l_PRICE_LIST_rec.source_system_code
2131 , l_PRICE_LIST_rec.shareable_flag
2132 , l_PRICE_LIST_rec.sold_to_org_id
2133 , l_PRICE_LIST_rec.locked_from_list_header_id
2134 --added for MOAC
2135 , l_PRICE_LIST_rec.org_id
2136 --for moac changes QP_LIST_HEADERS_B to all_b to enable locks/updates to PL with orig_org_id
2137 --that do not belong to the responsibility when the user has update privilges
2138 FROM QP_LIST_HEADERS_ALL_B
2139 WHERE LIST_HEADER_ID = p_PRICE_LIST_rec.list_header_id
2140 FOR UPDATE NOWAIT;
2141
2142 -- Row locked. Compare IN attributes to DB attributes.
2143
2144 IF QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute1,
2145 l_PRICE_LIST_rec.attribute1)
2146 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute10,
2147 l_PRICE_LIST_rec.attribute10)
2148 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute11,
2149 l_PRICE_LIST_rec.attribute11)
2150 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute12,
2151 l_PRICE_LIST_rec.attribute12)
2152 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute13,
2153 l_PRICE_LIST_rec.attribute13)
2154 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute14,
2155 l_PRICE_LIST_rec.attribute14)
2156 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute15,
2157 l_PRICE_LIST_rec.attribute15)
2158 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute2,
2159 l_PRICE_LIST_rec.attribute2)
2160 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute3,
2161 l_PRICE_LIST_rec.attribute3)
2162 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute4,
2163 l_PRICE_LIST_rec.attribute4)
2164 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute5,
2165 l_PRICE_LIST_rec.attribute5)
2166 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute6,
2167 l_PRICE_LIST_rec.attribute6)
2168 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute7,
2169 l_PRICE_LIST_rec.attribute7)
2170 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute8,
2171 l_PRICE_LIST_rec.attribute8)
2172 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.attribute9,
2173 l_PRICE_LIST_rec.attribute9)
2174 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.automatic_flag,
2175 l_PRICE_LIST_rec.automatic_flag)
2176 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.comments,
2177 l_PRICE_LIST_rec.comments)
2178 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.context,
2179 l_PRICE_LIST_rec.context)
2180 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.created_by,
2181 l_PRICE_LIST_rec.created_by)
2182 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.creation_date,
2183 l_PRICE_LIST_rec.creation_date)
2184 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_code,
2185 l_PRICE_LIST_rec.currency_code)
2186 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.discount_lines_flag,
2187 l_PRICE_LIST_rec.discount_lines_flag)
2188 AND QP_GLOBALS.Equal(to_date(to_char(p_PRICE_LIST_rec.end_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'),
2189 to_date(to_char(l_PRICE_LIST_rec.end_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'))
2190 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.freight_terms_code,
2191 l_PRICE_LIST_rec.freight_terms_code)
2192 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.gsa_indicator,
2193 l_PRICE_LIST_rec.gsa_indicator)
2194 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_updated_by,
2195 l_PRICE_LIST_rec.last_updated_by)
2196 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_date,
2197 l_PRICE_LIST_rec.last_update_date)
2198 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_login,
2199 l_PRICE_LIST_rec.last_update_login)
2200 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_header_id,
2201 l_PRICE_LIST_rec.list_header_id)
2202 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_type_code,
2203 l_PRICE_LIST_rec.list_type_code)
2204 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_application_id,
2205 l_PRICE_LIST_rec.program_application_id)
2206 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_id,
2207 l_PRICE_LIST_rec.program_id)
2208 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.program_update_date,
2209 l_PRICE_LIST_rec.program_update_date)
2210 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.prorate_flag,
2211 l_PRICE_LIST_rec.prorate_flag)
2212 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.request_id,
2213 l_PRICE_LIST_rec.request_id)
2214 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.rounding_factor,
2215 l_PRICE_LIST_rec.rounding_factor)
2216 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.ship_method_code,
2217 l_PRICE_LIST_rec.ship_method_code)
2218 AND QP_GLOBALS.Equal(to_date(to_char(p_PRICE_LIST_rec.start_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'),
2219 to_date(to_char(l_PRICE_LIST_rec.start_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'))
2220 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.terms_id,
2221 l_PRICE_LIST_rec.terms_id)
2222 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.active_flag, -- Added by dhgupta for bug 2144903
2223 l_PRICE_LIST_rec.active_flag)
2224 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.mobile_download, -- Added by dhgupta for bug 2144903
2225 l_PRICE_LIST_rec.mobile_download)
2226 -- Multi-Currency Change SunilPandey
2227 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_header_id,
2228 l_PRICE_LIST_rec.currency_header_id)
2229 -- Blanket Sales Order
2230 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_source_code,
2231 l_PRICE_LIST_rec.list_source_code)
2232 -- Bug # 5128941
2233 --AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.orig_system_header_ref,
2234 -- l_PRICE_LIST_rec.orig_system_header_ref)
2235 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.global_flag, -- Pricing Security gtippire
2236 l_PRICE_LIST_rec.global_flag)
2237 -- Blanket Pricing
2238 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.source_system_code,
2239 l_PRICE_LIST_rec.source_system_code)
2240 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.shareable_flag,
2241 l_PRICE_LIST_rec.shareable_flag)
2242 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.sold_to_org_id,
2243 l_PRICE_LIST_rec.sold_to_org_id)
2244 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.locked_from_list_header_id,
2245 l_PRICE_LIST_rec.locked_from_list_header_id)
2246 --added for MOAC
2247 AND QP_GLOBALS.Equal(p_PRICE_LIST_rec.org_id,
2248 l_PRICE_LIST_rec.org_id)
2249 THEN
2250
2251 -- Row has not changed. Set out parameter.
2252
2253 x_PRICE_LIST_rec := l_PRICE_LIST_rec;
2254
2255 -- Set return status
2256
2257 x_return_status := FND_API.G_RET_STS_SUCCESS;
2258 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2259
2260 oe_debug_pub.add('success 1');
2261
2262 ELSE
2263
2264 --8594682 - Add debug messages for OE_LOCK error
2265 oe_debug_pub.ADD('-------------------Data compare in Price list header (database vs record)------------------');
2266 oe_debug_pub.add('list_header_id :'||l_PRICE_LIST_rec.list_header_id||':'||p_PRICE_LIST_rec.list_header_id||':');
2267 oe_debug_pub.ADD('attribute1 :'||l_PRICE_LIST_rec.attribute1||':'||p_PRICE_LIST_rec.attribute1||':');
2268 oe_debug_pub.ADD('attribute2 :'||l_PRICE_LIST_rec.attribute2||':'||p_PRICE_LIST_rec.attribute2||':');
2269 oe_debug_pub.ADD('attribute3 :'||l_PRICE_LIST_rec.attribute3||':'||p_PRICE_LIST_rec.attribute3||':');
2270 oe_debug_pub.ADD('attribute4 :'||l_PRICE_LIST_rec.attribute4||':'||p_PRICE_LIST_rec.attribute4||':');
2271 oe_debug_pub.ADD('attribute5 :'||l_PRICE_LIST_rec.attribute5||':'||p_PRICE_LIST_rec.attribute5||':');
2272 oe_debug_pub.ADD('attribute6 :'||l_PRICE_LIST_rec.attribute6||':'||p_PRICE_LIST_rec.attribute6||':');
2273 oe_debug_pub.ADD('attribute7 :'||l_PRICE_LIST_rec.attribute7||':'||p_PRICE_LIST_rec.attribute7||':');
2274 oe_debug_pub.ADD('attribute8 :'||l_PRICE_LIST_rec.attribute8||':'||p_PRICE_LIST_rec.attribute8||':');
2275 oe_debug_pub.ADD('attribute9 :'||l_PRICE_LIST_rec.attribute9||':'||p_PRICE_LIST_rec.attribute9||':');
2276 oe_debug_pub.ADD('attribute10 :'||l_PRICE_LIST_rec.attribute10||':'||p_PRICE_LIST_rec.attribute10||':');
2277 oe_debug_pub.ADD('attribute11 :'||l_PRICE_LIST_rec.attribute11||':'||p_PRICE_LIST_rec.attribute11||':');
2278 oe_debug_pub.ADD('attribute12 :'||l_PRICE_LIST_rec.attribute12||':'||p_PRICE_LIST_rec.attribute12||':');
2279 oe_debug_pub.ADD('attribute13 :'||l_PRICE_LIST_rec.attribute13||':'||p_PRICE_LIST_rec.attribute13||':');
2280 oe_debug_pub.ADD('attribute14 :'||l_PRICE_LIST_rec.attribute14||':'||p_PRICE_LIST_rec.attribute14||':');
2281 oe_debug_pub.ADD('attribute15 :'||l_PRICE_LIST_rec.attribute15||':'||p_PRICE_LIST_rec.attribute15||':');
2282 oe_debug_pub.ADD('AUTOMATIC_FLAG :'||l_PRICE_LIST_rec.AUTOMATIC_FLAG||':'||p_PRICE_LIST_rec.AUTOMATIC_FLAG||':');
2283 oe_debug_pub.ADD('COMMENTS :'||l_PRICE_LIST_rec.COMMENTS||':'||p_PRICE_LIST_rec.COMMENTS||':');
2284 oe_debug_pub.ADD('CONTEXT :'||l_PRICE_LIST_rec.CONTEXT||':'||p_PRICE_LIST_rec.CONTEXT||':');
2285 oe_debug_pub.ADD('CREATED_BY :'||l_PRICE_LIST_rec.CREATED_BY||':'||p_PRICE_LIST_rec.CREATED_BY||':');
2286 oe_debug_pub.ADD('CREATION_DATE :'||l_PRICE_LIST_rec.CREATION_DATE||':'||p_PRICE_LIST_rec.CREATION_DATE||':');
2287 oe_debug_pub.ADD('CURRENCY_CODE :'||l_PRICE_LIST_rec.CURRENCY_CODE||':'||p_PRICE_LIST_rec.CURRENCY_CODE||':');
2288 oe_debug_pub.ADD('DISCOUNT_LINES_FLAG :'||l_PRICE_LIST_rec.DISCOUNT_LINES_FLAG||':'||p_PRICE_LIST_rec.DISCOUNT_LINES_FLAG||':');
2289 oe_debug_pub.ADD('END_DATE_ACTIVE :'||l_PRICE_LIST_rec.END_DATE_ACTIVE||':'||p_PRICE_LIST_rec.END_DATE_ACTIVE||':');
2290 oe_debug_pub.ADD('FREIGHT_TERMS_CODE :'||l_PRICE_LIST_rec.FREIGHT_TERMS_CODE||':'||p_PRICE_LIST_rec.FREIGHT_TERMS_CODE||':');
2291 oe_debug_pub.ADD('GSA_INDICATOR :'||l_PRICE_LIST_rec.GSA_INDICATOR||':'||p_PRICE_LIST_rec.GSA_INDICATOR||':');
2292 oe_debug_pub.ADD('LIST_TYPE_CODE :'||l_PRICE_LIST_rec.LIST_TYPE_CODE||':'||p_PRICE_LIST_rec.LIST_TYPE_CODE||':');
2293 oe_debug_pub.ADD('PROGRAM_APPLICATION_ID:'||l_PRICE_LIST_rec.PROGRAM_APPLICATION_ID||':'||p_PRICE_LIST_rec.PROGRAM_APPLICATION_ID||':');
2294 oe_debug_pub.ADD('PRORATE_FLAG :'||l_PRICE_LIST_rec.PRORATE_FLAG||':'||p_PRICE_LIST_rec.PRORATE_FLAG||':');
2295 oe_debug_pub.ADD('REQUEST_ID :'||l_PRICE_LIST_rec.REQUEST_ID||':'||p_PRICE_LIST_rec.REQUEST_ID||':');
2296 oe_debug_pub.ADD('ROUNDING_FACTOR :'||l_PRICE_LIST_rec.ROUNDING_FACTOR||':'||p_PRICE_LIST_rec.ROUNDING_FACTOR||':');
2297 oe_debug_pub.ADD('SHIP_METHOD_CODE :'||l_PRICE_LIST_rec.SHIP_METHOD_CODE||':'||p_PRICE_LIST_rec.SHIP_METHOD_CODE||':');
2298 oe_debug_pub.ADD('START_DATE_ACTIVE :'||l_PRICE_LIST_rec.START_DATE_ACTIVE||':'||p_PRICE_LIST_rec.START_DATE_ACTIVE||':');
2299 oe_debug_pub.ADD('TERMS_ID :'||l_PRICE_LIST_rec.TERMS_ID||':'||p_PRICE_LIST_rec.TERMS_ID||':');
2300 oe_debug_pub.ADD('ACTIVE_FLAG :'||l_PRICE_LIST_rec.ACTIVE_FLAG||':'||p_PRICE_LIST_rec.ACTIVE_FLAG||':');
2301 oe_debug_pub.ADD('MOBILE_DOWNLOAD :'||l_PRICE_LIST_rec.MOBILE_DOWNLOAD||':'||p_PRICE_LIST_rec.MOBILE_DOWNLOAD||':');
2302 oe_debug_pub.ADD('CURRENCY_HEADER_ID :'||l_PRICE_LIST_rec.CURRENCY_HEADER_ID||':'||p_PRICE_LIST_rec.CURRENCY_HEADER_ID||':');
2303 oe_debug_pub.ADD('PTE_CODE :'||l_PRICE_LIST_rec.PTE_CODE||':'||p_PRICE_LIST_rec.PTE_CODE||':');
2304 oe_debug_pub.ADD('LIST_SOURCE_CODE :'||l_PRICE_LIST_rec.LIST_SOURCE_CODE||':'||p_PRICE_LIST_rec.LIST_SOURCE_CODE||':');
2305 oe_debug_pub.ADD('ORIG_SYSTEM_HEADER_REF:'||l_PRICE_LIST_rec.ORIG_SYSTEM_HEADER_REF||':'||p_PRICE_LIST_rec.ORIG_SYSTEM_HEADER_REF||':');
2306 oe_debug_pub.ADD('GLOBAL_FLAG :'||l_PRICE_LIST_rec.GLOBAL_FLAG||':'||p_PRICE_LIST_rec.GLOBAL_FLAG||':');
2307 oe_debug_pub.ADD('SOURCE_SYSTEM_CODE :'||l_PRICE_LIST_rec.SOURCE_SYSTEM_CODE||':'||p_PRICE_LIST_rec.SOURCE_SYSTEM_CODE||':');
2308 oe_debug_pub.ADD('SHAREABLE_FLAG :'||l_PRICE_LIST_rec.SHAREABLE_FLAG||':'||p_PRICE_LIST_rec.SHAREABLE_FLAG||':');
2309 oe_debug_pub.ADD('SOLD_TO_ORG_ID :'||l_PRICE_LIST_rec.SOLD_TO_ORG_ID||':'||p_PRICE_LIST_rec.SOLD_TO_ORG_ID||':');
2310 oe_debug_pub.ADD('LOCKED_FROM_LIST_HEADER_ID:'||l_PRICE_LIST_rec.LOCKED_FROM_LIST_HEADER_ID||':'||p_PRICE_LIST_rec.LOCKED_FROM_LIST_HEADER_ID||':');
2311 oe_debug_pub.ADD('-------------------Data compare in price list header end------------------');
2312 --end 8594682
2313
2314 if not QP_GLOBALS.EQUAL(p_PRICE_LIST_rec.list_source_code,l_PRICE_LIST_rec.list_source_code) then
2315 -- Row has changed by another user.
2316 oe_debug_pub.add('Passed Value: LSC'||p_PRICE_LIST_rec.list_source_code);
2317 oe_debug_pub.add('DB Value: LSC'||l_PRICE_LIST_rec.list_source_code);
2318
2319 end if ;
2320
2321 if not QP_GLOBALS.EQUAL(p_PRICE_LIST_rec.orig_system_header_ref,l_PRICE_LIST_rec.orig_system_header_ref) then
2322
2323 oe_debug_pub.add('Passed Value: OSHR'||p_PRICE_LIST_rec.orig_system_header_ref);
2324
2325
2326 oe_debug_pub.add('DB Value: OSHR'||l_PRICE_LIST_rec.orig_system_header_ref);
2327 end if;
2328 oe_debug_pub.add('failed 1');
2329
2330 x_return_status := FND_API.G_RET_STS_ERROR;
2331 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2332
2333 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
2334 THEN
2335
2336 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED');
2337 oe_msg_pub.Add;
2338
2339 END IF;
2340
2341 END IF;
2342
2343 for tlinfo in c1 loop
2344 if (tlinfo.BASELANG = 'Y') then
2345 oe_debug_pub.add('DB Value: name'||tlinfo.NAME||' Passed Value: '|| p_PRICE_LIST_rec.NAME);
2346 oe_debug_pub.add('DB Value: description'||tlinfo.description||' Passed Value: '|| p_PRICE_LIST_rec.description);
2347 oe_debug_pub.add('DB Value: version_no'||tlinfo.version_no||' Passed Value: '|| p_PRICE_LIST_rec.version_no);
2348 if ( 1=1 -- (tlinfo.NAME = p_PRICE_LIST_rec.NAME)
2349 AND ((tlinfo.DESCRIPTION = p_PRICE_LIST_rec.DESCRIPTION)
2350 OR ((tlinfo.DESCRIPTION is null) AND (p_PRICE_LIST_rec.DESCRIPTION is null)))
2351 AND ((tlinfo.VERSION_NO = p_PRICE_LIST_rec.VERSION_NO)
2352 OR ((tlinfo.VERSION_NO is null) AND (p_PRICE_LIST_rec.VERSION_NO is null)))
2353 ) then
2354 x_PRICE_LIST_rec.NAME := tlinfo.NAME;
2355 x_PRICE_LIST_rec.VERSION_NO := tlinfo.VERSION_NO;
2356 x_PRICE_LIST_rec.DESCRIPTION := tlinfo.DESCRIPTION;
2357 else
2358 oe_debug_pub.add('failed 2');
2359
2360 oe_debug_pub.add('tlinfo.name - rec.name ' || tlinfo.name || ' - ' || p_PRICE_LIST_rec.name );
2361
2362 oe_debug_pub.add('tlinfo.description - rec.desc ' || tlinfo.description || ' - ' || p_PRICE_LIST_rec.description );
2363
2364 oe_debug_pub.add('tlinfo.ver_no - rec.ver_no ' || tlinfo.version_no || ' - ' || p_PRICE_LIST_rec.version_no );
2365
2366 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
2367 app_exception.raise_exception;
2368 end if;
2369 end if;
2370 end loop;
2371
2372
2373
2374 EXCEPTION
2375
2376 WHEN NO_DATA_FOUND THEN
2377
2378 x_return_status := FND_API.G_RET_STS_ERROR;
2379 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2380
2381 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
2382 THEN
2383
2384 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
2385 oe_msg_pub.Add;
2386
2387 END IF;
2388 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
2389
2390 x_return_status := FND_API.G_RET_STS_ERROR;
2391 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2392
2393 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
2394 THEN
2395
2396 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
2397 oe_msg_pub.Add;
2398
2399 END IF;
2400 WHEN OTHERS THEN
2401
2402 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2403 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2404
2405 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
2406 THEN
2407 oe_msg_pub.Add_Exc_Msg
2408 ( G_PKG_NAME
2409 , 'Lock_Row'
2410 );
2411 END IF;
2412
2413 END Lock_Row;
2414
2415 -- Function Get_Values
2416
2417 FUNCTION Get_Values
2418 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
2419 , p_old_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type :=
2420 QP_Price_List_PUB.G_MISS_PRICE_LIST_REC
2421 ) RETURN QP_Price_List_PUB.Price_List_Val_Rec_Type
2422 IS
2423 l_PRICE_LIST_val_rec QP_Price_List_PUB.Price_List_Val_Rec_Type;
2424 BEGIN
2425
2426 IF p_PRICE_LIST_rec.automatic_flag IS NOT NULL AND
2427 p_PRICE_LIST_rec.automatic_flag <> FND_API.G_MISS_CHAR AND
2428 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.automatic_flag,
2429 p_old_PRICE_LIST_rec.automatic_flag)
2430 THEN
2431 l_PRICE_LIST_val_rec.automatic := QP_Id_To_Value.Automatic
2432 ( p_automatic_flag => p_PRICE_LIST_rec.automatic_flag
2433 );
2434 END IF;
2435
2436 IF p_PRICE_LIST_rec.currency_code IS NOT NULL AND
2437 p_PRICE_LIST_rec.currency_code <> FND_API.G_MISS_CHAR AND
2438 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.currency_code,
2439 p_old_PRICE_LIST_rec.currency_code)
2440 THEN
2441 l_PRICE_LIST_val_rec.currency := QP_Id_To_Value.Currency
2442 ( p_currency_code => p_PRICE_LIST_rec.currency_code
2443 );
2444 END IF;
2445
2446 IF p_PRICE_LIST_rec.discount_lines_flag IS NOT NULL AND
2447 p_PRICE_LIST_rec.discount_lines_flag <> FND_API.G_MISS_CHAR AND
2448 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.discount_lines_flag,
2449 p_old_PRICE_LIST_rec.discount_lines_flag)
2450 THEN
2451 l_PRICE_LIST_val_rec.discount_lines := QP_Id_To_Value.Discount_Lines
2452 ( p_discount_lines_flag => p_PRICE_LIST_rec.discount_lines_flag
2453 );
2454 END IF;
2455
2456 IF p_PRICE_LIST_rec.freight_terms_code IS NOT NULL AND
2457 p_PRICE_LIST_rec.freight_terms_code <> FND_API.G_MISS_CHAR AND
2458 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.freight_terms_code,
2459 p_old_PRICE_LIST_rec.freight_terms_code)
2460 THEN
2461 l_PRICE_LIST_val_rec.freight_terms := QP_Id_To_Value.Freight_Terms
2462 ( p_freight_terms_code => p_PRICE_LIST_rec.freight_terms_code
2463 );
2464 END IF;
2465
2466 IF p_PRICE_LIST_rec.list_header_id IS NOT NULL AND
2467 p_PRICE_LIST_rec.list_header_id <> FND_API.G_MISS_NUM AND
2468 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_header_id,
2469 p_old_PRICE_LIST_rec.list_header_id)
2470 THEN
2471 l_PRICE_LIST_val_rec.list_header := QP_Id_To_Value.List_Header
2472 ( p_list_header_id => p_PRICE_LIST_rec.list_header_id
2473 );
2474 END IF;
2475
2476 IF p_PRICE_LIST_rec.list_type_code IS NOT NULL AND
2477 p_PRICE_LIST_rec.list_type_code <> FND_API.G_MISS_CHAR AND
2478 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.list_type_code,
2479 p_old_PRICE_LIST_rec.list_type_code)
2480 THEN
2481 l_PRICE_LIST_val_rec.list_type := QP_Id_To_Value.List_Type
2482 ( p_list_type_code => p_PRICE_LIST_rec.list_type_code
2483 );
2484 END IF;
2485
2486 IF p_PRICE_LIST_rec.prorate_flag IS NOT NULL AND
2487 p_PRICE_LIST_rec.prorate_flag <> FND_API.G_MISS_CHAR AND
2488 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.prorate_flag,
2489 p_old_PRICE_LIST_rec.prorate_flag)
2490 THEN
2491 l_PRICE_LIST_val_rec.prorate := QP_Id_To_Value.Prorate
2492 ( p_prorate_flag => p_PRICE_LIST_rec.prorate_flag
2493 );
2494 END IF;
2495
2496 IF p_PRICE_LIST_rec.ship_method_code IS NOT NULL AND
2497 p_PRICE_LIST_rec.ship_method_code <> FND_API.G_MISS_CHAR AND
2498 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.ship_method_code,
2499 p_old_PRICE_LIST_rec.ship_method_code)
2500 THEN
2501 l_PRICE_LIST_val_rec.ship_method := QP_Id_To_Value.Ship_Method
2502 ( p_ship_method_code => p_PRICE_LIST_rec.ship_method_code
2503 );
2504 END IF;
2505
2506 IF p_PRICE_LIST_rec.terms_id IS NOT NULL AND
2507 p_PRICE_LIST_rec.terms_id <> FND_API.G_MISS_NUM AND
2508 NOT QP_GLOBALS.Equal(p_PRICE_LIST_rec.terms_id,
2509 p_old_PRICE_LIST_rec.terms_id)
2510 THEN
2511 l_PRICE_LIST_val_rec.terms := QP_Id_To_Value.Terms
2512 ( p_terms_id => p_PRICE_LIST_rec.terms_id
2513 );
2514 END IF;
2515
2516 RETURN l_PRICE_LIST_val_rec;
2517
2518 END Get_Values;
2519
2520 -- Function Get_Ids
2521
2522 FUNCTION Get_Ids
2523 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type
2524 , p_PRICE_LIST_val_rec IN QP_Price_List_PUB.Price_List_Val_Rec_Type
2525 ) RETURN QP_Price_List_PUB.Price_List_Rec_Type
2526 IS
2527 l_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
2528 BEGIN
2529
2530 -- initialize return_status.
2531
2532 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2533
2534 -- initialize l_PRICE_LIST_rec.
2535
2536 l_PRICE_LIST_rec := p_PRICE_LIST_rec;
2537
2538 IF p_PRICE_LIST_val_rec.automatic <> FND_API.G_MISS_CHAR
2539 THEN
2540
2541 IF p_PRICE_LIST_rec.automatic_flag <> FND_API.G_MISS_CHAR THEN
2542
2543 l_PRICE_LIST_rec.automatic_flag := p_PRICE_LIST_rec.automatic_flag;
2544
2545 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2546 THEN
2547
2548 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2549 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','automatic');
2550 oe_msg_pub.Add;
2551
2552 END IF;
2553
2554 ELSE
2555
2556 l_PRICE_LIST_rec.automatic_flag := QP_Value_To_Id.automatic
2557 ( p_automatic => p_PRICE_LIST_val_rec.automatic
2558 );
2559
2560 IF l_PRICE_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
2561 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2562 END IF;
2563
2564 END IF;
2565
2566 END IF;
2567
2568 IF p_PRICE_LIST_val_rec.currency <> FND_API.G_MISS_CHAR
2569 THEN
2570
2571 IF p_PRICE_LIST_rec.currency_code <> FND_API.G_MISS_CHAR THEN
2572
2573 l_PRICE_LIST_rec.currency_code := p_PRICE_LIST_rec.currency_code;
2574
2575 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2576 THEN
2577
2578 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2579 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency');
2580 oe_msg_pub.Add;
2581
2582 END IF;
2583
2584 ELSE
2585
2586 l_PRICE_LIST_rec.currency_code := QP_Value_To_Id.currency
2587 ( p_currency => p_PRICE_LIST_val_rec.currency
2588 );
2589
2590 IF l_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
2591 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2592 END IF;
2593
2594 END IF;
2595
2596 END IF;
2597
2598 IF p_PRICE_LIST_val_rec.discount_lines <> FND_API.G_MISS_CHAR
2599 THEN
2600
2601 IF p_PRICE_LIST_rec.discount_lines_flag <> FND_API.G_MISS_CHAR THEN
2602
2603 l_PRICE_LIST_rec.discount_lines_flag := p_PRICE_LIST_rec.discount_lines_flag;
2604
2605 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2606 THEN
2607
2608 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2609 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','discount_lines');
2610 oe_msg_pub.Add;
2611
2612 END IF;
2613
2614 ELSE
2615
2616 l_PRICE_LIST_rec.discount_lines_flag := QP_Value_To_Id.discount_lines
2617 ( p_discount_lines => p_PRICE_LIST_val_rec.discount_lines
2618 );
2619
2620 IF l_PRICE_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
2621 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2622 END IF;
2623
2624 END IF;
2625
2626 END IF;
2627
2628 IF p_PRICE_LIST_val_rec.freight_terms <> FND_API.G_MISS_CHAR
2629 THEN
2630
2631 IF p_PRICE_LIST_rec.freight_terms_code <> FND_API.G_MISS_CHAR THEN
2632
2633 l_PRICE_LIST_rec.freight_terms_code := p_PRICE_LIST_rec.freight_terms_code;
2634
2635 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2636 THEN
2637
2638 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2639 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','freight_terms');
2640 oe_msg_pub.Add;
2641
2642 END IF;
2643
2644 ELSE
2645
2646 l_PRICE_LIST_rec.freight_terms_code := QP_Value_To_Id.freight_terms
2647 ( p_freight_terms => p_PRICE_LIST_val_rec.freight_terms
2648 );
2649
2650 IF l_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
2651 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2652 END IF;
2653
2654 END IF;
2655
2656 END IF;
2657
2658 IF p_PRICE_LIST_val_rec.list_header <> FND_API.G_MISS_CHAR
2659 THEN
2660
2661 IF p_PRICE_LIST_rec.list_header_id <> FND_API.G_MISS_NUM THEN
2662
2663 l_PRICE_LIST_rec.list_header_id := p_PRICE_LIST_rec.list_header_id;
2664
2665 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2666 THEN
2667
2668 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2669 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_header');
2670 oe_msg_pub.Add;
2671
2672 END IF;
2673
2674 ELSE
2675
2676 l_PRICE_LIST_rec.list_header_id := QP_Value_To_Id.list_header
2677 ( p_list_header => p_PRICE_LIST_val_rec.list_header
2678 );
2679
2680 IF l_PRICE_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
2681 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2682 END IF;
2683
2684 END IF;
2685
2686 END IF;
2687
2688 IF p_PRICE_LIST_val_rec.list_type <> FND_API.G_MISS_CHAR
2689 THEN
2690
2691 IF p_PRICE_LIST_rec.list_type_code <> FND_API.G_MISS_CHAR THEN
2692
2693 l_PRICE_LIST_rec.list_type_code := p_PRICE_LIST_rec.list_type_code;
2694
2695 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2696 THEN
2697
2698 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2699 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_type');
2700 oe_msg_pub.Add;
2701
2702 END IF;
2703
2704 ELSE
2705
2706 l_PRICE_LIST_rec.list_type_code := QP_Value_To_Id.list_type
2707 ( p_list_type => p_PRICE_LIST_val_rec.list_type
2708 );
2709
2710 IF l_PRICE_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
2711 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2712 END IF;
2713
2714 END IF;
2715
2716 END IF;
2717
2718 IF p_PRICE_LIST_val_rec.prorate <> FND_API.G_MISS_CHAR
2719 THEN
2720
2721 IF p_PRICE_LIST_rec.prorate_flag <> FND_API.G_MISS_CHAR THEN
2722
2723 l_PRICE_LIST_rec.prorate_flag := p_PRICE_LIST_rec.prorate_flag;
2724
2725 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2726 THEN
2727
2728 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2729 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','prorate');
2730 oe_msg_pub.Add;
2731
2732 END IF;
2733
2734 ELSE
2735
2736 l_PRICE_LIST_rec.prorate_flag := QP_Value_To_Id.prorate
2737 ( p_prorate => p_PRICE_LIST_val_rec.prorate
2738 );
2739
2740 IF l_PRICE_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
2741 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2742 END IF;
2743
2744 END IF;
2745
2746 END IF;
2747
2748 IF p_PRICE_LIST_val_rec.ship_method <> FND_API.G_MISS_CHAR
2749 THEN
2750
2751 IF p_PRICE_LIST_rec.ship_method_code <> FND_API.G_MISS_CHAR THEN
2752
2753 l_PRICE_LIST_rec.ship_method_code := p_PRICE_LIST_rec.ship_method_code;
2754
2755 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2756 THEN
2757
2758 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2759 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ship_method');
2760 oe_msg_pub.Add;
2761
2762 END IF;
2763
2764 ELSE
2765
2766 l_PRICE_LIST_rec.ship_method_code := QP_Value_To_Id.ship_method
2767 ( p_ship_method => p_PRICE_LIST_val_rec.ship_method
2768 );
2769
2770 IF l_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
2771 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2772 END IF;
2773
2774 END IF;
2775
2776 END IF;
2777
2778 IF p_PRICE_LIST_val_rec.terms <> FND_API.G_MISS_CHAR
2779 THEN
2780
2781 IF p_PRICE_LIST_rec.terms_id <> FND_API.G_MISS_NUM THEN
2782
2783 l_PRICE_LIST_rec.terms_id := p_PRICE_LIST_rec.terms_id;
2784
2785 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
2786 THEN
2787
2788 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2789 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','terms');
2790 oe_msg_pub.Add;
2791
2792 END IF;
2793
2794 ELSE
2795
2796 l_PRICE_LIST_rec.terms_id := QP_Value_To_Id.terms
2797 ( p_terms => p_PRICE_LIST_val_rec.terms
2798 );
2799
2800 IF l_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
2801 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2802 END IF;
2803
2804 END IF;
2805
2806 END IF;
2807
2808
2809 RETURN l_PRICE_LIST_rec;
2810
2811 END Get_Ids;
2812
2813 --ENH Upgrade BOAPI for orig_sys...ref RAVI
2814 FUNCTION Get_Orig_Sys_Hdr(
2815 p_LIST_HEADER_ID NUMBER
2816 ) RETURN VARCHAR2
2817 IS
2818 l_exist NUMBER:=0;
2819 BEGIN
2820 IF p_LIST_HEADER_ID IS NULL THEN
2821 RETURN NULL;
2822 ELSE
2823 Select COUNT(*) into l_exist
2824 from qp_list_headers_b h
2825 where h.orig_system_header_ref=to_char(p_LIST_HEADER_ID);
2826
2827 IF l_exist>0 THEN
2828 RETURN 'INT-D-'||TO_CHAR(p_LIST_HEADER_ID);
2829 ELSE
2830 RETURN TO_CHAR(p_LIST_HEADER_ID);
2831 END IF;
2832 END IF;
2833 END;
2834
2835 END QP_Price_List_Util;