[Home] [Help]
PACKAGE BODY: APPS.OE_LINE_SCREDIT_UTIL
Source
1 PACKAGE BODY OE_Line_Scredit_Util AS
2 /* $Header: OEXULSCB.pls 120.4.12010000.3 2009/06/23 06:33:53 nitagarw ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_Line_Scredit_Util';
7 G_HEADER_ID NUMBER;
8 G_SALESREP_ID NUMBER;
9
10 FUNCTION G_MISS_OE_AK_LINE_SCREDIT_REC
11 RETURN OE_AK_LINE_SCREDITS_V%ROWTYPE IS
12 l_rowtype_rec OE_AK_LINE_SCREDITS_V%ROWTYPE;
13 --
14 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
15 --
16 BEGIN
17
18 l_rowtype_rec.ATTRIBUTE1 := FND_API.G_MISS_CHAR;
19 l_rowtype_rec.ATTRIBUTE10 := FND_API.G_MISS_CHAR;
20 l_rowtype_rec.ATTRIBUTE11 := FND_API.G_MISS_CHAR;
21 l_rowtype_rec.ATTRIBUTE12 := FND_API.G_MISS_CHAR;
22 l_rowtype_rec.ATTRIBUTE13 := FND_API.G_MISS_CHAR;
23 l_rowtype_rec.ATTRIBUTE14 := FND_API.G_MISS_CHAR;
24 l_rowtype_rec.ATTRIBUTE15 := FND_API.G_MISS_CHAR;
25 l_rowtype_rec.ATTRIBUTE2 := FND_API.G_MISS_CHAR;
26 l_rowtype_rec.ATTRIBUTE3 := FND_API.G_MISS_CHAR;
27 l_rowtype_rec.ATTRIBUTE4 := FND_API.G_MISS_CHAR;
28 l_rowtype_rec.ATTRIBUTE5 := FND_API.G_MISS_CHAR;
29 l_rowtype_rec.ATTRIBUTE6 := FND_API.G_MISS_CHAR;
30 l_rowtype_rec.ATTRIBUTE7 := FND_API.G_MISS_CHAR;
31 l_rowtype_rec.ATTRIBUTE8 := FND_API.G_MISS_CHAR;
32 l_rowtype_rec.ATTRIBUTE9 := FND_API.G_MISS_CHAR;
33 l_rowtype_rec.CONTEXT := FND_API.G_MISS_CHAR;
34 l_rowtype_rec.CREATED_BY := FND_API.G_MISS_NUM;
35 l_rowtype_rec.CREATION_DATE := FND_API.G_MISS_DATE;
36 l_rowtype_rec.DB_FLAG := FND_API.G_MISS_CHAR;
37 l_rowtype_rec.DW_UPDATE_ADVICE_FLAG := FND_API.G_MISS_CHAR;
38 l_rowtype_rec.HEADER_ID := FND_API.G_MISS_NUM;
39 l_rowtype_rec.LAST_UPDATED_BY := FND_API.G_MISS_NUM;
40 l_rowtype_rec.LAST_UPDATE_DATE := FND_API.G_MISS_DATE;
41 l_rowtype_rec.LAST_UPDATE_LOGIN := FND_API.G_MISS_NUM;
42 l_rowtype_rec.LINE_ID := FND_API.G_MISS_NUM;
43 l_rowtype_rec.OPERATION := FND_API.G_MISS_CHAR;
44 l_rowtype_rec.PERCENT := FND_API.G_MISS_NUM;
45 l_rowtype_rec.RETURN_STATUS := FND_API.G_MISS_CHAR;
46 l_rowtype_rec.SALESREP_ID := FND_API.G_MISS_NUM;
47 l_rowtype_rec.sales_credit_type_id:= FND_API.G_MISS_NUM;
48 l_rowtype_rec.SALES_CREDIT_ID := FND_API.G_MISS_NUM;
49 l_rowtype_rec.WH_UPDATE_DATE := FND_API.G_MISS_DATE;
50
51 RETURN l_rowtype_rec;
52
53 END G_MISS_OE_AK_LINE_SCREDIT_REC;
54
55 PROCEDURE API_Rec_To_Rowtype_Rec
56 ( p_LINE_SCREDIT_rec IN OE_Order_PUB.LINE_SCREDIT_Rec_Type
57 , x_rowtype_rec IN OUT NOCOPY OE_AK_LINE_SCREDITS_V%ROWTYPE
58 ) IS
59 --
60 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
61 --
62 BEGIN
63
64 x_rowtype_rec.ATTRIBUTE1 := p_line_scredit_rec.ATTRIBUTE1;
65 x_rowtype_rec.ATTRIBUTE10 := p_line_scredit_rec.ATTRIBUTE10;
66 x_rowtype_rec.ATTRIBUTE11 := p_line_scredit_rec.ATTRIBUTE11;
67 x_rowtype_rec.ATTRIBUTE12 := p_line_scredit_rec.ATTRIBUTE12;
68 x_rowtype_rec.ATTRIBUTE13 := p_line_scredit_rec.ATTRIBUTE13;
69 x_rowtype_rec.ATTRIBUTE14 := p_line_scredit_rec.ATTRIBUTE14;
70 x_rowtype_rec.ATTRIBUTE15 := p_line_scredit_rec.ATTRIBUTE15;
71 x_rowtype_rec.ATTRIBUTE2 := p_line_scredit_rec.ATTRIBUTE2;
72 x_rowtype_rec.ATTRIBUTE3 := p_line_scredit_rec.ATTRIBUTE3;
73 x_rowtype_rec.ATTRIBUTE4 := p_line_scredit_rec.ATTRIBUTE4;
74 x_rowtype_rec.ATTRIBUTE5 := p_line_scredit_rec.ATTRIBUTE5;
75 x_rowtype_rec.ATTRIBUTE6 := p_line_scredit_rec.ATTRIBUTE6;
76 x_rowtype_rec.ATTRIBUTE7 := p_line_scredit_rec.ATTRIBUTE7;
77 x_rowtype_rec.ATTRIBUTE8 := p_line_scredit_rec.ATTRIBUTE8;
78 x_rowtype_rec.ATTRIBUTE9 := p_line_scredit_rec.ATTRIBUTE9;
79 x_rowtype_rec.CONTEXT := p_line_scredit_rec.CONTEXT;
80 x_rowtype_rec.CREATED_BY := p_line_scredit_rec.CREATED_BY;
81 x_rowtype_rec.CREATION_DATE := p_line_scredit_rec.CREATION_DATE;
82 x_rowtype_rec.DB_FLAG := p_line_scredit_rec.DB_FLAG;
83 x_rowtype_rec.DW_UPDATE_ADVICE_FLAG := p_line_scredit_rec.DW_UPDATE_ADVICE_FLAG;
84 x_rowtype_rec.HEADER_ID := p_line_scredit_rec.HEADER_ID;
85 x_rowtype_rec.LAST_UPDATED_BY := p_line_scredit_rec.LAST_UPDATED_BY;
86 x_rowtype_rec.LAST_UPDATE_DATE := p_line_scredit_rec.LAST_UPDATE_DATE;
87 x_rowtype_rec.LAST_UPDATE_LOGIN := p_line_scredit_rec.LAST_UPDATE_LOGIN;
88 x_rowtype_rec.LINE_ID := p_line_scredit_rec.LINE_ID;
89 x_rowtype_rec.OPERATION := p_line_scredit_rec.OPERATION;
90 x_rowtype_rec.PERCENT := p_line_scredit_rec.PERCENT;
91 x_rowtype_rec.RETURN_STATUS := p_line_scredit_rec.RETURN_STATUS;
92 x_rowtype_rec.SALESREP_ID := p_line_scredit_rec.SALESREP_ID;
93 x_rowtype_rec.sales_credit_type_id := p_line_scredit_rec.sales_credit_type_id;
94 x_rowtype_rec.SALES_CREDIT_ID := p_line_scredit_rec.SALES_CREDIT_ID;
95 x_rowtype_rec.WH_UPDATE_DATE := p_line_scredit_rec.WH_UPDATE_DATE;
96
97 END API_Rec_To_RowType_Rec;
98
99
100 PROCEDURE Rowtype_Rec_To_API_Rec
101 ( p_record IN OE_AK_LINE_SCREDITS_V%ROWTYPE
102 , x_api_rec IN OUT NOCOPY OE_Order_PUB.LINE_SCREDIT_Rec_Type
103 ) IS
104 --
105 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
106 --
107 BEGIN
108
109 x_api_rec.ATTRIBUTE1 := p_record.ATTRIBUTE1;
110 x_api_rec.ATTRIBUTE10 := p_record.ATTRIBUTE10;
111 x_api_rec.ATTRIBUTE11 := p_record.ATTRIBUTE11;
112 x_api_rec.ATTRIBUTE12 := p_record.ATTRIBUTE12;
113 x_api_rec.ATTRIBUTE13 := p_record.ATTRIBUTE13;
114 x_api_rec.ATTRIBUTE14 := p_record.ATTRIBUTE14;
115 x_api_rec.ATTRIBUTE15 := p_record.ATTRIBUTE15;
116 x_api_rec.ATTRIBUTE2 := p_record.ATTRIBUTE2;
117 x_api_rec.ATTRIBUTE3 := p_record.ATTRIBUTE3;
118 x_api_rec.ATTRIBUTE4 := p_record.ATTRIBUTE4;
119 x_api_rec.ATTRIBUTE5 := p_record.ATTRIBUTE5;
120 x_api_rec.ATTRIBUTE6 := p_record.ATTRIBUTE6;
121 x_api_rec.ATTRIBUTE7 := p_record.ATTRIBUTE7;
122 x_api_rec.ATTRIBUTE8 := p_record.ATTRIBUTE8;
123 x_api_rec.ATTRIBUTE9 := p_record.ATTRIBUTE9;
124 x_api_rec.CONTEXT := p_record.CONTEXT;
125 x_api_rec.CREATED_BY := p_record.CREATED_BY;
126 x_api_rec.CREATION_DATE := p_record.CREATION_DATE;
127 x_api_rec.DB_FLAG := p_record.DB_FLAG;
128 x_api_rec.DW_UPDATE_ADVICE_FLAG := p_record.DW_UPDATE_ADVICE_FLAG;
129 x_api_rec.HEADER_ID := p_record.HEADER_ID;
130 x_api_rec.LAST_UPDATED_BY := p_record.LAST_UPDATED_BY;
131 x_api_rec.LAST_UPDATE_DATE := p_record.LAST_UPDATE_DATE;
132 x_api_rec.LAST_UPDATE_LOGIN := p_record.LAST_UPDATE_LOGIN;
133 x_api_rec.LINE_ID := p_record.LINE_ID;
134 x_api_rec.OPERATION := p_record.OPERATION;
135 x_api_rec.PERCENT := p_record.PERCENT;
136 x_api_rec.RETURN_STATUS := p_record.RETURN_STATUS;
137 x_api_rec.SALESREP_ID := p_record.SALESREP_ID;
138 x_api_rec.sales_credit_type_id := p_record.sales_credit_type_id;
139 x_api_rec.SALES_CREDIT_ID := p_record.SALES_CREDIT_ID;
140 x_api_rec.WH_UPDATE_DATE := p_record.WH_UPDATE_DATE;
141
142 END Rowtype_Rec_To_API_Rec;
143
144 PROCEDURE Clear_Dependent_Attr
145 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
146 , p_x_Line_Scredit_rec IN OUT NOCOPY OE_AK_LINE_SCREDITS_V%ROWTYPE
147 , p_old_Line_Scredit_rec IN OE_AK_LINE_SCREDITS_V%ROWTYPE :=
148 G_MISS_OE_AK_LINE_SCREDIT_REC
149 )
150 IS
151 l_index NUMBER :=0;
152 l_src_attr_tbl OE_GLOBALS.NUMBER_Tbl_Type;
153 l_dep_attr_tbl OE_GLOBALS.NUMBER_Tbl_Type;
154 --
155 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
156 --
157 BEGIN
158
159 IF l_debug_level > 0 THEN
160 oe_debug_pub.add( 'ENTERING OE_LINE_SCREDIT_UTIL.CLEAR_DEPENDENT_ATTR' , 1 ) ;
161 END IF;
162
163 -- If attr_id is missing compare old and new records and for
164 -- every changed attribute clear its dependent fields.
165
166 IF p_attr_id = FND_API.G_MISS_NUM THEN
167
168 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute1,p_old_Line_Scredit_rec.attribute1)
169 THEN
170 l_index := l_index + 1;
171 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE1;
172 END IF;
173
174 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute10,p_old_Line_Scredit_rec.attribute10)
175 THEN
176 l_index := l_index + 1;
177 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE10;
178 END IF;
179
180 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute11,p_old_Line_Scredit_rec.attribute11)
181 THEN
182 l_index := l_index + 1;
183 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE11;
184 END IF;
185
186 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute12,p_old_Line_Scredit_rec.attribute12)
187 THEN
188 l_index := l_index + 1;
189 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE12;
190 END IF;
191
192 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute13,p_old_Line_Scredit_rec.attribute13)
193 THEN
194 l_index := l_index + 1;
195 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE13;
196 END IF;
197
198 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute14,p_old_Line_Scredit_rec.attribute14)
199 THEN
200 l_index := l_index + 1;
201 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE14;
202 END IF;
203
204 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute15,p_old_Line_Scredit_rec.attribute15)
205 THEN
206 l_index := l_index + 1;
207 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE15;
208 END IF;
209
210 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute2,p_old_Line_Scredit_rec.attribute2)
211 THEN
212 l_index := l_index + 1;
213 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE2;
214 END IF;
215
216 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute3,p_old_Line_Scredit_rec.attribute3)
217 THEN
218 l_index := l_index + 1;
219 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE3;
220 END IF;
221
222 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute4,p_old_Line_Scredit_rec.attribute4)
223 THEN
224 l_index := l_index + 1;
225 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE4;
226 END IF;
227
228 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute5,p_old_Line_Scredit_rec.attribute5)
229 THEN
230 l_index := l_index + 1;
231 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE5;
232 END IF;
233
234 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute6,p_old_Line_Scredit_rec.attribute6)
235 THEN
236 l_index := l_index + 1;
237 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE6;
238 END IF;
239
240 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute7,p_old_Line_Scredit_rec.attribute7)
241 THEN
242 l_index := l_index + 1;
243 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE7;
244 END IF;
245
246 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute8,p_old_Line_Scredit_rec.attribute8)
247 THEN
248 l_index := l_index + 1;
249 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE8;
250 END IF;
251
252 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute9,p_old_Line_Scredit_rec.attribute9)
253 THEN
254 l_index := l_index + 1;
255 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE9;
256 END IF;
257
258 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.context,p_old_Line_Scredit_rec.context)
259 THEN
260 l_index := l_index + 1;
261 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_CONTEXT;
262 END IF;
263
264 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.created_by,p_old_Line_Scredit_rec.created_by)
265 THEN
266 l_index := l_index + 1;
267 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_CREATED_BY;
268 END IF;
269
270 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.creation_date,p_old_Line_Scredit_rec.creation_date)
271 THEN
272 l_index := l_index + 1;
273 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_CREATION_DATE;
274 END IF;
275
276 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.dw_update_advice_flag,p_old_Line_Scredit_rec.dw_update_advice_flag)
277 THEN
278 l_index := l_index + 1;
279 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_DW_UPDATE_ADVICE;
280 END IF;
281
282 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.header_id,p_old_Line_Scredit_rec.header_id)
283 THEN
284 l_index := l_index + 1;
285 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_HEADER;
286 END IF;
287
288 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.last_updated_by,p_old_Line_Scredit_rec.last_updated_by)
289 THEN
290 l_index := l_index + 1;
291 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_LAST_UPDATED_BY;
292 END IF;
293
294 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.last_update_date,p_old_Line_Scredit_rec.last_update_date)
295 THEN
296 l_index := l_index + 1;
297 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_LAST_UPDATE_DATE;
298 END IF;
299
300 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.last_update_login,p_old_Line_Scredit_rec.last_update_login)
301 THEN
302 l_index := l_index + 1;
303 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_LAST_UPDATE_LOGIN;
304 END IF;
305
306 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.line_id,p_old_Line_Scredit_rec.line_id)
307 THEN
308 l_index := l_index + 1;
309 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_LINE;
310 END IF;
311
312 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.percent,p_old_Line_Scredit_rec.percent)
313 THEN
314 l_index := l_index + 1;
315 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_PERCENT;
316 END IF;
317
318
319 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.salesrep_id,p_old_Line_Scredit_rec.salesrep_id)
320 THEN
321 l_index := l_index + 1;
322 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_SALESREP;
323 END IF;
324
325 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.sales_credit_type_id,p_old_Line_Scredit_rec.sales_credit_type_id)
326 THEN
327 l_index := l_index + 1;
328 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_sales_credit_type;
329 END IF;
330
331 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.sales_credit_id,p_old_Line_Scredit_rec.sales_credit_id)
332 THEN
333 l_index := l_index + 1;
334 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_SALES_CREDIT;
335 END IF;
336
337 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.wh_update_date,p_old_Line_Scredit_rec.wh_update_date)
338 THEN
339 l_index := l_index + 1;
340 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_WH_UPDATE_DATE;
341 END IF;
342
343 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
344 l_index := l_index + 1;
345 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE1;
346 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
347 l_index := l_index + 1;
348 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE10;
349 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
350 l_index := l_index + 1;
351 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE11;
352 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
353 l_index := l_index + 1;
354 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE12;
355 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
356 l_index := l_index + 1;
357 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE13;
358 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
359 l_index := l_index + 1;
360 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE14;
361 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
362 l_index := l_index + 1;
363 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE15;
364 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
365 l_index := l_index + 1;
366 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE2;
367 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
368 l_index := l_index + 1;
369 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE3;
370 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
371 l_index := l_index + 1;
372 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE4;
373 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
374 l_index := l_index + 1;
375 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE5;
376 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
377 l_index := l_index + 1;
378 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE6;
379 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
380 l_index := l_index + 1;
381 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE7;
382 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
383 l_index := l_index + 1;
384 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE8;
385 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
386 l_index := l_index + 1;
387 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE9;
388 ELSIF p_attr_id = G_CONTEXT THEN
389 l_index := l_index + 1;
390 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_CONTEXT;
391 ELSIF p_attr_id = G_CREATED_BY THEN
392 l_index := l_index + 1;
393 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_CREATED_BY;
394 ELSIF p_attr_id = G_CREATION_DATE THEN
395 l_index := l_index + 1;
396 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_CREATION_DATE;
397 ELSIF p_attr_id = G_DW_UPDATE_ADVICE THEN
398 l_index := l_index + 1;
399 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_DW_UPDATE_ADVICE;
400 ELSIF p_attr_id = G_HEADER THEN
401 l_index := l_index + 1;
402 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_HEADER;
403 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
404 l_index := l_index + 1;
405 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_LAST_UPDATED_BY;
406 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
407 l_index := l_index + 1;
408 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_LAST_UPDATE_DATE;
409 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
410 l_index := l_index + 1;
411 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_LAST_UPDATE_LOGIN;
412 ELSIF p_attr_id = G_LINE THEN
413 l_index := l_index + 1;
414 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_LINE;
415 ELSIF p_attr_id = G_PERCENT THEN
416 l_index := l_index + 1;
417 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_PERCENT;
418 ELSIF p_attr_id = G_SALESREP THEN
419 l_index := l_index + 1;
420 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_SALESREP;
421 ELSIF p_attr_id = G_sales_credit_type THEN
422 l_index := l_index + 1;
423 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_sales_credit_type;
424 ELSIF p_attr_id = G_SALES_CREDIT THEN
425 l_index := l_index + 1;
426 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_SALES_CREDIT;
427 ELSIF p_attr_id = G_WH_UPDATE_DATE THEN
428 l_index := l_index + 1;
429 l_src_attr_tbl(l_index) := OE_LINE_SCREDIT_UTIL.G_WH_UPDATE_DATE;
430 END IF;
431
432 If l_src_attr_tbl.COUNT <> 0 THEN
433
434 OE_Dependencies.Mark_Dependent
435 (p_entity_code => OE_GLOBALS.G_ENTITY_LINE_SCREDIT,
436 p_source_attr_tbl => l_src_attr_tbl,
437 p_dep_attr_tbl => l_dep_attr_tbl);
438
439 FOR I IN 1..l_dep_attr_tbl.COUNT LOOP
440 IF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE1 THEN
441 p_x_Line_Scredit_rec.ATTRIBUTE1 := FND_API.G_MISS_NUM;
442 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE10 THEN
443 p_x_Line_Scredit_rec.ATTRIBUTE10 := FND_API.G_MISS_CHAR;
444 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE11 THEN
445 p_x_Line_Scredit_rec.ATTRIBUTE11 := FND_API.G_MISS_CHAR;
446 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE12 THEN
447 p_x_Line_Scredit_rec.ATTRIBUTE12 := FND_API.G_MISS_CHAR;
448 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE13 THEN
449 p_x_Line_Scredit_rec.ATTRIBUTE13 := FND_API.G_MISS_CHAR;
450 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE14 THEN
451 p_x_Line_Scredit_rec.ATTRIBUTE14 := FND_API.G_MISS_CHAR;
452 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE15 THEN
453 p_x_Line_Scredit_rec.ATTRIBUTE15 := FND_API.G_MISS_CHAR;
454 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE2 THEN
455 p_x_Line_Scredit_rec.ATTRIBUTE2 := FND_API.G_MISS_CHAR;
456 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE3 THEN
457 p_x_Line_Scredit_rec.ATTRIBUTE3 := FND_API.G_MISS_CHAR;
458 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE4 THEN
459 p_x_Line_Scredit_rec.ATTRIBUTE4 := FND_API.G_MISS_CHAR;
460 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE5 THEN
461 p_x_Line_Scredit_rec.ATTRIBUTE5 := FND_API.G_MISS_CHAR;
462 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE6 THEN
463 p_x_Line_Scredit_rec.ATTRIBUTE6 := FND_API.G_MISS_CHAR;
464 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE7 THEN
465 p_x_Line_Scredit_rec.ATTRIBUTE7 := FND_API.G_MISS_CHAR;
466 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE8 THEN
467 p_x_Line_Scredit_rec.ATTRIBUTE8 := FND_API.G_MISS_CHAR;
468 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_ATTRIBUTE9 THEN
469 p_x_Line_Scredit_rec.ATTRIBUTE9 := FND_API.G_MISS_CHAR;
470 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_CONTEXT THEN
471 p_x_Line_Scredit_rec.CONTEXT := FND_API.G_MISS_CHAR;
472 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_CREATED_BY THEN
473 p_x_Line_Scredit_rec.CREATED_BY := FND_API.G_MISS_NUM;
474 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_CREATION_DATE THEN
475 p_x_Line_Scredit_rec.CREATION_DATE := FND_API.G_MISS_DATE;
476 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_DW_UPDATE_ADVICE THEN
477 p_x_Line_Scredit_rec.DW_UPDATE_ADVICE_FLAG := FND_API.G_MISS_CHAR;
478 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_HEADER THEN
479 p_x_Line_Scredit_rec.HEADER_ID := FND_API.G_MISS_NUM;
480 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_LAST_UPDATED_BY THEN
481 p_x_Line_Scredit_rec.LAST_UPDATED_BY := FND_API.G_MISS_NUM;
482 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_LAST_UPDATE_DATE THEN
483 p_x_Line_Scredit_rec.LAST_UPDATE_DATE := FND_API.G_MISS_DATE;
484 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_LAST_UPDATE_LOGIN THEN
485 p_x_Line_Scredit_rec.LAST_UPDATE_LOGIN := FND_API.G_MISS_NUM;
486 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_LINE THEN
487 p_x_Line_Scredit_rec.LINE_ID := FND_API.G_MISS_NUM;
488 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_PERCENT THEN
489 p_x_Line_Scredit_rec.PERCENT := FND_API.G_MISS_NUM;
490 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_SALESREP THEN
491 p_x_Line_Scredit_rec.SALESREP_ID := FND_API.G_MISS_NUM;
492 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_sales_credit_type THEN
493 p_x_Line_Scredit_rec.sales_credit_type_id := FND_API.G_MISS_NUM;
494 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_SALES_CREDIT THEN
495 p_x_Line_Scredit_rec.SALES_CREDIT_ID := FND_API.G_MISS_NUM;
496 ELSIF l_dep_attr_tbl(I) = OE_LINE_SCREDIT_UTIL.G_WH_UPDATE_DATE THEN
497 p_x_Line_Scredit_rec.WH_UPDATE_DATE := FND_API.G_MISS_DATE;
498 END IF;
499 END LOOP;
500 END IF;
501
502 IF l_debug_level > 0 THEN
503 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.CLEAR_DEPENDENT_ATTR' , 1 ) ;
504 END IF;
505
506 END Clear_Dependent_Attr;
507
508
509 -- Procedure Clear_Dependent_Attr
510
511 PROCEDURE Clear_Dependent_Attr
512 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
513 , p_x_Line_Scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
514 , p_old_Line_Scredit_rec IN OE_Order_PUB.Line_Scredit_Rec_Type :=
515 OE_Order_PUB.G_MISS_LINE_SCREDIT_REC
516 )
517 IS
518 l_Line_Scredit_rec OE_AK_LINE_SCREDITS_V%ROWTYPE;
519 l_old_Line_Scredit_rec OE_AK_LINE_SCREDITS_V%ROWTYPE;
520 --
521 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
522 --
523 BEGIN
524
525 API_Rec_To_Rowtype_Rec(p_x_Line_Scredit_rec,l_Line_Scredit_rec);
526 API_Rec_To_Rowtype_Rec(p_old_Line_Scredit_rec, l_old_Line_Scredit_rec);
527
528 Clear_Dependent_Attr
529 (p_attr_id => p_attr_id
530 ,p_x_Line_Scredit_rec => l_Line_Scredit_rec
531 ,p_old_Line_Scredit_rec => l_old_Line_Scredit_rec
532 );
533
534 Rowtype_Rec_To_API_Rec(l_Line_Scredit_rec,p_x_Line_Scredit_rec);
535
536 END Clear_Dependent_Attr;
537
538
539 -- Procedure Apply_Attribute_Changes
540
541 PROCEDURE Apply_Attribute_Changes
542 ( p_x_Line_Scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
543 , p_old_Line_Scredit_rec IN OE_Order_PUB.Line_Scredit_Rec_Type :=
544 OE_Order_PUB.G_MISS_LINE_SCREDIT_REC
545 )
546 IS
547 l_return_status Varchar2(10);
548 --SG{
549 l_sg_date DATE;
550 l_out Varchar2(240);
551 l_status Varchar2(30);
552 --SG}
553 --
554 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
555 --
556 BEGIN
557
558 IF l_debug_level > 0 THEN
559 oe_debug_pub.add( 'ENTERING OE_LINE_SCREDIT_UTIL.APPLY_ATTRIBUTE_CHANGES' , 1 ) ;
560 END IF;
561
562 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute1,p_old_Line_Scredit_rec.attribute1)
563 THEN
564 NULL;
565 END IF;
566
567 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute10,p_old_Line_Scredit_rec.attribute10)
568 THEN
569 NULL;
570 END IF;
571
572 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute11,p_old_Line_Scredit_rec.attribute11)
573 THEN
574 NULL;
575 END IF;
576
577 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute12,p_old_Line_Scredit_rec.attribute12)
578 THEN
579 NULL;
580 END IF;
581
582 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute13,p_old_Line_Scredit_rec.attribute13)
583 THEN
584 NULL;
585 END IF;
586
587 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute14,p_old_Line_Scredit_rec.attribute14)
588 THEN
589 NULL;
590 END IF;
591
592 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute15,p_old_Line_Scredit_rec.attribute15)
593 THEN
594 NULL;
595 END IF;
596
597 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute2,p_old_Line_Scredit_rec.attribute2)
598 THEN
599 NULL;
600 END IF;
601
602 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute3,p_old_Line_Scredit_rec.attribute3)
603 THEN
604 NULL;
605 END IF;
606
607 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute4,p_old_Line_Scredit_rec.attribute4)
608 THEN
609 NULL;
610 END IF;
611
612 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute5,p_old_Line_Scredit_rec.attribute5)
613 THEN
614 NULL;
615 END IF;
616
617 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute6,p_old_Line_Scredit_rec.attribute6)
618 THEN
619 NULL;
620 END IF;
621
622 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute7,p_old_Line_Scredit_rec.attribute7)
623 THEN
624 NULL;
625 END IF;
626
627 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute8,p_old_Line_Scredit_rec.attribute8)
628 THEN
629 NULL;
630 END IF;
631
632 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.attribute9,p_old_Line_Scredit_rec.attribute9)
633 THEN
634 NULL;
635 END IF;
636
637 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.context,p_old_Line_Scredit_rec.context)
638 THEN
639 NULL;
640 END IF;
641
642 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.created_by,p_old_Line_Scredit_rec.created_by)
643 THEN
644 NULL;
645 END IF;
646
647 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.creation_date,p_old_Line_Scredit_rec.creation_date)
648 THEN
649 NULL;
650 END IF;
651
652 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.dw_update_advice_flag,p_old_Line_Scredit_rec.dw_update_advice_flag)
653 THEN
654 NULL;
655 END IF;
656
657 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.header_id,p_old_Line_Scredit_rec.header_id)
658 THEN
659 NULL;
660 END IF;
661
662 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.last_updated_by,p_old_Line_Scredit_rec.last_updated_by)
663 THEN
664 NULL;
665 END IF;
666
667 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.last_update_date,p_old_Line_Scredit_rec.last_update_date)
668 THEN
669 NULL;
670 END IF;
671
672 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.last_update_login,p_old_Line_Scredit_rec.last_update_login)
673 THEN
674 NULL;
675 END IF;
676
677 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.line_id,p_old_Line_Scredit_rec.line_id)
678 THEN
679 NULL;
680 END IF;
681
682 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.percent,p_old_Line_Scredit_rec.percent)
683 THEN
684 -- Add delayed request to validate quota percent sums up to 100
685 OE_Delayed_Requests_Pvt.Log_Request
686 (p_entity_code=>OE_GLOBALS.G_ENTITY_Line_Scredit
687 ,p_entity_id=>p_x_Line_Scredit_rec.sales_credit_id
688 ,p_requesting_entity_code=>OE_GLOBALS.G_ENTITY_Line_Scredit
689 ,p_requesting_entity_id=>p_x_Line_Scredit_rec.sales_credit_id
690 ,p_request_type=>OE_GLOBALS.G_CHECK_LSC_QUOTA_TOTAL
691 ,p_param1 => to_char(p_x_Line_Scredit_rec.Line_id)
692 ,x_return_status =>l_return_status);
693 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
694 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
695 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
696 RAISE FND_API.G_EXC_ERROR;
697 END IF;
698
699 -- Add delayed request to cascade changes to service lines.
700 OE_Delayed_Requests_Pvt.Log_Request
701 (p_entity_code=>OE_GLOBALS.G_ENTITY_Line_Scredit
702 ,p_entity_id=>p_x_Line_Scredit_rec.sales_credit_id
703 ,p_requesting_entity_code=>OE_GLOBALS.G_ENTITY_Line_Scredit
704 ,p_requesting_entity_id=>p_x_Line_Scredit_rec.sales_credit_id
705 ,p_request_type=>OE_GLOBALS.G_CASCADE_SERVICE_SCREDIT
706 ,p_param8 => to_char(p_x_Line_Scredit_rec.Line_id)
707 ,p_param1 => to_char(p_x_Line_Scredit_rec.salesrep_id)
708 ,p_param2 => to_char(p_old_Line_Scredit_rec.salesrep_id)
709 ,p_param3 => to_char(p_x_Line_Scredit_rec.Sales_credit_type_id)
710 ,p_param4 => to_char(p_old_Line_Scredit_rec.Sales_credit_type_id)
711 ,p_param5 => to_char(p_x_Line_Scredit_rec.percent)
712 ,p_param6 => to_char(p_old_Line_Scredit_rec.percent)
713 ,p_param7 => p_x_Line_Scredit_rec.operation
714 ,x_return_status =>l_return_status);
715
716 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
717 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
718 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
719 RAISE FND_API.G_EXC_ERROR;
720 END IF;
721
722 END IF;
723
724 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.sales_credit_type_id,p_old_Line_Scredit_rec.sales_credit_type_id)
725 THEN
726 -- Add delayed request to validate quota percent sums up to 100
727 OE_Delayed_Requests_Pvt.Log_Request
728 (p_entity_code=>OE_GLOBALS.G_ENTITY_Line_Scredit
729 ,p_entity_id=>p_x_Line_Scredit_rec.sales_credit_id
730 ,p_requesting_entity_code=>OE_GLOBALS.G_ENTITY_Line_Scredit
731 ,p_requesting_entity_id=>p_x_Line_Scredit_rec.sales_credit_id
732 ,p_request_type=>OE_GLOBALS.G_CHECK_LSC_QUOTA_TOTAL
733 ,p_param1 => to_char(p_x_Line_Scredit_rec.Line_id)
734 ,x_return_status =>l_return_status);
735 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
736 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
737 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
738 RAISE FND_API.G_EXC_ERROR;
739 END IF;
740 --END IF; Commented of this end if as part of fix for bug#2174201
741
742 -- Add delayed request to cascade changes to service lines.
743 OE_Delayed_Requests_Pvt.Log_Request
744 (p_entity_code=>OE_GLOBALS.G_ENTITY_Line_Scredit
745 ,p_entity_id=>p_x_Line_Scredit_rec.sales_credit_id
746 ,p_requesting_entity_code=>OE_GLOBALS.G_ENTITY_Line_Scredit
747 ,p_requesting_entity_id=>p_x_Line_Scredit_rec.sales_credit_id
748 ,p_request_type=>OE_GLOBALS.G_CASCADE_SERVICE_SCREDIT
749 ,p_param8 => to_char(p_x_Line_Scredit_rec.Line_id)
750 ,p_param1 => to_char(p_x_Line_Scredit_rec.salesrep_id)
751 ,p_param2 => to_char(p_old_Line_Scredit_rec.salesrep_id)
752 ,p_param3 => to_char(p_x_Line_Scredit_rec.Sales_credit_type_id)
753 ,p_param4 => to_char(p_old_Line_Scredit_rec.Sales_credit_type_id)
754 ,p_param5 => to_char(p_x_Line_Scredit_rec.percent)
755 ,p_param6 => to_char(p_old_Line_Scredit_rec.percent)
756 ,p_param7 => p_x_Line_Scredit_rec.operation
757 ,x_return_status =>l_return_status);
758
759 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
760 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
761 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
762 RAISE FND_API.G_EXC_ERROR;
763 END IF;
764 END IF; --Commented end if moved here as part of fix for bug#2174201
765
766 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.salesrep_id,p_old_Line_Scredit_rec.salesrep_id)
767 THEN
768 -- Add delayed request to cascade changes to service lines.
769 OE_Delayed_Requests_Pvt.Log_Request
770 (p_entity_code=>OE_GLOBALS.G_ENTITY_Line_Scredit
771 ,p_entity_id=>p_x_Line_Scredit_rec.sales_credit_id
772 ,p_requesting_entity_code=>OE_GLOBALS.G_ENTITY_Line_Scredit
773 ,p_requesting_entity_id=>p_x_Line_Scredit_rec.sales_credit_id
774 ,p_request_type=>OE_GLOBALS.G_CASCADE_SERVICE_SCREDIT
775 ,p_param8 => to_char(p_x_Line_Scredit_rec.Line_id)
776 ,p_param1 => to_char(p_x_Line_Scredit_rec.salesrep_id)
777 ,p_param2 => to_char(p_old_Line_Scredit_rec.salesrep_id)
778 ,p_param3 => to_char(p_x_Line_Scredit_rec.Sales_credit_type_id)
779 ,p_param4 => to_char(p_old_Line_Scredit_rec.Sales_credit_type_id)
780 ,p_param5 => to_char(p_x_Line_Scredit_rec.percent)
781 ,p_param6 => to_char(p_old_Line_Scredit_rec.percent)
782 ,p_param7 => p_x_Line_Scredit_rec.operation
783 ,x_return_status =>l_return_status);
784
785 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
786 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
787 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
788 RAISE FND_API.G_EXC_ERROR;
789 END IF;
790
791 --SG{
792 IF OE_ORDER_CACHE.G_HEADER_REC.header_id IS NULL THEN
793 --header not available in cache, load info to cache
794 IF p_x_line_Scredit_rec.line_Id IS NOT NULL THEN
795 OE_ORDER_CACHE.Load_Order_Header(p_x_line_Scredit_rec.Header_Id);
796 ELSE
797 oe_debug_pub.add(' Warning:Null header_id for header sales credits');
798 END IF;
799 END IF;
800
801 IF OE_ORDER_CACHE.G_HEADER_REC.booked_flag = 'Y' THEN
802 l_sg_date := OE_ORDER_CACHE.G_HEADER_REC.booked_date;
803 ELSE
804 l_sg_date := OE_ORDER_CACHE.G_HEADER_REC.ordered_date;
805 END IF;
806
807 --5692017
808 IF p_x_line_Scredit_rec.operation = oe_globals.g_opr_create AND
809 p_x_line_Scredit_rec.sales_group_id IS NOT NULL AND
810 nvl(p_x_line_Scredit_rec.sales_group_updated_flag,'N') = 'Y' THEN
811 oe_debug_pub.add('do not re-default sales group');
812 ELSE
813 --5692017
814 OE_Header_Scredit_Util.Get_Sales_Group(p_date => l_sg_date,
815 p_sales_rep_id =>p_x_line_Scredit_rec.salesrep_id,
816 x_sales_group_id=>p_x_line_Scredit_rec.sales_group_id,
817 x_return_status =>l_status);
818 END IF; --5692017
819 --SG}
820
821 END IF;
822
823
824 --SG{
825 IF nvl(p_x_line_Scredit_rec.sales_group_updated_flag,'N') <> 'Y'
826 AND nvl(p_x_line_Scredit_rec.salesrep_id,FND_API.G_MISS_NUM)<>FND_API.G_MISS_NUM
827 THEN
828
829 IF OE_ORDER_CACHE.G_HEADER_REC.header_id IS NULL THEN
830 --header not available in cache, load info to cache
831 IF p_x_line_Scredit_rec.Header_Id IS NOT NULL THEN
832 OE_ORDER_CACHE.Load_Order_Header(p_x_line_Scredit_rec.Header_Id);
833 ELSE
834 oe_debug_pub.add(' Warning:Null header_id for header sales credits');
835 END IF;
836 END IF;
837
838 IF OE_ORDER_CACHE.G_HEADER_REC.booked_flag = 'Y' THEN
839 l_sg_date := OE_ORDER_CACHE.G_HEADER_REC.booked_date;
840 ELSE
841 l_sg_date := OE_ORDER_CACHE.G_HEADER_REC.ordered_date;
842 END IF;
843
844 oe_debug_pub.add('Before getting sales group--line');
845 OE_Header_Scredit_Util.Get_Sales_Group(p_date => l_sg_date,
846 p_sales_rep_id =>p_x_line_Scredit_rec.salesrep_id,
847 x_sales_group_id=>p_x_line_Scredit_rec.sales_group_id,
848 x_return_status =>l_status);
849 END IF;
850 --SG}
851
852 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.sales_credit_type_id ,p_old_Line_Scredit_rec.sales_credit_type_id)
853 THEN
854 NULL;
855 END IF;
856
857 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.sales_credit_id,p_old_Line_Scredit_rec.sales_credit_id)
858 THEN
859 NULL;
860 END IF;
861
862 IF NOT OE_GLOBALS.Equal(p_x_Line_Scredit_rec.wh_update_date,p_old_Line_Scredit_rec.wh_update_date)
863 THEN
864 NULL;
865 END IF;
866
867 IF l_debug_level > 0 THEN
868 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.APPLY_ATTRIBUTE_CHANGES' , 1 ) ;
869 END IF;
870
871 END Apply_Attribute_Changes;
872
873 -- Function Complete_Record
874
875 PROCEDURE Complete_Record
876 ( p_x_Line_Scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
877 , p_old_Line_Scredit_rec IN OE_Order_PUB.Line_Scredit_Rec_Type
878 )
879 IS
880 --
881 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
882 --
883 BEGIN
884
885 IF l_debug_level > 0 THEN
886 oe_debug_pub.add( 'ENTERING OE_LINE_SCREDIT_UTIL.COMPLETE_RECORD' , 1 ) ;
887 END IF;
888
889 IF p_x_Line_Scredit_rec.attribute1 = FND_API.G_MISS_CHAR THEN
890 p_x_Line_Scredit_rec.attribute1 := p_old_Line_Scredit_rec.attribute1;
891 END IF;
892
893 IF p_x_Line_Scredit_rec.attribute10 = FND_API.G_MISS_CHAR THEN
894 p_x_Line_Scredit_rec.attribute10 := p_old_Line_Scredit_rec.attribute10;
895 END IF;
896
897 IF p_x_Line_Scredit_rec.attribute11 = FND_API.G_MISS_CHAR THEN
898 p_x_Line_Scredit_rec.attribute11 := p_old_Line_Scredit_rec.attribute11;
899 END IF;
900
901 IF p_x_Line_Scredit_rec.attribute12 = FND_API.G_MISS_CHAR THEN
902 p_x_Line_Scredit_rec.attribute12 := p_old_Line_Scredit_rec.attribute12;
903 END IF;
904
905 IF p_x_Line_Scredit_rec.attribute13 = FND_API.G_MISS_CHAR THEN
906 p_x_Line_Scredit_rec.attribute13 := p_old_Line_Scredit_rec.attribute13;
907 END IF;
908
909 IF p_x_Line_Scredit_rec.attribute14 = FND_API.G_MISS_CHAR THEN
910 p_x_Line_Scredit_rec.attribute14 := p_old_Line_Scredit_rec.attribute14;
911 END IF;
912
913 IF p_x_Line_Scredit_rec.attribute15 = FND_API.G_MISS_CHAR THEN
914 p_x_Line_Scredit_rec.attribute15 := p_old_Line_Scredit_rec.attribute15;
915 END IF;
916
917 IF p_x_Line_Scredit_rec.attribute2 = FND_API.G_MISS_CHAR THEN
918 p_x_Line_Scredit_rec.attribute2 := p_old_Line_Scredit_rec.attribute2;
919 END IF;
920
921 IF p_x_Line_Scredit_rec.attribute3 = FND_API.G_MISS_CHAR THEN
922 p_x_Line_Scredit_rec.attribute3 := p_old_Line_Scredit_rec.attribute3;
923 END IF;
924
925 IF p_x_Line_Scredit_rec.attribute4 = FND_API.G_MISS_CHAR THEN
926 p_x_Line_Scredit_rec.attribute4 := p_old_Line_Scredit_rec.attribute4;
927 END IF;
928
929 IF p_x_Line_Scredit_rec.attribute5 = FND_API.G_MISS_CHAR THEN
930 p_x_Line_Scredit_rec.attribute5 := p_old_Line_Scredit_rec.attribute5;
931 END IF;
932
933 IF p_x_Line_Scredit_rec.attribute6 = FND_API.G_MISS_CHAR THEN
934 p_x_Line_Scredit_rec.attribute6 := p_old_Line_Scredit_rec.attribute6;
935 END IF;
936
937 IF p_x_Line_Scredit_rec.attribute7 = FND_API.G_MISS_CHAR THEN
938 p_x_Line_Scredit_rec.attribute7 := p_old_Line_Scredit_rec.attribute7;
939 END IF;
940
941 IF p_x_Line_Scredit_rec.attribute8 = FND_API.G_MISS_CHAR THEN
942 p_x_Line_Scredit_rec.attribute8 := p_old_Line_Scredit_rec.attribute8;
943 END IF;
944
945 IF p_x_Line_Scredit_rec.attribute9 = FND_API.G_MISS_CHAR THEN
946 p_x_Line_Scredit_rec.attribute9 := p_old_Line_Scredit_rec.attribute9;
947 END IF;
948
949 IF p_x_Line_Scredit_rec.context = FND_API.G_MISS_CHAR THEN
950 p_x_Line_Scredit_rec.context := p_old_Line_Scredit_rec.context;
951 END IF;
952
953 IF p_x_Line_Scredit_rec.created_by = FND_API.G_MISS_NUM THEN
954 p_x_Line_Scredit_rec.created_by := p_old_Line_Scredit_rec.created_by;
955 END IF;
956
957 IF p_x_Line_Scredit_rec.creation_date = FND_API.G_MISS_DATE THEN
958 p_x_Line_Scredit_rec.creation_date := p_old_Line_Scredit_rec.creation_date;
959 END IF;
960
961 IF p_x_Line_Scredit_rec.dw_update_advice_flag = FND_API.G_MISS_CHAR THEN
962 p_x_Line_Scredit_rec.dw_update_advice_flag := p_old_Line_Scredit_rec.dw_update_advice_flag;
963 END IF;
964
965 IF p_x_Line_Scredit_rec.header_id = FND_API.G_MISS_NUM THEN
966 p_x_Line_Scredit_rec.header_id := p_old_Line_Scredit_rec.header_id;
967 END IF;
968
969 IF p_x_Line_Scredit_rec.last_updated_by = FND_API.G_MISS_NUM THEN
970 p_x_Line_Scredit_rec.last_updated_by := p_old_Line_Scredit_rec.last_updated_by;
971 END IF;
972
973 IF p_x_Line_Scredit_rec.last_update_date = FND_API.G_MISS_DATE THEN
974 p_x_Line_Scredit_rec.last_update_date := p_old_Line_Scredit_rec.last_update_date;
975 END IF;
976
977 IF p_x_Line_Scredit_rec.last_update_login = FND_API.G_MISS_NUM THEN
978 p_x_Line_Scredit_rec.last_update_login := p_old_Line_Scredit_rec.last_update_login;
979 END IF;
980
981 IF p_x_Line_Scredit_rec.line_id = FND_API.G_MISS_NUM THEN
982 p_x_Line_Scredit_rec.line_id := p_old_Line_Scredit_rec.line_id;
983 END IF;
984
985 IF p_x_Line_Scredit_rec.percent = FND_API.G_MISS_NUM THEN
986 p_x_Line_Scredit_rec.percent := p_old_Line_Scredit_rec.percent;
987 END IF;
988
989
990 IF p_x_Line_Scredit_rec.salesrep_id = FND_API.G_MISS_NUM THEN
991 p_x_Line_Scredit_rec.salesrep_id := p_old_Line_Scredit_rec.salesrep_id;
992 END IF;
993 IF p_x_Line_Scredit_rec.sales_credit_type_id = FND_API.G_MISS_NUM THEN
994 p_x_Line_Scredit_rec.sales_credit_type_id := p_old_Line_Scredit_rec.sales_credit_type_id;
995 END IF;
996
997 IF p_x_Line_Scredit_rec.sales_credit_id = FND_API.G_MISS_NUM THEN
998 p_x_Line_Scredit_rec.sales_credit_id := p_old_Line_Scredit_rec.sales_credit_id;
999 END IF;
1000
1001 IF p_x_Line_Scredit_rec.wh_update_date = FND_API.G_MISS_DATE THEN
1002 p_x_Line_Scredit_rec.wh_update_date := p_old_Line_Scredit_rec.wh_update_date;
1003 END IF;
1004
1005 IF l_debug_level > 0 THEN
1006 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.COMPLETE_RECORD' , 1 ) ;
1007 END IF;
1008
1009 END Complete_Record;
1010
1011 -- Function Convert_Miss_To_Null
1012
1013 PROCEDURE Convert_Miss_To_Null
1014 ( p_x_Line_Scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
1015 )
1016 IS
1017 --
1018 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1019 --
1020 BEGIN
1021
1022 IF l_debug_level > 0 THEN
1023 oe_debug_pub.add( 'ENTERING OE_LINE_SCREDIT_UTIL.CONVERT_MISS_TO_NULL' , 1 ) ;
1024 END IF;
1025
1026 IF p_x_Line_Scredit_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1027 p_x_Line_Scredit_rec.attribute1 := NULL;
1028 END IF;
1029
1030 IF p_x_Line_Scredit_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1031 p_x_Line_Scredit_rec.attribute10 := NULL;
1032 END IF;
1033
1034 IF p_x_Line_Scredit_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1035 p_x_Line_Scredit_rec.attribute11 := NULL;
1036 END IF;
1037
1038 IF p_x_Line_Scredit_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1039 p_x_Line_Scredit_rec.attribute12 := NULL;
1040 END IF;
1041
1042 IF p_x_Line_Scredit_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1043 p_x_Line_Scredit_rec.attribute13 := NULL;
1044 END IF;
1045
1046 IF p_x_Line_Scredit_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1047 p_x_Line_Scredit_rec.attribute14 := NULL;
1048 END IF;
1049
1050 IF p_x_Line_Scredit_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1051 p_x_Line_Scredit_rec.attribute15 := NULL;
1052 END IF;
1053
1054 IF p_x_Line_Scredit_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1055 p_x_Line_Scredit_rec.attribute2 := NULL;
1056 END IF;
1057
1058 IF p_x_Line_Scredit_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1059 p_x_Line_Scredit_rec.attribute3 := NULL;
1060 END IF;
1061
1062 IF p_x_Line_Scredit_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1063 p_x_Line_Scredit_rec.attribute4 := NULL;
1064 END IF;
1065
1066 IF p_x_Line_Scredit_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1067 p_x_Line_Scredit_rec.attribute5 := NULL;
1068 END IF;
1069
1070 IF p_x_Line_Scredit_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1071 p_x_Line_Scredit_rec.attribute6 := NULL;
1072 END IF;
1073
1074 IF p_x_Line_Scredit_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1075 p_x_Line_Scredit_rec.attribute7 := NULL;
1076 END IF;
1077
1078 IF p_x_Line_Scredit_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1079 p_x_Line_Scredit_rec.attribute8 := NULL;
1080 END IF;
1081
1082 IF p_x_Line_Scredit_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1083 p_x_Line_Scredit_rec.attribute9 := NULL;
1084 END IF;
1085
1086 IF p_x_Line_Scredit_rec.context = FND_API.G_MISS_CHAR THEN
1087 p_x_Line_Scredit_rec.context := NULL;
1088 END IF;
1089
1090 IF p_x_Line_Scredit_rec.created_by = FND_API.G_MISS_NUM THEN
1091 p_x_Line_Scredit_rec.created_by := NULL;
1092 END IF;
1093
1094 IF p_x_Line_Scredit_rec.creation_date = FND_API.G_MISS_DATE THEN
1095 p_x_Line_Scredit_rec.creation_date := NULL;
1096 END IF;
1097
1098 IF p_x_Line_Scredit_rec.dw_update_advice_flag = FND_API.G_MISS_CHAR THEN
1099 p_x_Line_Scredit_rec.dw_update_advice_flag := NULL;
1100 END IF;
1101
1102 IF p_x_Line_Scredit_rec.header_id = FND_API.G_MISS_NUM THEN
1103 p_x_Line_Scredit_rec.header_id := NULL;
1104 END IF;
1105
1106 IF p_x_Line_Scredit_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1107 p_x_Line_Scredit_rec.last_updated_by := NULL;
1108 END IF;
1109
1110 IF p_x_Line_Scredit_rec.last_update_date = FND_API.G_MISS_DATE THEN
1111 p_x_Line_Scredit_rec.last_update_date := NULL;
1112 END IF;
1113
1114 IF p_x_Line_Scredit_rec.last_update_login = FND_API.G_MISS_NUM THEN
1115 p_x_Line_Scredit_rec.last_update_login := NULL;
1116 END IF;
1117
1118 IF p_x_Line_Scredit_rec.line_id = FND_API.G_MISS_NUM THEN
1119 p_x_Line_Scredit_rec.line_id := NULL;
1120 END IF;
1121
1122 IF p_x_Line_Scredit_rec.percent = FND_API.G_MISS_NUM THEN
1123 p_x_Line_Scredit_rec.percent := NULL;
1124 END IF;
1125
1126
1127 IF p_x_Line_Scredit_rec.salesrep_id = FND_API.G_MISS_NUM THEN
1128 p_x_Line_Scredit_rec.salesrep_id := NULL;
1129 END IF;
1130 IF p_x_Line_Scredit_rec.sales_credit_type_id = FND_API.G_MISS_NUM THEN
1131 p_x_Line_Scredit_rec.sales_credit_type_id := NULL;
1132 END IF;
1133
1134 IF p_x_Line_Scredit_rec.sales_credit_id = FND_API.G_MISS_NUM THEN
1135 p_x_Line_Scredit_rec.sales_credit_id := NULL;
1136 END IF;
1137
1138 IF p_x_Line_Scredit_rec.wh_update_date = FND_API.G_MISS_DATE THEN
1139 p_x_Line_Scredit_rec.wh_update_date := NULL;
1140 END IF;
1141
1142 IF l_debug_level > 0 THEN
1143 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.CONVERT_MISS_TO_NULL' , 1 ) ;
1144 END IF;
1145
1146 END Convert_Miss_To_Null;
1147
1148 -- Procedure Update_Row
1149
1150 PROCEDURE Update_Row
1151 ( p_Line_Scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
1152 )
1153 IS
1154 l_lock_control NUMBER;
1155 /* jolin start*/
1156 --added for notification framework
1157 l_Line_scredit_rec OE_Order_PUB.Line_scredit_Rec_Type;
1158 l_index NUMBER;
1159 l_return_status VARCHAR2(1);
1160 /* jolin end*/
1161
1162 --
1163 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1164 --
1165 BEGIN
1166
1167 IF l_debug_level > 0 THEN
1168 oe_debug_pub.add( 'ENTERING OE_LINE_SCREDIT_UTIL.UPDATE_ROW' , 1 ) ;
1169 END IF;
1170
1171 SELECT lock_control
1172 INTO l_lock_control
1173 FROM OE_SALES_CREDITS
1174 WHERE sales_credit_id = p_Line_Scredit_rec.sales_credit_id;
1175
1176 l_lock_control := l_lock_control + 1;
1177
1178
1179 /* jolin start*/
1180 --added query_row for notification framework
1181 --before update, query sales credit record, this record will be used
1182 --to update global picture
1183
1184 OE_LINE_SCREDIT_UTIL.Query_Row(p_sales_credit_id => p_line_scredit_rec.sales_credit_id,
1185 x_line_scredit_rec =>l_line_scredit_rec);
1186 IF l_debug_level > 0 THEN
1187 oe_debug_pub.add( 'BEFORE UPDATE , SALES_CREDIT_ID= '|| L_LINE_SCREDIT_REC.SALES_CREDIT_ID , 1 ) ;
1188 END IF;
1189 /* jolin end*/
1190
1191 UPDATE OE_SALES_CREDITS
1192 SET ATTRIBUTE1 = p_Line_Scredit_rec.attribute1
1193 , ATTRIBUTE10 = p_Line_Scredit_rec.attribute10
1194 , ATTRIBUTE11 = p_Line_Scredit_rec.attribute11
1195 , ATTRIBUTE12 = p_Line_Scredit_rec.attribute12
1196 , ATTRIBUTE13 = p_Line_Scredit_rec.attribute13
1197 , ATTRIBUTE14 = p_Line_Scredit_rec.attribute14
1198 , ATTRIBUTE15 = p_Line_Scredit_rec.attribute15
1199 , ATTRIBUTE2 = p_Line_Scredit_rec.attribute2
1200 , ATTRIBUTE3 = p_Line_Scredit_rec.attribute3
1201 , ATTRIBUTE4 = p_Line_Scredit_rec.attribute4
1202 , ATTRIBUTE5 = p_Line_Scredit_rec.attribute5
1203 , ATTRIBUTE6 = p_Line_Scredit_rec.attribute6
1204 , ATTRIBUTE7 = p_Line_Scredit_rec.attribute7
1205 , ATTRIBUTE8 = p_Line_Scredit_rec.attribute8
1206 , ATTRIBUTE9 = p_Line_Scredit_rec.attribute9
1207 , CONTEXT = p_Line_Scredit_rec.context
1208 , CREATED_BY = p_Line_Scredit_rec.created_by
1209 , CREATION_DATE = p_Line_Scredit_rec.creation_date
1210 , DW_UPDATE_ADVICE_FLAG = p_Line_Scredit_rec.dw_update_advice_flag
1211 , HEADER_ID = p_Line_Scredit_rec.header_id
1212 , LAST_UPDATED_BY = p_Line_Scredit_rec.last_updated_by
1213 , LAST_UPDATE_DATE = p_Line_Scredit_rec.last_update_date
1214 , LAST_UPDATE_LOGIN = p_Line_Scredit_rec.last_update_login
1215 , LINE_ID = p_Line_Scredit_rec.line_id
1216 , PERCENT = p_Line_Scredit_rec.percent
1217 , SALESREP_ID = p_Line_Scredit_rec.salesrep_id
1218 , sales_credit_type_id = p_Line_Scredit_rec.sales_credit_type_id
1219 , SALES_CREDIT_ID = p_Line_Scredit_rec.sales_credit_id
1220 , WH_UPDATE_DATE = p_Line_Scredit_rec.wh_update_date
1221 , LOCK_CONTROL = l_lock_control
1222 --SG{
1223 , sales_group_id = p_line_Scredit_rec.sales_group_id
1224 , sales_group_updated_flag = p_line_Scredit_rec.sales_group_updated_flag
1225 --SG}
1226 WHERE SALES_CREDIT_ID = p_Line_Scredit_rec.sales_credit_id
1227 ;
1228
1229 p_Line_Scredit_rec.lock_control := l_lock_control;
1230
1231 /* jolin start*/
1232 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
1233 -- calling notification framework to update global picture
1234
1235 IF l_debug_level > 0 THEN
1236 oe_debug_pub.add( 'AFTER UPDATE , OLD SALES CREDIT ID= ' || L_LINE_SCREDIT_REC.SALES_CREDIT_ID ) ;
1237 END IF;
1238 IF l_debug_level > 0 THEN
1239 oe_debug_pub.add( 'AFTER UPDATE , NEW SALES CREDIT ID= ' || P_LINE_SCREDIT_REC.SALES_CREDIT_ID ) ;
1240 END IF;
1241
1242 OE_ORDER_UTIL.Update_Global_Picture
1243 (p_Upd_New_Rec_If_Exists =>True,
1244 p_line_scr_rec => p_line_scredit_rec,
1245 p_old_line_scr_rec => l_line_scredit_rec,
1246 p_line_scr_id => p_line_scredit_rec.sales_credit_id,
1247 x_index => l_index,
1248 x_return_status => l_return_status);
1249
1250 IF l_debug_level > 0 THEN
1251 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_LINE_SCREDIT_UTIL.UPDATE_ROW IS: ' || L_RETURN_STATUS ) ;
1252 END IF;
1253
1254 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1255 IF l_debug_level > 0 THEN
1256 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
1257 END IF;
1258 IF l_debug_level > 0 THEN
1259 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.UPDATE_ROW' , 1 ) ;
1260 END IF;
1261 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1262 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1263 IF l_debug_level > 0 THEN
1264 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_LINE_SCREDIT_UTIL.UPDATE_ROW' ) ;
1265 END IF;
1266 IF l_debug_level > 0 THEN
1267 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.UPDATE_ROW' , 1 ) ;
1268 END IF;
1269 RAISE FND_API.G_EXC_ERROR;
1270 END IF;
1271 -- notification framework end
1272 END IF; /* code set is pack H or higher */
1273 /* jolin end*/
1274
1275 IF l_debug_level > 0 THEN
1276 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.UPDATE_ROW' , 1 ) ;
1277 END IF;
1278
1279 EXCEPTION
1280
1281 WHEN OTHERS THEN
1282
1283 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1284 THEN
1285 oe_msg_pub.Add_Exc_Msg
1286 ( G_PKG_NAME
1287 , 'Update_Row'
1288 );
1289 END IF;
1290
1291 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1292
1293 END Update_Row;
1294
1295 -- Procedure Insert_Row
1296
1297 PROCEDURE Insert_Row
1298 ( p_Line_Scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
1299 )
1300 IS
1301 l_lock_control NUMBER:= 1;
1302 /* jolin start*/
1303 --added for notification framework
1304 l_index NUMBER;
1305 l_return_status VARCHAR2(1);
1306 /* jolin end*/
1307
1308 --
1309 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1310 --
1311 BEGIN
1312
1313 IF l_debug_level > 0 THEN
1314 oe_debug_pub.add( 'ENTERING OE_LINE_SCREDIT_UTIL.INSERT_ROW' , 1 ) ;
1315 END IF;
1316
1317 INSERT INTO OE_SALES_CREDITS
1318 ( ATTRIBUTE1
1319 , ATTRIBUTE10
1320 , ATTRIBUTE11
1321 , ATTRIBUTE12
1322 , ATTRIBUTE13
1323 , ATTRIBUTE14
1324 , ATTRIBUTE15
1325 , ATTRIBUTE2
1326 , ATTRIBUTE3
1327 , ATTRIBUTE4
1328 , ATTRIBUTE5
1329 , ATTRIBUTE6
1330 , ATTRIBUTE7
1331 , ATTRIBUTE8
1332 , ATTRIBUTE9
1333 , CONTEXT
1334 , CREATED_BY
1335 , CREATION_DATE
1336 , DW_UPDATE_ADVICE_FLAG
1337 , HEADER_ID
1338 , LAST_UPDATED_BY
1339 , LAST_UPDATE_DATE
1340 , LAST_UPDATE_LOGIN
1341 , LINE_ID
1342 , PERCENT
1343 , SALESREP_ID
1344 , sales_credit_type_id
1345 , SALES_CREDIT_ID
1346 , WH_UPDATE_DATE
1347 , ORIG_SYS_CREDIT_REF
1348 --SG{
1349 , sales_group_id
1350 , sales_group_updated_flag
1351 --SG}
1352 , LOCK_CONTROL
1353 )
1354 VALUES
1355 ( p_Line_Scredit_rec.attribute1
1356 , p_Line_Scredit_rec.attribute10
1357 , p_Line_Scredit_rec.attribute11
1358 , p_Line_Scredit_rec.attribute12
1359 , p_Line_Scredit_rec.attribute13
1360 , p_Line_Scredit_rec.attribute14
1361 , p_Line_Scredit_rec.attribute15
1362 , p_Line_Scredit_rec.attribute2
1363 , p_Line_Scredit_rec.attribute3
1364 , p_Line_Scredit_rec.attribute4
1365 , p_Line_Scredit_rec.attribute5
1366 , p_Line_Scredit_rec.attribute6
1367 , p_Line_Scredit_rec.attribute7
1368 , p_Line_Scredit_rec.attribute8
1369 , p_Line_Scredit_rec.attribute9
1370 , p_Line_Scredit_rec.context
1371 , p_Line_Scredit_rec.created_by
1372 , p_Line_Scredit_rec.creation_date
1373 , p_Line_Scredit_rec.dw_update_advice_flag
1374 , p_Line_Scredit_rec.header_id
1375 , p_Line_Scredit_rec.last_updated_by
1376 , p_Line_Scredit_rec.last_update_date
1377 , p_Line_Scredit_rec.last_update_login
1378 , p_Line_Scredit_rec.line_id
1379 , p_Line_Scredit_rec.percent
1380 , p_Line_Scredit_rec.salesrep_id
1381 , p_Line_Scredit_rec.sales_credit_type_id
1382 , p_Line_Scredit_rec.sales_credit_id
1383 , p_Line_Scredit_rec.wh_update_date
1384 , p_Line_Scredit_rec.orig_sys_credit_ref
1385 --SG{
1386 , p_line_scredit_rec.sales_group_id
1387 , p_line_scredit_rec.sales_group_updated_flag
1388 --SG}
1389 , l_lock_control
1390 );
1391
1392 p_Line_Scredit_rec.lock_control := l_lock_control;
1393
1394 /* jolin start*/
1395 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
1396 -- calling notification framework to update global picture
1397
1398 OE_ORDER_UTIL.Update_Global_Picture
1399 (p_Upd_New_Rec_If_Exists =>True,
1400 p_line_scr_rec => p_line_scredit_rec,
1401 p_old_line_scr_rec => NULL,
1402 p_line_scr_id => p_line_scredit_rec.sales_credit_id,
1403 x_index => l_index,
1404 x_return_status => l_return_status);
1405
1406 IF l_debug_level > 0 THEN
1407 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_LINE_SCREDIT_UTIL.INSERT_ROW IS: ' || L_RETURN_STATUS ) ;
1408 END IF;
1409 IF l_debug_level > 0 THEN
1410 oe_debug_pub.add( 'RETURNED INDEX IS: ' || L_INDEX , 1 ) ;
1411 END IF;
1412
1413 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1414 IF l_debug_level > 0 THEN
1415 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
1416 END IF;
1417 IF l_debug_level > 0 THEN
1418 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.INSERT_ROW' , 1 ) ;
1419 END IF;
1420 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1421 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1422 IF l_debug_level > 0 THEN
1423 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_LINE_SCREDIT_UTIL.INSERT_ROW' ) ;
1424 END IF;
1425 IF l_debug_level > 0 THEN
1426 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.INSERT_ROW' , 1 ) ;
1427 END IF;
1428 RAISE FND_API.G_EXC_ERROR;
1429 END IF;
1430 -- notification framework end
1431 END IF; /* code set is pack H or higher */
1432 /* jolin end*/
1433
1434 IF l_debug_level > 0 THEN
1435 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.INSERT_ROW' , 1 ) ;
1436 END IF;
1437
1438 EXCEPTION
1439
1440 WHEN OTHERS THEN
1441
1442 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1443 THEN
1444 oe_msg_pub.Add_Exc_Msg
1445 ( G_PKG_NAME
1446 , 'Insert_Row'
1447 );
1448 END IF;
1449
1450 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1451
1452 END Insert_Row;
1453
1454 -- Procedure Delete_Row
1455
1456 PROCEDURE Delete_Row
1457 ( p_sales_credit_id IN NUMBER :=
1458 FND_API.G_MISS_NUM
1459 , p_line_id IN NUMBER :=
1460 FND_API.G_MISS_NUM
1461 )
1462 IS
1463 l_return_status VARCHAR2(30);
1464 /* jolin start*/
1465 --added for notification framework
1466 l_Line_scredit_rec OE_Order_PUB.Line_scredit_Rec_Type;
1467 l_new_Line_scredit_rec OE_Order_PUB.Line_scredit_Rec_Type;
1468 l_index NUMBER;
1469 /* jolin end*/
1470
1471 CURSOR sales_credit IS
1472 SELECT sales_credit_id
1473 FROM OE_SALES_CREDITS
1474 WHERE LINE_ID = p_line_id;
1475 --
1476 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1477 --
1478 BEGIN
1479
1480 IF l_debug_level > 0 THEN
1481 oe_debug_pub.add( 'ENTERING OE_LINE_SCREDIT_UTIL.DELETE_ROW' , 1 ) ;
1482 END IF;
1483
1484 IF p_line_id <> FND_API.G_MISS_NUM
1485 THEN
1486 FOR l_scr IN sales_credit LOOP
1487
1488 /* jolin start*/
1489 --added for notification framework
1490 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
1491 --query line scredit record, then call notification framework to update global picture.
1492 OE_LINE_SCREDIT_UTIL.Query_Row(p_sales_credit_id => l_scr.sales_credit_id,
1493 x_line_scredit_rec =>l_line_scredit_rec);
1494
1495 IF l_debug_level > 0 THEN
1496 oe_debug_pub.add( 'IN DELETE ROW , SALES_CREDIT_ID= '|| L_SCR.SALES_CREDIT_ID , 1 ) ;
1497 END IF;
1498
1499 /* Set the operation on the record so that globals are updated as well */
1500 l_new_line_scredit_rec.operation := OE_GLOBALS.G_OPR_DELETE;
1501 l_new_line_scredit_rec.sales_credit_id := l_scr.sales_credit_id;
1502
1503 OE_ORDER_UTIL.Update_Global_Picture
1504 (p_Upd_New_Rec_If_Exists =>True,
1505 p_line_scr_rec => l_new_line_scredit_rec,
1506 p_old_line_scr_rec => l_line_scredit_rec,
1507 p_line_scr_id => l_scr.sales_credit_id,
1508 x_index => l_index,
1509 x_return_status => l_return_status);
1510
1511 IF l_debug_level > 0 THEN
1512 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_LINE_SCREDIT_UTIL.DELETE_ROW IS: ' || L_RETURN_STATUS ) ;
1513 END IF;
1514
1515 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1516 IF l_debug_level > 0 THEN
1517 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
1518 END IF;
1519 IF l_debug_level > 0 THEN
1520 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.DELETE_ROW' , 1 ) ;
1521 END IF;
1522 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1523 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1524 IF l_debug_level > 0 THEN
1525 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_LINE_SCREDIT_UTIL.DELETE_ROW' ) ;
1526 END IF;
1527 IF l_debug_level > 0 THEN
1528 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.DELETE_ROW' , 1 ) ;
1529 END IF;
1530 RAISE FND_API.G_EXC_ERROR;
1531 END IF;
1532
1533 -- notification framework end
1534 END IF; /* code set is pack H or higher */
1535 /* jolin end*/
1536
1537 OE_Delayed_Requests_Pvt.Delete_Reqs_for_Deleted_Entity(
1538 p_entity_code => OE_GLOBALS.G_ENTITY_LINE_SCREDIT,
1539 p_entity_id => l_scr.sales_credit_id,
1540 x_return_status => l_return_status
1541 );
1542
1543 END LOOP;
1544
1545 /* Start Audit Trail (modified for 11.5.10) */
1546 DELETE FROM OE_SALES_CREDIT_HISTORY
1547 WHERE LINE_ID = p_line_id
1548 AND NVL(AUDIT_FLAG, 'Y') = 'Y'
1549 AND NVL(VERSION_FLAG, 'N') = 'N'
1550 AND NVL(PHASE_CHANGE_FLAG, 'N') = 'N';
1551
1552 UPDATE OE_SALES_CREDIT_HISTORY
1553 SET AUDIT_FLAG = 'N'
1554 WHERE LINE_ID = p_line_id
1555 AND NVL(AUDIT_FLAG, 'Y') = 'Y'
1556 AND (NVL(VERSION_FLAG, 'N') = 'Y'
1557 OR NVL(PHASE_CHANGE_FLAG, 'N') = 'Y');
1558 /* End Audit Trail */
1559
1560 DELETE FROM OE_SALES_CREDITS
1561 WHERE LINE_ID = p_line_id;
1562
1563 ELSE
1564
1565 /* jolin start*/
1566 --added for notification framework
1567 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
1568 --query line scredit record, then call notification framework to update global picture.
1569 OE_LINE_SCREDIT_UTIL.Query_Row(p_sales_credit_id => p_sales_credit_id,
1570 x_line_scredit_rec =>l_line_scredit_rec);
1571
1572 IF l_debug_level > 0 THEN
1573 oe_debug_pub.add( 'IN DELETE ROW , LINE_ID IS G_MISS_NUM , SALES_CREDIT_ID= '|| P_SALES_CREDIT_ID , 1 ) ;
1574 END IF;
1575
1576 /* Set the operation on the record so that globals are updated as well */
1577 l_new_line_scredit_rec.operation := OE_GLOBALS.G_OPR_DELETE;
1578 l_new_line_scredit_rec.sales_credit_id := p_sales_credit_id;
1579
1580 OE_ORDER_UTIL.Update_Global_Picture(
1581 p_Upd_New_Rec_If_Exists => True,
1582 p_line_scr_rec => l_new_line_scredit_rec,
1583 p_old_line_scr_rec => l_line_scredit_rec,
1584 p_line_scr_id => p_sales_credit_id,
1585 x_index => l_index,
1586 x_return_status => l_return_status);
1587
1588 IF l_debug_level > 0 THEN
1589 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_LINE_SCREDIT_UTIL.DELETE_ROW IS: ' || L_RETURN_STATUS ) ;
1590 END IF;
1591
1592 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1593 IF l_debug_level > 0 THEN
1594 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
1595 END IF;
1596 IF l_debug_level > 0 THEN
1597 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.DELETE_ROW' , 1 ) ;
1598 END IF;
1599 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1600 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1601 IF l_debug_level > 0 THEN
1602 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_LINE_SCREDIT_UTIL.DELETE_ROW' ) ;
1603 END IF;
1604 IF l_debug_level > 0 THEN
1605 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.DELETE_ROW' , 1 ) ;
1606 END IF;
1607 RAISE FND_API.G_EXC_ERROR;
1608 END IF;
1609
1610 -- notification framework end
1611 END IF; /* code set is pack H or higher */
1612 /* jolin end*/
1613
1614 OE_Delayed_Requests_Pvt.Delete_Reqs_for_Deleted_Entity(
1615 p_entity_code => OE_GLOBALS.G_ENTITY_LINE_SCREDIT,
1616 p_entity_id => p_sales_credit_id,
1617 x_return_status => l_return_status
1618 );
1619
1620 /* Start Audit Trail (modified for 11.5.10)*/
1621 DELETE FROM OE_SALES_CREDIT_HISTORY
1622 WHERE SALES_CREDIT_ID = p_sales_credit_id
1623 AND NVL(AUDIT_FLAG, 'Y') = 'Y'
1624 AND NVL(VERSION_FLAG, 'N') = 'N'
1625 AND NVL(PHASE_CHANGE_FLAG, 'N') = 'N';
1626
1627 UPDATE OE_SALES_CREDIT_HISTORY
1628 SET AUDIT_FLAG = 'N'
1629 WHERE SALES_CREDIT_ID = p_sales_credit_id
1630 AND NVL(AUDIT_FLAG, 'Y') = 'Y'
1631 AND (NVL(VERSION_FLAG, 'N') = 'Y'
1632 OR NVL(PHASE_CHANGE_FLAG, 'N') = 'Y');
1633 /* End Audit Trail */
1634
1635 DELETE FROM OE_SALES_CREDITS
1636 WHERE SALES_CREDIT_ID = p_sales_credit_id
1637 ;
1638 END IF;
1639
1640 IF l_debug_level > 0 THEN
1641 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.DELETE_ROW' , 1 ) ;
1642 END IF;
1643
1644 EXCEPTION
1645
1646 WHEN OTHERS THEN
1647
1648 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1649 THEN
1650 oe_msg_pub.Add_Exc_Msg
1651 ( G_PKG_NAME
1652 , 'Delete_Row'
1653 );
1654 END IF;
1655
1656 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1657
1658 END Delete_Row;
1659
1660 -- PROCEDURE Query_Row
1661
1662 PROCEDURE Query_Row
1663 ( p_sales_credit_id IN NUMBER
1664 , x_Line_Scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
1665 )
1666 IS
1667 l_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
1668 --
1669 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1670 --
1671 BEGIN
1672
1673 IF l_debug_level > 0 THEN
1674 oe_debug_pub.add( 'ENTERING OE_LINE_SCREDIT_UTIL.QUERY_ROW' , 1 ) ;
1675 END IF;
1676
1677 Query_Rows
1678 ( p_sales_credit_id => p_sales_credit_id
1679 ,x_Line_Scredit_tbl => l_Line_Scredit_tbl
1680 );
1681 x_Line_Scredit_rec := l_Line_Scredit_tbl(1);
1682
1683 END Query_Row;
1684
1685 -- Function Query_Rows
1686
1687 --
1688
1689 PROCEDURE Query_Rows
1690 ( p_sales_credit_id IN NUMBER :=
1691 FND_API.G_MISS_NUM
1692 , p_line_id IN NUMBER :=
1693 FND_API.G_MISS_NUM
1694 , p_header_id IN NUMBER :=
1695 FND_API.G_MISS_NUM
1696 , x_Line_Scredit_tbl IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Tbl_Type
1697 )
1698 IS
1699
1700 CURSOR l_Line_Scredit_csr_s IS
1701 SELECT ATTRIBUTE1
1702 , ATTRIBUTE10
1703 , ATTRIBUTE11
1704 , ATTRIBUTE12
1705 , ATTRIBUTE13
1706 , ATTRIBUTE14
1707 , ATTRIBUTE15
1708 , ATTRIBUTE2
1709 , ATTRIBUTE3
1710 , ATTRIBUTE4
1711 , ATTRIBUTE5
1712 , ATTRIBUTE6
1713 , ATTRIBUTE7
1714 , ATTRIBUTE8
1715 , ATTRIBUTE9
1716 , CONTEXT
1717 , CREATED_BY
1718 , CREATION_DATE
1719 , DW_UPDATE_ADVICE_FLAG
1720 , HEADER_ID
1721 , LAST_UPDATED_BY
1722 , LAST_UPDATE_DATE
1723 , LAST_UPDATE_LOGIN
1724 , LINE_ID
1725 , PERCENT
1726 , SALESREP_ID
1727 , sales_credit_type_id
1728 , SALES_CREDIT_ID
1729 , WH_UPDATE_DATE
1730 --SG {
1731 , SALES_GROUP_ID
1732 , SALES_GROUP_UPDATED_FLAG
1733 --SG }
1734 , LOCK_CONTROL
1735 FROM OE_SALES_CREDITS
1736 WHERE SALES_CREDIT_ID = p_sales_credit_id;
1737
1738 CURSOR l_Line_Scredit_csr_l IS
1739 SELECT ATTRIBUTE1
1740 , ATTRIBUTE10
1741 , ATTRIBUTE11
1742 , ATTRIBUTE12
1743 , ATTRIBUTE13
1744 , ATTRIBUTE14
1745 , ATTRIBUTE15
1746 , ATTRIBUTE2
1747 , ATTRIBUTE3
1748 , ATTRIBUTE4
1749 , ATTRIBUTE5
1750 , ATTRIBUTE6
1751 , ATTRIBUTE7
1752 , ATTRIBUTE8
1753 , ATTRIBUTE9
1754 , CONTEXT
1755 , CREATED_BY
1756 , CREATION_DATE
1757 , DW_UPDATE_ADVICE_FLAG
1758 , HEADER_ID
1759 , LAST_UPDATED_BY
1760 , LAST_UPDATE_DATE
1761 , LAST_UPDATE_LOGIN
1762 , LINE_ID
1763 , PERCENT
1764 , SALESREP_ID
1765 , sales_credit_type_id
1766 , SALES_CREDIT_ID
1767 , WH_UPDATE_DATE
1768 --SG {
1769 , SALES_GROUP_ID
1770 , SALES_GROUP_UPDATED_FLAG
1771 --SG }
1772 , LOCK_CONTROL
1773 FROM OE_SALES_CREDITS
1774 WHERE LINE_ID = p_line_id;
1775
1776 CURSOR l_Line_Scredit_csr_h IS
1777 SELECT ATTRIBUTE1
1778 , ATTRIBUTE10
1779 , ATTRIBUTE11
1780 , ATTRIBUTE12
1781 , ATTRIBUTE13
1782 , ATTRIBUTE14
1783 , ATTRIBUTE15
1784 , ATTRIBUTE2
1785 , ATTRIBUTE3
1786 , ATTRIBUTE4
1787 , ATTRIBUTE5
1788 , ATTRIBUTE6
1789 , ATTRIBUTE7
1790 , ATTRIBUTE8
1791 , ATTRIBUTE9
1792 , CONTEXT
1793 , CREATED_BY
1794 , CREATION_DATE
1795 , DW_UPDATE_ADVICE_FLAG
1796 , HEADER_ID
1797 , LAST_UPDATED_BY
1798 , LAST_UPDATE_DATE
1799 , LAST_UPDATE_LOGIN
1800 , LINE_ID
1801 , PERCENT
1802 , SALESREP_ID
1803 , sales_credit_type_id
1804 , SALES_CREDIT_ID
1805 , WH_UPDATE_DATE
1806 --SG {
1807 , SALES_GROUP_ID
1808 , SALES_GROUP_UPDATED_FLAG
1809 --SG }
1810 , LOCK_CONTROL
1811 FROM OE_SALES_CREDITS
1812 WHERE HEADER_ID = p_header_id
1813 AND LINE_ID IS NOT NULL;
1814
1815 l_implicit_rec l_line_scredit_csr_s%ROWTYPE;
1816 l_entity NUMBER;
1817 l_count NUMBER;
1818 --
1819 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1820 --
1821 BEGIN
1822
1823 IF
1824 (p_sales_credit_id IS NOT NULL
1825 AND
1826 p_sales_credit_id <> FND_API.G_MISS_NUM)
1827 AND
1828 (p_line_id IS NOT NULL
1829 AND
1830 p_line_id <> FND_API.G_MISS_NUM)
1831 THEN
1832 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1833 THEN
1834 oe_msg_pub.Add_Exc_Msg
1835 ( G_PKG_NAME
1836 , 'Query Rows'
1837 , 'Keys are mutually exclusive: sales_credit_id = '|| p_sales_credit_id || ', line_id = '|| p_line_id
1838 );
1839 END IF;
1840
1841 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1842
1843 END IF;
1844
1845 IF nvl(p_sales_credit_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1846 l_entity := 1;
1847 OPEN l_line_scredit_csr_s;
1848 ELSIF nvl(p_line_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1849 l_entity := 2;
1850 OPEN l_line_scredit_csr_l;
1851 ELSIF nvl(p_header_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1852 l_entity := 3;
1853 OPEN l_line_scredit_csr_h;
1854 END IF;
1855
1856 -- Loop over fetched records
1857
1858 l_count := 1;
1859
1860 LOOP
1861 IF l_entity = 1 THEN
1862 FETCH l_line_scredit_csr_s INTO l_implicit_rec;
1863 EXIT WHEN l_line_scredit_csr_s%NOTFOUND;
1864 ELSIF l_entity = 2 THEN
1865 FETCH l_line_scredit_csr_l INTO l_implicit_rec;
1866 EXIT WHEN l_line_scredit_csr_l%NOTFOUND;
1867 ELSIF l_entity = 3 THEN
1868 FETCH l_line_scredit_csr_h INTO l_implicit_rec;
1869 EXIT WHEN l_line_scredit_csr_h%NOTFOUND;
1870 ELSE
1871 EXIT;
1872 END IF;
1873
1874 x_line_scredit_tbl(l_count).attribute1 := l_implicit_rec.ATTRIBUTE1;
1875 x_line_scredit_tbl(l_count).attribute10 := l_implicit_rec.ATTRIBUTE10;
1876 x_line_scredit_tbl(l_count).attribute11 := l_implicit_rec.ATTRIBUTE11;
1877 x_line_scredit_tbl(l_count).attribute12 := l_implicit_rec.ATTRIBUTE12;
1878 x_line_scredit_tbl(l_count).attribute13 := l_implicit_rec.ATTRIBUTE13;
1879 x_line_scredit_tbl(l_count).attribute14 := l_implicit_rec.ATTRIBUTE14;
1880 x_line_scredit_tbl(l_count).attribute15 := l_implicit_rec.ATTRIBUTE15;
1881 x_line_scredit_tbl(l_count).attribute2 := l_implicit_rec.ATTRIBUTE2;
1882 x_line_scredit_tbl(l_count).attribute3 := l_implicit_rec.ATTRIBUTE3;
1883 x_line_scredit_tbl(l_count).attribute4 := l_implicit_rec.ATTRIBUTE4;
1884 x_line_scredit_tbl(l_count).attribute5 := l_implicit_rec.ATTRIBUTE5;
1885 x_line_scredit_tbl(l_count).attribute6 := l_implicit_rec.ATTRIBUTE6;
1886 x_line_scredit_tbl(l_count).attribute7 := l_implicit_rec.ATTRIBUTE7;
1887 x_line_scredit_tbl(l_count).attribute8 := l_implicit_rec.ATTRIBUTE8;
1888 x_line_scredit_tbl(l_count).attribute9 := l_implicit_rec.ATTRIBUTE9;
1889 x_line_scredit_tbl(l_count).context := l_implicit_rec.CONTEXT;
1890 x_line_scredit_tbl(l_count).created_by := l_implicit_rec.CREATED_BY;
1891 x_line_scredit_tbl(l_count).creation_date := l_implicit_rec.CREATION_DATE;
1892 x_line_scredit_tbl(l_count).dw_update_advice_flag := l_implicit_rec.DW_UPDATE_ADVICE_FLAG;
1893 x_line_scredit_tbl(l_count).header_id := l_implicit_rec.HEADER_ID;
1894 x_line_scredit_tbl(l_count).last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
1895 x_line_scredit_tbl(l_count).last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
1896 x_line_scredit_tbl(l_count).last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
1897 x_line_scredit_tbl(l_count).line_id := l_implicit_rec.LINE_ID;
1898 x_line_scredit_tbl(l_count).percent := l_implicit_rec.PERCENT;
1899 x_line_scredit_tbl(l_count).salesrep_id := l_implicit_rec.SALESREP_ID;
1900 x_line_scredit_tbl(l_count).sales_credit_type_id := l_implicit_rec.sales_credit_type_id;
1901 x_line_scredit_tbl(l_count).sales_credit_id := l_implicit_rec.SALES_CREDIT_ID;
1902 x_line_scredit_tbl(l_count).wh_update_date := l_implicit_rec.WH_UPDATE_DATE;
1903 --SG {
1904 x_line_scredit_tbl(l_count).sales_group_id := l_implicit_rec.sales_group_id;
1905 x_line_scredit_tbl(l_count).sales_group_updated_flag:=l_implicit_rec.sales_group_updated_flag;
1906 --SG}
1907 x_line_scredit_tbl(l_count).lock_control := l_implicit_rec.LOCK_CONTROL;
1908
1909 l_count := l_count + 1;
1910 END LOOP;
1911
1912 IF l_entity = 1 THEN
1913 CLOSE l_line_scredit_csr_s;
1914 ELSIF l_entity = 2 THEN
1915 CLOSE l_line_scredit_csr_l;
1916 ELSIF l_entity = 3 THEN
1917 CLOSE l_line_scredit_csr_h;
1918 END IF;
1919
1920 -- PK sent and no rows found
1921
1922 IF
1923 (p_sales_credit_id IS NOT NULL
1924 AND
1925 p_sales_credit_id <> FND_API.G_MISS_NUM)
1926 AND
1927 (x_Line_Scredit_tbl.COUNT = 0)
1928 THEN
1929 RAISE NO_DATA_FOUND;
1930 END IF;
1931
1932
1933 -- Return fetched table
1934
1935 IF l_debug_level > 0 THEN
1936 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.QUERY_ROWS' , 1 ) ;
1937 END IF;
1938
1939
1940 EXCEPTION
1941
1942 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1943
1944 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1945
1946 WHEN OTHERS THEN
1947
1948 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1949 THEN
1950 oe_msg_pub.Add_Exc_Msg
1951 ( G_PKG_NAME
1952 , 'Query_Rows'
1953 );
1954 END IF;
1955
1956 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1957
1958 END Query_Rows;
1959
1960 -- Procedure lock_Row
1961 --
1962
1963 PROCEDURE Lock_Row
1964 ( x_return_status OUT NOCOPY VARCHAR2
1965
1966 , p_x_Line_Scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
1967 , p_sales_credit_id IN NUMBER
1968 := FND_API.G_MISS_NUM
1969 )
1970 IS
1971 l_sales_credit_id NUMBER;
1972 l_lock_control NUMBER;
1973 --
1974 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1975 --
1976 BEGIN
1977
1978 IF l_debug_level > 0 THEN
1979 oe_debug_pub.add( 'ENTERING OE_LINE_SCREDIT_UTIL.LOCK_ROW' , 1 ) ;
1980 END IF;
1981
1982 SAVEPOINT Lock_Row;
1983
1984 l_lock_control := NULL;
1985
1986 -- Retrieve the primary key.
1987 IF p_sales_credit_id <> FND_API.G_MISS_NUM THEN
1988 l_sales_credit_id := p_sales_credit_id;
1989 ELSE
1990 l_sales_credit_id := p_x_line_scredit_rec.sales_credit_id;
1991 l_lock_control := p_x_line_scredit_rec.lock_control;
1992 END IF;
1993
1994 SELECT sales_credit_id
1995 INTO l_sales_credit_id
1996 FROM oe_sales_credits
1997 WHERE sales_credit_id = l_sales_credit_id
1998 FOR UPDATE NOWAIT;
1999
2000 IF l_debug_level > 0 THEN
2001 oe_debug_pub.add( 'SELECTED FOR UPDATE' , 1 ) ;
2002 END IF;
2003
2004 OE_Line_Scredit_Util.Query_Row
2005 (p_sales_credit_id => l_sales_credit_id
2006 ,x_line_scredit_rec => p_x_line_scredit_rec );
2007
2008
2009 -- If lock_control is passed, then return the locked record.
2010 IF l_lock_control is NULL OR
2011 l_lock_control <> FND_API.G_MISS_NUM THEN
2012
2013 -- Set return status
2014 x_return_status := FND_API.G_RET_STS_SUCCESS;
2015 p_x_line_scredit_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2016
2017 RETURN;
2018
2019 END IF;
2020
2021 -- Row locked. If the whole record is passed, then
2022 -- Compare IN attributes to DB attributes.
2023
2024 IF OE_GLOBALS.Equal(p_x_Line_Scredit_rec.lock_control,
2025 l_lock_control)
2026 THEN
2027
2028 -- Set return status
2029
2030 x_return_status := FND_API.G_RET_STS_SUCCESS;
2031 p_x_Line_Scredit_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2032
2033 ELSE
2034
2035 -- Row has changed by another user.
2036
2037 x_return_status := FND_API.G_RET_STS_ERROR;
2038 p_x_Line_Scredit_rec.return_status := FND_API.G_RET_STS_ERROR;
2039
2040 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2041 THEN
2042
2043 -- Release the lock
2044 ROLLBACK TO Lock_Row;
2045
2046 FND_MESSAGE.SET_NAME('ONT','OE_LOCK_ROW_CHANGED');
2047 oe_msg_pub.Add;
2048
2049 END IF;
2050
2051 END IF;
2052
2053 IF l_debug_level > 0 THEN
2054 oe_debug_pub.add( 'EXITING OE_LINE_SCREDIT_UTIL.LOCK_ROW' , 1 ) ;
2055 END IF;
2056
2057 EXCEPTION
2058
2059 WHEN NO_DATA_FOUND THEN
2060
2061 x_return_status := FND_API.G_RET_STS_ERROR;
2062 p_x_Line_Scredit_rec.return_status := FND_API.G_RET_STS_ERROR;
2063
2064 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2065 THEN
2066
2067 FND_MESSAGE.SET_NAME('ONT','OE_LOCK_ROW_DELETED');
2068 oe_msg_pub.Add;
2069
2070 END IF;
2071 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
2072
2073 x_return_status := FND_API.G_RET_STS_ERROR;
2074 p_x_Line_Scredit_rec.return_status := FND_API.G_RET_STS_ERROR;
2075
2076 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2077 THEN
2078
2079 FND_MESSAGE.SET_NAME('ONT','OE_LOCK_ROW_ALREADY_LOCKED');
2080 oe_msg_pub.Add;
2081
2082 END IF;
2083 WHEN OTHERS THEN
2084
2085 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2086 p_x_Line_Scredit_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2087
2088 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2089 THEN
2090 oe_msg_pub.Add_Exc_Msg
2091 ( G_PKG_NAME
2092 , 'Lock_Row'
2093 );
2094 END IF;
2095
2096 END Lock_Row;
2097
2098 PROCEDURE Lock_Rows
2099 ( p_sales_credit_id IN NUMBER :=
2100 FND_API.G_MISS_NUM
2101 , p_line_id IN NUMBER :=
2102 FND_API.G_MISS_NUM
2103 , x_line_scredit_tbl OUT NOCOPY OE_Order_PUB.Line_scredit_Tbl_Type
2104 , x_return_status OUT NOCOPY VARCHAR2
2105
2106 )
2107 IS
2108 CURSOR lock_line_scredits(p_line_id NUMBER) IS
2109 SELECT sales_credit_id
2110 FROM oe_sales_credits
2111 WHERE line_id = p_line_id
2112 FOR UPDATE NOWAIT;
2113
2114 l_sales_credit_id NUMBER;
2115 --
2116 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2117 --
2118 BEGIN
2119
2120 IF l_debug_level > 0 THEN
2121 oe_debug_pub.add( 'ENTERING OE_LINE_SCREDITS_UTIL.LOCK_ROWS' , 1 ) ;
2122 END IF;
2123
2124 IF (p_sales_credit_id IS NOT NULL AND
2125 p_sales_credit_id <> FND_API.G_MISS_NUM) AND
2126 (p_line_id IS NOT NULL AND
2127 p_line_id <> FND_API.G_MISS_NUM)
2128 THEN
2129 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2130 THEN
2131 OE_MSG_PUB.Add_Exc_Msg
2132 ( G_PKG_NAME
2133 , 'Lock Rows'
2134 , 'Keys are mutually exclusive: sales_credit_id = '||
2135 p_sales_credit_id || ', line_id = '|| p_line_id );
2136 END IF;
2137
2138 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2139
2140 END IF;
2141
2142 IF p_sales_credit_id <> FND_API.G_MISS_NUM THEN
2143
2144 SELECT sales_credit_id
2145 INTO l_sales_credit_id
2146 FROM OE_SALES_CREDITS
2147 WHERE sales_credit_id = p_sales_credit_id
2148 FOR UPDATE NOWAIT;
2149
2150 END IF;
2151
2152 -- people should not pass in null line_id unnecessarily,
2153 -- if they already passed in sales_credit_id.
2154
2155 BEGIN
2156
2157 IF p_line_id <> FND_API.G_MISS_NUM THEN
2158
2159 SAVEPOINT LOCK_ROWS;
2160 OPEN lock_line_scredits(p_line_id);
2161
2162 LOOP
2163 FETCH lock_line_scredits INTO l_sales_credit_id;
2164 EXIT WHEN lock_line_scredits%NOTFOUND;
2165 END LOOP;
2166
2167 CLOSE lock_line_scredits;
2168
2169 END IF;
2170
2171 EXCEPTION
2172 WHEN OTHERS THEN
2173 ROLLBACK TO LOCK_ROWS;
2174
2175 IF lock_line_scredits%ISOPEN THEN
2176 CLOSE lock_line_scredits;
2177 END IF;
2178
2179 RAISE;
2180 END;
2181
2182 -- locked all
2183
2184 OE_Line_Scredit_Util.Query_Rows
2185 (p_sales_credit_id => p_sales_credit_id
2186 ,p_line_id => p_line_id
2187 ,x_line_scredit_tbl => x_line_scredit_tbl
2188 );
2189
2190 x_return_status := FND_API.G_RET_STS_SUCCESS;
2191
2192 IF l_debug_level > 0 THEN
2193 oe_debug_pub.add( 'EXITING OE_LINE_SCREDITS_UTIL.LOCK_ROWS' , 1 ) ;
2194 END IF;
2195
2196 EXCEPTION
2197 WHEN NO_DATA_FOUND THEN
2198
2199 x_return_status := FND_API.G_RET_STS_ERROR;
2200
2201 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2202 THEN
2203 fnd_message.set_name('ONT','OE_LOCK_ROW_DELETED');
2204 OE_MSG_PUB.Add;
2205 END IF;
2206
2207 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
2208
2209 x_return_status := FND_API.G_RET_STS_ERROR;
2210 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2211 THEN
2212 fnd_message.set_name('ONT','OE_LOCK_ROW_ALREADY_LOCKED');
2213 OE_MSG_PUB.Add;
2214 END IF;
2215
2216 WHEN OTHERS THEN
2217
2218 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2219
2220 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2221 THEN
2222 OE_MSG_PUB.Add_Exc_Msg
2223 ( G_PKG_NAME
2224 , 'Lock_Rows'
2225 );
2226 END IF;
2227
2228 END Lock_Rows;
2229
2230 -- Function Get_Values
2231
2232 FUNCTION Get_Values
2233 ( p_Line_Scredit_rec IN OE_Order_PUB.Line_Scredit_Rec_Type
2234 , p_old_Line_Scredit_rec IN OE_Order_PUB.Line_Scredit_Rec_Type :=
2235 OE_Order_PUB.G_MISS_LINE_SCREDIT_REC
2236 ) RETURN OE_Order_PUB.Line_Scredit_Val_Rec_Type
2237 IS
2238 l_Line_Scredit_val_rec OE_Order_PUB.Line_Scredit_Val_Rec_Type;
2239 --
2240 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2241 --
2242 BEGIN
2243
2244 IF (p_Line_Scredit_rec.salesrep_id IS NULL OR
2245 p_Line_Scredit_rec.salesrep_id <> FND_API.G_MISS_NUM) AND
2246 NOT OE_GLOBALS.Equal(p_Line_Scredit_rec.salesrep_id,
2247 p_old_Line_Scredit_rec.salesrep_id)
2248 THEN
2249 l_Line_Scredit_val_rec.salesrep := OE_Id_To_Value.Salesrep
2250 ( p_salesrep_id => p_Line_Scredit_rec.salesrep_id
2251 );
2252 END IF;
2253 IF (p_Line_Scredit_rec.sales_credit_type_id IS NULL OR
2254 p_Line_Scredit_rec.sales_credit_type_id <> FND_API.G_MISS_NUM) AND
2255 NOT OE_GLOBALS.Equal(p_Line_Scredit_rec.sales_credit_type_id,
2256 p_old_Line_Scredit_rec.sales_credit_type_id)
2257 THEN
2258 l_Line_Scredit_val_rec.sales_credit_type := OE_Id_To_Value.sales_credit_type
2259 ( p_sales_Credit_type_id => p_Line_Scredit_rec.sales_credit_type_id
2260 );
2261 END IF;
2262
2263 --SG{
2264 If p_line_Scredit_rec.sales_group_id IS NOT NULL Then
2265 Begin
2266
2267 l_line_Scredit_val_rec.sales_group:=OE_Id_To_Value.get_sales_group_name(p_line_Scredit_rec.sales_group_id);
2268 Exception
2269 When no_data_found Then
2270 l_line_Scredit_val_rec.sales_group:='Group name not available';
2271 When others then
2272 Oe_Debug_Pub.add('OEXULSCB.pls--get_values:'||SQLERRM);
2273 End;
2274 End If;
2275 --SG}
2276
2277 RETURN l_Line_Scredit_val_rec;
2278
2279 END Get_Values;
2280
2281 -- PROCEDURE Get_Ids
2282
2283 PROCEDURE Get_Ids
2284 ( p_x_Line_Scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
2285 , p_Line_Scredit_val_rec IN OE_Order_PUB.Line_Scredit_Val_Rec_Type
2286 )
2287 IS
2288 --
2289 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2290 --
2291 BEGIN
2292
2293 -- initialize return_status.
2294
2295 p_x_Line_Scredit_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2296
2297 IF p_Line_Scredit_val_rec.salesrep <> FND_API.G_MISS_CHAR
2298 THEN
2299
2300 IF p_x_Line_Scredit_rec.salesrep_id <> FND_API.G_MISS_NUM THEN
2301
2302 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
2303 THEN
2304
2305 FND_MESSAGE.SET_NAME('ONT','OE_BOTH_VAL_AND_ID_EXIST');
2306 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','salesrep');
2307 oe_msg_pub.Add;
2308
2309 END IF;
2310
2311 ELSE
2312
2313 p_x_Line_Scredit_rec.salesrep_id := OE_Value_To_Id.salesrep
2314 ( p_salesrep => p_Line_Scredit_val_rec.salesrep
2315 );
2316
2317 IF p_x_Line_Scredit_rec.salesrep_id = FND_API.G_MISS_NUM THEN
2318 p_x_Line_Scredit_rec.return_status := FND_API.G_RET_STS_ERROR;
2319 END IF;
2320
2321 END IF;
2322
2323 END IF;
2324
2325 IF p_Line_Scredit_val_rec.sales_credit_type <> FND_API.G_MISS_CHAR
2326 THEN
2327
2328 IF p_x_Line_Scredit_rec.sales_credit_type_id <> FND_API.G_MISS_NUM THEN
2329
2330 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
2331 THEN
2332
2333 FND_MESSAGE.SET_NAME('ONT','OE_BOTH_VAL_AND_ID_EXIST');
2334 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','sales_credit_type');
2335 oe_msg_pub.Add;
2336
2337 END IF;
2338
2339 ELSE
2340
2341 p_x_Line_Scredit_rec.sales_credit_type_id := OE_Value_To_Id.sales_credit_type
2342 ( p_sales_credit_type => p_Line_Scredit_val_rec.sales_credit_type
2343 );
2344
2345 IF p_x_Line_Scredit_rec.sales_credit_type_id = FND_API.G_MISS_NUM THEN
2346 p_x_Line_Scredit_rec.return_status := FND_API.G_RET_STS_ERROR;
2347 END IF;
2348
2349 END IF;
2350 END IF;
2351
2352 END Get_Ids;
2353
2354
2355 Procedure Create_credit(p_line_rec IN oe_order_pub.line_rec_type,
2356 p_old_line_rec IN oe_order_pub.line_rec_type)
2357 IS
2358 l_api_name CONSTANT VARCHAR2(30) := 'Create Credit';
2359 l_return_status VARCHAR2(30);
2360 l_control_rec OE_GLOBALS.Control_Rec_Type;
2361 l_line_scredit_tbl OE_ORDER_PUB.line_scredit_tbl_type ;
2362 l_old_line_scredit_tbl OE_ORDER_PUB.line_scredit_tbl_type ;
2363 l_line_scredit_rec OE_ORDER_PUB.line_scredit_rec_type ;
2364 l_create_flag boolean := FALSE;
2365 l_update_flag boolean := FALSE;
2366 l_scredit_id number;
2367 x_msg_count number;
2368 x_msg_data varchar2(2000);
2369 l_sales_credits_count Number;
2370 l_sales_credit_id Number;
2371 l_salesrep_id Number;
2372 l_notify_index Number;
2373
2374 Cursor C_LSC_COUNT IS
2375 Select count(sales_credit_id), max(sales_credit_id)
2376 from oe_sales_credits sc,
2377 oe_sales_credit_types sct
2378 where header_id = p_line_rec.header_id
2379 and sc.sales_credit_type_id = sct.sales_credit_type_id
2380 and sct.quota_flag = 'Y'
2381 and line_id = p_line_rec.line_id;
2382 Cursor C_SCRTYPE IS
2383 SELECT nvl(Sales_Credit_Type_id,1)
2384 FROM ra_salesreps
2385 WHERE salesrep_id = p_line_rec.salesrep_id;
2386
2387 /* Modified the above cursor definition to fix the bug 1822931 */
2388 /* changed the above cursor to fix the bug 2685158 */
2389
2390 l_scredit_type_id number;
2391
2392 --
2393 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2394 --
2395 BEGIN
2396
2397 IF l_debug_level > 0 THEN
2398 oe_debug_pub.add( 'ENTER LINE CREATE CREDITS' ) ;
2399 END IF;
2400 IF l_debug_level > 0 THEN
2401 oe_debug_pub.add( 'HEADER:' ||P_LINE_REC.HEADER_ID ) ;
2402 END IF;
2403 IF NOT OE_GLOBALS.EQUAL(G_HEADER_ID,p_line_rec.header_id) or
2404 G_SALESREP_ID IS NULL Then
2405 --added for bug 4200055
2406 if ((Oe_Order_Cache.g_header_rec.header_id = p_line_rec.header_id)
2407 AND (Oe_Order_Cache.g_header_rec.header_id <> NULL)
2408 AND (Oe_Order_Cache.g_header_rec.header_id <> FND_API.G_MISS_NUM)) Then
2409 G_SALESREP_ID := Oe_Order_Cache.g_header_rec.salesrep_id ;
2410 else
2411 Oe_Order_Cache.Load_Order_Header(p_line_rec.header_id) ;
2412 G_SALESREP_ID := Oe_Order_Cache.g_header_rec.salesrep_id ;
2413 end if ;
2414 /*select salesrep_id
2415 into G_SALESREP_ID
2416 from oe_order_headers
2417 where header_id = p_line_rec.header_id; */
2418 -- end bug 4200055
2419 End If;
2420
2421 l_salesrep_id := G_SALESREP_ID;
2422 IF NOT OE_GLOBALS.EQUAL(l_salesrep_id, p_line_rec.salesrep_id)
2423 OR p_line_rec.salesrep_id IS NULL -- Added condition for bug 6494279
2424 OR (p_line_rec.operation = oe_globals.g_opr_update AND --Added condition for bug 8242058
2425 NOT OE_GLOBALS.EQUAL( p_line_rec.salesrep_id,
2426 p_old_line_rec.salesrep_id)) THEN
2427
2428
2429 IF (p_line_rec.operation = oe_globals.g_opr_create AND
2430 p_line_rec.salesrep_id IS NOT NULL AND
2431 p_line_rec.salesrep_id <> FND_API.G_MISS_NUM) THEN
2432
2433 l_create_flag := TRUE;
2434
2435 IF l_debug_level > 0 THEN
2436 oe_debug_pub.add( 'IN CREATE' ) ;
2437 END IF;
2438 ELSIF (p_line_rec.operation = oe_globals.g_opr_update AND
2439 NOT OE_GLOBALS.EQUAL( p_line_rec.salesrep_id,
2440 p_old_line_rec.salesrep_id)) THEN
2441 IF l_debug_level > 0 THEN
2442 oe_debug_pub.add( 'IN OPERATION UPDATE ' ) ;
2443 END IF;
2444
2445 IF (p_old_line_rec.salesrep_id IS NULL OR
2446 p_old_line_rec.salesrep_id = FND_API.G_MISS_NUM)
2447 THEN
2448 IF l_debug_level > 0 THEN
2449 oe_debug_pub.add( 'IN CREATE FOR UPDATE OPERATION' ) ;
2450 END IF;
2451 -- Added for bug 6494279 start
2452
2453 open C_LSC_COUNT;
2454 fetch C_LSC_COUNT into l_sales_credits_count, l_sales_credit_id;
2455 close C_LSC_COUNT;
2456
2457 IF l_sales_credits_count = 0 THEN
2458 -- Added for bug 6494279 end
2459
2460 l_create_flag := TRUE;
2461
2462 -- Added for bug 6494279 start
2463 END IF;
2464
2465 l_sales_credits_count := NULL;
2466 l_sales_credit_id := NULL;
2467 -- Added for bug 6494279 end
2468
2469
2470 END IF;
2471
2472 open C_LSC_COUNT;
2473 fetch C_LSC_COUNT into l_sales_credits_count, l_sales_credit_id;
2474 close C_LSC_COUNT;
2475
2476 if l_sales_credits_count > 1 then
2477
2478 fnd_message.set_name('ONT','OE_TOO_MANY_LSCREDIT');
2479 OE_MSG_PUB.Add;
2480 RAISE FND_API.G_EXC_ERROR;
2481
2482 elsif l_sales_credits_count = 1 then -- update with new salesrep
2483
2484 OE_Line_Scredit_Util.Lock_Rows
2485 ( p_sales_credit_id => l_sales_credit_id,
2486 x_line_scredit_tbl => l_old_line_scredit_tbl,
2487 x_return_status => l_return_status
2488 );
2489
2490 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2491 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2492 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2493 RAISE FND_API.G_EXC_ERROR;
2494 END IF;
2495
2496 /* Added the following 3 lines to fix the bug 1822931 */
2497 open C_SCRTYPE;
2498 fetch C_SCRTYPE into l_scredit_Type_id;
2499 close C_SCRTYPE;
2500
2501 /*Added to fix bug 6445046 START*/
2502 IF l_scredit_Type_id IS NULL THEN
2503 oe_debug_pub.add( 'Row in the sales credit table is being removed as the sales peason is removed.' ) ;
2504 OE_Line_Scredit_Util.Delete_Row
2505 ( p_sales_credit_id => l_sales_credit_id,
2506 p_line_id => p_line_rec.line_id
2507 );
2508
2509 ELSE
2510 /*Added to fix bug 6445046 END*/
2511
2512 l_line_scredit_tbl := l_old_line_scredit_tbl;
2513 l_line_scredit_tbl(1).salesrep_id :=
2514 p_line_rec.salesrep_id;
2515
2516 /* Added the following line to fix the bug 1822931 */
2517 l_line_scredit_tbl(1).sales_credit_type_id := l_scredit_type_id;
2518
2519 l_line_scredit_tbl(1).operation := oe_globals.g_opr_update;
2520 l_update_flag := TRUE;
2521
2522 END IF; -- Added for Bug 6445046
2523
2524 elsif l_sales_credits_count = 0 THEN
2525 -- AND l_sales_credit_id IS NOT NULL then -> Added condition for Bug 6445046 and Removed for 8619694
2526
2527
2528 IF l_debug_level > 0 THEN
2529 oe_debug_pub.add( 'CREDIT COUNT IS ZERO ' ) ;
2530 END IF;
2531 l_create_flag := TRUE;
2532
2533 End if;
2534
2535 END IF;
2536
2537 IF l_create_flag THEN
2538 IF l_debug_level > 0 THEN
2539 oe_debug_pub.add( 'SETTUBG CREDIT FOR CREATE ' ) ;
2540 END IF;
2541 open C_SCRTYPE;
2542 fetch C_SCRTYPE into l_scredit_Type_id;
2543 close C_SCRTYPE;
2544
2545 l_line_scredit_tbl(1) := OE_Order_PUB.G_MISS_LINE_SCREDIT_REC;
2546 l_line_scredit_tbl(1).operation := oe_globals.g_opr_create;
2547 l_line_scredit_tbl(1).header_id := p_line_rec.header_id;
2548 l_line_scredit_tbl(1).line_id := p_line_rec.line_id;
2549 l_line_scredit_tbl(1).percent := 100;
2550 l_line_Scredit_tbl(1).Sales_credit_type_id := l_scredit_type_id;
2551 l_line_scredit_tbl(1).salesrep_id := p_line_rec.salesrep_id;
2552
2553 END IF;
2554
2555 IF l_create_flag OR L_update_flag THEN
2556 IF l_debug_level > 0 THEN
2557 oe_debug_pub.add( 'BEFORE CALLING PROCESS ORDER' ) ;
2558 END IF;
2559 IF l_debug_level > 0 THEN
2560 oe_debug_pub.add( 'HEADER_ID:' || L_LINE_SCREDIT_TBL ( 1 ) .HEADER_ID ) ;
2561 END IF;
2562 IF l_debug_level > 0 THEN
2563 oe_debug_pub.add( 'LINE_ID:' || L_LINE_SCREDIT_TBL ( 1 ) .LINE_ID ) ;
2564 END IF;
2565 IF l_debug_level > 0 THEN
2566 oe_debug_pub.add( 'SALESREPID:' || L_LINE_SCREDIT_TBL ( 1 ) .SALESREP_ID ) ;
2567 END IF;
2568 IF l_debug_level > 0 THEN
2569 oe_debug_pub.add( 'SALESCREDIT_ID:' || L_LINE_SCREDIT_TBL ( 1 ) .SALES_CREDIT_ID ) ;
2570 END IF;
2571 IF l_debug_level > 0 THEN
2572 oe_debug_pub.add( 'SALESCREDIT_ID:' || L_LINE_SCREDIT_TBL ( 1 ) .SALES_CREDIT_TYPE_ID ) ;
2573 END IF;
2574
2575 l_control_rec.process := FALSE;
2576 l_control_rec.controlled_operation := TRUE;
2577 l_control_rec.check_security := TRUE;
2578 l_control_rec.change_attributes := TRUE;
2579 l_control_rec.default_attributes := TRUE;
2580 l_control_rec.write_to_db := TRUE;
2581
2582 OE_Order_PVT.Line_Scredits
2583 ( p_init_msg_list => FND_API.G_FALSE
2584 , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2585 , p_control_rec => l_control_rec
2586 , p_x_Line_Scredit_tbl => l_line_scredit_tbl
2587 , p_x_old_Line_Scredit_tbl => l_old_line_scredit_tbl
2588 , x_return_status => l_return_status
2589 );
2590
2591 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2592 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2593 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2594 RAISE FND_API.G_EXC_ERROR;
2595 END IF;
2596
2597 --jolin start
2598 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
2599 -- call notification framework to update this line's global data
2600 OE_ORDER_UTIL.Update_Global_Picture
2601 (p_Upd_New_Rec_If_Exists =>TRUE
2602 , p_line_scr_rec => l_line_scredit_tbl(1)
2603 , p_old_line_scr_rec => l_old_line_scredit_tbl(1)
2604 , p_line_scr_id => l_line_scredit_tbl(1).sales_credit_id
2605 , x_index => l_notify_index
2606 , x_return_status => l_return_status);
2607
2608 IF l_debug_level > 0 THEN
2609 oe_debug_pub.add( 'UPDATE_GLOBAL RET_STATUS FOR LINE_ID '||L_LINE_SCREDIT_TBL ( 1 ) .LINE_ID ||' IS: ' || L_RETURN_STATUS , 1 ) ;
2610 END IF;
2611 IF l_debug_level > 0 THEN
2612 oe_debug_pub.add( 'UPDATE_GLOBAL INDEX FOR LINE_ID '||L_LINE_SCREDIT_TBL ( 1 ) .LINE_ID ||' IS: ' || L_NOTIFY_INDEX , 1 ) ;
2613 END IF;
2614
2615 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2616 RAISE FND_API.G_EXC_ERROR;
2617 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2618 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2619 END IF;
2620
2621 ELSE
2622
2623 OE_Order_PVT.Process_Requests_And_Notify
2624 ( p_process_requests => FALSE
2625 , p_notify => TRUE
2626 , x_return_status => l_return_status
2627 , p_line_scredit_tbl => l_line_scredit_tbl
2628 , p_old_line_scredit_tbl => l_old_line_scredit_tbl
2629 );
2630
2631 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2632 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2633 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2634 RAISE FND_API.G_EXC_ERROR;
2635 END IF;
2636
2637 END IF; /* code set is pack H or higher */
2638 -- jolin end
2639
2640 if l_sales_credits_count = 1 then -- issue message update with new salesrep
2641 fnd_message.set_name('ONT','OE_OE_UPDATED_LINE_CREDIT');
2642 OE_MSG_PUB.Add;
2643 end if;
2644
2645 END IF; -- if l_create_flag or l_update_flag
2646
2647 END IF; -- Salesrep id not equal
2648 IF l_debug_level > 0 THEN
2649 oe_debug_pub.add( 'EXIT CREATE CREDITS' ) ;
2650 END IF;
2651
2652 EXCEPTION
2653
2654 WHEN OTHERS THEN
2655 IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2656 THEN
2657 OE_MSG_PUB.Add_Exc_Msg
2658 ( G_PKG_NAME ,
2659 'Create_Credits'
2660 );
2661 END IF;
2662 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2663
2664 End Create_credit;
2665
2666 /* Start AuditTrail */
2667 PROCEDURE Pre_Write_Process
2668 (p_x_line_scredit_rec IN OUT NOCOPY /* file.sql.39 change */ OE_ORDER_PUB.line_scredit_rec_type,
2669 p_old_line_scredit_rec IN OE_ORDER_PUB.line_scredit_rec_type :=
2670 OE_ORDER_PUB.G_MISS_LINE_SCREDIT_REC
2671 )IS
2672 /*local */
2673 l_return_status varchar2(30);
2674 --
2675 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2676 --
2677 BEGIN
2678
2679 --11.5.10 Versioning/Audit Trail updates
2680 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510' AND
2681 OE_GLOBALS.G_ROLL_VERSION <> 'N' THEN
2682 IF OE_GLOBALS.G_REASON_CODE IS NULL AND
2683 OE_GLOBALS.G_CAPTURED_REASON IN ('V','A') THEN
2684 IF p_x_line_scredit_rec.change_reason <> FND_API.G_MISS_CHAR THEN
2685 OE_GLOBALS.G_REASON_CODE := p_x_line_scredit_rec.change_reason;
2686 OE_GLOBALS.G_REASON_COMMENTS := p_x_line_scredit_rec.change_comments;
2687 OE_GLOBALS.G_CAPTURED_REASON := 'Y';
2688 ELSE
2689 IF l_debug_level > 0 THEN
2690 OE_DEBUG_PUB.add('Reason code for versioning missing', 1);
2691 END IF;
2692 IF OE_GLOBALS.G_UI_FLAG THEN
2693 raise FND_API.G_EXC_ERROR;
2694 END IF;
2695 END IF;
2696 END IF;
2697
2698 --log delayed request
2699 IF l_debug_level > 0 THEN
2700 oe_debug_pub.add('log versioning request',1);
2701 END IF;
2702 OE_Delayed_Requests_Pvt.Log_Request(p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
2703 p_entity_id => p_x_line_scredit_rec.header_id,
2704 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE_SCREDIT,
2705 p_requesting_entity_id => p_x_line_scredit_rec.sales_credit_id,
2706 p_request_type => OE_GLOBALS.G_VERSION_AUDIT,
2707 x_return_status => l_return_status);
2708 END IF;
2709
2710 IF (p_x_line_scredit_rec.operation = OE_GLOBALS.G_OPR_UPDATE) then
2711
2712 IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG='Y' then
2713 IF l_debug_level > 0 THEN
2714 oe_debug_pub.add( 'OEXULSCB: AUDIT TRAIL - CHANGE REQUIRES REASON' , 2 ) ;
2715 END IF;
2716 IF (p_x_line_scredit_rec.change_reason IS NULL OR
2717 p_x_line_scredit_rec.change_reason = FND_API.G_MISS_CHAR OR
2718 NOT OE_VALIDATE.Change_Reason_Code(p_x_line_Scredit_rec.Change_Reason)) THEN
2719 IF OE_GLOBALS.G_DEFAULT_REASON THEN
2720 if l_debug_level > 0 then
2721 oe_debug_pub.add('Defaulting Audit Reason for Line Sales Credit', 1);
2722 end if;
2723 p_x_line_scredit_rec.change_reason := 'SYSTEM';
2724 ELSE
2725 IF l_debug_level > 0 THEN
2726 oe_debug_pub.add( 'Reason code for change is missing or invalid ' , 1 ) ;
2727 END IF;
2728 fnd_message.set_name('ONT','OE_AUDIT_REASON_RQD');
2729 fnd_message.set_token('OBJECT','LINE SALES CREDIT');
2730 oe_msg_pub.add;
2731 raise FND_API.G_EXC_ERROR;
2732 END IF;
2733 END IF;
2734 END IF;
2735 IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG = 'Y' OR
2736 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG = 'Y' THEN
2737
2738 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510' THEN
2739 OE_Versioning_Util.Capture_Audit_Info(p_entity_code => OE_GLOBALS.G_ENTITY_LINE_SCREDIT,
2740 p_entity_id => p_x_line_scredit_rec.sales_credit_id,
2741 p_hist_type_code => 'UPDATE');
2742 --log delayed request
2743 OE_Delayed_Requests_Pvt.Log_Request(p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
2744 p_entity_id => p_x_line_scredit_rec.header_id,
2745 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE_SCREDIT,
2746 p_requesting_entity_id => p_x_line_scredit_rec.sales_credit_id,
2747 p_request_type => OE_GLOBALS.G_VERSION_AUDIT,
2748 x_return_status => l_return_status);
2749 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
2750 ELSE
2751 IF l_debug_level > 0 THEN
2752 oe_debug_pub.add( 'OEXULSCB:CALLING OE_ORDER_CHG_PVT.RECORDLSCREDITHIST' , 2 ) ;
2753 END IF;
2754
2755 OE_CHG_ORDER_PVT.RecordLScreditHist
2756 (p_line_scredit_id => p_x_line_scredit_rec.sales_credit_id,
2757 p_line_scredit_rec => null,
2758 p_hist_type_code => 'UPDATE',
2759 p_reason_code => p_x_line_scredit_rec.change_reason,
2760 p_comments => p_x_line_scredit_rec.change_comments,
2761 p_wf_activity_code => null,
2762 p_wf_result_code => null,
2763 x_return_status => l_return_status
2764 );
2765 END IF;
2766 END IF;
2767 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2768 IF l_debug_level > 0 THEN
2769 oe_debug_pub.add( 'INSERTING LINE SALES CREDIT HISTORY CAUSED ERROR ' , 1 ) ;
2770 END IF;
2771 if l_return_status = FND_API.G_RET_STS_ERROR then
2772 raise FND_API.G_EXC_ERROR;
2773 else
2774 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2775 end if;
2776 END IF;
2777 END IF;
2778
2779 END Pre_Write_Process;
2780 /* End AuditTrail */
2781
2782 END OE_Line_Scredit_Util;