[Home] [Help]
PACKAGE BODY: APPS.OE_HEADER_ADJ_UTIL
Source
1 PACKAGE BODY OE_Header_Adj_Util AS
2 /* $Header: OEXUHADB.pls 120.4.12010000.1 2008/07/25 07:55:55 appldev ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_Header_Adj_Util';
7
8 FUNCTION G_MISS_OE_AK_HEADER_ADJ_REC
9 RETURN OE_AK_HEADER_PRCADJS_V%ROWTYPE IS
10 l_rowtype_rec OE_AK_HEADER_PRCADJS_V%ROWTYPE;
11 --
12 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
13 --
14 BEGIN
15
16 l_rowtype_rec.ATTRIBUTE1 := FND_API.G_MISS_CHAR;
17 l_rowtype_rec.ATTRIBUTE10 := FND_API.G_MISS_CHAR;
18 l_rowtype_rec.ATTRIBUTE11 := FND_API.G_MISS_CHAR;
19 l_rowtype_rec.ATTRIBUTE12 := FND_API.G_MISS_CHAR;
20 l_rowtype_rec.ATTRIBUTE13 := FND_API.G_MISS_CHAR;
21 l_rowtype_rec.ATTRIBUTE14 := FND_API.G_MISS_CHAR;
22 l_rowtype_rec.ATTRIBUTE15 := FND_API.G_MISS_CHAR;
23 l_rowtype_rec.ATTRIBUTE2 := FND_API.G_MISS_CHAR;
24 l_rowtype_rec.ATTRIBUTE3 := FND_API.G_MISS_CHAR;
25 l_rowtype_rec.ATTRIBUTE4 := FND_API.G_MISS_CHAR;
26 l_rowtype_rec.ATTRIBUTE5 := FND_API.G_MISS_CHAR;
27 l_rowtype_rec.ATTRIBUTE6 := FND_API.G_MISS_CHAR;
28 l_rowtype_rec.ATTRIBUTE7 := FND_API.G_MISS_CHAR;
29 l_rowtype_rec.ATTRIBUTE8 := FND_API.G_MISS_CHAR;
30 l_rowtype_rec.ATTRIBUTE9 := FND_API.G_MISS_CHAR;
31 l_rowtype_rec.CONTEXT := FND_API.G_MISS_CHAR;
32 l_rowtype_rec.CREATED_BY := FND_API.G_MISS_NUM;
33 l_rowtype_rec.CREATION_DATE := FND_API.G_MISS_DATE;
34 l_rowtype_rec.DB_FLAG := FND_API.G_MISS_CHAR;
35 l_rowtype_rec.HEADER_ID := FND_API.G_MISS_NUM;
36 l_rowtype_rec.LAST_UPDATED_BY := FND_API.G_MISS_NUM;
37 l_rowtype_rec.LAST_UPDATE_DATE := FND_API.G_MISS_DATE;
38 l_rowtype_rec.LAST_UPDATE_LOGIN := FND_API.G_MISS_NUM;
39 l_rowtype_rec.LINE_ID := FND_API.G_MISS_NUM;
40 l_rowtype_rec.OPERATION := FND_API.G_MISS_CHAR;
41 l_rowtype_rec.PERCENT := FND_API.G_MISS_NUM;
42 l_rowtype_rec.RETURN_STATUS := FND_API.G_MISS_CHAR;
43 l_rowtype_rec.AUTOMATIC_FLAG := FND_API.G_MISS_CHAR;
44 l_rowtype_rec.DISCOUNT_ID := FND_API.G_MISS_NUM;
45 l_rowtype_rec.DISCOUNT_LINE_ID := FND_API.G_MISS_NUM;
46 l_rowtype_rec.PRICE_ADJUSTMENT_ID := FND_API.G_MISS_NUM;
47 l_rowtype_rec.PROGRAM_APPLICATION_ID := FND_API.G_MISS_NUM;
48 l_rowtype_rec.PROGRAM_ID := FND_API.G_MISS_NUM;
49 l_rowtype_rec.PROGRAM_UPDATE_DATE := FND_API.G_MISS_DATE;
50 l_rowtype_rec.request_id := FND_API.G_MISS_NUM;
51 -- l_rowtype_rec.orig_sys_discount_ref := FND_API.G_MISS_CHAR;
52 l_rowtype_rec.list_header_id := FND_API.G_MISS_NUM;
53 l_rowtype_rec.list_line_id := FND_API.G_MISS_NUM;
54 l_rowtype_rec.list_line_type_code := FND_API.G_MISS_CHAR;
55 l_rowtype_rec.modifier_mechanism_type_code := FND_API.G_MISS_CHAR;
56 l_rowtype_rec.modified_from := FND_API.G_MISS_CHAR;
57 l_rowtype_rec.modified_to := FND_API.G_MISS_CHAR;
58 l_rowtype_rec.updated_flag := FND_API.G_MISS_CHAR;
59 l_rowtype_rec.update_allowed := FND_API.G_MISS_CHAR;
60 l_rowtype_rec.applied_flag := FND_API.G_MISS_CHAR;
61 l_rowtype_rec.change_reason_code := FND_API.G_MISS_CHAR;
62 l_rowtype_rec.change_reason_text := FND_API.G_MISS_CHAR;
63 l_rowtype_rec.operand := FND_API.G_MISS_NUM;
64 l_rowtype_rec.operand_per_pqty := FND_API.G_MISS_NUM;
65 l_rowtype_rec.arithmetic_operator := FND_API.G_MISS_CHAR;
66 l_rowtype_rec.tax_code := FND_API.G_MISS_CHAR;
67 l_rowtype_rec.tax_exempt_flag := FND_API.G_MISS_CHAR;
68 l_rowtype_rec.tax_exempt_number := FND_API.G_MISS_CHAR;
69 l_rowtype_rec.tax_exempt_reason_code := FND_API.G_MISS_CHAR;
70 l_rowtype_rec.parent_adjustment_id := FND_API.G_MISS_NUM;
71 l_rowtype_rec.invoiced_flag := FND_API.G_MISS_CHAR;
72 l_rowtype_rec.estimated_flag := FND_API.G_MISS_CHAR;
73 l_rowtype_rec.inc_in_sales_performance := FND_API.G_MISS_CHAR;
74 l_rowtype_rec.split_action_code := FND_API.G_MISS_CHAR;
75 l_rowtype_rec.charge_type_code := FND_API.G_MISS_CHAR;
76 l_rowtype_rec.charge_subtype_code := FND_API.G_MISS_CHAR;
77 l_rowtype_rec.adjusted_amount := FND_API.G_MISS_NUM;
78 l_rowtype_rec.adjusted_amount_per_pqty := FND_API.G_MISS_NUM;
79 l_rowtype_rec.pricing_phase_id := FND_API.G_MISS_NUM;
80 l_rowtype_rec.list_line_no := FND_API.G_MISS_CHAR;
81 l_rowtype_rec.source_system_code := FND_API.G_MISS_CHAR;
82 l_rowtype_rec.benefit_qty := FND_API.G_MISS_NUM;
83 l_rowtype_rec.benefit_uom_code := FND_API.G_MISS_CHAR;
84 l_rowtype_rec.print_on_invoice_flag := FND_API.G_MISS_CHAR;
85 l_rowtype_rec.expiration_date := FND_API.G_MISS_DATE;
86 l_rowtype_rec.rebate_transaction_type_code := FND_API.G_MISS_CHAR;
87 l_rowtype_rec.rebate_transaction_reference := FND_API.G_MISS_CHAR;
88 l_rowtype_rec.rebate_payment_system_code := FND_API.G_MISS_CHAR;
89 l_rowtype_rec.redeemed_date := FND_API.G_MISS_DATE;
90 l_rowtype_rec.redeemed_flag := FND_API.G_MISS_CHAR;
91 l_rowtype_rec.accrual_flag := FND_API.G_MISS_CHAR;
92 l_rowtype_rec.range_break_quantity := FND_API.G_MISS_NUM;
93 l_rowtype_rec.accrual_conversion_rate := FND_API.G_MISS_NUM;
94 l_rowtype_rec.pricing_group_sequence := FND_API.G_MISS_NUM;
95 l_rowtype_rec.modifier_level_code := FND_API.G_MISS_CHAR;
96 l_rowtype_rec.price_break_type_code := FND_API.G_MISS_CHAR;
97 l_rowtype_rec.substitution_attribute := FND_API.G_MISS_CHAR;
98 l_rowtype_rec.proration_type_code := FND_API.G_MISS_CHAR;
99 l_rowtype_rec.credit_or_charge_flag := FND_API.G_MISS_CHAR;
100 l_rowtype_rec.include_on_returns_flag := FND_API.G_MISS_CHAR;
101 l_rowtype_rec.AC_ATTRIBUTE1 := FND_API.G_MISS_CHAR;
102 l_rowtype_rec.AC_ATTRIBUTE10 := FND_API.G_MISS_CHAR;
103 l_rowtype_rec.AC_ATTRIBUTE11 := FND_API.G_MISS_CHAR;
104 l_rowtype_rec.AC_ATTRIBUTE12 := FND_API.G_MISS_CHAR;
105 l_rowtype_rec.AC_ATTRIBUTE13 := FND_API.G_MISS_CHAR;
106 l_rowtype_rec.AC_ATTRIBUTE14 := FND_API.G_MISS_CHAR;
107 l_rowtype_rec.AC_ATTRIBUTE15 := FND_API.G_MISS_CHAR;
108 l_rowtype_rec.AC_ATTRIBUTE2 := FND_API.G_MISS_CHAR;
109 l_rowtype_rec.AC_ATTRIBUTE3 := FND_API.G_MISS_CHAR;
110 l_rowtype_rec.AC_ATTRIBUTE4 := FND_API.G_MISS_CHAR;
111 l_rowtype_rec.AC_ATTRIBUTE5 := FND_API.G_MISS_CHAR;
112 l_rowtype_rec.AC_ATTRIBUTE6 := FND_API.G_MISS_CHAR;
113 l_rowtype_rec.AC_ATTRIBUTE7 := FND_API.G_MISS_CHAR;
114 l_rowtype_rec.AC_ATTRIBUTE8 := FND_API.G_MISS_CHAR;
115 l_rowtype_rec.AC_ATTRIBUTE9 := FND_API.G_MISS_CHAR;
116 l_rowtype_rec.AC_CONTEXT := FND_API.G_MISS_CHAR;
117
118 RETURN l_rowtype_rec;
119
120 END G_MISS_OE_AK_HEADER_ADJ_REC;
121
122 PROCEDURE API_Rec_To_Rowtype_Rec
123 ( p_HEADER_ADJ_rec IN OE_Order_PUB.HEADER_ADJ_Rec_Type
124 , x_rowtype_rec OUT nocopy OE_AK_HEADER_PRCADJS_V%ROWTYPE
125 ) IS
126 --
127 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
128 --
129 BEGIN
130
131 x_rowtype_rec.ATTRIBUTE1 := p_header_adj_rec.ATTRIBUTE1;
132 x_rowtype_rec.ATTRIBUTE10 := p_header_adj_rec.ATTRIBUTE10;
133 x_rowtype_rec.ATTRIBUTE11 := p_header_adj_rec.ATTRIBUTE11;
134 x_rowtype_rec.ATTRIBUTE12 := p_header_adj_rec.ATTRIBUTE12;
135 x_rowtype_rec.ATTRIBUTE13 := p_header_adj_rec.ATTRIBUTE13;
136 x_rowtype_rec.ATTRIBUTE14 := p_header_adj_rec.ATTRIBUTE14;
137 x_rowtype_rec.ATTRIBUTE15 := p_header_adj_rec.ATTRIBUTE15;
138 x_rowtype_rec.ATTRIBUTE2 := p_header_adj_rec.ATTRIBUTE2;
139 x_rowtype_rec.ATTRIBUTE3 := p_header_adj_rec.ATTRIBUTE3;
140 x_rowtype_rec.ATTRIBUTE4 := p_header_adj_rec.ATTRIBUTE4;
141 x_rowtype_rec.ATTRIBUTE5 := p_header_adj_rec.ATTRIBUTE5;
142 x_rowtype_rec.ATTRIBUTE6 := p_header_adj_rec.ATTRIBUTE6;
143 x_rowtype_rec.ATTRIBUTE7 := p_header_adj_rec.ATTRIBUTE7;
144 x_rowtype_rec.ATTRIBUTE8 := p_header_adj_rec.ATTRIBUTE8;
145 x_rowtype_rec.ATTRIBUTE9 := p_header_adj_rec.ATTRIBUTE9;
146 x_rowtype_rec.CONTEXT := p_header_adj_rec.CONTEXT;
147 x_rowtype_rec.CREATED_BY := p_header_adj_rec.CREATED_BY;
148 x_rowtype_rec.CREATION_DATE := p_header_adj_rec.CREATION_DATE;
149 x_rowtype_rec.DB_FLAG := p_header_adj_rec.DB_FLAG;
150 x_rowtype_rec.HEADER_ID := p_header_adj_rec.HEADER_ID;
151 x_rowtype_rec.LAST_UPDATED_BY := p_header_adj_rec.LAST_UPDATED_BY;
152 x_rowtype_rec.LAST_UPDATE_DATE := p_header_adj_rec.LAST_UPDATE_DATE;
153 x_rowtype_rec.LAST_UPDATE_LOGIN := p_header_adj_rec.LAST_UPDATE_LOGIN;
154 x_rowtype_rec.LINE_ID := p_header_adj_rec.LINE_ID;
155 x_rowtype_rec.OPERATION := p_header_adj_rec.OPERATION;
156 x_rowtype_rec.PERCENT := p_header_adj_rec.PERCENT;
157 x_rowtype_rec.RETURN_STATUS := p_header_adj_rec.RETURN_STATUS;
158 x_rowtype_rec.AUTOMATIC_FLAG := p_header_adj_rec.AUTOMATIC_FLAG;
159 x_rowtype_rec.DISCOUNT_ID := p_header_adj_rec.DISCOUNT_ID;
160 x_rowtype_rec.DISCOUNT_LINE_ID := p_header_adj_rec.DISCOUNT_LINE_ID;
161 x_rowtype_rec.PRICE_ADJUSTMENT_ID := p_header_adj_rec.PRICE_ADJUSTMENT_ID;
162 x_rowtype_rec.PROGRAM_APPLICATION_ID := p_header_adj_rec.PROGRAM_APPLICATION_ID;
163 x_rowtype_rec.PROGRAM_ID := p_header_adj_rec.PROGRAM_ID;
164 x_rowtype_rec.PROGRAM_UPDATE_DATE := p_header_adj_rec.PROGRAM_UPDATE_DATE;
165 x_rowtype_rec.request_id := p_header_adj_rec.request_id;
166 x_rowtype_rec.orig_sys_discount_ref := p_header_adj_rec.orig_sys_discount_ref;
167 x_rowtype_rec.list_header_id := p_header_adj_rec.list_header_id;
168 x_rowtype_rec.list_line_id := p_header_adj_rec.list_line_id;
169 x_rowtype_rec.list_line_type_code := p_header_adj_rec.list_line_type_code;
170 x_rowtype_rec.modifier_mechanism_type_code := p_header_adj_rec.modifier_mechanism_type_code;
171 x_rowtype_rec.modified_from := p_header_adj_rec.modified_from;
172 x_rowtype_rec.modified_to := p_header_adj_rec.modified_to;
173 x_rowtype_rec.updated_flag := p_header_adj_rec.updated_flag;
174 x_rowtype_rec.update_allowed := p_header_adj_rec.update_allowed;
175 x_rowtype_rec.applied_flag := p_header_adj_rec.applied_flag;
176 x_rowtype_rec.change_reason_code := p_header_adj_rec.change_reason_code;
177 x_rowtype_rec.change_reason_text := p_header_adj_rec.change_reason_text;
178 x_rowtype_rec.operand := p_header_adj_rec.operand;
179 x_rowtype_rec.operand_per_pqty := p_header_adj_rec.operand_per_pqty;
180 x_rowtype_rec.arithmetic_operator := p_header_adj_rec.arithmetic_operator;
181 x_rowtype_rec.cost_id := p_header_adj_rec.cost_id;
182 x_rowtype_rec.tax_code := p_header_adj_rec.tax_code;
183 x_rowtype_rec.tax_exempt_flag := p_header_adj_rec.tax_exempt_flag;
184 x_rowtype_rec.tax_exempt_number := p_header_adj_rec.tax_exempt_number;
185 x_rowtype_rec.tax_exempt_reason_code := p_header_adj_rec.tax_exempt_reason_code;
186 x_rowtype_rec.parent_adjustment_id := p_header_adj_rec.parent_adjustment_id;
187 x_rowtype_rec.invoiced_flag := p_header_adj_rec.invoiced_flag;
188 x_rowtype_rec.estimated_flag := p_header_adj_rec.estimated_flag;
189 x_rowtype_rec.inc_in_sales_performance := p_header_adj_rec.inc_in_sales_performance;
190 x_rowtype_rec.split_action_code := p_header_adj_rec.split_action_code;
191 x_rowtype_rec.charge_type_code := p_header_adj_rec.charge_type_code;
192 x_rowtype_rec.charge_subtype_code := p_header_adj_rec.charge_subtype_code;
193
194 x_rowtype_rec.adjusted_amount := p_header_adj_rec.adjusted_amount;
195 x_rowtype_rec.adjusted_amount_per_pqty := p_header_adj_rec.adjusted_amount_per_pqty;
196 x_rowtype_rec.pricing_phase_id := p_header_adj_rec.pricing_phase_id;
197 x_rowtype_rec.list_line_no := p_header_adj_rec.list_line_no;
198 x_rowtype_rec.source_system_code := p_header_adj_rec.source_system_code;
199 x_rowtype_rec.benefit_qty := p_header_adj_rec.benefit_qty;
200 x_rowtype_rec.benefit_uom_code := p_header_adj_rec.benefit_uom_code;
201 x_rowtype_rec.print_on_invoice_flag := p_header_adj_rec.print_on_invoice_flag;
202 x_rowtype_rec.expiration_date := p_header_adj_rec.expiration_date;
203 x_rowtype_rec.rebate_transaction_type_code := p_header_adj_rec.rebate_transaction_type_code;
204 x_rowtype_rec.rebate_transaction_reference := p_header_adj_rec.rebate_transaction_reference;
205 x_rowtype_rec.rebate_payment_system_code := p_header_adj_rec.rebate_payment_system_code;
206 x_rowtype_rec.redeemed_date := p_header_adj_rec.redeemed_date;
207 x_rowtype_rec.redeemed_flag := p_header_adj_rec.redeemed_flag;
208 x_rowtype_rec.accrual_flag := p_header_adj_rec.accrual_flag;
209 x_rowtype_rec.range_break_quantity := p_header_adj_rec.range_break_quantity;
210 x_rowtype_rec.accrual_conversion_rate := p_header_adj_rec.accrual_conversion_rate;
211 x_rowtype_rec.pricing_group_sequence := p_header_adj_rec.pricing_group_sequence;
212 x_rowtype_rec.modifier_level_code := p_header_adj_rec.modifier_level_code;
213 x_rowtype_rec.price_break_type_code := p_header_adj_rec.price_break_type_code;
214 x_rowtype_rec.substitution_attribute := p_header_adj_rec.substitution_attribute;
215 x_rowtype_rec.proration_type_code := p_header_adj_rec.proration_type_code;
216 x_rowtype_rec.credit_or_charge_flag := p_header_adj_rec.credit_or_charge_flag;
217 x_rowtype_rec.include_on_returns_flag := p_header_adj_rec.include_on_returns_flag;
218 x_rowtype_rec.AC_ATTRIBUTE1 := p_header_adj_rec.AC_ATTRIBUTE1;
219 x_rowtype_rec.AC_ATTRIBUTE10 := p_header_adj_rec.AC_ATTRIBUTE10;
220 x_rowtype_rec.AC_ATTRIBUTE11 := p_header_adj_rec.AC_ATTRIBUTE11;
221 x_rowtype_rec.AC_ATTRIBUTE12 := p_header_adj_rec.AC_ATTRIBUTE12;
222 x_rowtype_rec.AC_ATTRIBUTE13 := p_header_adj_rec.AC_ATTRIBUTE13;
223 x_rowtype_rec.AC_ATTRIBUTE14 := p_header_adj_rec.AC_ATTRIBUTE14;
224 x_rowtype_rec.AC_ATTRIBUTE15 := p_header_adj_rec.AC_ATTRIBUTE15;
225 x_rowtype_rec.AC_ATTRIBUTE2 := p_header_adj_rec.AC_ATTRIBUTE2;
226 x_rowtype_rec.AC_ATTRIBUTE3 := p_header_adj_rec.AC_ATTRIBUTE3;
227 x_rowtype_rec.AC_ATTRIBUTE4 := p_header_adj_rec.AC_ATTRIBUTE4;
228 x_rowtype_rec.AC_ATTRIBUTE5 := p_header_adj_rec.AC_ATTRIBUTE5;
229 x_rowtype_rec.AC_ATTRIBUTE6 := p_header_adj_rec.AC_ATTRIBUTE6;
230 x_rowtype_rec.AC_ATTRIBUTE7 := p_header_adj_rec.AC_ATTRIBUTE7;
231 x_rowtype_rec.AC_ATTRIBUTE8 := p_header_adj_rec.AC_ATTRIBUTE8;
232 x_rowtype_rec.AC_ATTRIBUTE9 := p_header_adj_rec.AC_ATTRIBUTE9;
233 x_rowtype_rec.AC_CONTEXT := p_header_adj_rec.AC_CONTEXT;
234 x_rowtype_rec.invoiced_amount := p_header_adj_rec.invoiced_amount;
235
236 END API_Rec_To_RowType_Rec;
237
238
239 PROCEDURE Rowtype_Rec_To_API_Rec
240 ( p_record IN OE_AK_HEADER_PRCADJS_V%ROWTYPE
241 , x_api_rec OUT nocopy OE_Order_PUB.HEADER_ADJ_Rec_Type
242 )
243 iS
244
245 --
246 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
247 --
248 BEGIN
249
250 x_api_rec.ATTRIBUTE1 := p_record.ATTRIBUTE1;
251 x_api_rec.ATTRIBUTE10 := p_record.ATTRIBUTE10;
252 x_api_rec.ATTRIBUTE11 := p_record.ATTRIBUTE11;
253 x_api_rec.ATTRIBUTE12 := p_record.ATTRIBUTE12;
254 x_api_rec.ATTRIBUTE13 := p_record.ATTRIBUTE13;
255 x_api_rec.ATTRIBUTE14 := p_record.ATTRIBUTE14;
256 x_api_rec.ATTRIBUTE15 := p_record.ATTRIBUTE15;
257 x_api_rec.ATTRIBUTE2 := p_record.ATTRIBUTE2;
258 x_api_rec.ATTRIBUTE3 := p_record.ATTRIBUTE3;
259 x_api_rec.ATTRIBUTE4 := p_record.ATTRIBUTE4;
260 x_api_rec.ATTRIBUTE5 := p_record.ATTRIBUTE5;
261 x_api_rec.ATTRIBUTE6 := p_record.ATTRIBUTE6;
262 x_api_rec.ATTRIBUTE7 := p_record.ATTRIBUTE7;
263 x_api_rec.ATTRIBUTE8 := p_record.ATTRIBUTE8;
264 x_api_rec.ATTRIBUTE9 := p_record.ATTRIBUTE9;
265 x_api_rec.CONTEXT := p_record.CONTEXT;
266 x_api_rec.CREATED_BY := p_record.CREATED_BY;
267 x_api_rec.CREATION_DATE := p_record.CREATION_DATE;
268 x_api_rec.DB_FLAG := p_record.DB_FLAG;
269 x_api_rec.HEADER_ID := p_record.HEADER_ID;
270 x_api_rec.LAST_UPDATED_BY := p_record.LAST_UPDATED_BY;
271 x_api_rec.LAST_UPDATE_DATE := p_record.LAST_UPDATE_DATE;
272 x_api_rec.LAST_UPDATE_LOGIN := p_record.LAST_UPDATE_LOGIN;
273 x_api_rec.LINE_ID := p_record.LINE_ID;
274 x_api_rec.OPERATION := p_record.OPERATION;
275 x_api_rec.PERCENT := p_record.PERCENT;
276 x_api_rec.RETURN_STATUS := p_record.RETURN_STATUS;
277 x_api_rec.AUTOMATIC_FLAG := p_record.AUTOMATIC_FLAG;
278 x_api_rec.DISCOUNT_ID := p_record.DISCOUNT_ID;
279 x_api_rec.DISCOUNT_LINE_ID := p_record.DISCOUNT_LINE_ID;
280 x_api_rec.PRICE_ADJUSTMENT_ID := p_record.PRICE_ADJUSTMENT_ID;
281 x_api_rec.PROGRAM_APPLICATION_ID := p_record.PROGRAM_APPLICATION_ID;
282 x_api_rec.PROGRAM_ID := p_record.PROGRAM_ID;
283 x_api_rec.PROGRAM_UPDATE_DATE := p_record.PROGRAM_UPDATE_DATE;
284 x_api_rec.request_id := p_record.request_id;
285 x_api_rec.orig_sys_discount_ref := p_record.orig_sys_discount_ref;
286 x_api_rec.list_header_id := p_record.list_header_id;
287 x_api_rec.list_line_id := p_record.list_line_id;
288 x_api_rec.list_line_type_code := p_record.list_line_type_code;
289 x_api_rec.modifier_mechanism_type_code := p_record.modifier_mechanism_type_code;
290 x_api_rec.modified_from := p_record.modified_from;
291 x_api_rec.modified_to := p_record.modified_to;
292 x_api_rec.updated_flag := p_record.updated_flag;
293 x_api_rec.update_allowed := p_record.update_allowed;
294 x_api_rec.applied_flag := p_record.applied_flag;
295 x_api_rec.change_reason_code := p_record.change_reason_code;
296 x_api_rec.change_reason_text := p_record.change_reason_text;
297 x_api_rec.operand := p_record.operand;
298 x_api_rec.operand_per_pqty := p_record.operand_per_pqty;
299 x_api_rec.arithmetic_operator := p_record.arithmetic_operator;
300 x_api_rec.cost_id := p_record.cost_id;
301 x_api_rec.tax_code := p_record.tax_code;
302 x_api_rec.tax_exempt_flag := p_record.tax_exempt_flag;
303 x_api_rec.tax_exempt_number := p_record.tax_exempt_number;
304 x_api_rec.tax_exempt_reason_code := p_record.tax_exempt_reason_code;
305 x_api_rec.parent_adjustment_id := p_record.parent_adjustment_id;
306 x_api_rec.invoiced_flag := p_record.invoiced_flag;
307 x_api_rec.estimated_flag := p_record.estimated_flag;
308 x_api_rec.inc_in_sales_performance := p_record.inc_in_sales_performance;
309 x_api_rec.split_action_code := p_record.split_action_code;
310 x_api_rec.charge_type_code := p_record.charge_type_code;
311 x_api_rec.charge_subtype_code := p_record.charge_subtype_code;
312 x_api_rec.adjusted_amount := p_record.adjusted_amount;
313 x_api_rec.adjusted_amount_per_pqty := p_record.adjusted_amount_per_pqty;
314 x_api_rec.pricing_phase_id := p_record.pricing_phase_id;
315 x_api_rec.list_line_no := p_record.list_line_no;
316 x_api_rec.source_system_code := p_record.source_system_code;
317 x_api_rec.benefit_qty := p_record.benefit_qty;
318 x_api_rec.benefit_uom_code := p_record.benefit_uom_code;
319 x_api_rec.print_on_invoice_flag := p_record.print_on_invoice_flag;
320 x_api_rec.expiration_date := p_record.expiration_date;
321 x_api_rec.rebate_transaction_type_code := p_record.rebate_transaction_type_code;
322 x_api_rec.rebate_transaction_reference := p_record.rebate_transaction_reference;
323 x_api_rec.rebate_payment_system_code := p_record.rebate_payment_system_code;
324 x_api_rec.redeemed_date := p_record.redeemed_date;
325 x_api_rec.redeemed_flag := p_record.redeemed_flag;
326 x_api_rec.accrual_flag := p_record.accrual_flag;
327 x_api_rec.range_break_quantity := p_record.range_break_quantity;
328 x_api_rec.accrual_conversion_rate := p_record.accrual_conversion_rate;
329 x_api_rec.pricing_group_sequence := p_record.pricing_group_sequence;
330 x_api_rec.modifier_level_code := p_record.modifier_level_code;
331 x_api_rec.price_break_type_code := p_record.price_break_type_code;
332 x_api_rec.substitution_attribute := p_record.substitution_attribute;
333 x_api_rec.proration_type_code := p_record.proration_type_code;
334 x_api_rec.credit_or_charge_flag := p_record.credit_or_charge_flag;
335 x_api_rec.include_on_returns_flag := p_record.include_on_returns_flag;
336 x_api_rec.AC_ATTRIBUTE1 := p_record.AC_ATTRIBUTE1;
337 x_api_rec.AC_ATTRIBUTE10 := p_record.AC_ATTRIBUTE10;
338 x_api_rec.AC_ATTRIBUTE11 := p_record.AC_ATTRIBUTE11;
339 x_api_rec.AC_ATTRIBUTE12 := p_record.AC_ATTRIBUTE12;
340 x_api_rec.AC_ATTRIBUTE13 := p_record.AC_ATTRIBUTE13;
341 x_api_rec.AC_ATTRIBUTE14 := p_record.AC_ATTRIBUTE14;
342 x_api_rec.AC_ATTRIBUTE15 := p_record.AC_ATTRIBUTE15;
343 x_api_rec.AC_ATTRIBUTE2 := p_record.AC_ATTRIBUTE2;
344 x_api_rec.AC_ATTRIBUTE3 := p_record.AC_ATTRIBUTE3;
345 x_api_rec.AC_ATTRIBUTE4 := p_record.AC_ATTRIBUTE4;
346 x_api_rec.AC_ATTRIBUTE5 := p_record.AC_ATTRIBUTE5;
347 x_api_rec.AC_ATTRIBUTE6 := p_record.AC_ATTRIBUTE6;
348 x_api_rec.AC_ATTRIBUTE7 := p_record.AC_ATTRIBUTE7;
349 x_api_rec.AC_ATTRIBUTE8 := p_record.AC_ATTRIBUTE8;
350 x_api_rec.AC_ATTRIBUTE9 := p_record.AC_ATTRIBUTE9;
351 x_api_rec.AC_CONTEXT := p_record.AC_CONTEXT;
352 x_api_rec.invoiced_amount := p_record.invoiced_amount;
353
354 END Rowtype_Rec_To_API_Rec;
355
356 -- Procedure Clear_Dependent_Attr
357
358 -- Over loaded Procedure , Remember to maintain 2 code sets
359
360 PROCEDURE Clear_Dependent_Attr
361 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
362 , p_x_Header_Adj_rec IN OUT NOCOPY OE_AK_HEADER_PRCADJS_V%ROWTYPE
363 , p_old_Header_Adj_rec IN OE_AK_HEADER_PRCADJS_V%ROWTYPE :=
364 G_MISS_OE_AK_HEADER_ADJ_REC
365 -- , x_Header_Adj_rec OUT nocopy OE_AK_HEADER_PRCADJS_V%ROWTYPE
366 )
367
368 IS
369 l_index NUMBER :=0;
370 l_src_attr_tbl OE_GLOBALS.NUMBER_Tbl_Type;
371 l_dep_attr_tbl OE_GLOBALS.NUMBER_Tbl_Type;
372 --
373 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
374 --
375 BEGIN
376
377 IF l_debug_level > 0 THEN
378 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.CLEAR_DEPENDENT_ATTR' , 1 ) ;
379 END IF;
380
381 -- Load out record
382
383 -- x_Header_Adj_rec := p_Header_Adj_rec;
384
385 -- If attr_id is missing compare old and new records and for
386 -- every changed attribute clear its dependent fields.
387
388 IF p_attr_id = FND_API.G_MISS_NUM THEN
389
390 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.price_adjustment_id,p_old_Header_Adj_rec.price_adjustment_id)
391 THEN
392 l_index := l_index + 1;
393 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_PRICE_ADJUSTMENT;
394 END IF;
395
396 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.creation_date,p_old_Header_Adj_rec.creation_date)
397 THEN
398 l_index := l_index + 1;
399 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_CREATION_DATE;
400 END IF;
401
402 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.created_by,p_old_Header_Adj_rec.created_by)
403 THEN
404 l_index := l_index + 1;
405 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_CREATED_BY;
406 END IF;
407
408 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.last_update_date,p_old_Header_Adj_rec.last_update_date)
409 THEN
410 l_index := l_index + 1;
411 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_LAST_UPDATE_DATE;
412 END IF;
413
414 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.last_updated_by,p_old_Header_Adj_rec.last_updated_by)
415 THEN
416 l_index := l_index + 1;
417 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_LAST_UPDATED_BY;
418 END IF;
419
420 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.last_update_login,p_old_Header_Adj_rec.last_update_login)
421 THEN
422 l_index := l_index + 1;
423 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_LAST_UPDATE_LOGIN;
424 END IF;
425
426 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.program_application_id,p_old_Header_Adj_rec.program_application_id)
427 THEN
428 l_index := l_index + 1;
429 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_PROGRAM_APPLICATION;
430 END IF;
431
432 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.program_id,p_old_Header_Adj_rec.program_id)
433 THEN
434 l_index := l_index + 1;
435 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_PROGRAM;
436 END IF;
437
438 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.program_update_date,p_old_Header_Adj_rec.program_update_date)
439 THEN
440 l_index := l_index + 1;
441 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_PROGRAM_UPDATE_DATE;
442 END IF;
443
444 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.request_id,p_old_Header_Adj_rec.request_id)
445 THEN
446 l_index := l_index + 1;
447 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_REQUEST;
448 END IF;
449
450 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.header_id,p_old_Header_Adj_rec.header_id)
451 THEN
452 l_index := l_index + 1;
453 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_HEADER;
454 END IF;
455
456 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.discount_id,p_old_Header_Adj_rec.discount_id)
457 THEN
458 l_index := l_index + 1;
459 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_DISCOUNT;
460 END IF;
461
462 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.discount_line_id,p_old_Header_Adj_rec.discount_line_id)
463 THEN
464 l_index := l_index + 1;
465 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_DISCOUNT_LINE;
466 END IF;
467
468 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.automatic_flag,p_old_Header_Adj_rec.automatic_flag)
469 THEN
470 l_index := l_index + 1;
471 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AUTOMATIC;
472 END IF;
473
474 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.percent,p_old_Header_Adj_rec.percent)
475 THEN
476 l_index := l_index + 1;
477 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_PERCENT;
478 END IF;
479
480 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.line_id,p_old_Header_Adj_rec.line_id)
481 THEN
482 l_index := l_index + 1;
483 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_LINE;
484 END IF;
485
486 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.context,p_old_Header_Adj_rec.context)
487 THEN
488 l_index := l_index + 1;
489 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_CONTEXT;
490 END IF;
491
492 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute1,p_old_Header_Adj_rec.attribute1)
493 THEN
494 l_index := l_index + 1;
495 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE1;
496 END IF;
497
498 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute2,p_old_Header_Adj_rec.attribute2)
499 THEN
500 l_index := l_index + 1;
501 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE2;
502 END IF;
503
504 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute3,p_old_Header_Adj_rec.attribute3)
505 THEN
506 l_index := l_index + 1;
507 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE3;
508 END IF;
509
510 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute4,p_old_Header_Adj_rec.attribute4)
511 THEN
512 l_index := l_index + 1;
513 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE4;
514 END IF;
515
516 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute5,p_old_Header_Adj_rec.attribute5)
517 THEN
518 l_index := l_index + 1;
519 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE5;
520 END IF;
521
522 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute6,p_old_Header_Adj_rec.attribute6)
523 THEN
524 l_index := l_index + 1;
525 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE6;
526 END IF;
527
528 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute7,p_old_Header_Adj_rec.attribute7)
529 THEN
530 l_index := l_index + 1;
531 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE7;
532 END IF;
533
534 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute8,p_old_Header_Adj_rec.attribute8)
535 THEN
536 l_index := l_index + 1;
537 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE8;
538 END IF;
539
540 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute9,p_old_Header_Adj_rec.attribute9)
541 THEN
542 l_index := l_index + 1;
543 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE9;
544 END IF;
545
546 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute10,p_old_Header_Adj_rec.attribute10)
547 THEN
548 l_index := l_index + 1;
549 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE10;
550 END IF;
551
552 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute11,p_old_Header_Adj_rec.attribute11)
553 THEN
554 l_index := l_index + 1;
555 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE11;
556 END IF;
557
558 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute12,p_old_Header_Adj_rec.attribute12)
559 THEN
560 l_index := l_index + 1;
561 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE12;
562 END IF;
563
564 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute13,p_old_Header_Adj_rec.attribute13)
565 THEN
566 l_index := l_index + 1;
567 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE13;
568 END IF;
569
570 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute14,p_old_Header_Adj_rec.attribute14)
571 THEN
572 l_index := l_index + 1;
573 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE14;
574 END IF;
575
576 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute15,p_old_Header_Adj_rec.attribute15)
577 THEN
578 l_index := l_index + 1;
579 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ATTRIBUTE15;
580 END IF;
581
582 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.COST_ID, p_old_Header_Adj_rec.COST_ID)
583 THEN
584 l_index := l_index + 1;
585 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_COST_ID;
586 END IF;
587
588 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.TAX_CODE, p_old_Header_Adj_rec.TAX_CODE)
589 THEN
590 l_index := l_index + 1;
591 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_TAX_CODE;
592 END IF;
593
594 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.TAX_EXEMPT_FLAG, p_old_Header_Adj_rec.TAX_EXEMPT_FLAG)
595 THEN
596 l_index := l_index + 1;
597 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_TAX_EXEMPT_FLAG;
598 END IF;
599
600 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.TAX_EXEMPT_NUMBER, p_old_Header_Adj_rec.TAX_EXEMPT_NUMBER)
601 THEN
602 l_index := l_index + 1;
603 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_TAX_EXEMPT_NUMBER;
604 END IF;
605
606 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.TAX_EXEMPT_REASON_CODE, p_old_Header_Adj_rec.TAX_EXEMPT_REASON_CODE)
607 THEN
608 l_index := l_index + 1;
609 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_TAX_EXEMPT_REASON_CODE;
610 END IF;
611
612 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.PARENT_ADJUSTMENT_ID, p_old_Header_Adj_rec.PARENT_ADJUSTMENT_ID)
613 THEN
614 l_index := l_index + 1;
615 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_PARENT_ADJUSTMENT_ID;
616 END IF;
617
618 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.INVOICED_FLAG, p_old_Header_Adj_rec.INVOICED_FLAG)
619 THEN
620 l_index := l_index + 1;
621 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_INVOICED_FLAG;
622 END IF;
623
624 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ESTIMATED_FLAG, p_old_Header_Adj_rec.ESTIMATED_FLAG)
625 THEN
626 l_index := l_index + 1;
627 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_ESTIMATED_FLAG;
628 END IF;
629
630 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.INC_IN_SALES_PERFORMANCE, p_old_Header_Adj_rec.INC_IN_SALES_PERFORMANCE)
631 THEN
632 l_index := l_index + 1;
633 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_INC_IN_SALES_PERFORMANCE;
634 END IF;
635
636 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.SPLIT_ACTION_CODE, p_old_Header_Adj_rec.SPLIT_ACTION_CODE)
637 THEN
638 l_index := l_index + 1;
639 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_SPLIT_ACTION_CODE;
640 END IF;
641
642 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.charge_type_code, p_old_Header_Adj_rec.charge_type_code)
643 THEN
644 l_index := l_index + 1;
645 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_CHARGE_TYPE_CODE;
646 END IF;
647
648 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.charge_subtype_code, p_old_Header_Adj_rec.charge_subtype_code)
649 THEN
650 l_index := l_index + 1;
651 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_CHARGE_SUBTYPE_CODE;
652 END IF;
653
654 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.list_line_no, p_old_Header_Adj_rec.list_line_no)
655 THEN
656 l_index := l_index + 1;
657 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_LIST_LINE_NO;
658 END IF;
659
660 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.source_system_code, p_old_Header_Adj_rec.source_system_code)
661 THEN
662 l_index := l_index + 1;
663 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_SOURCE_SYSTEM_CODE;
664 END IF;
665
666 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.benefit_qty, p_old_Header_Adj_rec.benefit_qty)
667 THEN
668 l_index := l_index + 1;
669 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_BENEFIT_QTY;
670 END IF;
671
672 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.benefit_uom_code, p_old_Header_Adj_rec.benefit_uom_code)
673 THEN
674 l_index := l_index + 1;
675 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_BENEFIT_UOM_CODE;
676 END IF;
677
678 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.print_on_invoice_flag, p_old_Header_Adj_rec.print_on_invoice_flag)
679 THEN
680 l_index := l_index + 1;
681 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_PRINT_ON_INVOICE_FLAG;
682 END IF;
683
684 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.expiration_date, p_old_Header_Adj_rec.expiration_date)
685 THEN
686 l_index := l_index + 1;
687 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_EXPIRATION_DATE;
688 END IF;
689
690 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.rebate_transaction_type_code, p_old_Header_Adj_rec.rebate_transaction_type_code)
691 THEN
692 l_index := l_index + 1;
693 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_REBATE_TRANSACTION_TYPE_CODE;
694 END IF;
695
696 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.rebate_transaction_reference, p_old_Header_Adj_rec.rebate_transaction_reference)
697 THEN
698 l_index := l_index + 1;
699 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_REBATE_TRANSACTION_REFERENCE;
700 END IF;
701
702 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.rebate_payment_system_code, p_old_Header_Adj_rec.rebate_payment_system_code)
703 THEN
704 l_index := l_index + 1;
705 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_REBATE_PAYMENT_SYSTEM_CODE;
706 END IF;
707
708 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.redeemed_date, p_old_Header_Adj_rec.redeemed_date)
709 THEN
710 l_index := l_index + 1;
711 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_REDEEMED_DATE;
712 END IF;
713
714 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.redeemed_flag, p_old_Header_Adj_rec.redeemed_flag)
715 THEN
716 l_index := l_index + 1;
717 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_REDEEMED_FLAG;
718 END IF;
719
720 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.accrual_flag, p_old_Header_Adj_rec.accrual_flag)
721 THEN
722 l_index := l_index + 1;
723 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_ACCRUAL_FLAG;
724 END IF;
725
726 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.range_break_quantity, p_old_Header_Adj_rec.range_break_quantity)
727 THEN
728 l_index := l_index + 1;
729 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_range_break_quantity;
730 END IF;
731
732 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.accrual_conversion_rate, p_old_Header_Adj_rec.accrual_conversion_rate)
733 THEN
734 l_index := l_index + 1;
735 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_accrual_conversion_rate;
736 END IF;
737
738 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.pricing_group_sequence, p_old_Header_Adj_rec.pricing_group_sequence)
739 THEN
740 l_index := l_index + 1;
741 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_pricing_group_sequence;
742 END IF;
743
744 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.modifier_level_code, p_old_Header_Adj_rec.modifier_level_code)
745 THEN
746 l_index := l_index + 1;
747 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_modifier_level_code;
748 END IF;
749
750 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.price_break_type_code, p_old_Header_Adj_rec.price_break_type_code)
751 THEN
752 l_index := l_index + 1;
753 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_price_break_type_code;
754 END IF;
755
756 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.substitution_attribute, p_old_Header_Adj_rec.substitution_attribute)
757 THEN
758 l_index := l_index + 1;
759 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_substitution_attribute;
760 END IF;
761
762 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.proration_type_code, p_old_Header_Adj_rec.proration_type_code)
763 THEN
764 l_index := l_index + 1;
765 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_proration_type_code;
766 END IF;
767
768 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.credit_or_charge_flag, p_old_Header_Adj_rec.credit_or_charge_flag)
769 THEN
770 l_index := l_index + 1;
771 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_credit_or_charge_flag;
772 END IF;
773
774 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.include_on_returns_flag, p_old_Header_Adj_rec.include_on_returns_flag)
775 THEN
776 l_index := l_index + 1;
777 l_src_attr_tbl(l_index) := OE_Header_ADJ_UTIL.G_include_on_returns_flag;
778 END IF;
779
780 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_context,p_old_Header_Adj_rec.ac_context)
781 THEN
782 l_index := l_index + 1;
783 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_CONTEXT;
784 END IF;
785
786 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute1,p_old_Header_Adj_rec.ac_attribute1)
787 THEN
788 l_index := l_index + 1;
789 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE1;
790 END IF;
791
792 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute2,p_old_Header_Adj_rec.ac_attribute2)
793 THEN
794 l_index := l_index + 1;
795 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE2;
796 END IF;
797
798 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute3,p_old_Header_Adj_rec.ac_attribute3)
799 THEN
800 l_index := l_index + 1;
801 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE3;
802 END IF;
803
804 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute4,p_old_Header_Adj_rec.ac_attribute4)
805 THEN
806 l_index := l_index + 1;
807 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE4;
808 END IF;
809
810 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute5,p_old_Header_Adj_rec.ac_attribute5)
811 THEN
812 l_index := l_index + 1;
813 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE5;
814 END IF;
815
816 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute6,p_old_Header_Adj_rec.ac_attribute6)
817 THEN
818 l_index := l_index + 1;
819 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE6;
820 END IF;
821
822 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute7,p_old_Header_Adj_rec.ac_attribute7)
823 THEN
824 l_index := l_index + 1;
825 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE7;
826 END IF;
827
828 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute8,p_old_Header_Adj_rec.ac_attribute8)
829 THEN
830 l_index := l_index + 1;
831 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE8;
832 END IF;
833
834 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute9,p_old_Header_Adj_rec.ac_attribute9)
835 THEN
836 l_index := l_index + 1;
837 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE9;
838 END IF;
839
840 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute10,p_old_Header_Adj_rec.ac_attribute10)
841 THEN
842 l_index := l_index + 1;
843 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE10;
844 END IF;
845
846 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute11,p_old_Header_Adj_rec.ac_attribute11)
847 THEN
848 l_index := l_index + 1;
849 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE11;
850 END IF;
851
852 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute12,p_old_Header_Adj_rec.ac_attribute12)
853 THEN
854 l_index := l_index + 1;
855 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE12;
856 END IF;
857
858 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute13,p_old_Header_Adj_rec.ac_attribute13)
859 THEN
860 l_index := l_index + 1;
861 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE13;
862 END IF;
863
864 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute14,p_old_Header_Adj_rec.ac_attribute14)
865 THEN
866 l_index := l_index + 1;
867 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE14;
868 END IF;
869
870 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ac_attribute15,p_old_Header_Adj_rec.ac_attribute15)
871 THEN
872 l_index := l_index + 1;
873 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE15;
874 END IF;
875
876 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.operand,
877 p_old_Header_Adj_rec.operand)
878 THEN
879 l_index := l_index + 1;
880 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_OPERAND;
881 END IF;
882
883 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.adjusted_amount,
884 p_old_Header_Adj_rec.adjusted_amount)
885 THEN
886 l_index := l_index + 1;
887 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ADJUSTED_AMOUNT;
888 END IF;
889
890 --uom begin
891 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.operand_per_pqty,
892 p_old_Header_Adj_rec.operand_per_pqty)
893 THEN
894 l_index := l_index + 1;
895 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_OPERAND_PER_PQTY;
896 END IF;
897
898 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.adjusted_amount_per_pqty,
899 p_old_Header_Adj_rec.adjusted_amount_per_pqty)
900 THEN
901 l_index := l_index + 1;
902 l_src_attr_tbl(l_index) := OE_HEADER_ADJ_UTIL.G_ADJUSTED_AMOUNT_PER_PQTY;
903 END IF;
904 --uom end
905
906
907 ElsE
908 l_index := l_index + 1.0;
909 l_src_attr_tbl(l_index) := p_attr_id;
910
911 End If;
912
913 If l_src_attr_tbl.COUNT <> 0 THEN
914
915 OE_Dependencies.Mark_Dependent
916 (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
917 p_source_attr_tbl => l_src_attr_tbl,
918 p_dep_attr_tbl => l_dep_attr_tbl);
919
920 FOR I IN 1..l_dep_attr_tbl.COUNT LOOP
921 IF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_PRICE_ADJUSTMENT THEN
922 p_x_Header_Adj_rec.PRICE_ADJUSTMENT_ID := FND_API.G_MISS_NUM;
923 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_CREATION_DATE THEN
924 p_x_Header_Adj_rec.CREATION_DATE := FND_API.G_MISS_DATE;
925 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_CREATED_BY THEN
926 p_x_Header_Adj_rec.CREATED_BY := FND_API.G_MISS_NUM;
927 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_LAST_UPDATE_DATE THEN
928 p_x_Header_Adj_rec.LAST_UPDATE_DATE := FND_API.G_MISS_DATE;
929 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_LAST_UPDATED_BY THEN
930 p_x_Header_Adj_rec.LAST_UPDATED_BY := FND_API.G_MISS_NUM;
931 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_LAST_UPDATE_LOGIN THEN
932 p_x_Header_Adj_rec.LAST_UPDATE_LOGIN := FND_API.G_MISS_NUM;
933 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_PROGRAM_APPLICATION THEN
934 p_x_Header_Adj_rec.PROGRAM_APPLICATION_ID := FND_API.G_MISS_NUM;
935 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_PROGRAM THEN
936 p_x_Header_Adj_rec.PROGRAM_ID := FND_API.G_MISS_NUM;
937 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_PROGRAM_UPDATE_DATE THEN
938 p_x_Header_Adj_rec.PROGRAM_UPDATE_DATE := FND_API.G_MISS_DATE;
939 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_REQUEST THEN
940 p_x_Header_Adj_rec.REQUEST_ID := FND_API.G_MISS_NUM;
941 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_HEADER THEN
942 p_x_Header_Adj_rec.HEADER_ID := FND_API.G_MISS_NUM;
943 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_DISCOUNT THEN
944 p_x_Header_Adj_rec.DISCOUNT_ID := FND_API.G_MISS_NUM;
945 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_DISCOUNT_LINE THEN
946 p_x_Header_Adj_rec.DISCOUNT_LINE_ID := FND_API.G_MISS_NUM;
947 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AUTOMATIC THEN
948 p_x_Header_Adj_rec.AUTOMATIC_FLAG := FND_API.G_MISS_CHAR;
949 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_PERCENT THEN
950 p_x_Header_Adj_rec.PERCENT := FND_API.G_MISS_NUM;
951 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_LINE THEN
952 p_x_Header_Adj_rec.LINE_ID := FND_API.G_MISS_NUM;
953 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_CONTEXT THEN
954 p_x_Header_Adj_rec.CONTEXT := FND_API.G_MISS_CHAR;
955 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE1 THEN
956 p_x_Header_Adj_rec.ATTRIBUTE1 := FND_API.G_MISS_CHAR;
957 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE2 THEN
958 p_x_Header_Adj_rec.ATTRIBUTE2 := FND_API.G_MISS_CHAR;
959 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE3 THEN
960 p_x_Header_Adj_rec.ATTRIBUTE3 := FND_API.G_MISS_CHAR;
961 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE4 THEN
962 p_x_Header_Adj_rec.ATTRIBUTE4 := FND_API.G_MISS_CHAR;
963 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE5 THEN
964 p_x_Header_Adj_rec.ATTRIBUTE5 := FND_API.G_MISS_CHAR;
965 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE6 THEN
966 p_x_Header_Adj_rec.ATTRIBUTE6 := FND_API.G_MISS_CHAR;
967 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE7 THEN
968 p_x_Header_Adj_rec.ATTRIBUTE7 := FND_API.G_MISS_CHAR;
969 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE8 THEN
970 p_x_Header_Adj_rec.ATTRIBUTE8 := FND_API.G_MISS_CHAR;
971 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE9 THEN
972 p_x_Header_Adj_rec.ATTRIBUTE9 := FND_API.G_MISS_CHAR;
973 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE10 THEN
974 p_x_Header_Adj_rec.ATTRIBUTE10 := FND_API.G_MISS_CHAR;
975 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE11 THEN
976 p_x_Header_Adj_rec.ATTRIBUTE11 := FND_API.G_MISS_CHAR;
977 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE12 THEN
978 p_x_Header_Adj_rec.ATTRIBUTE12 := FND_API.G_MISS_CHAR;
979 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE13 THEN
980 p_x_Header_Adj_rec.ATTRIBUTE13 := FND_API.G_MISS_CHAR;
981 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE14 THEN
982 p_x_Header_Adj_rec.ATTRIBUTE14 := FND_API.G_MISS_CHAR;
983 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ATTRIBUTE15 THEN
984 p_x_Header_Adj_rec.ATTRIBUTE15 := FND_API.G_MISS_CHAR;
985 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_COST_ID THEN
986 p_x_Header_Adj_rec.COST_ID := FND_API.G_MISS_NUM;
987 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_TAX_CODE THEN
988 p_x_Header_Adj_rec.TAX_CODE := FND_API.G_MISS_CHAR;
989 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_TAX_EXEMPT_FLAG THEN
990 p_x_Header_Adj_rec.TAX_EXEMPT_FLAG := FND_API.G_MISS_CHAR;
991 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_TAX_EXEMPT_NUMBER THEN
992 p_x_Header_Adj_rec.TAX_EXEMPT_NUMBER := FND_API.G_MISS_CHAR;
993 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_TAX_EXEMPT_REASON_CODE THEN
994 p_x_Header_Adj_rec.TAX_EXEMPT_REASON_CODE := FND_API.G_MISS_CHAR;
995 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_PARENT_ADJUSTMENT_ID THEN
996 p_x_Header_Adj_rec.PARENT_ADJUSTMENT_ID := FND_API.G_MISS_NUM;
997 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_INVOICED_FLAG THEN
998 p_x_Header_Adj_rec.INVOICED_FLAG := FND_API.G_MISS_CHAR;
999 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_ESTIMATED_FLAG THEN
1000 p_x_Header_Adj_rec.ESTIMATED_FLAG := FND_API.G_MISS_CHAR;
1001 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_INC_IN_SALES_PERFORMANCE THEN
1002 p_x_Header_Adj_rec.INC_IN_SALES_PERFORMANCE := FND_API.G_MISS_CHAR;
1003 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_SPLIT_ACTION_CODE THEN
1004 p_x_Header_Adj_rec.SPLIT_ACTION_CODE := FND_API.G_MISS_CHAR;
1005 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_CHARGE_TYPE_CODE THEN
1006 p_x_Header_Adj_rec.CHARGE_TYPE_CODE := FND_API.G_MISS_CHAR;
1007 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_CHARGE_SUBTYPE_CODE THEN
1008 p_x_Header_Adj_rec.CHARGE_SUBTYPE_CODE := FND_API.G_MISS_CHAR;
1009 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_LIST_LINE_NO THEN
1010 p_x_Header_Adj_rec.LIST_LINE_NO := FND_API.G_MISS_CHAR;
1011 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_SOURCE_SYSTEM_CODE THEN
1012 p_x_Header_Adj_rec.SOURCE_SYSTEM_CODE := FND_API.G_MISS_CHAR;
1013 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_BENEFIT_QTY THEN
1014 p_x_Header_Adj_rec.BENEFIT_QTY := FND_API.G_MISS_NUM;
1015 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_BENEFIT_UOM_CODE THEN
1016 p_x_Header_Adj_rec.BENEFIT_UOM_CODE := FND_API.G_MISS_CHAR;
1017 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_PRINT_ON_INVOICE_FLAG THEN
1018 p_x_Header_Adj_rec.PRINT_ON_INVOICE_FLAG := FND_API.G_MISS_CHAR;
1019 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_EXPIRATION_DATE THEN
1020 p_x_Header_Adj_rec.EXPIRATION_DATE := FND_API.G_MISS_DATE;
1021 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_REBATE_TRANSACTION_TYPE_CODE THEN
1022 p_x_Header_Adj_rec.REBATE_TRANSACTION_TYPE_CODE := FND_API.G_MISS_CHAR;
1023 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_REBATE_TRANSACTION_REFERENCE THEN
1024 p_x_Header_Adj_rec.REBATE_TRANSACTION_REFERENCE := FND_API.G_MISS_CHAR;
1025 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_REBATE_PAYMENT_SYSTEM_CODE THEN
1026 p_x_Header_Adj_rec.REBATE_PAYMENT_SYSTEM_CODE := FND_API.G_MISS_CHAR;
1027 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_REDEEMED_DATE THEN
1028 p_x_Header_Adj_rec.REDEEMED_DATE := FND_API.G_MISS_DATE;
1029 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_REDEEMED_FLAG THEN
1030 p_x_Header_Adj_rec.REDEEMED_FLAG := FND_API.G_MISS_CHAR;
1031 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_ACCRUAL_FLAG THEN
1032 p_x_Header_Adj_rec.ACCRUAL_FLAG := FND_API.G_MISS_CHAR;
1033 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_range_break_quantity THEN
1034 p_x_Header_Adj_rec.range_break_quantity := FND_API.G_MISS_NUM;
1035 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_accrual_conversion_rate THEN
1036 p_x_Header_Adj_rec.accrual_conversion_rate := FND_API.G_MISS_NUM;
1037 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_pricing_group_sequence THEN
1038 p_x_Header_Adj_rec.pricing_group_sequence := FND_API.G_MISS_NUM;
1039 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_modifier_level_code THEN
1040 p_x_Header_Adj_rec.modifier_level_code := FND_API.G_MISS_CHAR;
1041 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_price_break_type_code THEN
1042 p_x_Header_Adj_rec.price_break_type_code := FND_API.G_MISS_CHAR;
1043 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_substitution_attribute THEN
1044 p_x_Header_Adj_rec.substitution_attribute := FND_API.G_MISS_CHAR;
1045 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_proration_type_code THEN
1046 p_x_Header_Adj_rec.proration_type_code := FND_API.G_MISS_CHAR;
1047 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_credit_or_charge_flag THEN
1048 p_x_Header_Adj_rec.credit_or_charge_flag := FND_API.G_MISS_CHAR;
1049 ELSIF l_dep_attr_tbl(I) = OE_Header_ADJ_UTIL.G_include_on_returns_flag THEN
1050 p_x_Header_Adj_rec.include_on_returns_flag := FND_API.G_MISS_CHAR;
1051
1052 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_CONTEXT THEN
1053 p_x_Header_Adj_rec.AC_CONTEXT := FND_API.G_MISS_CHAR;
1054 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE1 THEN
1055 p_x_Header_Adj_rec.AC_ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1056 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE2 THEN
1057 p_x_Header_Adj_rec.AC_ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1058 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE3 THEN
1059 p_x_Header_Adj_rec.AC_ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1060 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE4 THEN
1061 p_x_Header_Adj_rec.AC_ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1062 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE5 THEN
1063 p_x_Header_Adj_rec.AC_ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1064 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE6 THEN
1065 p_x_Header_Adj_rec.AC_ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1066 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE7 THEN
1067 p_x_Header_Adj_rec.AC_ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1068 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE8 THEN
1069 p_x_Header_Adj_rec.AC_ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1070 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE9 THEN
1071 p_x_Header_Adj_rec.AC_ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1072 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE10 THEN
1073 p_x_Header_Adj_rec.AC_ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1074 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE11 THEN
1075 p_x_Header_Adj_rec.AC_ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1076 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE12 THEN
1077 p_x_Header_Adj_rec.AC_ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1078 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE13 THEN
1079 p_x_Header_Adj_rec.AC_ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1080 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE14 THEN
1081 p_x_Header_Adj_rec.AC_ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1082 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_AC_ATTRIBUTE15 THEN
1083 p_x_Header_Adj_rec.AC_ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1084 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_OPERAND THEN
1085 p_x_Header_Adj_rec.OPERAND := FND_API.G_MISS_NUM;
1086 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ADJUSTED_AMOUNT THEN
1087 p_x_Header_Adj_rec.ADJUSTED_AMOUNT:= FND_API.G_MISS_NUM
1088 ;
1089 --uom begin
1090 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_OPERAND_PER_PQTY THEN
1091
1092 p_x_Header_Adj_rec.OPERAND_PER_PQTY := FND_API.G_MISS_NUM;
1093 ELSIF l_dep_attr_tbl(I) = OE_HEADER_ADJ_UTIL.G_ADJUSTED_AMOUNT_PER_PQTY THEN
1094 p_x_Header_Adj_rec.ADJUSTED_AMOUNT_PER_PQTY:= FND_API.G_MISS_NUM
1095 ;
1096 --uom end
1097
1098 END IF;
1099 END LOOP;
1100 END IF;
1101
1102 IF l_debug_level > 0 THEN
1103 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.CLEAR_DEPENDENT_ATTR' , 1 ) ;
1104 END IF;
1105
1106 END Clear_Dependent_Attr;
1107
1108
1109 -- Procedure that has new column changes
1110 -- maintaining 2 code sets
1111
1112 PROCEDURE Clear_Dependent_Attr
1113 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
1114 , p_x_Header_Adj_rec IN out nocopy OE_Order_PUB.Header_Adj_Rec_Type
1115 , p_old_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type :=
1116 OE_Order_PUB.G_MISS_HEADER_ADJ_REC
1117 --, x_Header_Adj_rec OUT OE_Order_PUB.Header_Adj_Rec_Type
1118 )
1119 IS
1120
1121 l_Header_Adj_rec OE_AK_HEADER_PRCADJS_V%ROWTYPE;
1122 l_old_Header_Adj_rec OE_AK_HEADER_PRCADJS_V%ROWTYPE ;
1123 l_initial_Header_Adj_rec OE_AK_HEADER_PRCADJS_V%ROWTYPE;
1124
1125 --
1126 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1127 --
1128 BEGIN
1129
1130 IF l_debug_level > 0 THEN
1131 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.CLEAR_DEPENDENT_ATTR' , 1 ) ;
1132 END IF;
1133
1134 -- Load out record
1135
1136 API_Rec_To_Rowtype_Rec(p_x_Header_Adj_rec , l_Header_Adj_rec);
1137 API_Rec_To_Rowtype_Rec(p_Old_Header_Adj_rec , l_Old_Header_Adj_rec);
1138 l_Initial_Header_Adj_rec := l_Header_Adj_rec;
1139
1140 Clear_Dependent_Attr
1141 ( p_attr_id => p_attr_id
1142 , p_x_Header_Adj_rec =>l_Header_Adj_rec
1143 , p_old_Header_Adj_rec =>l_Old_Header_Adj_rec
1144 -- , x_Header_Adj_rec =>l_Header_Adj_rec
1145 );
1146
1147 Rowtype_Rec_To_API_Rec(l_Header_Adj_rec,p_x_Header_Adj_rec);
1148
1149 IF l_debug_level > 0 THEN
1150 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.CLEAR_DEPENDENT_ATTR' , 1 ) ;
1151 END IF;
1152
1153 END Clear_Dependent_Attr;
1154
1155 --bug 4060297
1156 Procedure log_request_for_margin(p_header_id in number)
1157 is
1158 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1159 l_booked_flag varchar2(1);
1160 l_return_status VARCHAR2(1);
1161 begin
1162 If l_debug_level > 0 Then
1163 oe_debug_pub.add('in log_request_for_margin');
1164 oe_debug_pub.add('p_header_id : '||p_header_id);
1165 End If;
1166 OE_Order_Cache.Load_Order_Header(p_header_id);
1167 l_booked_flag := OE_ORDER_CACHE.g_header_rec.booked_flag;
1168 oe_debug_pub.add('l_booked_flag : '||l_booked_flag);
1169 /*
1170 select booked_flag into l_booked_flag from oe_order_headers_all
1171 where header_id = p_header_id;
1172 */
1173 If OE_CODE_CONTROL.Get_Code_Release_Level >= '110509' THEN
1174 If l_booked_flag = 'Y' Then
1175 IF nvl(Oe_Sys_Parameters.Value('COMPUTE_MARGIN'),'N') <> 'N' Then
1176 IF l_debug_level > 0 THEN
1177 oe_debug_pub.add( 'LOGGING DELAYED REQUEST FOR MARGIN HOLD FOR BOOKED HEADER ID : '||p_header_id);
1178 END IF;
1179 oe_delayed_requests_pvt.log_request(
1180 p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1181 p_entity_id => p_header_id,
1182 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1183 p_requesting_entity_id => p_header_id,
1184 p_request_type => 'MARGIN_HOLD',
1185 x_return_status => l_return_status);
1186
1187 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1188 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1189 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1190 RAISE FND_API.G_EXC_ERROR;
1191 END IF;
1192 END IF;
1193 END IF;
1194 END IF;
1195 END Log_request_for_margin;
1196 --bug 4060297
1197
1198 -- Procedure Apply_Attribute_Changes
1199
1200 PROCEDURE Apply_Attribute_Changes
1201 ( p_x_Header_Adj_rec IN out nocopy OE_Order_PUB.Header_Adj_Rec_Type
1202 , p_old_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type :=
1203 OE_Order_PUB.G_MISS_HEADER_ADJ_REC
1204 --, x_Header_Adj_rec OUT OE_Order_PUB.Header_Adj_Rec_Type
1205 )
1206 IS
1207 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1208 l_price_flag boolean := FALSE;
1209 l_verify_payment_flag VARCHAR2(30) := 'N';
1210 --bug#5961160
1211 l_calling_action VARCHAR2(30);
1212 l_header_rec OE_Order_PUB.Header_Rec_Type;
1213 l_rule_defined VARCHAR2(1);
1214 l_credit_check_rule_id NUMBER;
1215 l_credit_check_rule_rec OE_CREDIT_CHECK_UTIL.OE_credit_rules_rec_type ;
1216 --
1217 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1218 --
1219 BEGIN
1220
1221 IF l_debug_level > 0 THEN
1222 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.APPLY_ATTRIBUTE_CHANGES' , 1 ) ;
1223 END IF;
1224
1225 -- Load out record
1226
1227 --x_Header_Adj_rec := p_Header_Adj_rec;
1228
1229 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.price_adjustment_id,p_old_Header_Adj_rec.price_adjustment_id)
1230 THEN
1231 NULL;
1232 END IF;
1233
1234 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.creation_date,p_old_Header_Adj_rec.creation_date)
1235 THEN
1236 NULL;
1237 END IF;
1238
1239 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.created_by,p_old_Header_Adj_rec.created_by)
1240 THEN
1241 NULL;
1242 END IF;
1243
1244 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.last_update_date,p_old_Header_Adj_rec.last_update_date)
1245 THEN
1246 NULL;
1247 END IF;
1248
1249 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.last_updated_by,p_old_Header_Adj_rec.last_updated_by)
1250 THEN
1251 NULL;
1252 END IF;
1253
1254 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.last_update_login,p_old_Header_Adj_rec.last_update_login)
1255 THEN
1256 NULL;
1257 END IF;
1258
1259 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.program_application_id,p_old_Header_Adj_rec.program_application_id)
1260 THEN
1261 NULL;
1262 END IF;
1263
1264 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.program_id,p_old_Header_Adj_rec.program_id)
1265 THEN
1266 NULL;
1267 END IF;
1268
1269 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.program_update_date,p_old_Header_Adj_rec.program_update_date)
1270 THEN
1271 NULL;
1272 END IF;
1273
1274 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.request_id,p_old_Header_Adj_rec.request_id)
1275 THEN
1276 NULL;
1277 END IF;
1278
1279 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.header_id,p_old_Header_Adj_rec.header_id)
1280 THEN
1281 NULL;
1282 END IF;
1283
1284
1285 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.discount_id,
1286 p_old_Header_Adj_rec.discount_id)
1287 THEN
1288 Null;
1289 END IF;
1290
1291 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.discount_line_id,p_old_Header_Adj_rec.discount_line_id)
1292 THEN
1293 NULL;
1294 END IF;
1295
1296 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.automatic_flag,p_old_Header_Adj_rec.automatic_flag)
1297 THEN
1298 NULL;
1299 END IF;
1300
1301 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.percent,p_old_Header_Adj_rec.percent)
1302 THEN
1303 NULL;
1304 END IF;
1305
1306 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.line_id,p_old_Header_Adj_rec.line_id)
1307 THEN
1308 NULL;
1309 END IF;
1310
1311 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.context,p_old_Header_Adj_rec.context)
1312 THEN
1313 NULL;
1314 END IF;
1315
1316 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute1,p_old_Header_Adj_rec.attribute1)
1317 THEN
1318 NULL;
1319 END IF;
1320
1321 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute2,p_old_Header_Adj_rec.attribute2)
1322 THEN
1323 NULL;
1324 END IF;
1325
1326 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute3,p_old_Header_Adj_rec.attribute3)
1327 THEN
1328 NULL;
1329 END IF;
1330
1331 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute4,p_old_Header_Adj_rec.attribute4)
1332 THEN
1333 NULL;
1334 END IF;
1335
1336 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute5,p_old_Header_Adj_rec.attribute5)
1337 THEN
1338 NULL;
1339 END IF;
1340
1341 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute6,p_old_Header_Adj_rec.attribute6)
1342 THEN
1343 NULL;
1344 END IF;
1345
1346 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute7,p_old_Header_Adj_rec.attribute7)
1347 THEN
1348 NULL;
1349 END IF;
1350
1351 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute8,p_old_Header_Adj_rec.attribute8)
1352 THEN
1353 NULL;
1354 END IF;
1355
1356 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute9,p_old_Header_Adj_rec.attribute9)
1357 THEN
1358 NULL;
1359 END IF;
1360
1361 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute10,p_old_Header_Adj_rec.attribute10)
1362 THEN
1363 NULL;
1364 END IF;
1365
1366 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute11,p_old_Header_Adj_rec.attribute11)
1367 THEN
1368 NULL;
1369 END IF;
1370
1371 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute12,p_old_Header_Adj_rec.attribute12)
1372 THEN
1373 NULL;
1374 END IF;
1375
1376 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute13,p_old_Header_Adj_rec.attribute13)
1377 THEN
1378 NULL;
1379 END IF;
1380
1381 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute14,p_old_Header_Adj_rec.attribute14)
1382 THEN
1383 NULL;
1384 END IF;
1385
1386 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.attribute15,p_old_Header_Adj_rec.attribute15)
1387 THEN
1388 NULL;
1389 END IF;
1390
1391 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.list_header_id,p_old_Header_Adj_rec.list_header_id)
1392 THEN
1393 NULL;
1394 END IF;
1395
1396 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.list_line_id,p_old_Header_Adj_rec.list_line_id)
1397 THEN
1398 NULL;
1399 END IF;
1400
1401 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.list_line_type_code,p_old_Header_Adj_rec.list_line_type_code)
1402 THEN
1403 NULL;
1404 END IF;
1405
1406 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.modifier_mechanism_type_code,p_old_Header_Adj_rec.modifier_mechanism_type_code)
1407 THEN
1408 NULL;
1409 END IF;
1410
1411 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.update_allowed,p_old_Header_Adj_rec.update_allowed)
1412 THEN
1413 NULL;
1414 END IF;
1415
1416 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.updated_flag,p_old_Header_Adj_rec.updated_flag)
1417 THEN
1418 l_price_flag := TRUE;
1419 IF p_x_Header_Adj_rec.estimated_flag = 'Y' AND
1420 p_x_Header_Adj_rec.updated_flag = 'Y'
1421 THEN
1422 p_x_Header_adj_rec.estimated_flag := 'N';
1423 END IF;
1424 IF p_x_Header_Adj_rec.estimated_flag = 'N' AND
1425 p_x_Header_Adj_rec.updated_flag = 'N'
1426 THEN
1427 p_x_Header_adj_rec.estimated_flag := 'Y';
1428 END IF;
1429 END IF;
1430
1431 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.applied_flag,p_old_Header_Adj_rec.applied_flag)
1432 THEN
1433 l_price_flag := TRUE;
1434 --bug 4060297
1435 log_request_for_margin(p_x_Header_Adj_rec.header_id);
1436 END IF;
1437
1438 -- added by lkxu: populate the change reason when manual adjustment
1439 -- is applied by user.
1440 IF p_x_Header_Adj_rec.applied_flag = 'Y'
1441 AND p_x_Header_Adj_rec.automatic_flag = 'N'
1442 AND p_x_Header_Adj_rec.change_reason_code IS NULL THEN
1443 BEGIN
1444 SELECT lookup_code, meaning
1445 INTO p_x_Header_Adj_rec.change_reason_code,
1446 p_x_Header_Adj_rec.change_reason_text
1447 FROM oe_lookups
1448 WHERE lookup_type = 'CHANGE_CODE'
1449 AND lookup_code = 'MANUAL';
1450
1451 EXCEPTION WHEN NO_DATA_FOUND THEN
1452 null;
1453 END;
1454 END IF;
1455
1456 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.operand,p_old_Header_Adj_rec.operand)
1457 THEN
1458 l_price_flag := TRUE;
1459 --bug 4060297
1460 log_request_for_margin(p_x_Header_Adj_rec.header_id);
1461 -- fixed bug 3271297, to log Verify Payment delayed request
1462 -- when freight charge changes.
1463 IF p_x_Header_Adj_rec.list_line_type_code='FREIGHT_CHARGE' THEN
1464 l_verify_payment_flag := 'Y';
1465 END IF;
1466 END IF;
1467
1468
1469 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.operand_per_pqty,p_old_Header_Adj_rec.operand_per_pqty)
1470 THEN
1471 l_price_flag := TRUE;
1472 END IF;
1473
1474 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.arithmetic_operator,p_old_Header_Adj_rec.arithmetic_operator)
1475 THEN
1476 l_price_flag := TRUE;
1477 END IF;
1478
1479 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.modified_from,p_old_Header_Adj_rec.modified_from)
1480 THEN
1481 NULL;
1482 END IF;
1483
1484 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.modified_to,p_old_Header_Adj_rec.modified_to)
1485 THEN
1486 NULL;
1487 END IF;
1488
1489 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.adjusted_amount,p_old_Header_Adj_rec.adjusted_amount)
1490 THEN
1491 NULL;
1492 END IF;
1493
1494 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.adjusted_amount_per_pqty,p_old_Header_Adj_rec.adjusted_amount_per_pqty)
1495 THEN
1496 NULL;
1497 END IF;
1498
1499 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.pricing_phase_id,p_old_Header_Adj_rec.pricing_phase_id)
1500 THEN
1501 l_price_flag := TRUE;
1502 END IF;
1503
1504 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.change_reason_code,p_old_Header_Adj_rec.change_reason_code)
1505 THEN
1506 NULL;
1507 END IF;
1508
1509 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.change_reason_text,p_old_Header_Adj_rec.change_reason_text)
1510 THEN
1511 NULL;
1512 END IF;
1513
1514 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.COST_ID, p_old_Header_Adj_rec.COST_ID)
1515 THEN
1516 NULL;
1517 END IF;
1518
1519 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.TAX_CODE, p_old_Header_Adj_rec.TAX_CODE)
1520 THEN
1521 NULL;
1522 END IF;
1523
1524 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.TAX_EXEMPT_FLAG, p_old_Header_Adj_rec.TAX_EXEMPT_FLAG)
1525 THEN
1526 NULL;
1527 END IF;
1528
1529 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.TAX_EXEMPT_NUMBER, p_old_Header_Adj_rec.TAX_EXEMPT_NUMBER)
1530 THEN
1531 NULL;
1532 END IF;
1533
1534 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.TAX_EXEMPT_REASON_CODE, p_old_Header_Adj_rec.TAX_EXEMPT_REASON_CODE)
1535 THEN
1536 NULL;
1537 END IF;
1538
1539 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.PARENT_ADJUSTMENT_ID, p_old_Header_Adj_rec.PARENT_ADJUSTMENT_ID)
1540 THEN
1541 NULL;
1542 END IF;
1543
1544 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.INVOICED_FLAG, p_old_Header_Adj_rec.INVOICED_FLAG)
1545 THEN
1546 NULL;
1547 END IF;
1548
1549 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.ESTIMATED_FLAG, p_old_Header_Adj_rec.ESTIMATED_FLAG)
1550 THEN
1551 NULL;
1552 END IF;
1553
1554 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.INC_IN_SALES_PERFORMANCE, p_old_Header_Adj_rec.INC_IN_SALES_PERFORMANCE)
1555 THEN
1556 NULL;
1557 END IF;
1558
1559 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.SPLIT_ACTION_CODE, p_old_Header_Adj_rec.SPLIT_ACTION_CODE)
1560 THEN
1561 NULL;
1562 END IF;
1563
1564 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.CHARGE_TYPE_CODE, p_old_Header_Adj_rec.CHARGE_TYPE_CODE)
1565 THEN
1566 NULL;
1567 END IF;
1568
1569 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.CHARGE_SUBTYPE_CODE, p_old_Header_Adj_rec.CHARGE_SUBTYPE_CODE)
1570 THEN
1571 NULL;
1572 END IF;
1573
1574 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.list_line_no, p_old_Header_Adj_rec.list_line_no)
1575 THEN
1576 NULL;
1577 END IF;
1578
1579 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.source_system_code, p_old_Header_Adj_rec.source_system_code)
1580 THEN
1581 NULL;
1582 END IF;
1583
1584 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.benefit_qty, p_old_Header_Adj_rec.benefit_qty)
1585 THEN
1586 NULL;
1587 END IF;
1588
1589 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.benefit_uom_code, p_old_Header_Adj_rec.benefit_uom_code)
1590 THEN
1591 NULL;
1592 END IF;
1593
1594 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.print_on_invoice_flag, p_old_Header_Adj_rec.print_on_invoice_flag)
1595 THEN
1596 NULL;
1597 END IF;
1598
1599 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.expiration_date, p_old_Header_Adj_rec.expiration_date)
1600 THEN
1601 NULL;
1602 END IF;
1603
1604 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.rebate_transaction_type_code, p_old_Header_Adj_rec.rebate_transaction_type_code)
1605 THEN
1606 NULL;
1607 END IF;
1608
1609 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.rebate_transaction_reference, p_old_Header_Adj_rec.rebate_transaction_reference)
1610 THEN
1611 NULL;
1612 END IF;
1613
1614 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.rebate_payment_system_code, p_old_Header_Adj_rec.rebate_payment_system_code)
1615 THEN
1616 NULL;
1617 END IF;
1618
1619 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.redeemed_date, p_old_Header_Adj_rec.redeemed_date)
1620 THEN
1621 NULL;
1622 END IF;
1623
1624 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.redeemed_flag, p_old_Header_Adj_rec.redeemed_flag)
1625 THEN
1626 NULL;
1627 END IF;
1628
1629 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.accrual_flag, p_old_Header_Adj_rec.accrual_flag)
1630 THEN
1631 NULL;
1632 END IF;
1633
1634 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.range_break_quantity, p_old_Header_Adj_rec.range_break_quantity)
1635 THEN
1636 NULL;
1637 END IF;
1638
1639 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.accrual_conversion_rate, p_old_Header_Adj_rec.accrual_conversion_rate)
1640 THEN
1641 NULL;
1642 END IF;
1643
1644 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.pricing_group_sequence, p_old_Header_Adj_rec.pricing_group_sequence)
1645 THEN
1646 l_price_flag := TRUE;
1647 END IF;
1648
1649 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.modifier_level_code, p_old_Header_Adj_rec.modifier_level_code)
1650 THEN
1651 NULL;
1652 END IF;
1653
1654 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.price_break_type_code, p_old_Header_Adj_rec.price_break_type_code)
1655 THEN
1656 NULL;
1657 END IF;
1658
1659 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.substitution_attribute, p_old_Header_Adj_rec.substitution_attribute)
1660 THEN
1661 NULL;
1662 END IF;
1663
1664 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.proration_type_code, p_old_Header_Adj_rec.proration_type_code)
1665 THEN
1666 NULL;
1667 END IF;
1668
1669 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.credit_or_charge_flag, p_old_Header_Adj_rec.credit_or_charge_flag)
1670 THEN
1671 NULL;
1672 END IF;
1673
1674 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.include_on_returns_flag, p_old_Header_Adj_rec.include_on_returns_flag)
1675 THEN
1676 NULL;
1677 END IF;
1678
1679 IF NOT OE_GLOBALS.Equal(p_x_Header_Adj_rec.invoiced_amount, p_old_Header_Adj_rec.invoiced_amount)
1680 THEN
1681 NULL;
1682 END IF;
1683
1684 IF l_price_flag and OE_Globals.G_RECURSION_MODE <> 'Y' AND
1685 p_x_Header_adj_rec.list_line_type_code NOT IN ('TAX','COST')
1686 THEN
1687
1688 IF nvl(OE_ORDER_COPY_UTIL.G_COPY_REC.line_price_mode,-2) <> OE_ORDER_COPY_UTIL.G_CPY_ORIG_PRICE THEN
1689 --no point to reprice all the line is user says copy with orig price, all lines
1690 --has calc price = 'N'
1691 oe_delayed_requests_pvt.log_request(p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1692 p_entity_id => p_x_header_adj_rec.Header_id,
1693 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
1694 p_requesting_entity_id => p_x_header_adj_rec.HEader_id,
1695 p_request_type => OE_GLOBALS.G_PRICE_ADJ,
1696 x_return_status => l_return_status);
1697 END IF;
1698
1699 l_price_flag := FALSE;
1700 End If;
1701
1702 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
1703 THEN
1704 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1705 END IF;
1706
1707 IF (l_verify_payment_flag = 'Y') THEN
1708 --Start bug#5961160
1709 -- Query the Order Header
1710 IF l_debug_level > 0 THEN
1711 oe_debug_pub.add( 'OEXUHADB: BEFORE QUERYING HEADER ID : '|| p_x_header_adj_rec.header_id ) ;
1712 END IF;
1713
1714 OE_Header_UTIL.Query_Row
1715 (p_header_id => p_x_header_adj_rec.header_id
1716 ,x_header_rec => l_header_rec
1717 );
1718
1719 IF l_debug_level > 0
1720 THEN
1721 OE_DEBUG_PUB.ADD('after query header ');
1722 OE_DEBUG_PUB.ADD(' ');
1723 OE_DEBUG_PUB.ADD('================================================');
1724 OE_DEBUG_PUB.ADD('Header ID = '|| l_header_rec.header_id );
1725 OE_DEBUG_PUB.ADD('order_category_code = '|| l_header_rec.order_category_code );
1726 OE_DEBUG_PUB.ADD('Booked flag = '|| l_header_rec.booked_flag );
1727 OE_DEBUG_PUB.ADD('Order number = '|| l_header_rec.order_number );
1728 OE_DEBUG_PUB.ADD('payment_term_id = '|| l_header_rec.payment_term_id );
1729 OE_DEBUG_PUB.ADD('order_type_id = '|| l_header_rec.order_type_id );
1730 OE_DEBUG_PUB.ADD(' ');
1731 OE_DEBUG_PUB.ADD('================================================');
1732 END IF;
1733
1734 -- Call Which_Rule function to find out Which Rule to Apply
1735 IF l_debug_level > 0 THEN
1736 oe_debug_pub.add( 'OEXUHADB: BEFORE CALLING WHICH RULE ' ) ;
1737 END IF;
1738
1739 l_calling_action := OE_Verify_Payment_PUB.Which_Rule(p_header_id => p_x_header_adj_rec.header_id);
1740
1741 IF l_debug_level > 0 THEN
1742 oe_debug_pub.add( 'OEXUHADB: RULE TO BE USED IS : '|| l_calling_action ) ;
1743 END IF;
1744
1745 IF l_debug_level > 0 THEN
1746 oe_debug_pub.add( 'OEXUHADB: BEFORE CHECKING IF THE RULE IS DEFINED OR NOT' ) ;
1747 END IF;
1748
1749 l_rule_defined := OE_Verify_Payment_PUB.Check_Rule_Defined
1750 ( p_header_rec => l_header_rec
1751 , p_calling_action => l_calling_action
1752 ) ;
1753
1754 IF l_debug_level > 0 THEN
1755 oe_debug_pub.add( 'OEXUHADB: OUT OF RULE DEFINED : '|| l_rule_defined);
1756 END IF;
1757
1758 IF l_rule_defined = 'Y' THEN
1759 l_credit_check_rule_id := NULL ;
1760
1761 -- Check the Rule to Apply
1762 IF l_debug_level > 0 THEN
1763 oe_debug_pub.add( 'Before L_CREDIT_CHECK_RULE_ID => '|| l_credit_check_rule_id ) ;
1764 END IF;
1765
1766 OE_CREDIT_CHECK_UTIL.Get_Credit_Check_Rule_ID
1767 ( p_calling_action => l_calling_action
1768 , p_order_type_id => l_header_rec.order_type_id
1769 , x_credit_rule_id => l_credit_check_rule_id
1770 );
1771
1772 IF l_debug_level > 0 THEN
1773 oe_debug_pub.add( 'After L_CREDIT_CHECK_RULE_ID => '|| l_credit_check_rule_id ) ;
1774 END IF;
1775
1776 OE_CREDIT_CHECK_UTIL.GET_credit_check_rule
1777 ( p_credit_check_rule_id => l_credit_check_rule_id
1778 , x_credit_check_rules_rec => l_credit_check_rule_rec
1779 );
1780
1781 IF l_debug_level > 0 THEN
1782 oe_debug_pub.add( 'OEXUHADB: INCL FREIGHT CHARGE FLAG : '|| l_credit_check_rule_rec.incl_freight_charges_flag);
1783 END IF;
1784
1785 IF NVL(l_credit_check_rule_rec.incl_freight_charges_flag,'N') = 'Y' THEN
1786 -- Log a request for Verify Payment
1787 oe_debug_pub.add('OEXUHADB: Logging Delayed Request for Verify Payment',3);
1788 OE_delayed_requests_Pvt.log_request
1789 (p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1790 p_entity_id => p_x_header_adj_rec.header_id,
1791 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
1792 p_requesting_entity_id => p_x_header_adj_rec.header_id,
1793 p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT,
1794 x_return_status => l_return_status);
1795 END IF;
1796 END IF;
1797 --End bug#5961160
1798 END IF;
1799
1800 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
1801 THEN
1802 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1803 END IF;
1804
1805 IF l_debug_level > 0 THEN
1806 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.APPLY_ATTRIBUTE_CHANGES' , 1 ) ;
1807 END IF;
1808
1809 END Apply_Attribute_Changes;
1810
1811 -- Procedure Complete_Record
1812
1813 PROCEDURE Complete_Record
1814 ( p_x_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
1815 , p_old_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type
1816 )
1817 IS
1818 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type := p_x_Header_Adj_rec;
1819 --
1820 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1821 --
1822 BEGIN
1823
1824 IF l_debug_level > 0 THEN
1825 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.COMPLETE_RECORD' , 1 ) ;
1826 END IF;
1827
1828 IF l_Header_Adj_rec.price_adjustment_id = FND_API.G_MISS_NUM THEN
1829 l_Header_Adj_rec.price_adjustment_id := p_old_Header_Adj_rec.price_adjustment_id;
1830 END IF;
1831
1832 IF l_Header_Adj_rec.creation_date = FND_API.G_MISS_DATE THEN
1833 l_Header_Adj_rec.creation_date := p_old_Header_Adj_rec.creation_date;
1834 END IF;
1835
1836 IF l_Header_Adj_rec.created_by = FND_API.G_MISS_NUM THEN
1837 l_Header_Adj_rec.created_by := p_old_Header_Adj_rec.created_by;
1838 END IF;
1839
1840 IF l_Header_Adj_rec.last_update_date = FND_API.G_MISS_DATE THEN
1841 l_Header_Adj_rec.last_update_date := p_old_Header_Adj_rec.last_update_date;
1842 END IF;
1843
1844 IF l_Header_Adj_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1845 l_Header_Adj_rec.last_updated_by := p_old_Header_Adj_rec.last_updated_by;
1846 END IF;
1847
1848 IF l_Header_Adj_rec.last_update_login = FND_API.G_MISS_NUM THEN
1849 l_Header_Adj_rec.last_update_login := p_old_Header_Adj_rec.last_update_login;
1850 END IF;
1851
1852 IF l_Header_Adj_rec.program_application_id = FND_API.G_MISS_NUM THEN
1853 l_Header_Adj_rec.program_application_id := p_old_Header_Adj_rec.program_application_id;
1854 END IF;
1855
1856 IF l_Header_Adj_rec.program_id = FND_API.G_MISS_NUM THEN
1857 l_Header_Adj_rec.program_id := p_old_Header_Adj_rec.program_id;
1858 END IF;
1859
1860 IF l_Header_Adj_rec.program_update_date = FND_API.G_MISS_DATE THEN
1861 l_Header_Adj_rec.program_update_date := p_old_Header_Adj_rec.program_update_date;
1862 END IF;
1863
1864 IF l_Header_Adj_rec.request_id = FND_API.G_MISS_NUM THEN
1865 l_Header_Adj_rec.request_id := p_old_Header_Adj_rec.request_id;
1866 END IF;
1867
1868 IF l_Header_Adj_rec.header_id = FND_API.G_MISS_NUM THEN
1869 l_Header_Adj_rec.header_id := p_old_Header_Adj_rec.header_id;
1870 END IF;
1871
1872 IF l_Header_Adj_rec.discount_id = FND_API.G_MISS_NUM THEN
1873 l_Header_Adj_rec.discount_id := p_old_Header_Adj_rec.discount_id;
1874 END IF;
1875
1876 IF l_Header_Adj_rec.discount_line_id = FND_API.G_MISS_NUM THEN
1877 l_Header_Adj_rec.discount_line_id := p_old_Header_Adj_rec.discount_line_id;
1878 END IF;
1879
1880 IF l_Header_Adj_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1881 l_Header_Adj_rec.automatic_flag := p_old_Header_Adj_rec.automatic_flag;
1882 END IF;
1883
1884 IF l_Header_Adj_rec.percent = FND_API.G_MISS_NUM THEN
1885 l_Header_Adj_rec.percent := p_old_Header_Adj_rec.percent;
1886 END IF;
1887
1888 IF l_Header_Adj_rec.line_id = FND_API.G_MISS_NUM THEN
1889 l_Header_Adj_rec.line_id := p_old_Header_Adj_rec.line_id;
1890 END IF;
1891
1892 IF l_Header_Adj_rec.context = FND_API.G_MISS_CHAR THEN
1893 l_Header_Adj_rec.context := p_old_Header_Adj_rec.context;
1894 END IF;
1895
1896 IF l_Header_Adj_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1897 l_Header_Adj_rec.attribute1 := p_old_Header_Adj_rec.attribute1;
1898 END IF;
1899
1900 IF l_Header_Adj_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1901 l_Header_Adj_rec.attribute2 := p_old_Header_Adj_rec.attribute2;
1902 END IF;
1903
1904 IF l_Header_Adj_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1905 l_Header_Adj_rec.attribute3 := p_old_Header_Adj_rec.attribute3;
1906 END IF;
1907
1908 IF l_Header_Adj_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1909 l_Header_Adj_rec.attribute4 := p_old_Header_Adj_rec.attribute4;
1910 END IF;
1911
1912 IF l_Header_Adj_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1913 l_Header_Adj_rec.attribute5 := p_old_Header_Adj_rec.attribute5;
1914 END IF;
1915
1916 IF l_Header_Adj_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1917 l_Header_Adj_rec.attribute6 := p_old_Header_Adj_rec.attribute6;
1918 END IF;
1919
1920 IF l_Header_Adj_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1921 l_Header_Adj_rec.attribute7 := p_old_Header_Adj_rec.attribute7;
1922 END IF;
1923
1924 IF l_Header_Adj_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1925 l_Header_Adj_rec.attribute8 := p_old_Header_Adj_rec.attribute8;
1926 END IF;
1927
1928 IF l_Header_Adj_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1929 l_Header_Adj_rec.attribute9 := p_old_Header_Adj_rec.attribute9;
1930 END IF;
1931
1932 IF l_Header_Adj_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1933 l_Header_Adj_rec.attribute10 := p_old_Header_Adj_rec.attribute10;
1934 END IF;
1935
1936 IF l_Header_Adj_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1937 l_Header_Adj_rec.attribute11 := p_old_Header_Adj_rec.attribute11;
1938 END IF;
1939
1940 IF l_Header_Adj_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1941 l_Header_Adj_rec.attribute12 := p_old_Header_Adj_rec.attribute12;
1942 END IF;
1943
1944 IF l_Header_Adj_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1945 l_Header_Adj_rec.attribute13 := p_old_Header_Adj_rec.attribute13;
1946 END IF;
1947
1948 IF l_Header_Adj_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1949 l_Header_Adj_rec.attribute14 := p_old_Header_Adj_rec.attribute14;
1950 END IF;
1951
1952 IF l_Header_Adj_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1953 l_Header_Adj_rec.attribute15 := p_old_Header_Adj_rec.attribute15;
1954 END IF;
1955
1956 IF l_Header_Adj_rec.adjusted_amount = FND_API.G_MISS_NUM THEN
1957 l_Header_Adj_rec.adjusted_amount := p_old_Header_Adj_rec.adjusted_amount;
1958 END IF;
1959
1960 IF l_Header_Adj_rec.pricing_phase_id = FND_API.G_MISS_NUM THEN
1961 l_Header_Adj_rec.pricing_phase_id := p_old_Header_Adj_rec.pricing_phase_id;
1962 END IF;
1963
1964 IF l_Header_Adj_rec.list_header_id = FND_API.G_MISS_NUM THEN
1965 l_Header_Adj_rec.list_header_id := p_old_Header_Adj_rec.list_header_id;
1966 END IF;
1967
1968 IF l_Header_Adj_rec.list_line_id = FND_API.G_MISS_NUM THEN
1969 l_Header_Adj_rec.list_line_id := p_old_Header_Adj_rec.list_line_id;
1970 END IF;
1971 IF l_Header_Adj_rec.modified_from = FND_API.G_MISS_CHAR THEN
1972 l_Header_Adj_rec.modified_from := p_old_Header_Adj_rec.modified_from;
1973 END IF;
1974 IF l_Header_Adj_rec.modified_to = FND_API.G_MISS_CHAR THEN
1975 l_Header_Adj_rec.modified_to := p_old_Header_Adj_rec.modified_from;
1976 END IF;
1977
1978 IF l_Header_Adj_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
1979 l_Header_Adj_rec.list_line_type_code := p_old_Header_Adj_rec.list_line_type_code;
1980 END IF;
1981
1982 IF l_Header_Adj_rec.updated_flag = FND_API.G_MISS_CHAR THEN
1983 l_Header_Adj_rec.updated_flag := p_old_Header_Adj_rec.updated_flag;
1984 END IF;
1985
1986 IF l_Header_Adj_rec.update_allowed = FND_API.G_MISS_CHAR THEN
1987 l_Header_Adj_rec.update_allowed := p_old_Header_Adj_rec.update_allowed;
1988 END IF;
1989
1990 IF l_Header_Adj_rec.applied_flag = FND_API.G_MISS_CHAR THEN
1991 l_Header_Adj_rec.applied_flag := p_old_Header_Adj_rec.applied_flag;
1992 END IF;
1993
1994 IF l_Header_Adj_rec.modifier_mechanism_type_code = FND_API.G_MISS_CHAR THEN
1995 l_Header_Adj_rec.modifier_mechanism_type_code := p_old_Header_Adj_rec.modifier_mechanism_type_code;
1996 END IF;
1997
1998 IF l_Header_Adj_rec.change_reason_code = FND_API.G_MISS_CHAR THEN
1999 l_Header_Adj_rec.change_reason_code := p_old_Header_Adj_rec.change_reason_code;
2000 END IF;
2001
2002 IF l_Header_Adj_rec.change_reason_text = FND_API.G_MISS_CHAR THEN
2003 l_Header_Adj_rec.change_reason_text := p_old_Header_Adj_rec.change_reason_text;
2004 END IF;
2005
2006 IF l_Header_Adj_rec.arithmetic_operator = FND_API.G_MISS_CHAR THEN
2007 l_Header_Adj_rec.arithmetic_operator := p_old_Header_Adj_rec.arithmetic_operator;
2008 END IF;
2009
2010 IF l_Header_Adj_rec.operand = FND_API.G_MISS_NUM THEN
2011 l_Header_Adj_rec.operand := p_old_Header_Adj_rec.operand;
2012 END IF;
2013
2014 IF l_Header_Adj_rec.cost_id = FND_API.G_MISS_NUM THEN
2015 l_Header_Adj_rec.cost_id := p_old_Header_Adj_rec.cost_id;
2016 END IF;
2017
2018 IF l_Header_Adj_rec.tax_code = FND_API.G_MISS_CHAR THEN
2019 l_Header_Adj_rec.tax_code := p_old_Header_Adj_rec.tax_code;
2020 END IF;
2021
2022 IF l_Header_Adj_rec.tax_exempt_flag = FND_API.G_MISS_CHAR THEN
2023 l_Header_Adj_rec.tax_exempt_flag :=
2024 p_old_Header_Adj_rec.tax_exempt_flag;
2025 END IF;
2026
2027 IF l_Header_Adj_rec.tax_exempt_number = FND_API.G_MISS_CHAR THEN
2028 l_Header_Adj_rec.tax_exempt_number :=
2029 p_old_Header_Adj_rec.tax_exempt_number;
2030 END IF;
2031
2032 IF l_Header_Adj_rec.tax_exempt_reason_code = FND_API.G_MISS_CHAR THEN
2033 l_Header_Adj_rec.tax_exempt_reason_code :=
2034 p_old_Header_Adj_rec.tax_exempt_reason_code;
2035 END IF;
2036
2037 IF l_Header_Adj_rec.parent_adjustment_id = FND_API.G_MISS_NUM THEN
2038 l_Header_Adj_rec.parent_adjustment_id :=
2039 p_old_Header_Adj_rec.parent_adjustment_id;
2040 END IF;
2041
2042 IF l_Header_Adj_rec.invoiced_flag = FND_API.G_MISS_CHAR THEN
2043 l_Header_Adj_rec.invoiced_flag :=
2044 p_old_Header_Adj_rec.invoiced_flag;
2045 END IF;
2046
2047 IF l_Header_Adj_rec.estimated_flag = FND_API.G_MISS_CHAR THEN
2048 l_Header_Adj_rec.estimated_flag :=
2049 p_old_Header_Adj_rec.estimated_flag;
2050 END IF;
2051
2052 IF l_Header_Adj_rec.inc_in_sales_performance = FND_API.G_MISS_CHAR THEN
2053 l_Header_Adj_rec.inc_in_sales_performance :=
2054 p_old_Header_Adj_rec.inc_in_sales_performance;
2055 END IF;
2056
2057 IF l_Header_Adj_rec.split_action_code = FND_API.G_MISS_CHAR THEN
2058 l_Header_Adj_rec.split_action_code :=
2059 p_old_Header_Adj_rec.split_action_code;
2060 END IF;
2061
2062 IF l_Header_Adj_rec.charge_type_code = FND_API.G_MISS_CHAR THEN
2063 l_Header_Adj_rec.charge_type_code :=
2064 p_old_Header_Adj_rec.charge_type_code;
2065 END IF;
2066
2067 IF l_Header_Adj_rec.charge_subtype_code = FND_API.G_MISS_CHAR THEN
2068 l_Header_Adj_rec.charge_subtype_code :=
2069 p_old_Header_Adj_rec.charge_subtype_code;
2070 END IF;
2071
2072 IF l_Header_Adj_rec.list_line_no = FND_API.G_MISS_CHAR THEN
2073 l_Header_Adj_rec.list_line_no :=
2074 p_old_Header_Adj_rec.list_line_no;
2075 END IF;
2076
2077 IF l_Header_Adj_rec.source_system_code = FND_API.G_MISS_CHAR THEN
2078 l_Header_Adj_rec.source_system_code :=
2079 p_old_Header_Adj_rec.source_system_code;
2080 END IF;
2081
2082 IF l_Header_Adj_rec.benefit_qty = FND_API.G_MISS_NUM THEN
2083 l_Header_Adj_rec.benefit_qty :=
2084 p_old_Header_Adj_rec.benefit_qty;
2085 END IF;
2086
2087 IF l_Header_Adj_rec.benefit_uom_code = FND_API.G_MISS_CHAR THEN
2088 l_Header_Adj_rec.benefit_uom_code :=
2089 p_old_Header_Adj_rec.benefit_uom_code;
2090 END IF;
2091
2092 IF l_Header_Adj_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
2093 l_Header_Adj_rec.print_on_invoice_flag :=
2094 p_old_Header_Adj_rec.print_on_invoice_flag;
2095 END IF;
2096
2097 IF l_Header_Adj_rec.expiration_date = FND_API.G_MISS_DATE THEN
2098 l_Header_Adj_rec.expiration_date :=
2099 p_old_Header_Adj_rec.expiration_date;
2100 END IF;
2101
2102 IF l_Header_Adj_rec.rebate_transaction_type_code = FND_API.G_MISS_CHAR THEN
2103 l_Header_Adj_rec.rebate_transaction_type_code :=
2104 p_old_Header_Adj_rec.rebate_transaction_type_code;
2105 END IF;
2106
2107 IF l_Header_Adj_rec.rebate_transaction_reference = FND_API.G_MISS_CHAR THEN
2108 l_Header_Adj_rec.rebate_transaction_reference :=
2109 p_old_Header_Adj_rec.rebate_transaction_reference;
2110 END IF;
2111
2112 IF l_Header_Adj_rec.rebate_payment_system_code = FND_API.G_MISS_CHAR THEN
2113 l_Header_Adj_rec.rebate_payment_system_code :=
2114 p_old_Header_Adj_rec.rebate_payment_system_code;
2115 END IF;
2116
2117 IF l_Header_Adj_rec.redeemed_date = FND_API.G_MISS_DATE THEN
2118 l_Header_Adj_rec.redeemed_date :=
2119 p_old_Header_Adj_rec.redeemed_date;
2120 END IF;
2121
2122 IF l_Header_Adj_rec.redeemed_flag = FND_API.G_MISS_CHAR THEN
2123 l_Header_Adj_rec.redeemed_flag :=
2124 p_old_Header_Adj_rec.redeemed_flag;
2125 END IF;
2126
2127 IF l_Header_Adj_rec.accrual_flag = FND_API.G_MISS_CHAR THEN
2128 l_Header_Adj_rec.accrual_flag :=
2129 p_old_Header_Adj_rec.accrual_flag;
2130 END IF;
2131
2132 IF l_Header_Adj_rec.range_break_quantity = FND_API.G_MISS_NUM THEN
2133 l_Header_Adj_rec.range_break_quantity :=
2134 p_old_Header_Adj_rec.range_break_quantity;
2135 END IF;
2136
2137 IF l_Header_Adj_rec.accrual_conversion_rate = FND_API.G_MISS_NUM THEN
2138 l_Header_Adj_rec.accrual_conversion_rate :=
2139 p_old_Header_Adj_rec.accrual_conversion_rate;
2140 END IF;
2141
2142 IF l_Header_Adj_rec.pricing_group_sequence = FND_API.G_MISS_NUM THEN
2143 l_Header_Adj_rec.pricing_group_sequence :=
2144 p_old_Header_Adj_rec.pricing_group_sequence;
2145 END IF;
2146
2147 IF l_Header_Adj_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
2148 l_Header_Adj_rec.modifier_level_code :=
2149 p_old_Header_Adj_rec.modifier_level_code;
2150 END IF;
2151
2152 IF l_Header_Adj_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
2153 l_Header_Adj_rec.price_break_type_code :=
2154 p_old_Header_Adj_rec.price_break_type_code;
2155 END IF;
2156
2157 IF l_Header_Adj_rec.substitution_attribute = FND_API.G_MISS_CHAR THEN
2158 l_Header_Adj_rec.substitution_attribute :=
2159 p_old_Header_Adj_rec.substitution_attribute;
2160 END IF;
2161
2162 IF l_Header_Adj_rec.proration_type_code = FND_API.G_MISS_CHAR THEN
2163 l_Header_Adj_rec.proration_type_code :=
2164 p_old_Header_Adj_rec.proration_type_code;
2165 END IF;
2166
2167 IF l_Header_Adj_rec.credit_or_charge_flag = FND_API.G_MISS_CHAR THEN
2168 l_Header_Adj_rec.credit_or_charge_flag :=
2169 p_old_Header_Adj_rec.credit_or_charge_flag;
2170 END IF;
2171
2172 IF l_Header_Adj_rec.include_on_returns_flag = FND_API.G_MISS_CHAR THEN
2173 l_Header_Adj_rec.include_on_returns_flag :=
2174 p_old_Header_Adj_rec.include_on_returns_flag;
2175 END IF;
2176
2177
2178 IF l_Header_Adj_rec.ac_context = FND_API.G_MISS_CHAR THEN
2179 l_Header_Adj_rec.ac_context := p_old_Header_Adj_rec.ac_context;
2180 END IF;
2181
2182 IF l_Header_Adj_rec.ac_attribute1 = FND_API.G_MISS_CHAR THEN
2183 l_Header_Adj_rec.ac_attribute1 := p_old_Header_Adj_rec.ac_attribute1;
2184 END IF;
2185
2186 IF l_Header_Adj_rec.ac_attribute2 = FND_API.G_MISS_CHAR THEN
2187 l_Header_Adj_rec.ac_attribute2 := p_old_Header_Adj_rec.ac_attribute2;
2188 END IF;
2189
2190 IF l_Header_Adj_rec.ac_attribute3 = FND_API.G_MISS_CHAR THEN
2191 l_Header_Adj_rec.ac_attribute3 := p_old_Header_Adj_rec.ac_attribute3;
2192 END IF;
2193
2194 IF l_Header_Adj_rec.ac_attribute4 = FND_API.G_MISS_CHAR THEN
2195 l_Header_Adj_rec.ac_attribute4 := p_old_Header_Adj_rec.ac_attribute4;
2196 END IF;
2197
2198 IF l_Header_Adj_rec.ac_attribute5 = FND_API.G_MISS_CHAR THEN
2199 l_Header_Adj_rec.ac_attribute5 := p_old_Header_Adj_rec.ac_attribute5;
2200 END IF;
2201
2202 IF l_Header_Adj_rec.ac_attribute6 = FND_API.G_MISS_CHAR THEN
2203 l_Header_Adj_rec.ac_attribute6 := p_old_Header_Adj_rec.ac_attribute6;
2204 END IF;
2205
2206 IF l_Header_Adj_rec.ac_attribute7 = FND_API.G_MISS_CHAR THEN
2207 l_Header_Adj_rec.ac_attribute7 := p_old_Header_Adj_rec.ac_attribute7;
2208 END IF;
2209
2210 IF l_Header_Adj_rec.ac_attribute8 = FND_API.G_MISS_CHAR THEN
2211 l_Header_Adj_rec.ac_attribute8 := p_old_Header_Adj_rec.ac_attribute8;
2212 END IF;
2213
2214 IF l_Header_Adj_rec.ac_attribute9 = FND_API.G_MISS_CHAR THEN
2215 l_Header_Adj_rec.ac_attribute9 := p_old_Header_Adj_rec.ac_attribute9;
2216 END IF;
2217
2218 IF l_Header_Adj_rec.ac_attribute10 = FND_API.G_MISS_CHAR THEN
2219 l_Header_Adj_rec.ac_attribute10 := p_old_Header_Adj_rec.ac_attribute10;
2220 END IF;
2221
2222 IF l_Header_Adj_rec.ac_attribute11 = FND_API.G_MISS_CHAR THEN
2223 l_Header_Adj_rec.ac_attribute11 := p_old_Header_Adj_rec.ac_attribute11;
2224 END IF;
2225
2226 IF l_Header_Adj_rec.ac_attribute12 = FND_API.G_MISS_CHAR THEN
2227 l_Header_Adj_rec.ac_attribute12 := p_old_Header_Adj_rec.ac_attribute12;
2228 END IF;
2229
2230 IF l_Header_Adj_rec.ac_attribute13 = FND_API.G_MISS_CHAR THEN
2231 l_Header_Adj_rec.ac_attribute13 := p_old_Header_Adj_rec.ac_attribute13;
2232 END IF;
2233
2234 IF l_Header_Adj_rec.ac_attribute14 = FND_API.G_MISS_CHAR THEN
2235 l_Header_Adj_rec.ac_attribute14 := p_old_Header_Adj_rec.ac_attribute14;
2236 END IF;
2237
2238 IF l_Header_Adj_rec.ac_attribute15 = FND_API.G_MISS_CHAR THEN
2239 l_Header_Adj_rec.ac_attribute15 := p_old_Header_Adj_rec.ac_attribute15;
2240 END IF;
2241 --uom begin
2242 IF l_Header_Adj_rec.OPERAND_PER_PQTY = FND_API.G_MISS_NUM THEN
2243 --bug 3063549
2244 --l_Header_Adj_rec.OPERAND_PER_PQTY := p_old_Header_Adj_rec.OPERAND_PER_PQTY;
2245 l_Header_Adj_rec.OPERAND_PER_PQTY := NULL;
2246 END IF;
2247
2248 IF l_Header_Adj_rec.ADJUSTED_AMOUNT_PER_PQTY = FND_API.G_MISS_NUM THEN
2249 l_Header_Adj_rec.ADJUSTED_AMOUNT_PER_PQTY := p_old_Header_Adj_rec.ADJUSTED_AMOUNT_PER_PQTY;
2250 END IF;
2251 --uom end
2252
2253 IF l_Header_Adj_rec.INVOICED_AMOUNT = FND_API.G_MISS_NUM THEN
2254 l_Header_Adj_rec.INVOICED_AMOUNT := p_old_Header_Adj_rec.INVOICED_AMOUNT;
2255 END IF;
2256
2257 IF l_debug_level > 0 THEN
2258 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.COMPLETE_RECORD' , 1 ) ;
2259 END IF;
2260
2261 -- RETURN l_Header_Adj_rec;
2262 p_x_Header_Adj_rec := l_Header_Adj_rec;
2263
2264 END Complete_Record;
2265
2266 -- Procedure Convert_Miss_To_Null
2267
2268 PROCEDURE Convert_Miss_To_Null
2269 ( p_x_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
2270 )
2271 IS
2272 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type := p_x_Header_Adj_rec;
2273 --
2274 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2275 --
2276 BEGIN
2277
2278 IF l_debug_level > 0 THEN
2279 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.CONVERT_MISS_TO_NULL' , 1 ) ;
2280 END IF;
2281
2282 IF l_Header_Adj_rec.price_adjustment_id = FND_API.G_MISS_NUM THEN
2283 l_Header_Adj_rec.price_adjustment_id := NULL;
2284 END IF;
2285
2286 IF l_Header_Adj_rec.creation_date = FND_API.G_MISS_DATE THEN
2287 l_Header_Adj_rec.creation_date := NULL;
2288 END IF;
2289
2290 IF l_Header_Adj_rec.created_by = FND_API.G_MISS_NUM THEN
2291 l_Header_Adj_rec.created_by := NULL;
2292 END IF;
2293
2294 IF l_Header_Adj_rec.last_update_date = FND_API.G_MISS_DATE THEN
2295 l_Header_Adj_rec.last_update_date := NULL;
2296 END IF;
2297
2298 IF l_Header_Adj_rec.last_updated_by = FND_API.G_MISS_NUM THEN
2299 l_Header_Adj_rec.last_updated_by := NULL;
2300 END IF;
2301
2302 IF l_Header_Adj_rec.last_update_login = FND_API.G_MISS_NUM THEN
2303 l_Header_Adj_rec.last_update_login := NULL;
2304 END IF;
2305
2306 IF l_Header_Adj_rec.program_application_id = FND_API.G_MISS_NUM THEN
2307 l_Header_Adj_rec.program_application_id := NULL;
2308 END IF;
2309
2310 IF l_Header_Adj_rec.program_id = FND_API.G_MISS_NUM THEN
2311 l_Header_Adj_rec.program_id := NULL;
2312 END IF;
2313
2314 IF l_Header_Adj_rec.program_update_date = FND_API.G_MISS_DATE THEN
2315 l_Header_Adj_rec.program_update_date := NULL;
2316 END IF;
2317
2318 IF l_Header_Adj_rec.request_id = FND_API.G_MISS_NUM THEN
2319 l_Header_Adj_rec.request_id := NULL;
2320 END IF;
2321
2322 IF l_Header_Adj_rec.header_id = FND_API.G_MISS_NUM THEN
2323 l_Header_Adj_rec.header_id := NULL;
2324 END IF;
2325
2326 IF l_Header_Adj_rec.discount_id = FND_API.G_MISS_NUM THEN
2327 l_Header_Adj_rec.discount_id := NULL;
2328 END IF;
2329
2330 IF l_Header_Adj_rec.discount_line_id = FND_API.G_MISS_NUM THEN
2331 l_Header_Adj_rec.discount_line_id := NULL;
2332 END IF;
2333
2334 IF l_Header_Adj_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
2335 l_Header_Adj_rec.automatic_flag := NULL;
2336 END IF;
2337
2338 IF l_Header_Adj_rec.percent = FND_API.G_MISS_NUM THEN
2339 l_Header_Adj_rec.percent := NULL;
2340 END IF;
2341
2342 IF l_Header_Adj_rec.line_id = FND_API.G_MISS_NUM THEN
2343 l_Header_Adj_rec.line_id := NULL;
2344 END IF;
2345
2346 IF l_Header_Adj_rec.context = FND_API.G_MISS_CHAR THEN
2347 l_Header_Adj_rec.context := NULL;
2348 END IF;
2349
2350 IF l_Header_Adj_rec.attribute1 = FND_API.G_MISS_CHAR THEN
2351 l_Header_Adj_rec.attribute1 := NULL;
2352 END IF;
2353
2354 IF l_Header_Adj_rec.attribute2 = FND_API.G_MISS_CHAR THEN
2355 l_Header_Adj_rec.attribute2 := NULL;
2356 END IF;
2357
2358 IF l_Header_Adj_rec.attribute3 = FND_API.G_MISS_CHAR THEN
2359 l_Header_Adj_rec.attribute3 := NULL;
2360 END IF;
2361
2362 IF l_Header_Adj_rec.attribute4 = FND_API.G_MISS_CHAR THEN
2363 l_Header_Adj_rec.attribute4 := NULL;
2364 END IF;
2365
2366 IF l_Header_Adj_rec.attribute5 = FND_API.G_MISS_CHAR THEN
2367 l_Header_Adj_rec.attribute5 := NULL;
2368 END IF;
2369
2370 IF l_Header_Adj_rec.attribute6 = FND_API.G_MISS_CHAR THEN
2371 l_Header_Adj_rec.attribute6 := NULL;
2372 END IF;
2373
2374 IF l_Header_Adj_rec.attribute7 = FND_API.G_MISS_CHAR THEN
2375 l_Header_Adj_rec.attribute7 := NULL;
2376 END IF;
2377
2378 IF l_Header_Adj_rec.attribute8 = FND_API.G_MISS_CHAR THEN
2379 l_Header_Adj_rec.attribute8 := NULL;
2380 END IF;
2381
2382 IF l_Header_Adj_rec.attribute9 = FND_API.G_MISS_CHAR THEN
2383 l_Header_Adj_rec.attribute9 := NULL;
2384 END IF;
2385
2386 IF l_Header_Adj_rec.attribute10 = FND_API.G_MISS_CHAR THEN
2387 l_Header_Adj_rec.attribute10 := NULL;
2388 END IF;
2389
2390 IF l_Header_Adj_rec.attribute11 = FND_API.G_MISS_CHAR THEN
2391 l_Header_Adj_rec.attribute11 := NULL;
2392 END IF;
2393
2394 IF l_Header_Adj_rec.attribute12 = FND_API.G_MISS_CHAR THEN
2395 l_Header_Adj_rec.attribute12 := NULL;
2396 END IF;
2397
2398 IF l_Header_Adj_rec.attribute13 = FND_API.G_MISS_CHAR THEN
2399 l_Header_Adj_rec.attribute13 := NULL;
2400 END IF;
2401
2402 IF l_Header_Adj_rec.attribute14 = FND_API.G_MISS_CHAR THEN
2403 l_Header_Adj_rec.attribute14 := NULL;
2404 END IF;
2405
2406 IF l_Header_Adj_rec.attribute15 = FND_API.G_MISS_CHAR THEN
2407 l_Header_Adj_rec.attribute15 := NULL;
2408 END IF;
2409
2410 IF l_Header_Adj_rec.adjusted_amount = FND_API.G_MISS_NUM THEN
2411 l_Header_Adj_rec.adjusted_amount := NULL;
2412 END IF;
2413
2414 IF l_Header_Adj_rec.pricing_phase_id = FND_API.G_MISS_NUM THEN
2415 l_Header_Adj_rec.pricing_phase_id := NULL;
2416 END IF;
2417
2418 IF l_Header_Adj_rec.list_header_id = FND_API.G_MISS_NUM THEN
2419 l_Header_Adj_rec.list_header_id := NULL;
2420 END IF;
2421
2422 IF l_Header_Adj_rec.list_line_id = FND_API.G_MISS_NUM THEN
2423 l_Header_Adj_rec.list_line_id := NULL;
2424 END IF;
2425 IF l_Header_Adj_rec.modified_from = FND_API.G_MISS_CHAR THEN
2426 l_Header_Adj_rec.modified_from := NULL;
2427 END IF;
2428
2429 IF l_Header_Adj_rec.modified_to = FND_API.G_MISS_CHAR THEN
2430 l_Header_Adj_rec.modified_to := NULL;
2431 END IF;
2432
2433 IF l_Header_Adj_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
2434 l_Header_Adj_rec.list_line_type_code := NULL;
2435 END IF;
2436
2437 IF l_Header_Adj_rec.updated_flag = FND_API.G_MISS_CHAR THEN
2438 l_Header_Adj_rec.updated_flag := NULL;
2439 END IF;
2440
2441 IF l_Header_Adj_rec.update_allowed = FND_API.G_MISS_CHAR THEN
2442 l_Header_Adj_rec.update_allowed := NULL;
2443 END IF;
2444
2445 IF l_Header_Adj_rec.applied_flag = FND_API.G_MISS_CHAR THEN
2446 l_Header_Adj_rec.applied_flag := NULL;
2447 END IF;
2448
2449 IF l_Header_Adj_rec.modifier_mechanism_type_code = FND_API.G_MISS_CHAR THEN
2450 l_Header_Adj_rec.modifier_mechanism_type_code := NULL;
2451 END IF;
2452
2453 IF l_Header_Adj_rec.change_reason_code = FND_API.G_MISS_CHAR THEN
2454 l_Header_Adj_rec.change_reason_code := NULL;
2455 END IF;
2456
2457 IF l_Header_Adj_rec.change_reason_text = FND_API.G_MISS_CHAR THEN
2458 l_Header_Adj_rec.change_reason_text := NULL ;
2459 END IF;
2460
2461 IF l_Header_Adj_rec.arithmetic_operator = FND_API.G_MISS_CHAR THEN
2462 l_Header_Adj_rec.arithmetic_operator := NULL ;
2463 END IF;
2464
2465 IF l_Header_Adj_rec.operand = FND_API.G_MISS_NUM THEN
2466 l_Header_Adj_rec.operand := NULL ;
2467 END IF;
2468
2469 IF l_Header_Adj_rec.cost_id = FND_API.G_MISS_NUM THEN
2470 l_Header_Adj_rec.cost_id := NULL ;
2471 END IF;
2472
2473 IF l_Header_Adj_rec.tax_code = FND_API.G_MISS_CHAR THEN
2474 l_Header_Adj_rec.tax_code := NULL ;
2475 END IF;
2476
2477 IF l_Header_Adj_rec.tax_exempt_flag = FND_API.G_MISS_CHAR THEN
2478 l_Header_Adj_rec.tax_exempt_flag := NULL ;
2479 END IF;
2480
2481 IF l_Header_Adj_rec.tax_exempt_number = FND_API.G_MISS_CHAR THEN
2482 l_Header_Adj_rec.tax_exempt_number := NULL ;
2483 END IF;
2484
2485 IF l_Header_Adj_rec.tax_exempt_reason_code = FND_API.G_MISS_CHAR THEN
2486 l_Header_Adj_rec.tax_exempt_reason_code := NULL ;
2487 END IF;
2488
2489 IF l_Header_Adj_rec.parent_adjustment_id = FND_API.G_MISS_NUM THEN
2490 l_Header_Adj_rec.parent_adjustment_id := NULL ;
2491 END IF;
2492
2493 IF l_Header_Adj_rec.invoiced_flag = FND_API.G_MISS_CHAR THEN
2494 l_Header_Adj_rec.invoiced_flag := NULL ;
2495 END IF;
2496
2497 IF l_Header_Adj_rec.estimated_flag = FND_API.G_MISS_CHAR THEN
2498 l_Header_Adj_rec.estimated_flag := NULL ;
2499 END IF;
2500
2501 IF l_Header_Adj_rec.inc_in_sales_performance = FND_API.G_MISS_CHAR THEN
2502 l_Header_Adj_rec.inc_in_sales_performance := NULL ;
2503 END IF;
2504
2505 IF l_Header_Adj_rec.split_action_code = FND_API.G_MISS_CHAR THEN
2506 l_Header_Adj_rec.split_action_code := NULL ;
2507 END IF;
2508
2509 IF l_Header_Adj_rec.charge_type_code = FND_API.G_MISS_CHAR THEN
2510 l_Header_Adj_rec.charge_type_code := NULL ;
2511 END IF;
2512
2513 IF l_Header_Adj_rec.charge_subtype_code = FND_API.G_MISS_CHAR THEN
2514 l_Header_Adj_rec.charge_subtype_code := NULL ;
2515 END IF;
2516
2517 IF l_Header_Adj_rec.list_line_no = FND_API.G_MISS_CHAR THEN
2518 l_Header_Adj_rec.list_line_no := NULL ;
2519 END IF;
2520
2521 IF l_Header_Adj_rec.source_system_code = FND_API.G_MISS_CHAR THEN
2522 l_Header_Adj_rec.source_system_code := NULL ;
2523 END IF;
2524
2525 IF l_Header_Adj_rec.benefit_qty = FND_API.G_MISS_NUM THEN
2526 l_Header_Adj_rec.benefit_qty := NULL ;
2527 END IF;
2528
2529 IF l_Header_Adj_rec.benefit_uom_code = FND_API.G_MISS_CHAR THEN
2530 l_Header_Adj_rec.benefit_uom_code := NULL ;
2531 END IF;
2532
2533 IF l_Header_Adj_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
2534 l_Header_Adj_rec.print_on_invoice_flag := NULL ;
2535 END IF;
2536
2537 IF l_Header_Adj_rec.expiration_date = FND_API.G_MISS_DATE THEN
2538 l_Header_Adj_rec.expiration_date := NULL ;
2539 END IF;
2540
2541 IF l_Header_Adj_rec.rebate_transaction_type_code = FND_API.G_MISS_CHAR THEN
2542 l_Header_Adj_rec.rebate_transaction_type_code := NULL ;
2543 END IF;
2544
2545 IF l_Header_Adj_rec.rebate_transaction_reference = FND_API.G_MISS_CHAR THEN
2546 l_Header_Adj_rec.rebate_transaction_reference := NULL ;
2547 END IF;
2548
2549 IF l_Header_Adj_rec.rebate_payment_system_code = FND_API.G_MISS_CHAR THEN
2550 l_Header_Adj_rec.rebate_payment_system_code := NULL ;
2551 END IF;
2552
2553 IF l_Header_Adj_rec.redeemed_date = FND_API.G_MISS_DATE THEN
2554 l_Header_Adj_rec.redeemed_date := NULL ;
2555 END IF;
2556
2557 IF l_Header_Adj_rec.redeemed_flag = FND_API.G_MISS_CHAR THEN
2558 l_Header_Adj_rec.redeemed_flag := NULL ;
2559 END IF;
2560
2561 IF l_Header_Adj_rec.accrual_flag = FND_API.G_MISS_CHAR THEN
2562 l_Header_Adj_rec.accrual_flag := NULL ;
2563 END IF;
2564
2565 IF l_Header_Adj_rec.range_break_quantity = FND_API.G_MISS_NUM THEN
2566 l_Header_Adj_rec.range_break_quantity := NULL ;
2567 END IF;
2568
2569 IF l_Header_Adj_rec.accrual_conversion_rate = FND_API.G_MISS_NUM THEN
2570 l_Header_Adj_rec.accrual_conversion_rate := NULL ;
2571 END IF;
2572
2573 IF l_Header_Adj_rec.pricing_group_sequence = FND_API.G_MISS_NUM THEN
2574 l_Header_Adj_rec.pricing_group_sequence := NULL ;
2575 END IF;
2576
2577 IF l_Header_Adj_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
2578 l_Header_Adj_rec.modifier_level_code := NULL ;
2579 END IF;
2580
2581 IF l_Header_Adj_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
2582 l_Header_Adj_rec.price_break_type_code := NULL ;
2583 END IF;
2584
2585 IF l_Header_Adj_rec.substitution_attribute = FND_API.G_MISS_CHAR THEN
2586 l_Header_Adj_rec.substitution_attribute := NULL ;
2587 END IF;
2588
2589 IF l_Header_Adj_rec.proration_type_code = FND_API.G_MISS_CHAR THEN
2590 l_Header_Adj_rec.proration_type_code := NULL ;
2591 END IF;
2592
2593 IF l_Header_Adj_rec.credit_or_charge_flag = FND_API.G_MISS_CHAR THEN
2594 l_Header_Adj_rec.credit_or_charge_flag := NULL ;
2595 END IF;
2596
2597 IF l_Header_Adj_rec.include_on_returns_flag = FND_API.G_MISS_CHAR THEN
2598 l_Header_Adj_rec.include_on_returns_flag := NULL ;
2599 END IF;
2600
2601 IF l_Header_Adj_rec.ac_context = FND_API.G_MISS_CHAR THEN
2602 l_Header_Adj_rec.ac_context := NULL;
2603 END IF;
2604
2605 IF l_Header_Adj_rec.ac_attribute1 = FND_API.G_MISS_CHAR THEN
2606 l_Header_Adj_rec.ac_attribute1 := NULL;
2607 END IF;
2608
2609 IF l_Header_Adj_rec.ac_attribute2 = FND_API.G_MISS_CHAR THEN
2610 l_Header_Adj_rec.ac_attribute2 := NULL;
2611 END IF;
2612
2613 IF l_Header_Adj_rec.ac_attribute3 = FND_API.G_MISS_CHAR THEN
2614 l_Header_Adj_rec.ac_attribute3 := NULL;
2615 END IF;
2616
2617 IF l_Header_Adj_rec.ac_attribute4 = FND_API.G_MISS_CHAR THEN
2618 l_Header_Adj_rec.ac_attribute4 := NULL;
2619 END IF;
2620
2621 IF l_Header_Adj_rec.ac_attribute5 = FND_API.G_MISS_CHAR THEN
2622 l_Header_Adj_rec.ac_attribute5 := NULL;
2623 END IF;
2624
2625 IF l_Header_Adj_rec.ac_attribute6 = FND_API.G_MISS_CHAR THEN
2626 l_Header_Adj_rec.ac_attribute6 := NULL;
2627 END IF;
2628
2629 IF l_Header_Adj_rec.ac_attribute7 = FND_API.G_MISS_CHAR THEN
2630 l_Header_Adj_rec.ac_attribute7 := NULL;
2631 END IF;
2632
2633 IF l_Header_Adj_rec.ac_attribute8 = FND_API.G_MISS_CHAR THEN
2634 l_Header_Adj_rec.ac_attribute8 := NULL;
2635 END IF;
2636
2637 IF l_Header_Adj_rec.ac_attribute9 = FND_API.G_MISS_CHAR THEN
2638 l_Header_Adj_rec.ac_attribute9 := NULL;
2639 END IF;
2640
2641 IF l_Header_Adj_rec.ac_attribute10 = FND_API.G_MISS_CHAR THEN
2642 l_Header_Adj_rec.ac_attribute10 := NULL;
2643 END IF;
2644
2645 IF l_Header_Adj_rec.ac_attribute11 = FND_API.G_MISS_CHAR THEN
2646 l_Header_Adj_rec.ac_attribute11 := NULL;
2647 END IF;
2648
2649 IF l_Header_Adj_rec.ac_attribute12 = FND_API.G_MISS_CHAR THEN
2650 l_Header_Adj_rec.ac_attribute12 := NULL;
2651 END IF;
2652
2653 IF l_Header_Adj_rec.ac_attribute13 = FND_API.G_MISS_CHAR THEN
2654 l_Header_Adj_rec.ac_attribute13 := NULL;
2655 END IF;
2656
2657 IF l_Header_Adj_rec.ac_attribute14 = FND_API.G_MISS_CHAR THEN
2658 l_Header_Adj_rec.ac_attribute14 := NULL;
2659 END IF;
2660
2661 IF l_Header_Adj_rec.ac_attribute15 = FND_API.G_MISS_CHAR THEN
2662 l_Header_Adj_rec.ac_attribute15 := NULL;
2663 END IF;
2664 --uom begin
2665 If l_Header_Adj_rec.operand_per_pqty = FND_API.G_MISS_NUM THEN
2666 l_Header_Adj_rec.operand_per_pqty:=NULL;
2667 END IF;
2668
2669 If l_Header_Adj_rec.adjusted_amount_per_pqty = FND_API.G_MISS_NUM THEN
2670 l_Header_Adj_rec.adjusted_amount_per_pqty:=NULL;
2671 END IF;
2672 --uom end
2673
2674 If l_Header_Adj_rec.invoiced_amount = FND_API.G_MISS_NUM THEN
2675 l_Header_Adj_rec.invoiced_amount := NULL;
2676 END IF;
2677
2678 IF l_debug_level > 0 THEN
2679 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.CONVERT_MISS_TO_NULL' , 1 ) ;
2680 END IF;
2681
2682 -- RETURN l_Header_Adj_rec;
2683 p_x_Header_Adj_rec := l_Header_Adj_rec;
2684
2685 END Convert_Miss_To_Null;
2686
2687 -- Procedure Update_Row
2688
2689
2690 PROCEDURE Update_Row
2691 ( p_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
2692 )
2693 IS
2694 l_lock_control NUMBER;
2695 --added for notification framework
2696 l_index NUMBER;
2697 l_return_status VARCHAR2(1);
2698
2699 --
2700 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2701 --
2702 BEGIN
2703
2704 IF l_debug_level > 0 THEN
2705 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.UPDATE_ROW' , 1 ) ;
2706 END IF;
2707
2708 -- increment lock_control by 1 whenever the record is updated
2709 SELECT lock_control
2710 INTO l_lock_control
2711 FROM oe_price_adjustments
2712 WHERE price_adjustment_id = p_Header_Adj_rec.price_adjustment_id;
2713
2714 l_lock_control := l_lock_control + 1;
2715
2716
2717 -- calling notification framework to update global picture
2718 -- check code release level first. Notification framework is at Pack H level
2719
2720 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
2721 IF l_debug_level > 0 THEN
2722 oe_debug_pub.add( 'HDR_ADJ_ID= ' || P_HEADER_ADJ_REC.PRICE_ADJUSTMENT_ID ) ;
2723 END IF;
2724 OE_ORDER_UTIL.Update_Global_Picture(p_Upd_New_Rec_If_Exists => True,
2725 p_Hdr_adj_rec =>p_header_adj_rec,
2726 p_hdr_adj_id => p_header_adj_rec.price_adjustment_id,
2727 x_index => l_index,
2728 x_return_status => l_return_status);
2729
2730 IF l_debug_level > 0 THEN
2731 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_HEADER_ADJ_UTIL.UPDATE_ROE IS: ' || L_RETURN_STATUS ) ;
2732 END IF;
2733
2734 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2735 IF l_debug_level > 0 THEN
2736 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
2737 END IF;
2738 IF l_debug_level > 0 THEN
2739 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.UPDATE_ROW' , 1 ) ;
2740 END IF;
2741 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2742 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2743 IF l_debug_level > 0 THEN
2744 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_HEADER_ADJ_UTIL.UPDATE_ROW' ) ;
2745 END IF;
2746 IF l_debug_level > 0 THEN
2747 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.UPDATE_ROW' , 1 ) ;
2748 END IF;
2749 RAISE FND_API.G_EXC_ERROR;
2750 END IF;
2751 END IF; /*code_release_level*/
2752 -- notification framework end
2753
2754
2755 UPDATE OE_PRICE_ADJUSTMENTS
2756 SET PRICE_ADJUSTMENT_ID = p_Header_Adj_rec.price_adjustment_id
2757 , CREATION_DATE = p_Header_Adj_rec.creation_date
2758 , CREATED_BY = p_Header_Adj_rec.created_by
2759 , LAST_UPDATE_DATE = p_Header_Adj_rec.last_update_date
2760 , LAST_UPDATED_BY = p_Header_Adj_rec.last_updated_by
2761 , LAST_UPDATE_LOGIN = p_Header_Adj_rec.last_update_login
2762 , PROGRAM_APPLICATION_ID = p_Header_Adj_rec.program_application_id
2763 , PROGRAM_ID = p_Header_Adj_rec.program_id
2764 , PROGRAM_UPDATE_DATE = p_Header_Adj_rec.program_update_date
2765 , REQUEST_ID = p_Header_Adj_rec.request_id
2766 , HEADER_ID = p_Header_Adj_rec.header_id
2767 , DISCOUNT_ID = p_Header_Adj_rec.discount_id
2768 , DISCOUNT_LINE_ID = p_Header_Adj_rec.discount_line_id
2769 , AUTOMATIC_FLAG = p_Header_Adj_rec.automatic_flag
2770 , PERCENT = p_Header_Adj_rec.percent
2771 , LINE_ID = p_Header_Adj_rec.line_id
2772 , CONTEXT = p_Header_Adj_rec.context
2773 , ATTRIBUTE1 = p_Header_Adj_rec.attribute1
2774 , ATTRIBUTE2 = p_Header_Adj_rec.attribute2
2775 , ATTRIBUTE3 = p_Header_Adj_rec.attribute3
2776 , ATTRIBUTE4 = p_Header_Adj_rec.attribute4
2777 , ATTRIBUTE5 = p_Header_Adj_rec.attribute5
2778 , ATTRIBUTE6 = p_Header_Adj_rec.attribute6
2779 , ATTRIBUTE7 = p_Header_Adj_rec.attribute7
2780 , ATTRIBUTE8 = p_Header_Adj_rec.attribute8
2781 , ATTRIBUTE9 = p_Header_Adj_rec.attribute9
2782 , ATTRIBUTE10 = p_Header_Adj_rec.attribute10
2783 , ATTRIBUTE11 = p_Header_Adj_rec.attribute11
2784 , ATTRIBUTE12 = p_Header_Adj_rec.attribute12
2785 , ATTRIBUTE13 = p_Header_Adj_rec.attribute13
2786 , ATTRIBUTE14 = p_Header_Adj_rec.attribute14
2787 , ATTRIBUTE15 = p_Header_Adj_rec.attribute15
2788 , ORIG_SYS_DISCOUNT_REF = p_Header_Adj_rec.orig_sys_discount_ref
2789 , LIST_HEADER_ID = p_Header_Adj_rec.list_header_id
2790 , LIST_LINE_ID = p_Header_Adj_rec.list_line_id
2791 , LIST_LINE_TYPE_CODE = p_Header_Adj_rec.list_line_type_code
2792 , MODIFIER_MECHANISM_TYPE_CODE = p_Header_Adj_rec.list_header_id
2793 , MODIFIED_FROM = p_Header_Adj_rec.modified_from
2794 , MODIFIED_TO = p_Header_Adj_rec.modified_to
2795 , UPDATED_FLAG = p_Header_Adj_rec.updated_flag
2796 , UPDATE_ALLOWED = p_Header_Adj_rec.update_allowed
2797 , APPLIED_FLAG = p_Header_Adj_rec.applied_flag
2798 , CHANGE_REASON_CODE = p_Header_Adj_rec.change_reason_code
2799 , CHANGE_REASON_TEXT = p_Header_Adj_rec.change_reason_text
2800 , operand = p_Header_Adj_rec.operand
2801 , arithmetic_operator = p_Header_Adj_rec.arithmetic_operator
2802 , COST_ID = p_Header_Adj_rec.cost_id
2803 , TAX_CODE = p_Header_Adj_rec.tax_code
2804 , TAX_EXEMPT_FLAG = p_Header_Adj_rec.tax_exempt_flag
2805 , TAX_EXEMPT_NUMBER = p_Header_Adj_rec.tax_exempt_number
2806 , TAX_EXEMPT_REASON_CODE = p_Header_Adj_rec.tax_exempt_reason_code
2807 , PARENT_ADJUSTMENT_ID = p_Header_Adj_rec.parent_adjustment_id
2808 , INVOICED_FLAG = p_Header_Adj_rec.invoiced_flag
2809 , ESTIMATED_FLAG = p_Header_Adj_rec.estimated_flag
2810 , INC_IN_SALES_PERFORMANCE = p_Header_Adj_rec.inc_in_sales_performance
2811 , SPLIT_ACTION_CODE = p_Header_Adj_rec.split_action_code
2812 , ADJUSTED_AMOUNT = p_Header_Adj_rec.adjusted_amount
2813 , PRICING_PHASE_ID = p_Header_Adj_rec.pricing_phase_id
2814 , CHARGE_TYPE_CODE = p_Header_Adj_rec.charge_type_code
2815 , CHARGE_SUBTYPE_CODE = p_Header_Adj_rec.charge_subtype_code
2816 , LIST_LINE_NO = p_Header_Adj_rec.list_line_no
2817 , SOURCE_SYSTEM_CODE = p_Header_Adj_rec.source_system_code
2818 , BENEFIT_QTY = p_Header_Adj_rec.benefit_qty
2819 , BENEFIT_UOM_CODE = p_Header_Adj_rec.benefit_uom_code
2820 , PRINT_ON_INVOICE_FLAG = p_Header_Adj_rec.print_on_invoice_flag
2821 , EXPIRATION_DATE = p_Header_Adj_rec.expiration_date
2822 , REBATE_TRANSACTION_TYPE_CODE = p_Header_Adj_rec.rebate_transaction_type_code
2823 , REBATE_TRANSACTION_REFERENCE = p_Header_Adj_rec.rebate_transaction_reference
2824 , REBATE_PAYMENT_SYSTEM_CODE = p_Header_Adj_rec.rebate_payment_system_code
2825 , REDEEMED_DATE = p_Header_Adj_rec.redeemed_date
2826 , REDEEMED_FLAG = p_Header_Adj_rec.redeemed_flag
2827 , ACCRUAL_FLAG = p_Header_Adj_rec.accrual_flag
2828 , RANGE_BREAK_QUANTITY = p_Header_Adj_rec.range_break_quantity
2829 , ACCRUAL_CONVERSION_RATE = p_Header_Adj_rec.accrual_conversion_rate
2830 , PRICING_GROUP_SEQUENCE = p_Header_Adj_rec.pricing_group_sequence
2831 , MODIFIER_LEVEL_CODE = p_Header_Adj_rec.modifier_level_code
2832 , PRICE_BREAK_TYPE_CODE = p_Header_Adj_rec.price_break_type_code
2833 , SUBSTITUTION_ATTRIBUTE = p_Header_Adj_rec.substitution_attribute
2834 , PRORATION_TYPE_CODE = p_Header_Adj_rec.proration_type_code
2835 , CREDIT_OR_CHARGE_FLAG = p_Header_Adj_rec.credit_or_charge_flag
2836 , INCLUDE_ON_RETURNS_FLAG = p_Header_Adj_rec.include_on_returns_flag
2837 , AC_CONTEXT = p_Header_Adj_rec.ac_context
2838 , AC_ATTRIBUTE1 = p_Header_Adj_rec.ac_attribute1
2839 , AC_ATTRIBUTE2 = p_Header_Adj_rec.ac_attribute2
2840 , AC_ATTRIBUTE3 = p_Header_Adj_rec.ac_attribute3
2841 , AC_ATTRIBUTE4 = p_Header_Adj_rec.ac_attribute4
2842 , AC_ATTRIBUTE5 = p_Header_Adj_rec.ac_attribute5
2843 , AC_ATTRIBUTE6 = p_Header_Adj_rec.ac_attribute6
2844 , AC_ATTRIBUTE7 = p_Header_Adj_rec.ac_attribute7
2845 , AC_ATTRIBUTE8 = p_Header_Adj_rec.ac_attribute8
2846 , AC_ATTRIBUTE9 = p_Header_Adj_rec.ac_attribute9
2847 , AC_ATTRIBUTE10 = p_Header_Adj_rec.ac_attribute10
2848 , AC_ATTRIBUTE11 = p_Header_Adj_rec.ac_attribute11
2849 , AC_ATTRIBUTE12 = p_Header_Adj_rec.ac_attribute12
2850 , AC_ATTRIBUTE13 = p_Header_Adj_rec.ac_attribute13
2851 , AC_ATTRIBUTE14 = p_Header_Adj_rec.ac_attribute14
2852 , AC_ATTRIBUTE15 = p_Header_Adj_rec.ac_attribute15
2853 --uom begin
2854 , OPERAND_PER_PQTY = p_Header_Adj_rec.operand_per_pqty
2855 , ADJUSTED_AMOUNT_PER_PQTY = p_Header_Adj_rec.adjusted_amount_per_pqty
2856 --uom end
2857 , INVOICED_AMOUNT = p_Header_Adj_rec.invoiced_amount
2858 , LOCK_CONTROL = l_lock_control
2859 WHERE PRICE_ADJUSTMENT_ID = p_Header_Adj_rec.price_adjustment_id
2860 ;
2861
2862 p_Header_Adj_rec.lock_control := l_lock_control;
2863 IF l_debug_level > 0 THEN
2864 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.UPDATE_ROW' , 1 ) ;
2865 END IF;
2866
2867 EXCEPTION
2868
2869 WHEN OTHERS THEN
2870
2871 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2872 THEN
2873 OE_MSG_PUB.Add_Exc_Msg
2874 ( G_PKG_NAME
2875 , 'Update_Row'
2876 );
2877 END IF;
2878
2879 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2880
2881 END Update_Row;
2882
2883 -- Procedure Insert_Row
2884
2885 PROCEDURE Insert_Row
2886 ( p_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
2887 )
2888 IS
2889 l_lock_control NUMBER := 1;
2890 --added for notification framework
2891 l_index NUMBER;
2892 l_return_status VARCHAR2(1);
2893
2894 --
2895 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2896 --
2897 BEGIN
2898
2899 IF l_debug_level > 0 THEN
2900 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.INSERT_ROW' , 1 ) ;
2901 END IF;
2902
2903 INSERT INTO OE_PRICE_ADJUSTMENTS
2904 ( PRICE_ADJUSTMENT_ID
2905 , CREATION_DATE
2906 , CREATED_BY
2907 , LAST_UPDATE_DATE
2908 , LAST_UPDATED_BY
2909 , LAST_UPDATE_LOGIN
2910 , PROGRAM_APPLICATION_ID
2911 , PROGRAM_ID
2912 , PROGRAM_UPDATE_DATE
2913 , REQUEST_ID
2914 , HEADER_ID
2915 , DISCOUNT_ID
2916 , DISCOUNT_LINE_ID
2917 , AUTOMATIC_FLAG
2918 , PERCENT
2919 , LINE_ID
2920 , CONTEXT
2921 , ATTRIBUTE1
2922 , ATTRIBUTE2
2923 , ATTRIBUTE3
2924 , ATTRIBUTE4
2925 , ATTRIBUTE5
2926 , ATTRIBUTE6
2927 , ATTRIBUTE7
2928 , ATTRIBUTE8
2929 , ATTRIBUTE9
2930 , ATTRIBUTE10
2931 , ATTRIBUTE11
2932 , ATTRIBUTE12
2933 , ATTRIBUTE13
2934 , ATTRIBUTE14
2935 , ATTRIBUTE15
2936 , ORIG_SYS_DISCOUNT_REF
2937 , LIST_HEADER_ID
2938 , LIST_LINE_ID
2939 , LIST_LINE_TYPE_CODE
2940 , MODIFIER_MECHANISM_TYPE_CODE
2941 , MODIFIED_FROM
2942 , MODIFIED_TO
2943 , UPDATED_FLAG
2944 , UPDATE_ALLOWED
2945 , APPLIED_FLAG
2946 , CHANGE_REASON_CODE
2947 , CHANGE_REASON_TEXT
2948 , operand
2949 , arithmetic_operator
2950 , COST_ID
2951 , TAX_CODE
2952 , TAX_EXEMPT_FLAG
2953 , TAX_EXEMPT_NUMBER
2954 , TAX_EXEMPT_REASON_CODE
2955 , PARENT_ADJUSTMENT_ID
2956 , INVOICED_FLAG
2957 , ESTIMATED_FLAG
2958 , INC_IN_SALES_PERFORMANCE
2959 , SPLIT_ACTION_CODE
2960 , ADJUSTED_AMOUNT
2961 , PRICING_PHASE_ID
2962 , CHARGE_TYPE_CODE
2963 , CHARGE_SUBTYPE_CODE
2964 , list_line_no
2965 , source_system_code
2966 , benefit_qty
2967 , benefit_uom_code
2968 , print_on_invoice_flag
2969 , expiration_date
2970 , rebate_transaction_type_code
2971 , rebate_transaction_reference
2972 , rebate_payment_system_code
2973 , redeemed_date
2974 , redeemed_flag
2975 , accrual_flag
2976 , range_break_quantity
2977 , accrual_conversion_rate
2978 , pricing_group_sequence
2979 , modifier_level_code
2980 , price_break_type_code
2981 , substitution_attribute
2982 , proration_type_code
2983 , CREDIT_OR_CHARGE_FLAG
2984 , INCLUDE_ON_RETURNS_FLAG
2985 , AC_CONTEXT
2986 , AC_ATTRIBUTE1
2987 , AC_ATTRIBUTE2
2988 , AC_ATTRIBUTE3
2989 , AC_ATTRIBUTE4
2990 , AC_ATTRIBUTE5
2991 , AC_ATTRIBUTE6
2992 , AC_ATTRIBUTE7
2993 , AC_ATTRIBUTE8
2994 , AC_ATTRIBUTE9
2995 , AC_ATTRIBUTE10
2996 , AC_ATTRIBUTE11
2997 , AC_ATTRIBUTE12
2998 , AC_ATTRIBUTE13
2999 , AC_ATTRIBUTE14
3000 , AC_ATTRIBUTE15
3001 --uom begin
3002 , OPERAND_PER_PQTY
3003 , ADJUSTED_AMOUNT_PER_PQTY
3004 --uom end
3005 , INVOICED_AMOUNT
3006 , lock_control
3007 )
3008 VALUES
3009 ( p_Header_Adj_rec.price_adjustment_id
3010 , p_Header_Adj_rec.creation_date
3011 , p_Header_Adj_rec.created_by
3012 , p_Header_Adj_rec.last_update_date
3013 , p_Header_Adj_rec.last_updated_by
3014 , p_Header_Adj_rec.last_update_login
3015 , p_Header_Adj_rec.program_application_id
3016 , p_Header_Adj_rec.program_id
3017 , p_Header_Adj_rec.program_update_date
3018 , p_Header_Adj_rec.request_id
3019 , p_Header_Adj_rec.header_id
3020 , p_Header_Adj_rec.discount_id
3021 , p_Header_Adj_rec.discount_line_id
3022 , p_Header_Adj_rec.automatic_flag
3023 , p_Header_Adj_rec.percent
3024 , p_Header_Adj_rec.line_id
3025 , p_Header_Adj_rec.context
3026 , p_Header_Adj_rec.attribute1
3027 , p_Header_Adj_rec.attribute2
3028 , p_Header_Adj_rec.attribute3
3029 , p_Header_Adj_rec.attribute4
3030 , p_Header_Adj_rec.attribute5
3031 , p_Header_Adj_rec.attribute6
3032 , p_Header_Adj_rec.attribute7
3033 , p_Header_Adj_rec.attribute8
3034 , p_Header_Adj_rec.attribute9
3035 , p_Header_Adj_rec.attribute10
3036 , p_Header_Adj_rec.attribute11
3037 , p_Header_Adj_rec.attribute12
3038 , p_Header_Adj_rec.attribute13
3039 , p_Header_Adj_rec.attribute14
3040 , p_Header_Adj_rec.attribute15
3041 , p_Header_Adj_rec.orig_sys_discount_ref
3042 , p_Header_Adj_rec.list_header_id
3043 , p_Header_Adj_rec.list_line_id
3044 , p_Header_Adj_rec.list_line_type_code
3045 , p_Header_Adj_rec.modifier_mechanism_type_code
3046 , p_Header_Adj_rec.modified_from
3047 , p_Header_Adj_rec.modified_to
3048 , p_Header_Adj_rec.updated_flag
3049 , p_Header_Adj_rec.update_allowed
3050 , p_Header_Adj_rec.applied_flag
3051 , p_Header_Adj_rec.change_reason_code
3052 , p_Header_Adj_rec.change_reason_text
3053 , p_Header_Adj_rec.operand
3054 , p_Header_Adj_rec.arithmetic_operator
3055 , p_Header_Adj_rec.COST_ID
3056 , p_Header_Adj_rec.TAX_CODE
3057 , p_Header_Adj_rec.TAX_EXEMPT_FLAG
3058 , p_Header_Adj_rec.TAX_EXEMPT_NUMBER
3059 , p_Header_Adj_rec.TAX_EXEMPT_REASON_CODE
3060 , p_Header_Adj_rec.PARENT_ADJUSTMENT_ID
3061 , p_Header_Adj_rec.INVOICED_FLAG
3062 , p_Header_Adj_rec.ESTIMATED_FLAG
3063 , p_Header_Adj_rec.INC_IN_SALES_PERFORMANCE
3064 , p_Header_Adj_rec.SPLIT_ACTION_CODE
3065 , p_Header_Adj_rec.adjusted_amount
3066 , p_Header_Adj_rec.pricing_phase_id
3067 , p_Header_Adj_rec.charge_type_code
3068 , p_Header_Adj_rec.charge_subtype_code
3069 , p_Header_Adj_rec.list_line_no
3070 , p_Header_Adj_rec.source_system_code
3071 , p_Header_Adj_rec.benefit_qty
3072 , p_Header_Adj_rec.benefit_uom_code
3073 , p_Header_Adj_rec.print_on_invoice_flag
3074 , p_Header_Adj_rec.expiration_date
3075 , p_Header_Adj_rec.rebate_transaction_type_code
3076 , p_Header_Adj_rec.rebate_transaction_reference
3077 , p_Header_Adj_rec.rebate_payment_system_code
3078 , p_Header_Adj_rec.redeemed_date
3079 , p_Header_Adj_rec.redeemed_flag
3080 , p_Header_Adj_rec.accrual_flag
3081 , p_Header_Adj_rec.range_break_quantity
3082 , p_Header_Adj_rec.accrual_conversion_rate
3083 , p_Header_Adj_rec.pricing_group_sequence
3084 , p_Header_Adj_rec.modifier_level_code
3085 , p_Header_Adj_rec.price_break_type_code
3086 , p_Header_Adj_rec.substitution_attribute
3087 , p_Header_Adj_rec.proration_type_code
3088 , p_Header_Adj_rec.credit_or_charge_flag
3089 , p_Header_Adj_rec.include_on_returns_flag
3090 , p_Header_Adj_rec.ac_context
3091 , p_Header_Adj_rec.ac_attribute1
3092 , p_Header_Adj_rec.ac_attribute2
3093 , p_Header_Adj_rec.ac_attribute3
3094 , p_Header_Adj_rec.ac_attribute4
3095 , p_Header_Adj_rec.ac_attribute5
3096 , p_Header_Adj_rec.ac_attribute6
3097 , p_Header_Adj_rec.ac_attribute7
3098 , p_Header_Adj_rec.ac_attribute8
3099 , p_Header_Adj_rec.ac_attribute9
3100 , p_Header_Adj_rec.ac_attribute10
3101 , p_Header_Adj_rec.ac_attribute11
3102 , p_Header_Adj_rec.ac_attribute12
3103 , p_Header_Adj_rec.ac_attribute13
3104 , p_Header_Adj_rec.ac_attribute14
3105 , p_Header_Adj_rec.ac_attribute15
3106 --uom begin
3107 , p_Header_Adj_rec.OPERAND_PER_PQTY
3108 , p_Header_Adj_rec.ADJUSTED_AMOUNT_PER_PQTY
3109 --uom end
3110 , p_Header_Adj_rec.INVOICED_AMOUNT
3111 , l_lock_control
3112 );
3113
3114 p_header_Adj_rec.lock_control := l_lock_control;
3115
3116 -- calling notification framework to update global picture
3117 -- check code release level first. Notification framework is at Pack H level
3118 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
3119 OE_ORDER_UTIL.Update_Global_Picture(p_Upd_New_Rec_If_Exists => True,
3120 p_old_hdr_adj_rec => NULL,
3121 p_Hdr_adj_rec =>p_header_adj_rec,
3122 p_hdr_adj_id => p_header_adj_rec.price_adjustment_id,
3123 x_index => l_index,
3124 x_return_status => l_return_status);
3125
3126 IF l_debug_level > 0 THEN
3127 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_HEADER_ADJ_UTIL.INSERT_ROW IS: ' || L_RETURN_STATUS ) ;
3128 END IF;
3129 IF l_debug_level > 0 THEN
3130 oe_debug_pub.add( 'RETURNED INDEX IS: ' || L_INDEX , 1 ) ;
3131 END IF;
3132
3133 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3134 IF l_debug_level > 0 THEN
3135 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
3136 END IF;
3137 IF l_debug_level > 0 THEN
3138 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.INSERT_ROW' , 1 ) ;
3139 END IF;
3140 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3141 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3142 IF l_debug_level > 0 THEN
3143 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_HEADER_ADJ_UTIL.INSERT_ROW' ) ;
3144 END IF;
3145 IF l_debug_level > 0 THEN
3146 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.INSERT_ROW' , 1 ) ;
3147 END IF;
3148 RAISE FND_API.G_EXC_ERROR;
3149 END IF;
3150 END IF; /* code_release_level*/
3151 -- notification framework end
3152
3153 IF l_debug_level > 0 THEN
3154 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.INSERT_ROW' , 1 ) ;
3155 END IF;
3156
3157 EXCEPTION
3158
3159 WHEN OTHERS THEN
3160
3161 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3162 THEN
3163 OE_MSG_PUB.Add_Exc_Msg
3164 ( G_PKG_NAME
3165 , 'Insert_Row'
3166 );
3167 END IF;
3168
3169 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3170
3171 END Insert_Row;
3172
3173 -- Procedure Delete_Header_Charges
3174
3175 Procedure Delete_Header_Charges
3176 (
3177 p_header_id IN Number
3178 )
3179 IS
3180 l_return_status VARCHAR2(30);
3181
3182 begin
3183
3184
3185 DELETE FROM OE_PRICE_ADJUSTMENTS
3186 WHERE HEADER_ID = p_header_id
3187 AND LINE_ID IS NULL
3188 AND LIST_LINE_TYPE_CODE = 'FREIGHT_CHARGE';
3189
3190
3191 EXCEPTION
3192
3193 WHEN OTHERS THEN
3194 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3195 THEN
3196 FND_MSG_PUB.Add_Exc_Msg
3197 ( G_PKG_NAME
3198 , 'Delete_Row'
3199 );
3200 END IF;
3201 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3202
3203 END Delete_Header_Charges;
3204
3205 -- Procedure Delete_Row
3206
3207 PROCEDURE Delete_Row
3208 ( p_price_adjustment_id IN NUMBER :=
3209 FND_API.G_MISS_NUM
3210 , p_header_id IN NUMBER :=
3211 FND_API.G_MISS_NUM
3212 )
3213 IS
3214 l_return_status VARCHAR2(30);
3215 CURSOR price_adj IS
3216 SELECT price_adjustment_id
3217 FROM OE_PRICE_ADJUSTMENTS
3218 WHERE HEADER_ID = p_header_id;
3219
3220 -- added for notification framework
3221 l_new_header_adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
3222 l_index NUMBER;
3223
3224 --
3225 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3226 --
3227 BEGIN
3228
3229 IF l_debug_level > 0 THEN
3230 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3231 END IF;
3232
3233 IF p_header_id <> FND_API.G_MISS_NUM
3234 THEN
3235 FOR l_adj IN price_adj LOOP
3236
3237 --added for notification framework
3238 --check code release level first. Notification framework is at Pack H level
3239 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
3240 IF l_debug_level > 0 THEN
3241 oe_debug_pub.add( 'JFC: IN DELETE ROW , PRICE_ADJUSTMENT_ID= '|| L_ADJ.PRICE_ADJUSTMENT_ID ) ;
3242 END IF;
3243
3244 /* Set the operation on the record so that globals are updated as well */
3245 l_new_header_adj_rec.operation := OE_GLOBALS.G_OPR_DELETE;
3246 l_new_header_adj_rec.price_adjustment_id := l_adj.price_adjustment_id;
3247
3248 OE_ORDER_UTIL.Update_Global_Picture(p_Upd_New_Rec_If_Exists => True,
3249 p_Hdr_adj_rec =>l_new_header_adj_rec,
3250 p_hdr_adj_id => l_adj.price_adjustment_id,
3251 x_index => l_index,
3252 x_return_status => l_return_status);
3253
3254 IF l_debug_level > 0 THEN
3255 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_HEADER_ADJ_UTIL.DELETE_ROW IS: ' || L_RETURN_STATUS ) ;
3256 END IF;
3257
3258 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3259 IF l_debug_level > 0 THEN
3260 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
3261 END IF;
3262 IF l_debug_level > 0 THEN
3263 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3264 END IF;
3265 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3266 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3267 IF l_debug_level > 0 THEN
3268 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_HEADER_ADJ_UTIL.DELETE_ROW' ) ;
3269 END IF;
3270 IF l_debug_level > 0 THEN
3271 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3272 END IF;
3273 RAISE FND_API.G_EXC_ERROR;
3274 END IF;
3275 END IF; /*code_release_level*/
3276 -- notification framework end
3277
3278
3279 OE_Delayed_Requests_Pvt.Delete_Reqs_for_deleted_entity(
3280 p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
3281 p_entity_id => l_adj.price_adjustment_id,
3282 x_return_status => l_return_status
3283 );
3284
3285 OE_Line_Price_Aattr_Util.delete_row(
3286 p_price_adjustment_id=>l_adj.price_adjustment_id);
3287
3288 OE_Line_Adj_Assocs_Util.delete_row(
3289 p_price_adjustment_id=>l_adj.price_adjustment_id);
3290 END LOOP;
3291 /* Start Audit Trail */
3292 DELETE FROM OE_PRICE_ADJS_HISTORY
3293 WHERE HEADER_ID = p_header_id;
3294 /* End Audit Trail */
3295
3296 DELETE FROM OE_PRICE_ADJUSTMENTS
3297 WHERE HEADER_ID = p_header_id;
3298 ELSE
3299
3300 --added for notification framework
3301 --check code release level first. Notification framework is at Pack H level
3302 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
3303 IF l_debug_level > 0 THEN
3304 oe_debug_pub.add( 'JFC:IN DELETE ROW , HEADER_ID IS G_MISS_NUM , PRICE_ADJUSTMENT_ID= '|| P_PRICE_ADJUSTMENT_ID , 1 ) ;
3305 END IF;
3306
3307 /* Set the operation on the record so that globals are updated as well */
3308 l_new_header_adj_rec.operation := OE_GLOBALS.G_OPR_DELETE;
3309 l_new_header_adj_rec.price_adjustment_id := p_price_adjustment_id;
3310 OE_ORDER_UTIL.Update_Global_Picture(p_Upd_New_Rec_If_Exists => True,
3311 p_Hdr_adj_rec =>l_new_header_adj_rec,
3312 p_hdr_adj_id => p_price_adjustment_id,
3313 x_index => l_index,
3314 x_return_status => l_return_status);
3315 IF l_debug_level > 0 THEN
3316 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_HEADER_ADJ_UTIL.DELETE_ROW IS: ' || L_RETURN_STATUS ) ;
3317 END IF;
3318
3319 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3320 IF l_debug_level > 0 THEN
3321 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
3322 END IF;
3323 IF l_debug_level > 0 THEN
3324 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3325 END IF;
3326 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3327 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3328 IF l_debug_level > 0 THEN
3329 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_HEADER_ADJ_UTIL.DELETE_ROW' ) ;
3330 END IF;
3331 IF l_debug_level > 0 THEN
3332 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3333 END IF;
3334 RAISE FND_API.G_EXC_ERROR;
3335 END IF;
3336 END IF; /*code_release_level*/
3337 -- notification framework end
3338
3339 OE_Delayed_Requests_Pvt.Delete_Reqs_for_deleted_entity
3340 (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
3341 p_entity_id => p_price_adjustment_id,
3342 x_return_status => l_return_status
3343 );
3344
3345 OE_Line_Price_Aattr_Util.delete_row(
3346 p_price_adjustment_id=>p_price_adjustment_id);
3347
3348 OE_Line_Adj_Assocs_Util.delete_row(
3349 p_price_adjustment_id=>p_price_adjustment_id);
3350
3351 /* Start Audit Trail (modified for 11.5.10) */
3352 DELETE FROM OE_PRICE_ADJS_HISTORY
3353 WHERE PRICE_ADJUSTMENT_ID = p_price_adjustment_id
3354 AND NVL(AUDIT_FLAG, 'Y') = 'Y'
3355 AND NVL(VERSION_FLAG, 'N') = 'N'
3356 AND NVL(PHASE_CHANGE_FLAG, 'N') = 'N';
3357
3358 UPDATE OE_PRICE_ADJS_HISTORY
3359 SET AUDIT_FLAG = 'N'
3360 WHERE PRICE_ADJUSTMENT_ID = p_price_adjustment_id
3361 AND NVL(AUDIT_FLAG, 'Y') = 'Y'
3362 AND (NVL(VERSION_FLAG, 'N') = 'Y'
3363 OR NVL(PHASE_CHANGE_FLAG, 'N') = 'Y');
3364 /* End Audit Trail */
3365
3366 DELETE FROM OE_PRICE_ADJUSTMENTS
3367 WHERE PRICE_ADJUSTMENT_ID = p_price_adjustment_id
3368 ;
3369 END IF;
3370
3371 IF l_debug_level > 0 THEN
3372 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3373 END IF;
3374
3375 EXCEPTION
3376
3377 WHEN OTHERS THEN
3378
3379 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3380 THEN
3381 OE_MSG_PUB.Add_Exc_Msg
3382 ( G_PKG_NAME
3383 , 'Delete_Row'
3384 );
3385 END IF;
3386
3387 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3388
3389 END Delete_Row;
3390
3391 -- Procedure Query_Row
3392
3393
3394 PROCEDURE Query_Row
3395 ( p_price_adjustment_id IN NUMBER
3396 , x_Header_Adj_Rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
3397 )
3398 IS
3399 l_Header_Adj_Tbl OE_Order_PUB.Header_Adj_Tbl_Type;
3400 --
3401 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3402 --
3403 BEGIN
3404 IF l_debug_level > 0 THEN
3405 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.QUERY_ROW' , 1 ) ;
3406 END IF;
3407
3408 Query_Rows
3409 ( p_price_adjustment_id => p_price_adjustment_id
3410 , x_Header_Adj_Tbl => l_Header_Adj_Tbl
3411 );
3412 x_Header_Adj_Rec := l_Header_Adj_Tbl(1);
3413
3414 IF l_debug_level > 0 THEN
3415 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.QUERY_ROW' , 1 ) ;
3416 END IF;
3417
3418 END Query_Row;
3419
3420 -- Procedure Query_Rows
3421
3422 PROCEDURE Query_Rows
3423 ( p_price_adjustment_id IN NUMBER :=
3424 FND_API.G_MISS_NUM
3425 , p_header_id IN NUMBER :=
3426 FND_API.G_MISS_NUM
3427 , x_Header_Adj_Tbl IN OUT NOCOPY OE_Order_PUB.Header_Adj_Tbl_Type
3428 )
3429 IS
3430 l_count NUMBER;
3431
3432 CURSOR l_Header_Adj_csr_p IS
3433 SELECT ATTRIBUTE1
3434 , ATTRIBUTE10
3435 , ATTRIBUTE11
3436 , ATTRIBUTE12
3437 , ATTRIBUTE13
3438 , ATTRIBUTE14
3439 , ATTRIBUTE15
3440 , ATTRIBUTE2
3441 , ATTRIBUTE3
3442 , ATTRIBUTE4
3443 , ATTRIBUTE5
3444 , ATTRIBUTE6
3445 , ATTRIBUTE7
3446 , ATTRIBUTE8
3447 , ATTRIBUTE9
3448 , AUTOMATIC_FLAG
3449 , CONTEXT
3450 , CREATED_BY
3451 , CREATION_DATE
3452 , DISCOUNT_ID
3453 , DISCOUNT_LINE_ID
3454 , HEADER_ID
3455 , LAST_UPDATED_BY
3456 , LAST_UPDATE_DATE
3457 , LAST_UPDATE_LOGIN
3458 , LINE_ID
3459 , PERCENT
3460 , PRICE_ADJUSTMENT_ID
3461 , PROGRAM_APPLICATION_ID
3462 , PROGRAM_ID
3463 , PROGRAM_UPDATE_DATE
3464 , REQUEST_ID
3465 , LIST_HEADER_ID
3466 , LIST_LINE_ID
3467 , LIST_LINE_TYPE_CODE
3468 , MODIFIER_MECHANISM_TYPE_CODE
3469 , MODIFIED_FROM
3470 , MODIFIED_TO
3471 , UPDATED_FLAG
3472 , UPDATE_ALLOWED
3473 , APPLIED_FLAG
3474 , CHANGE_REASON_CODE
3475 , CHANGE_REASON_TEXT
3476 , operand
3477 , arithmetic_operator
3478 , COST_ID
3479 , TAX_CODE
3480 , TAX_EXEMPT_FLAG
3481 , TAX_EXEMPT_NUMBER
3482 , TAX_EXEMPT_REASON_CODE
3483 , PARENT_ADJUSTMENT_ID
3484 , INVOICED_FLAG
3485 , ESTIMATED_FLAG
3486 , INC_IN_SALES_PERFORMANCE
3487 , SPLIT_ACTION_CODE
3488 , ADJUSTED_AMOUNT
3489 , PRICING_PHASE_ID
3490 , CHARGE_TYPE_CODE
3491 , CHARGE_SUBTYPE_CODE
3492 , list_line_no
3493 , source_system_code
3494 , benefit_qty
3495 , benefit_uom_code
3496 , print_on_invoice_flag
3497 , expiration_date
3498 , rebate_transaction_type_code
3499 , rebate_transaction_reference
3500 , rebate_payment_system_code
3501 , redeemed_date
3502 , redeemed_flag
3503 , accrual_flag
3504 , range_break_quantity
3505 , accrual_conversion_rate
3506 , pricing_group_sequence
3507 , modifier_level_code
3508 , price_break_type_code
3509 , substitution_attribute
3510 , proration_type_code
3511 , CREDIT_OR_CHARGE_FLAG
3512 , INCLUDE_ON_RETURNS_FLAG
3513 , AC_ATTRIBUTE1
3514 , AC_ATTRIBUTE10
3515 , AC_ATTRIBUTE11
3516 , AC_ATTRIBUTE12
3517 , AC_ATTRIBUTE13
3518 , AC_ATTRIBUTE14
3519 , AC_ATTRIBUTE15
3520 , AC_ATTRIBUTE2
3521 , AC_ATTRIBUTE3
3522 , AC_ATTRIBUTE4
3523 , AC_ATTRIBUTE5
3524 , AC_ATTRIBUTE6
3525 , AC_ATTRIBUTE7
3526 , AC_ATTRIBUTE8
3527 , AC_ATTRIBUTE9
3528 , AC_CONTEXT
3529 , orig_sys_discount_ref
3530 --uom begin
3531 , OPERAND_PER_PQTY
3532 , ADJUSTED_AMOUNT_PER_PQTY
3533 , INVOICED_AMOUNT
3534 --uom end
3535 , LOCK_CONTROL
3536 FROM OE_PRICE_ADJUSTMENTS
3537 WHERE PRICE_ADJUSTMENT_ID = p_price_adjustment_id;
3538
3539 CURSOR l_Header_Adj_csr_h IS
3540 SELECT ATTRIBUTE1
3541 , ATTRIBUTE10
3542 , ATTRIBUTE11
3543 , ATTRIBUTE12
3544 , ATTRIBUTE13
3545 , ATTRIBUTE14
3546 , ATTRIBUTE15
3547 , ATTRIBUTE2
3548 , ATTRIBUTE3
3549 , ATTRIBUTE4
3550 , ATTRIBUTE5
3551 , ATTRIBUTE6
3552 , ATTRIBUTE7
3553 , ATTRIBUTE8
3554 , ATTRIBUTE9
3555 , AUTOMATIC_FLAG
3556 , CONTEXT
3557 , CREATED_BY
3558 , CREATION_DATE
3559 , DISCOUNT_ID
3560 , DISCOUNT_LINE_ID
3561 , HEADER_ID
3562 , LAST_UPDATED_BY
3563 , LAST_UPDATE_DATE
3564 , LAST_UPDATE_LOGIN
3565 , LINE_ID
3566 , PERCENT
3567 , PRICE_ADJUSTMENT_ID
3568 , PROGRAM_APPLICATION_ID
3569 , PROGRAM_ID
3570 , PROGRAM_UPDATE_DATE
3571 , REQUEST_ID
3572 , LIST_HEADER_ID
3573 , LIST_LINE_ID
3574 , LIST_LINE_TYPE_CODE
3575 , MODIFIER_MECHANISM_TYPE_CODE
3576 , MODIFIED_FROM
3577 , MODIFIED_TO
3578 , UPDATED_FLAG
3579 , UPDATE_ALLOWED
3580 , APPLIED_FLAG
3581 , CHANGE_REASON_CODE
3582 , CHANGE_REASON_TEXT
3583 , operand
3584 , arithmetic_operator
3585 , COST_ID
3586 , TAX_CODE
3587 , TAX_EXEMPT_FLAG
3588 , TAX_EXEMPT_NUMBER
3589 , TAX_EXEMPT_REASON_CODE
3590 , PARENT_ADJUSTMENT_ID
3591 , INVOICED_FLAG
3592 , ESTIMATED_FLAG
3593 , INC_IN_SALES_PERFORMANCE
3594 , SPLIT_ACTION_CODE
3595 , ADJUSTED_AMOUNT
3596 , PRICING_PHASE_ID
3597 , CHARGE_TYPE_CODE
3598 , CHARGE_SUBTYPE_CODE
3599 , list_line_no
3600 , source_system_code
3601 , benefit_qty
3602 , benefit_uom_code
3603 , print_on_invoice_flag
3604 , expiration_date
3605 , rebate_transaction_type_code
3606 , rebate_transaction_reference
3607 , rebate_payment_system_code
3608 , redeemed_date
3609 , redeemed_flag
3610 , accrual_flag
3611 , range_break_quantity
3612 , accrual_conversion_rate
3613 , pricing_group_sequence
3614 , modifier_level_code
3615 , price_break_type_code
3616 , substitution_attribute
3617 , proration_type_code
3618 , CREDIT_OR_CHARGE_FLAG
3619 , INCLUDE_ON_RETURNS_FLAG
3620 , AC_ATTRIBUTE1
3621 , AC_ATTRIBUTE10
3622 , AC_ATTRIBUTE11
3623 , AC_ATTRIBUTE12
3624 , AC_ATTRIBUTE13
3625 , AC_ATTRIBUTE14
3626 , AC_ATTRIBUTE15
3627 , AC_ATTRIBUTE2
3628 , AC_ATTRIBUTE3
3629 , AC_ATTRIBUTE4
3630 , AC_ATTRIBUTE5
3631 , AC_ATTRIBUTE6
3632 , AC_ATTRIBUTE7
3633 , AC_ATTRIBUTE8
3634 , AC_ATTRIBUTE9
3635 , AC_CONTEXT
3636 , orig_sys_discount_ref
3637 --uom begin
3638 , OPERAND_PER_PQTY
3639 , ADJUSTED_AMOUNT_PER_PQTY
3640 , INVOICED_AMOUNT
3641 --uom end
3642 , LOCK_CONTROL
3643 FROM OE_PRICE_ADJUSTMENTS
3644 WHERE HEADER_ID = p_header_id AND LINE_ID IS NULL;
3645
3646 l_implicit_rec l_header_adj_csr_p%ROWTYPE;
3647 l_entity NUMBER;
3648
3649 --
3650 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3651 --
3652 BEGIN
3653
3654 IF
3655 (p_price_adjustment_id IS NOT NULL
3656 AND
3657 p_price_adjustment_id <> FND_API.G_MISS_NUM)
3658 AND
3659 (p_header_id IS NOT NULL
3660 AND
3661 p_header_id <> FND_API.G_MISS_NUM)
3662 THEN
3663 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3664 THEN
3665 OE_MSG_PUB.Add_Exc_Msg
3666 ( G_PKG_NAME
3667 , 'Query Rows'
3668 , 'Keys are mutually exclusive: price_adjustment_id = '|| p_price_adjustment_id || ', header_id = '|| p_header_id
3669 );
3670 END IF;
3671
3672 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3673
3674 END IF;
3675
3676 IF nvl(p_price_adjustment_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3677 l_entity := 1;
3678 OPEN l_header_adj_csr_p;
3679 ELSIF nvl(p_header_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3680 l_entity := 2;
3681 OPEN l_header_adj_csr_h;
3682 END IF;
3683
3684 -- Loop over fetched records
3685 l_count := 1;
3686 LOOP
3687 IF l_entity = 1 THEN
3688 FETCH l_header_adj_csr_p INTO l_implicit_rec;
3689 EXIT WHEN l_header_adj_csr_p%NOTFOUND;
3690 ELSIF l_entity = 2 THEN
3691 FETCH l_header_adj_csr_h INTO l_implicit_rec;
3692 EXIT WHEN l_header_adj_csr_h%NOTFOUND;
3693 ELSE
3694 EXIT;
3695 END IF;
3696
3697 x_Header_Adj_tbl(l_count).attribute1 := l_implicit_rec.ATTRIBUTE1;
3698 x_Header_Adj_tbl(l_count).attribute10 := l_implicit_rec.ATTRIBUTE10;
3699 x_Header_Adj_tbl(l_count).attribute11 := l_implicit_rec.ATTRIBUTE11;
3700 x_Header_Adj_tbl(l_count).attribute12 := l_implicit_rec.ATTRIBUTE12;
3701 x_Header_Adj_tbl(l_count).attribute13 := l_implicit_rec.ATTRIBUTE13;
3702 x_Header_Adj_tbl(l_count).attribute14 := l_implicit_rec.ATTRIBUTE14;
3703 x_Header_Adj_tbl(l_count).attribute15 := l_implicit_rec.ATTRIBUTE15;
3704 x_Header_Adj_tbl(l_count).attribute2 := l_implicit_rec.ATTRIBUTE2;
3705 x_Header_Adj_tbl(l_count).attribute3 := l_implicit_rec.ATTRIBUTE3;
3706 x_Header_Adj_tbl(l_count).attribute4 := l_implicit_rec.ATTRIBUTE4;
3707 x_Header_Adj_tbl(l_count).attribute5 := l_implicit_rec.ATTRIBUTE5;
3708 x_Header_Adj_tbl(l_count).attribute6 := l_implicit_rec.ATTRIBUTE6;
3709 x_Header_Adj_tbl(l_count).attribute7 := l_implicit_rec.ATTRIBUTE7;
3710 x_Header_Adj_tbl(l_count).attribute8 := l_implicit_rec.ATTRIBUTE8;
3711 x_Header_Adj_tbl(l_count).attribute9 := l_implicit_rec.ATTRIBUTE9;
3712 x_Header_Adj_tbl(l_count).automatic_flag := l_implicit_rec.AUTOMATIC_FLAG;
3713 x_Header_Adj_tbl(l_count).context := l_implicit_rec.CONTEXT;
3714 x_Header_Adj_tbl(l_count).created_by := l_implicit_rec.CREATED_BY;
3715 x_Header_Adj_tbl(l_count).creation_date := l_implicit_rec.CREATION_DATE;
3716 x_Header_Adj_tbl(l_count).discount_id := l_implicit_rec.DISCOUNT_ID;
3717 x_Header_Adj_tbl(l_count).discount_line_id := l_implicit_rec.DISCOUNT_LINE_ID;
3718 x_Header_Adj_tbl(l_count).header_id := l_implicit_rec.HEADER_ID;
3719 x_Header_Adj_tbl(l_count).last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
3720 x_Header_Adj_tbl(l_count).last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
3721 x_Header_Adj_tbl(l_count).last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
3722 x_Header_Adj_tbl(l_count).line_id := l_implicit_rec.LINE_ID;
3723 x_Header_Adj_tbl(l_count).percent := l_implicit_rec.PERCENT;
3724 x_Header_Adj_tbl(l_count).price_adjustment_id := l_implicit_rec.PRICE_ADJUSTMENT_ID;
3725 x_Header_Adj_tbl(l_count).program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
3726 x_Header_Adj_tbl(l_count).program_id := l_implicit_rec.PROGRAM_ID;
3727 x_Header_Adj_tbl(l_count).program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
3728 x_Header_Adj_tbl(l_count).adjusted_amount := l_implicit_rec.adjusted_amount;
3729 x_Header_Adj_tbl(l_count).pricing_phase_id := l_implicit_rec.pricing_phase_id;
3730 x_Header_Adj_tbl(l_count).list_header_id := l_implicit_rec.list_header_id;
3731 x_Header_Adj_tbl(l_count).list_line_id := l_implicit_rec.list_line_id;
3732 x_Header_Adj_tbl(l_count).list_line_type_code := l_implicit_rec.list_line_type_code;
3733 x_Header_Adj_tbl(l_count).modifier_mechanism_type_code :=
3734 l_implicit_rec.modifier_mechanism_type_code;
3735 x_Header_Adj_tbl(l_count).modified_from := l_implicit_rec.modified_from;
3736 x_Header_Adj_tbl(l_count).modified_to := l_implicit_rec.modified_to;
3737 x_Header_Adj_tbl(l_count).updated_flag := l_implicit_rec.updated_flag;
3738 x_Header_Adj_tbl(l_count).update_allowed := l_implicit_rec.update_allowed;
3739 x_Header_Adj_tbl(l_count).applied_flag := l_implicit_rec.applied_flag;
3740 x_Header_Adj_tbl(l_count).change_reason_code := l_implicit_rec.change_reason_code;
3741 x_Header_Adj_tbl(l_count).change_reason_text := l_implicit_rec.change_reason_text;
3742 x_Header_Adj_tbl(l_count).operand := l_implicit_rec.operand;
3743 x_Header_Adj_tbl(l_count).arithmetic_operator :=
3744 l_implicit_rec.arithmetic_operator;
3745
3746 x_Header_Adj_tbl(l_count).request_id := l_implicit_rec.REQUEST_ID;
3747
3748 x_Header_Adj_tbl(l_count).cost_id := l_implicit_rec.cost_id;
3749 x_Header_Adj_tbl(l_count).tax_code := l_implicit_rec.tax_code;
3750 x_Header_Adj_tbl(l_count).tax_exempt_flag := l_implicit_rec.tax_exempt_flag;
3751 x_Header_Adj_tbl(l_count).tax_exempt_number := l_implicit_rec.tax_exempt_number;
3752 x_Header_Adj_tbl(l_count).tax_exempt_reason_code := l_implicit_rec.tax_exempt_reason_code;
3753 x_Header_Adj_tbl(l_count).parent_adjustment_id := l_implicit_rec.parent_adjustment_id;
3754 x_Header_Adj_tbl(l_count).invoiced_flag := l_implicit_rec.invoiced_flag;
3755 x_Header_Adj_tbl(l_count).estimated_flag := l_implicit_rec.estimated_flag;
3756 x_Header_Adj_tbl(l_count).inc_in_sales_performance := l_implicit_rec.inc_in_sales_performance;
3757 x_Header_Adj_tbl(l_count).split_action_code := l_implicit_rec.split_action_code;
3758 x_Header_Adj_tbl(l_count).charge_type_code := l_implicit_rec.charge_type_code;
3759 x_Header_Adj_tbl(l_count).charge_subtype_code := l_implicit_rec.charge_subtype_code;
3760 x_Header_Adj_tbl(l_count).list_line_no := l_implicit_rec.list_line_no;
3761 x_Header_Adj_tbl(l_count).source_system_code := l_implicit_rec.source_system_code;
3762 x_Header_Adj_tbl(l_count).benefit_qty := l_implicit_rec.benefit_qty;
3763 x_Header_Adj_tbl(l_count).benefit_uom_code := l_implicit_rec.benefit_uom_code;
3764 x_Header_Adj_tbl(l_count).print_on_invoice_flag := l_implicit_rec.print_on_invoice_flag;
3765 x_Header_Adj_tbl(l_count).expiration_date := l_implicit_rec.expiration_date;
3766 x_Header_Adj_tbl(l_count).rebate_transaction_type_code := l_implicit_rec.rebate_transaction_type_code;
3767 x_Header_Adj_tbl(l_count).rebate_transaction_reference := l_implicit_rec.rebate_transaction_reference;
3768 x_Header_Adj_tbl(l_count).rebate_payment_system_code := l_implicit_rec.rebate_payment_system_code;
3769 x_Header_Adj_tbl(l_count).redeemed_date := l_implicit_rec.redeemed_date;
3770 x_Header_Adj_tbl(l_count).redeemed_flag := l_implicit_rec.redeemed_flag;
3771 x_Header_Adj_tbl(l_count).accrual_flag := l_implicit_rec.accrual_flag;
3772 x_Header_Adj_tbl(l_count).range_break_quantity := l_implicit_rec.range_break_quantity;
3773 x_Header_Adj_tbl(l_count).accrual_conversion_rate := l_implicit_rec.accrual_conversion_rate;
3774 x_Header_Adj_tbl(l_count).pricing_group_sequence := l_implicit_rec.pricing_group_sequence;
3775 x_Header_Adj_tbl(l_count).modifier_level_code := l_implicit_rec.modifier_level_code;
3776 x_Header_Adj_tbl(l_count).price_break_type_code := l_implicit_rec.price_break_type_code;
3777 x_Header_Adj_tbl(l_count).substitution_attribute := l_implicit_rec.substitution_attribute;
3778 x_Header_Adj_tbl(l_count).proration_type_code := l_implicit_rec.proration_type_code;
3779 x_Header_Adj_tbl(l_count).credit_or_charge_flag := l_implicit_rec.credit_or_charge_flag;
3780 x_Header_Adj_tbl(l_count).include_on_returns_flag := l_implicit_rec.include_on_returns_flag;
3781 x_Header_Adj_tbl(l_count).ac_attribute1 := l_implicit_rec.AC_ATTRIBUTE1;
3782 x_Header_Adj_tbl(l_count).ac_attribute10 := l_implicit_rec.AC_ATTRIBUTE10;
3783 x_Header_Adj_tbl(l_count).ac_attribute11 := l_implicit_rec.AC_ATTRIBUTE11;
3784 x_Header_Adj_tbl(l_count).ac_attribute12 := l_implicit_rec.AC_ATTRIBUTE12;
3785 x_Header_Adj_tbl(l_count).ac_attribute13 := l_implicit_rec.AC_ATTRIBUTE13;
3786 x_Header_Adj_tbl(l_count).ac_attribute14 := l_implicit_rec.AC_ATTRIBUTE14;
3787 x_Header_Adj_tbl(l_count).ac_attribute15 := l_implicit_rec.AC_ATTRIBUTE15;
3788 x_Header_Adj_tbl(l_count).ac_attribute2 := l_implicit_rec.AC_ATTRIBUTE2;
3789 x_Header_Adj_tbl(l_count).ac_attribute3 := l_implicit_rec.AC_ATTRIBUTE3;
3790 x_Header_Adj_tbl(l_count).ac_attribute4 := l_implicit_rec.AC_ATTRIBUTE4;
3791 x_Header_Adj_tbl(l_count).ac_attribute5 := l_implicit_rec.AC_ATTRIBUTE5;
3792 x_Header_Adj_tbl(l_count).ac_attribute6 := l_implicit_rec.AC_ATTRIBUTE6;
3793 x_Header_Adj_tbl(l_count).ac_attribute7 := l_implicit_rec.AC_ATTRIBUTE7;
3794 x_Header_Adj_tbl(l_count).ac_attribute8 := l_implicit_rec.AC_ATTRIBUTE8;
3795 x_Header_Adj_tbl(l_count).ac_attribute9 := l_implicit_rec.AC_ATTRIBUTE9;
3796 x_Header_Adj_tbl(l_count).ac_context := l_implicit_rec.AC_CONTEXT;
3797 x_Header_Adj_tbl(l_count).orig_sys_discount_ref := l_implicit_rec.orig_sys_discount_ref;
3798 --uom begin
3799 x_Header_Adj_tbl(l_count).OPERAND_PER_PQTY :=l_implicit_rec.operand_per_pqty;
3800 x_Header_Adj_tbl(l_count).ADJUSTED_AMOUNT_PER_PQTY :=l_implicit_rec.adjusted_amount_per_pqty;
3801 --uom end
3802 x_Header_Adj_tbl(l_count).invoiced_amount := l_implicit_rec.invoiced_amount;
3803 x_Header_Adj_tbl(l_count).lock_control := l_implicit_rec.LOCK_CONTROL;
3804
3805 -- set values for non-DB fields
3806 x_Header_Adj_tbl(l_count).db_flag := FND_API.G_TRUE;
3807 x_Header_Adj_tbl(l_count).operation := FND_API.G_MISS_CHAR;
3808 x_Header_Adj_tbl(l_count).return_status := FND_API.G_MISS_CHAR;
3809
3810 l_count := l_count + 1;
3811 END LOOP;
3812
3813 IF l_entity = 1 THEN
3814 CLOSE l_header_adj_csr_p;
3815 ELSIF l_entity = 2 THEN
3816 CLOSE l_header_adj_csr_h;
3817 END IF;
3818
3819 -- PK sent and no rows found
3820
3821 IF
3822 (p_price_adjustment_id IS NOT NULL
3823 AND
3824 p_price_adjustment_id <> FND_API.G_MISS_NUM)
3825 AND
3826 (x_Header_Adj_tbl.COUNT = 0)
3827 THEN
3828 RAISE NO_DATA_FOUND;
3829 END IF;
3830
3831 EXCEPTION
3832
3833 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3834
3835 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3836
3837 WHEN OTHERS THEN
3838
3839 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3840 THEN
3841 OE_MSG_PUB.Add_Exc_Msg
3842 ( G_PKG_NAME
3843 , 'Query_Rows'
3844 );
3845 END IF;
3846
3847 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3848
3849 END Query_Rows;
3850
3851 -- Procedure lock_Row
3852 --
3853 -- lock by ID or value will be decided by, if lock_control is passed or not.
3854 -- we are doing this so that other products, can still call lock_order API
3855 -- which does not take only primary key and takes only entire records. However
3856 -- if they do not set lokc_control on rec, we will still lock by ID
3857 -- that way they do not need to query up the records before sending them in.
3858 -- OM calls can directly fo to util.lock row, thus can send only PK.
3859
3860 PROCEDURE Lock_Row
3861 ( x_return_status OUT NOCOPY VARCHAR2
3862
3863 , p_x_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
3864 -- := OE_Order_PUB.G_MISS_HEADER_ADJ_REC
3865 , p_price_adjustment_id IN NUMBER
3866 := FND_API.G_MISS_NUM
3867 -- , x_Header_Adj_rec OUT OE_Order_PUB.Header_Adj_Rec_Type
3868 )
3869 IS
3870 l_price_adjustment_id NUMBER;
3871 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
3872 l_lock_control NUMBER;
3873 --
3874 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3875 --
3876 BEGIN
3877
3878 IF l_debug_level > 0 THEN
3879 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.LOCK_ROW' , 1 ) ;
3880 END IF;
3881
3882 SAVEPOINT Lock_Row;
3883
3884 l_lock_control := NULL;
3885
3886 -- Retrieve the primary key.
3887 IF p_price_adjustment_id <> FND_API.G_MISS_NUM THEN
3888 l_price_adjustment_id := p_price_adjustment_id;
3889 ELSE
3890 l_price_adjustment_id := p_x_header_adj_rec.price_adjustment_id;
3891 l_lock_control := p_x_header_adj_rec.lock_control;
3892 END IF;
3893
3894 -- added for performance change
3895 SELECT price_adjustment_id
3896 INTO l_price_adjustment_id
3897 FROM oe_price_adjustments
3898 WHERE price_adjustment_id = l_price_adjustment_id
3899 FOR UPDATE NOWAIT;
3900
3901 IF l_debug_level > 0 THEN
3902 oe_debug_pub.add( 'SELECTING FOR UPDATE.' , 1 ) ;
3903 END IF;
3904
3905 OE_Header_Adj_Util.Query_Row
3906 (p_price_adjustment_id => l_price_adjustment_id
3907 ,x_Header_Adj_rec => p_x_Header_Adj_rec
3908 );
3909
3910 IF l_debug_level > 0 THEN
3911 oe_debug_pub.add( 'QUERIED LOCK_CONTROL: '|| P_X_HEADER_ADJ_REC.LOCK_CONTROL , 1 ) ;
3912 END IF;
3913
3914 -- If lock_control is not passed(is null or missing), then return the locked record.
3915
3916
3917 IF l_lock_control is null OR
3918 l_lock_control = FND_API.G_MISS_NUM
3919 THEN
3920
3921 -- Set return status
3922 x_return_status := FND_API.G_RET_STS_SUCCESS;
3923 p_x_header_adj_rec.return_status := FND_API.G_RET_STS_SUCCESS;
3924
3925 -- return for lock by ID.
3926 RETURN;
3927
3928 END IF;
3929
3930 -- Row locked. If the whole record is passed, then
3931 -- Compare lock_control.
3932
3933 IF l_debug_level > 0 THEN
3934 oe_debug_pub.add( 'COMPARE ' , 1 ) ;
3935 END IF;
3936
3937 IF OE_GLOBALS.Equal(p_x_header_adj_rec.lock_control,
3938 l_lock_control)
3939 THEN
3940
3941 -- Row has not changed. Set out parameter.
3942
3943 IF l_debug_level > 0 THEN
3944 oe_debug_pub.add( 'LOCKED ROW' , 1 ) ;
3945 END IF;
3946
3947 -- Set return status
3948
3949 x_return_status := FND_API.G_RET_STS_SUCCESS;
3950 p_x_header_adj_rec.return_status := FND_API.G_RET_STS_SUCCESS;
3951
3952 ELSE
3953
3954 -- Row has changed by another user.
3955 IF l_debug_level > 0 THEN
3956 oe_debug_pub.add( 'ROW CHANGED BY OTHER USER' , 1 ) ;
3957 END IF;
3958
3959 x_return_status := FND_API.G_RET_STS_ERROR;
3960 p_x_header_adj_rec.return_status := FND_API.G_RET_STS_ERROR;
3961
3962 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3963 THEN
3964
3965 -- Release the lock
3966 ROLLBACK TO Lock_Row;
3967
3968 fnd_message.set_name('ONT','OE_LOCK_ROW_CHANGED');
3969 OE_MSG_PUB.Add;
3970
3971 END IF;
3972
3973 END IF;
3974
3975 IF l_debug_level > 0 THEN
3976 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.LOCK_ROW' , 1 ) ;
3977 END IF;
3978
3979 EXCEPTION
3980
3981 WHEN NO_DATA_FOUND THEN
3982
3983 x_return_status := FND_API.G_RET_STS_ERROR;
3984 p_x_Header_Adj_rec.return_status := FND_API.G_RET_STS_ERROR;
3985
3986 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3987 THEN
3988
3989 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_DELETED');
3990 FND_MSG_PUB.Add;
3991
3992 END IF;
3993 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
3994
3995 x_return_status := FND_API.G_RET_STS_ERROR;
3996 p_x_Header_Adj_rec.return_status := FND_API.G_RET_STS_ERROR;
3997
3998 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3999 THEN
4000
4001 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_ALREADY_LOCKED');
4002 FND_MSG_PUB.Add;
4003
4004 END IF;
4005 WHEN OTHERS THEN
4006
4007 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4008 p_x_Header_Adj_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4009
4010 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4011 THEN
4012 OE_MSG_PUB.Add_Exc_Msg
4013 ( G_PKG_NAME
4014 , 'Lock_Row'
4015 );
4016 END IF;
4017
4018 END Lock_Row;
4019
4020 PROCEDURE Lock_Rows
4021 ( p_price_adjustment_id IN NUMBER
4022 := FND_API.G_MISS_NUM
4023 , p_header_id IN NUMBER
4024 := FND_API.G_MISS_NUM
4025 , x_Header_Adj_tbl OUT NOCOPY OE_Order_PUB.Header_Adj_Tbl_Type
4026 , x_return_status OUT NOCOPY VARCHAR2
4027
4028 )
4029 IS
4030
4031 CURSOR lock_adj_hdr(p_header_id IN NUMBER) IS
4032 SELECT price_adjustment_id
4033 FROM oe_price_adjustments
4034 WHERE header_id = p_header_id
4035 FOR UPDATE NOWAIT;
4036
4037 l_price_adjustment_id NUMBER;
4038 l_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
4039 l_lock_control NUMBER;
4040
4041 --
4042 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4043 --
4044 BEGIN
4045
4046 IF l_debug_level > 0 THEN
4047 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.LOCK_ROWS.' , 1 ) ;
4048 END IF;
4049
4050 IF (p_price_adjustment_id IS NOT NULL AND
4051 p_price_adjustment_id <> FND_API.G_MISS_NUM) AND
4052 (p_header_id IS NOT NULL AND
4053 p_header_id <> FND_API.G_MISS_NUM)
4054 THEN
4055 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4056 OE_MSG_PUB.Add_Exc_Msg
4057 ( G_PKG_NAME
4058 , 'Lock_Rows'
4059 , 'Keys are mutually exclusive: price_adjustment_id = ' ||
4060 p_price_adjustment_id || ', header_id = ' || p_header_id );
4061 END IF;
4062
4063 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4064 END IF;
4065
4066 IF p_price_adjustment_id <> FND_API.G_MISS_NUM THEN
4067
4068 SELECT price_adjustment_id
4069 INTO l_price_adjustment_id
4070 FROM oe_price_adjustments
4071 WHERE price_adjustment_id = p_price_adjustment_id
4072 FOR UPDATE NOWAIT;
4073 END IF;
4074
4075 -- null header_id shouldn't be passed in unnecessarily if
4076 -- price_adjustment_id is passed in already.
4077 BEGIN
4078 IF p_header_id <> FND_API.G_MISS_NUM THEN
4079 SAVEPOINT LOCK_ROWS;
4080 OPEN lock_adj_hdr(p_header_id);
4081
4082 LOOP
4083 FETCH lock_adj_hdr INTO l_price_adjustment_id;
4084 EXIT WHEN lock_adj_hdr%NOTFOUND;
4085 END LOOP;
4086 CLOSE lock_adj_hdr;
4087 END IF;
4088 EXCEPTION
4089 WHEN OTHERS THEN
4090 ROLLBACK TO LOCK_ROWS;
4091
4092 IF lock_adj_hdr%ISOPEN THEN
4093 CLOSE lock_adj_hdr;
4094 END IF;
4095
4096 RAISE;
4097 END;
4098
4099 OE_Header_Adj_Util.Query_Rows
4100 ( p_price_adjustment_id => p_price_adjustment_id
4101 , p_header_id => p_header_id
4102 , x_Header_Adj_tbl => x_Header_Adj_tbl
4103 );
4104
4105 x_return_status := FND_API.G_RET_STS_SUCCESS;
4106
4107 EXCEPTION
4108 WHEN NO_DATA_FOUND THEN
4109 x_return_status := FND_API.G_RET_STS_ERROR;
4110 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4111 THEN
4112 fnd_message.set_name('ONT','OE_LOCK_ROW_DELETED');
4113 OE_MSG_PUB.Add;
4114 END IF;
4115
4116 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
4117 x_return_status := FND_API.G_RET_STS_ERROR;
4118 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4119 THEN
4120 fnd_message.set_name('ONT','OE_LOCK_ROW_ALREADY_LOCKED');
4121 OE_MSG_PUB.Add;
4122 END IF;
4123
4124 WHEN OTHERS THEN
4125 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4126 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4127 THEN
4128 OE_MSG_PUB.Add_Exc_Msg
4129 ( G_PKG_NAME
4130 , 'Lock_Row'
4131 );
4132 END IF;
4133
4134 IF l_debug_level > 0 THEN
4135 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.LOCK_ROWS.' , 1 ) ;
4136 END IF;
4137
4138 END Lock_Rows;
4139
4140 PROCEDURE Log_Adj_Requests
4141 ( x_return_status OUT NOCOPY VARCHAR2
4142
4143 , p_adj_rec IN OE_order_pub.Header_Adj_Rec_Type
4144 , p_old_adj_rec IN OE_order_pub.Header_Adj_Rec_Type
4145 , p_delete_flag IN BOOLEAN DEFAULT FALSE
4146 ) IS
4147
4148 --
4149 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4150 --
4151 BEGIN
4152
4153 x_return_status := FND_API.G_RET_STS_SUCCESS;
4154
4155 -- if the adjustment_id changed or the percent changed
4156 -- or discount or discount_line has changed
4157
4158 IF ( (p_adj_rec.price_adjustment_id <> p_old_adj_rec.price_adjustment_id
4159 OR
4160 p_old_adj_rec.price_adjustment_id IS NULL)
4161 OR
4162 (p_adj_rec.percent <> p_old_adj_rec.percent
4163 OR
4164 p_old_adj_rec.percent IS NULL)
4165 OR
4166 (p_adj_rec.discount_id <> p_old_adj_rec.discount_id
4167 OR
4168 p_old_adj_rec.discount_id IS NULL)
4169 OR
4170 (p_adj_rec.discount_line_id <> p_old_adj_rec.discount_line_id
4171 OR
4172 p_old_adj_rec.discount_line_id IS NULL)
4173 OR
4174 p_delete_flag)
4175 THEN
4176
4177 /*
4178 oe_delayed_requests_pvt.log_request(p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
4179 p_entity_id => p_adj_rec.header_id,
4180 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
4181 p_requesting_entity_id => p_adj_rec.
4182 price_adjustment_id,
4183 p_request_type => OE_GLOBALS.G_PRICE_ADJ,
4184 x_return_status => x_return_status);
4185 */
4186 null;
4187 END IF;
4188
4189 END Log_Adj_Requests;
4190
4191 -- Function Get_Values
4192
4193 FUNCTION Get_Values
4194 ( p_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type
4195 , p_old_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type :=
4196 OE_Order_PUB.G_MISS_HEADER_ADJ_REC
4197 ) RETURN OE_Order_PUB.Header_Adj_Val_Rec_Type
4198 IS
4199 l_Header_Adj_val_rec OE_Order_PUB.Header_Adj_Val_Rec_Type;
4200 --
4201 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4202 --
4203 BEGIN
4204
4205 IF (p_Header_Adj_rec.discount_id IS NULL OR
4206 p_Header_Adj_rec.discount_id <> FND_API.G_MISS_NUM) AND
4207 NOT OE_GLOBALS.Equal(p_Header_Adj_rec.discount_id,
4208 p_old_Header_Adj_rec.discount_id)
4209 THEN
4210 l_Header_Adj_val_rec.discount := OE_Id_To_Value.Discount
4211 ( p_discount_id => p_Header_Adj_rec.discount_id
4212 );
4213 END IF;
4214
4215 RETURN l_Header_Adj_val_rec;
4216
4217 END Get_Values;
4218
4219 -- Procedure Get_Ids
4220
4221 PROCEDURE Get_Ids
4222 ( p_x_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
4223 , p_Header_Adj_val_rec IN OE_Order_PUB.Header_Adj_Val_Rec_Type
4224 )
4225 IS
4226 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
4227 --
4228 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4229 --
4230 BEGIN
4231
4232 -- initialize return_status.
4233
4234 l_Header_Adj_rec.return_status := FND_API.G_RET_STS_SUCCESS;
4235
4236 -- initialize l_Header_Adj_rec.
4237
4238 l_Header_Adj_rec := p_x_Header_Adj_rec;
4239
4240 IF p_Header_Adj_val_rec.discount <> FND_API.G_MISS_CHAR
4241 THEN
4242
4243 IF p_x_Header_Adj_rec.discount_id <> FND_API.G_MISS_NUM THEN
4244
4245 l_Header_Adj_rec.discount_id := p_x_Header_Adj_rec.discount_id;
4246
4247 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
4248 THEN
4249
4250 FND_MESSAGE.SET_NAME('OE','OE_BOTH_VAL_AND_ID_EXIST');
4251 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','discount');
4252 FND_MSG_PUB.Add;
4253
4254 END IF;
4255
4256 ELSE
4257
4258 l_Header_Adj_rec.discount_id := OE_Value_To_Id.discount
4259 ( p_discount => p_Header_Adj_val_rec.discount
4260 );
4261
4262 IF l_Header_Adj_rec.discount_id = FND_API.G_MISS_NUM THEN
4263 l_Header_Adj_rec.return_status := FND_API.G_RET_STS_ERROR;
4264 END IF;
4265
4266 END IF;
4267
4268 END IF;
4269
4270
4271 -- RETURN l_Header_Adj_rec;
4272 p_x_Header_Adj_rec := l_Header_Adj_rec;
4273
4274 END Get_Ids;
4275
4276
4277 FUNCTION get_adj_total
4278 ( p_header_id IN NUMBER := null
4279 , p_line_id IN NUMBER :=null
4280 )
4281 RETURN NUMBER
4282 is
4283 l_adj_total NUMBER := 0;
4284 Is_fmt Boolean;
4285 --
4286 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4287 --
4288 BEGIN
4289
4290 IF l_debug_level > 0 THEN
4291 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.GET_ADJ_TOTAL' , 1 ) ;
4292 END IF;
4293
4294 IF (p_header_id IS NOT NULL AND
4295 NVL(p_header_id,-1)<>NVL(OE_ORDER_UTIL.G_Header_id,-10))
4296 OR OE_ORDER_UTIL.G_Precision IS NULL THEN
4297 Is_fmt:= OE_ORDER_UTIL.Get_Precision(
4298 p_header_id=>p_header_id
4299 );
4300 END IF;
4301
4302 IF (p_line_id IS NOT NULL AND
4303 NVL(p_Line_id,-1)<>NVL(OE_ORDER_UTIL.G_Line_id,-10))
4304 OR OE_ORDER_UTIL.G_Precision IS NULL THEN
4305 Is_fmt:= OE_ORDER_UTIL.Get_Precision(
4306 p_line_id=>p_line_id
4307 );
4308 END IF;
4309
4310 IF OE_ORDER_UTIL.G_Precision IS NULL THEN
4311 OE_ORDER_UTIL.G_Precision:=2;
4312 END IF;
4313
4314
4315 -- Query total.
4316 -- Separating into two separate SQLs for bug 3090569 --jvicenti
4317
4318 IF p_header_id IS NOT NULL THEN
4319 SELECT sum(ROUND(((unit_selling_price - unit_list_price)*
4320 ordered_quantity) ,OE_ORDER_UTIL.G_Precision))
4321 INTO l_adj_total
4322 FROM oe_order_lines_all
4323 WHERE HEADER_ID = p_header_id
4324 AND charge_periodicity_code IS NULL -- addded for recurring charges
4325 AND nvl(cancelled_flag,'N') ='N';
4326 ELSE
4327 SELECT sum(ROUND(((unit_selling_price - unit_list_price)*
4328 ordered_quantity) ,OE_ORDER_UTIL.G_Precision))
4329 INTO l_adj_total
4330 FROM oe_order_lines_all
4331 WHERE line_id = p_line_id
4332 AND nvl(cancelled_flag,'N') ='N';
4333 END IF;
4334
4335 IF l_adj_total IS NULL THEN
4336
4337 l_adj_total := 0;
4338
4339 END IF;
4340
4341 IF l_debug_level > 0 THEN
4342 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.GET_ADJ_TOTAL' , 1 ) ;
4343 END IF;
4344
4345 RETURN l_adj_total;
4346
4347 EXCEPTION
4348
4349 WHEN OTHERS THEN
4350
4351 -- Unexpected error
4352 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4353
4354 OE_MSG_PUB.Add_Exc_Msg
4355 ( G_PKG_NAME ,
4356 'Price_Utilities - Get_Adj_Total'
4357 );
4358 END IF;
4359
4360 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4361
4362 END Get_Adj_Total;
4363
4364 procedure get_line_adjustments
4365 (p_header_id number
4366 ,p_line_id number
4367 ,x_line_adjustments out nocopy line_adjustments_tab_type
4368
4369 )
4370 is
4371 l_index number := 0;
4372 --
4373 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4374 --
4375 BEGIN
4376
4377 IF l_debug_level > 0 THEN
4378 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.GET_LINE_ADJUSTMENTS' , 1 ) ;
4379 END IF;
4380
4381 for adj_cur in
4382 ( SELECT opa.price_adjustment_id
4383 ,opa.adjustment_name
4384 ,opa.adjustment_description --Enhancement 3816014
4385 ,opa.list_line_no
4386 ,opa.adjustment_type_code
4387 ,opa.operand
4388 ,opa.arithmetic_operator
4389 --Bug 3340636 Starts
4390 ,decode(list_line_type_code,'SUR',
4391 -1 * (decode(opa.arithmetic_operator,
4392 null,0,
4393 '%', opa.operand*ool.unit_list_price/100,
4394 'AMT',opa.operand,
4395 'NEWPRICE',ool.unit_list_price - opa.operand)),
4396 decode(opa.arithmetic_operator,null,0,'%',
4397 opa.operand*ool.unit_list_price/100,
4398 'AMT',opa.operand,
4399 'NEWPRICE',ool.unit_list_price-opa.operand))
4400 unit_discount_amount
4401 --Bug 3340636 Ends
4402 FROM oe_price_adjustments_v opa
4403 , oe_order_lines_all ool
4404 WHERE opa.HEADER_ID = p_header_id
4405 and opa.line_id is null
4406 and ool.line_id = p_line_id
4407 and ool.header_id = p_header_id
4408 and nvl(opa.applied_flag,'N') = 'Y'
4409 and nvl(opa.accrual_flag,'N') = 'N'
4410 and list_line_type_code in ('DIS','SUR','PBH')
4411 UNION
4412 -- get line adjustments
4413 SELECT opa.price_adjustment_id
4414 ,opa.adjustment_name
4415 ,opa.adjustment_description --Enhancement 3816014
4416 ,opa.list_line_no
4417 ,opa.adjustment_type_code
4418 ,opa.operand
4419 ,opa.arithmetic_operator
4420 ,opa.adjusted_amount*(-1) unit_discount_amount
4421 FROM oe_price_adjustments_v opa
4422 , oe_order_lines_all ool
4423 WHERE opa.line_id =p_line_id
4424 and ool.line_id = p_line_id
4425 and ool.header_id = p_header_id
4426 and nvl(opa.applied_flag,'N') = 'Y'
4427 and nvl(opa.accrual_flag,'N') = 'N'
4428 and list_line_type_code in ('DIS','SUR','PBH')
4429 )
4430 loop
4431
4432 l_index:= l_index+1;
4433 x_line_adjustments(l_index).price_adjustment_id := adj_cur.price_adjustment_id;
4434 x_line_adjustments(l_index).adjustment_name := adj_cur.adjustment_name;
4435 x_line_adjustments(l_index).adjustment_description := adj_cur.adjustment_description; --Enhancement 3816014
4436 x_line_adjustments(l_index).list_line_no := adj_cur.list_line_no;
4437 x_line_adjustments(l_index).adjustment_type_code:= adj_cur.adjustment_type_code;
4438 x_line_adjustments(l_index).operand:= adj_cur.operand;
4439 x_line_adjustments(l_index).arithmetic_operator:= adj_cur.arithmetic_operator;
4440 x_line_adjustments(l_index).unit_discount_amount := adj_cur.unit_discount_amount;
4441
4442 end loop;
4443
4444
4445 IF l_debug_level > 0 THEN
4446 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.GET_LINE_ADJUSTMENTS' , 1 ) ;
4447 END IF;
4448
4449
4450 EXCEPTION
4451
4452 WHEN OTHERS THEN
4453
4454 -- Unexpected error
4455 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4456
4457 OE_MSG_PUB.Add_Exc_Msg
4458 ( G_PKG_NAME ,
4459 'Header_utilities - get_line_adjustments'
4460 );
4461 END IF;
4462
4463 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4464
4465 END get_line_adjustments;
4466
4467 /* Start AuditTrail */
4468 PROCEDURE Pre_Write_Process
4469 (p_x_header_adj_rec IN OUT NOCOPY /* file.sql.39 change */ OE_ORDER_PUB.header_adj_rec_type,
4470 p_old_header_adj_rec IN OE_ORDER_PUB.header_adj_rec_type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_REC) IS
4471 /*local */
4472 l_return_status varchar2(30);
4473 --
4474 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4475 --
4476 BEGIN
4477
4478 --11.5.10 Versioning/Audit Trail updates
4479 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510' AND
4480 OE_GLOBALS.G_ROLL_VERSION <> 'N' AND
4481 NOT OE_GLOBALS.G_HEADER_CREATED THEN
4482 IF OE_GLOBALS.G_REASON_CODE IS NULL AND
4483 OE_GLOBALS.G_CAPTURED_REASON IN ('V','A') THEN
4484 IF p_x_header_adj_rec.change_reason_code <> FND_API.G_MISS_CHAR THEN
4485 OE_GLOBALS.G_REASON_TYPE := 'CHANGE_CODE';
4486 OE_GLOBALS.G_REASON_CODE := p_x_header_adj_rec.change_reason_code;
4487 OE_GLOBALS.G_REASON_COMMENTS := p_x_header_adj_rec.change_reason_text;
4488 OE_GLOBALS.G_CAPTURED_REASON := 'Y';
4489 ELSE
4490 IF l_debug_level > 0 THEN
4491 OE_DEBUG_PUB.add('Reason code for versioning is missing', 1);
4492 END IF;
4493 IF OE_GLOBALS.G_UI_FLAG THEN
4494 raise FND_API.G_EXC_ERROR;
4495 END IF;
4496 END IF;
4497 END IF;
4498
4499 --log delayed request
4500 oe_debug_pub.add('log versioning request',1);
4501 OE_Delayed_Requests_Pvt.Log_Request(p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
4502 p_entity_id => p_x_header_adj_rec.header_id,
4503 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
4504 p_requesting_entity_id => p_x_header_adj_rec.price_adjustment_id,
4505 p_request_type => OE_GLOBALS.G_VERSION_AUDIT,
4506 x_return_status => l_return_status);
4507 END IF;
4508
4509 if (p_x_header_adj_rec.operation = OE_GLOBALS.G_OPR_UPDATE) then
4510
4511 IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG = 'Y' OR
4512 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG = 'Y' THEN
4513
4514 IF l_debug_level > 0 THEN
4515 oe_debug_pub.add( 'CALL TO RECORD HEADER PRICE ADJ HISTORY' , 5 ) ;
4516 END IF;
4517 --11.5.10 Versioning/Audit Trail updates
4518 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510' THEN
4519 OE_Versioning_Util.Capture_Audit_Info(p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
4520 p_entity_id => p_x_header_adj_rec.price_adjustment_id,
4521 p_hist_type_code => 'UPDATE');
4522 --log delayed request
4523 OE_Delayed_Requests_Pvt.Log_Request(p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
4524 p_entity_id => p_x_header_adj_rec.header_id,
4525 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
4526 p_requesting_entity_id => p_x_header_adj_rec.header_id,
4527 p_request_type => OE_GLOBALS.G_VERSION_AUDIT,
4528 x_return_status => l_return_status);
4529 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
4530 ELSE
4531 OE_CHG_ORDER_PVT.RecordHPAdjHist
4532 ( p_header_adj_id => p_x_header_adj_rec.price_adjustment_id,
4533 p_header_adj_rec => null,
4534 p_hist_type_code => 'UPDATE',
4535 p_reason_code => p_x_header_adj_rec.change_reason_code,
4536 p_comments => p_x_header_adj_rec.change_reason_text,
4537 p_wf_activity_code => null,
4538 p_wf_result_code => null,
4539 x_return_status => l_return_status );
4540 END IF;
4541
4542 END IF;
4543
4544 IF l_return_status <> FND_API.G_RET_STS_SUCCESS then
4545 IF l_debug_level > 0 THEN
4546 oe_debug_pub.add( 'INSERT INTO HEADER PRICE ADJUSTMENTS AUDIT HISTORY CAUSED ERROR' , 1 ) ;
4547 END IF;
4548 IF l_return_status = FND_API.G_RET_STS_ERROR then
4549 raise FND_API.G_EXC_ERROR;
4550 ELSE
4551 raise FND_API.G_EXC_UNEXPECTED_ERROR;
4552 END IF;
4553 END IF;
4554 END IF;
4555
4556 END Pre_Write_Process;
4557 /* End AuditTrail */
4558
4559 /* Added the following procedure to fix the bug 2170086 */
4560 PROCEDURE copy_header_adjustments
4561 ( p_from_header_id IN NUMBER
4562 , p_to_header_id IN NUMBER
4563 , p_to_order_category IN VARCHAR2
4564 , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
4565 )
4566 is
4567 l_copy_freight_charge VARCHAR2(1);
4568 l_from_order_category VARCHAR2(30);
4569 l_from_header_adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
4570 l_from_header_adj_att_tbl OE_Order_Pub.Header_Adj_Att_Tbl_Type;
4571 l_header_adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
4572 l_header_adj_att_tbl OE_Order_Pub.Header_Adj_Att_Tbl_Type;
4573 i pls_integer;
4574 j pls_integer;
4575 l_control_rec OE_Globals.Control_rec_type;
4576 l_header_rec OE_Order_PUB.Header_Rec_Type;
4577 l_x_Header_price_Att_tbl OE_Order_PUB.Header_price_Att_tbl_type;
4578 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_tbl_type;
4579 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
4580 l_line_tbl OE_Order_PUB.Line_Tbl_Type;
4581 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
4582 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_tbl_type;
4583 l_x_Line_price_Att_tbl OE_Order_PUB.Line_price_Att_tbl_type;
4584 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_tbl_type;
4585 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
4586 l_x_lot_serial_tbl OE_Order_PUB.lot_serial_tbl_type;
4587 l_x_action_request_tbl OE_Order_PUB.request_tbl_type;
4588 l_x_msg_count NUMBER;
4589 l_x_msg_data VARCHAR2(2000);
4590
4591 cursor c1
4592 is
4593 select order_category_code
4594 from oe_order_headers
4595 where header_id = p_from_header_id;
4596
4597 BEGIN
4598
4599 oe_debug_pub.add('Entering OE_Header_Adj_Util.copy_header_adjustments ', 1);
4600
4601 /* Get Order category of the order FROM which adjustments are being copied. */
4602 for c1_rec in c1 loop
4603 l_from_order_category := c1_rec.order_category_code;
4604 end loop;
4605
4606 /* Header Level adjustment for FROM Header */
4607 IF OE_CODE_CONTROL.Get_Code_Release_Level >= '110510' THEN
4608 OE_Version_History_Util.Query_Rows
4609 ( p_header_id => p_from_header_id
4610 , p_version_number => OE_ORDER_COPY_UTIL.G_HDR_VER_NUMBER
4611 , p_phase_change_flag => OE_ORDER_COPY_UTIL.G_HDR_PHASE_CHANGE_FLAG
4612 , x_Header_Adj_Tbl => l_from_header_adj_tbl);
4613 ELSE
4614 OE_Header_Adj_Util.Query_Rows( p_header_Id => p_from_header_id
4615 , x_Header_Adj_Tbl => l_from_header_adj_tbl
4616 );
4617 END IF;
4618
4619 i := l_from_header_adj_tbl.First;
4620 While i is not null Loop
4621
4622 oe_debug_pub.add('inside copy header adj '||l_from_header_adj_tbl(i).list_line_type_code);
4623
4624 /* If it's a Freight Charge then ... */
4625 If l_from_header_adj_tbl(i).list_line_type_code <> 'FREIGHT_CHARGE' and
4626 l_from_header_adj_tbl(i).list_line_type_code <> 'OM_CALLED_FREIGHT_RATES' and -- bug 4304163
4627 l_from_header_adj_tbl(i).list_line_type_code <> 'OM_CALLED_CHOOSE_SHIP_METHOD' then --Bug3322938
4628
4629 /* Copy Freight Charge only if the flag was set to 'Y' */
4630
4631 oe_header_price_aattr_util.Query_Rows(
4632 p_price_adjustment_id => l_from_header_adj_tbl(i).price_adjustment_id,
4633 x_header_adj_att_tbl => l_from_header_adj_att_tbl
4634 );
4635
4636 j := l_from_header_adj_att_tbl.First;
4637 While j is not null Loop
4638
4639 l_from_header_adj_att_tbl(j).operation := OE_GLOBALS.G_OPR_CREATE;
4640 l_from_header_adj_att_tbl(j).price_adjustment_id := fnd_api.g_miss_num;
4641 l_from_header_adj_att_tbl(j).adj_index := l_header_adj_tbl.count+1;
4642 l_from_header_adj_att_tbl(j).price_adj_attrib_id := fnd_api.g_miss_num;
4643
4644 l_header_adj_att_tbl(l_header_adj_att_tbl.count+1) := l_from_header_adj_att_tbl(j);
4645
4646 j := l_from_header_adj_att_tbl.Next(j);
4647
4648 End Loop;
4649
4650 l_from_header_adj_tbl(i).operation := OE_GLOBALS.G_OPR_CREATE;
4651 l_from_header_adj_tbl(i).header_id := p_to_header_id;
4652 l_from_header_adj_tbl(i).invoiced_flag := 'N';
4653 l_from_header_adj_tbl(i).price_adjustment_id := fnd_api.g_miss_num;
4654
4655 l_header_adj_tbl(l_header_adj_tbl.count+1) := l_from_header_adj_tbl(i);
4656
4657
4658 End if; -- List Line Type <> Freight Charge
4659
4660 i:= l_from_header_adj_tbl.Next(i);
4661 End Loop;
4662
4663 If l_header_adj_tbl.count > 0 or l_header_adj_att_tbl.count > 0 Then
4664
4665 -- set control record
4666 l_control_rec.controlled_operation := TRUE;
4667 l_control_rec.write_to_DB := TRUE;
4668 l_control_rec.change_attributes := TRUE;
4669 l_control_rec.default_attributes := TRUE;
4670 l_control_rec.validate_entity := TRUE;
4671 l_control_rec.clear_dependents := TRUE;
4672
4673 l_control_rec.process := FALSE;
4674 l_control_rec.clear_api_cache := FALSE;
4675 l_control_rec.clear_api_requests := FALSE;
4676
4677 oe_debug_pub.add('Before OE_Order_PVT.Process_order',3);
4678
4679 -- OE_Globals.G_RECURSION_MODE := 'Y';
4680
4681 -- Call OE_Order_PVT.Process_order
4682 OE_Order_PVT.Process_order
4683 ( p_api_version_number => 1.0
4684 , x_return_status => x_return_status
4685 , x_msg_count => l_x_msg_count
4686 , x_msg_data => l_x_msg_data
4687 , p_control_rec => l_control_rec
4688 , p_x_header_rec => l_header_rec
4689 , p_x_Header_Adj_tbl => l_Header_Adj_Tbl
4690 , p_x_Header_Adj_att_tbl => l_Header_Adj_Att_Tbl
4691 , p_x_Header_Price_Att_Tbl => l_x_Header_Price_Att_Tbl
4692 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
4693 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
4694 , p_x_line_tbl => l_line_tbl
4695 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
4696 , p_x_Line_Adj_att_tbl => l_x_Line_Adj_att_tbl
4697 , p_x_Line_Price_att_tbl => l_x_Line_Price_att_tbl
4698 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
4699 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
4700 , p_x_Lot_Serial_tbl => l_x_Lot_Serial_Tbl
4701 , p_x_action_request_tbl => l_x_Action_Request_tbl
4702 );
4703
4704 -- OE_Globals.G_RECURSION_MODE := 'N';
4705
4706 If x_return_status = FND_API.G_RET_STS_UNEXP_ERROR Then
4707 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4708 Elsif x_return_status = FND_API.G_RET_STS_ERROR Then
4709 RAISE FND_API.G_EXC_ERROR;
4710 End If;
4711
4712 End If;
4713
4714 oe_debug_pub.add('Exiting OE_Header_Adj_Util.copy_header_adjustments ', 1);
4715
4716 EXCEPTION
4717
4718 WHEN FND_API.G_EXC_ERROR THEN
4719 x_return_status := FND_API.G_RET_STS_ERROR;
4720
4721 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4722 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4723 oe_debug_pub.add(G_PKG_NAME||':copy_header_adjuetments :'||SQLERRM);
4724
4725 WHEN OTHERS THEN
4726 If FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) Then
4727 OE_MSG_PUB.Add_Exc_Msg
4728 ( G_PKG_NAME
4729 , 'Copy_header_adjustments '
4730 );
4731 End If;
4732 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4733
4734 END copy_header_adjustments ;
4735
4736 /* End of the procedure added to fix the bug 2170086 */
4737
4738 /* Fix for 1559906: New Procedure to Copy Freight Charges */
4739
4740 PROCEDURE copy_freight_charges
4741 ( p_from_header_id IN NUMBER
4742 , p_to_header_id IN NUMBER
4743 , p_to_order_category IN VARCHAR2
4744 , x_return_status OUT NOCOPY VARCHAR2
4745
4746 )
4747 is
4748 l_copy_freight_charge VARCHAR2(1);
4749 l_from_order_category VARCHAR2(30);
4750 l_from_header_adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
4751 l_from_header_adj_att_tbl OE_Order_Pub.Header_Adj_Att_Tbl_Type;
4752 l_header_adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
4753 l_header_adj_att_tbl OE_Order_Pub.Header_Adj_Att_Tbl_Type;
4754 i pls_integer;
4755 j pls_integer;
4756 l_control_rec OE_Globals.Control_rec_type;
4757 l_header_rec OE_Order_PUB.Header_Rec_Type;
4758 l_x_Header_price_Att_tbl OE_Order_PUB.Header_price_Att_tbl_type;
4759 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_tbl_type;
4760 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
4761 l_line_tbl OE_Order_PUB.Line_Tbl_Type;
4762 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
4763 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_tbl_type;
4764 l_x_Line_price_Att_tbl OE_Order_PUB.Line_price_Att_tbl_type;
4765 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_tbl_type;
4766 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
4767 l_x_lot_serial_tbl OE_Order_PUB.lot_serial_tbl_type;
4768 l_x_action_request_tbl OE_Order_PUB.request_tbl_type;
4769 l_x_msg_count NUMBER;
4770 l_x_msg_data VARCHAR2(2000);
4771
4772 cursor c1
4773 is
4774 select order_category_code
4775 from oe_order_headers
4776 where header_id = p_from_header_id;
4777 --serla begin
4778 l_x_Header_Payment_tbl OE_Order_PUB.Header_Payment_Tbl_Type;
4779 l_x_Line_Payment_tbl OE_Order_PUB.Line_Payment_Tbl_Type;
4780 --serla end
4781 --
4782 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4783 --
4784 BEGIN
4785
4786 IF l_debug_level > 0 THEN
4787 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.COPY_FREIGHT_CHARGES' , 1 ) ;
4788 END IF;
4789
4790 /* Get Order category of the order FROM which charges are being copied. */
4791 for c1_rec in c1 loop
4792 l_from_order_category := c1_rec.order_category_code;
4793 end loop;
4794
4795 /* Header Level Charges for FROM Header */
4796 IF OE_CODE_CONTROL.Get_Code_Release_Level >= '110510' THEN
4797 OE_Version_History_Util.Query_Rows
4798 ( p_header_id => p_from_header_id
4799 , p_version_number => OE_ORDER_COPY_UTIL.G_HDR_VER_NUMBER
4800 , p_phase_change_flag => OE_ORDER_COPY_UTIL.G_HDR_PHASE_CHANGE_FLAG
4801 , x_Header_Adj_Tbl => l_from_header_adj_tbl);
4802 ELSE
4803 OE_Header_Adj_Util.Query_Rows( p_header_Id => p_from_header_id
4804 , x_Header_Adj_Tbl => l_from_header_adj_tbl);
4805 END IF;
4806
4807 i := l_from_header_adj_tbl.First;
4808 While i is not null Loop
4809
4810 oe_debug_pub.add('Inside copy frieght charges .. '||l_from_header_adj_tbl(i).list_line_type_code);
4811
4812 l_copy_freight_charge := 'N';
4813
4814 /* If it's a Freight Charge then ... */
4815 If l_from_header_adj_tbl(i).list_line_type_code = 'FREIGHT_CHARGE' then
4816
4817 /* If copying from Order to Return then ... */
4818 If l_from_order_category = 'ORDER' and p_to_order_category = 'RETURN' then
4819
4820 If (NVL(l_from_header_Adj_Tbl(i).include_on_returns_flag,'Y') = 'Y' and
4821 NVL(l_from_header_Adj_Tbl(i).applied_flag,'N') = 'Y') then
4822
4823 l_copy_freight_charge := 'Y';
4824
4825 if l_from_header_adj_tbl(i).credit_or_charge_flag = 'C' then
4826 l_from_header_adj_tbl(i).credit_or_charge_flag := 'D';
4827 else
4828 l_from_header_adj_tbl(i).credit_or_charge_flag := 'C';
4829 end if;
4830
4831 l_from_header_adj_tbl(i).updated_flag := 'Y';
4832 l_from_header_adj_tbl(i).change_reason_code := 'MISC';
4833 l_from_header_adj_tbl(i).change_reason_text := 'Reversing Credit';
4834
4835 End if;
4836
4837 /* If copying from Return to Order then ... */
4838 Elsif l_from_order_category = 'RETURN' and p_to_order_category = 'ORDER' then
4839
4840 l_copy_freight_charge := 'Y';
4841
4842 if l_from_header_adj_tbl(i).credit_or_charge_flag = 'C' then
4843 l_from_header_adj_tbl(i).credit_or_charge_flag := 'D';
4844 else
4845 l_from_header_adj_tbl(i).credit_or_charge_flag := 'C';
4846 end if;
4847
4848 l_from_header_adj_tbl(i).updated_flag := 'N';
4849 l_from_header_adj_tbl(i).change_reason_code := NULL;
4850 l_from_header_adj_tbl(i).change_reason_text := NULL;
4851
4852 /*
4853 ** Else copying from:
4854 ** Order-> Order, Return-> Return, Mixed-> Mixed, Order-> Mixed, Return-> Mixed.
4855 */
4856 Else
4857
4858 /* Copy the charge as it is */
4859 l_copy_freight_charge := 'Y';
4860
4861 End if; -- Order Category
4862
4863 /* Copy Freight Charge only if the flag was set to 'Y' */
4864 If l_copy_freight_charge = 'Y' Then
4865
4866 oe_header_price_aattr_util.Query_Rows(
4867 p_price_adjustment_id => l_from_header_adj_tbl(i).price_adjustment_id,
4868 x_header_adj_att_tbl => l_from_header_adj_att_tbl
4869 );
4870
4871 j := l_from_header_adj_att_tbl.First;
4872 While j is not null Loop
4873
4874 l_from_header_adj_att_tbl(j).operation := OE_GLOBALS.G_OPR_CREATE;
4875 l_from_header_adj_att_tbl(j).price_adjustment_id := fnd_api.g_miss_num;
4876 l_from_header_adj_att_tbl(j).adj_index := l_header_adj_tbl.count+1;
4877 l_from_header_adj_att_tbl(j).price_adj_attrib_id := fnd_api.g_miss_num;
4878
4879 l_header_adj_att_tbl(l_header_adj_att_tbl.count+1) := l_from_header_adj_att_tbl(j);
4880
4881 j := l_from_header_adj_att_tbl.Next(j);
4882
4883 End Loop;
4884
4885 l_from_header_adj_tbl(i).operation := OE_GLOBALS.G_OPR_CREATE;
4886 l_from_header_adj_tbl(i).header_id := p_to_header_id;
4887 l_from_header_adj_tbl(i).invoiced_flag := 'N';
4888 l_from_header_adj_tbl(i).invoiced_amount := NULL;
4889 l_from_header_adj_tbl(i).price_adjustment_id := fnd_api.g_miss_num;
4890
4891 l_header_adj_tbl(l_header_adj_tbl.count+1) := l_from_header_adj_tbl(i);
4892
4893 End If;
4894
4895 End if; -- List Line Type = Freight Charge
4896
4897 i:= l_from_header_adj_tbl.Next(i);
4898 End Loop;
4899
4900 If l_header_adj_tbl.count > 0 or l_header_adj_att_tbl.count > 0 Then
4901
4902 -- set control record
4903 l_control_rec.controlled_operation := TRUE;
4904 l_control_rec.write_to_DB := TRUE;
4905 l_control_rec.change_attributes := TRUE;
4906 l_control_rec.default_attributes := TRUE;
4907 l_control_rec.validate_entity := TRUE;
4908 l_control_rec.clear_dependents := TRUE;
4909
4910 l_control_rec.process := FALSE;
4911 l_control_rec.clear_api_cache := FALSE;
4912 l_control_rec.clear_api_requests := FALSE;
4913
4914 IF l_debug_level > 0 THEN
4915 oe_debug_pub.add( 'BEFORE OE_ORDER_PVT.PROCESS_ORDER' , 3 ) ;
4916 END IF;
4917
4918 -- OE_Globals.G_RECURSION_MODE := 'Y';
4919
4920 -- Call OE_Order_PVT.Process_order
4921 OE_Order_PVT.Process_order
4922 ( p_api_version_number => 1.0
4923 , x_return_status => x_return_status
4924 , x_msg_count => l_x_msg_count
4925 , x_msg_data => l_x_msg_data
4926 , p_control_rec => l_control_rec
4927 , p_x_header_rec => l_header_rec
4928 , p_x_Header_Adj_tbl => l_Header_Adj_Tbl
4929 , p_x_Header_Adj_att_tbl => l_Header_Adj_Att_Tbl
4930 , p_x_Header_Price_Att_Tbl => l_x_Header_Price_Att_Tbl
4931 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
4932 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
4933 --serla begin
4934 , p_x_Header_Payment_tbl => l_x_Header_Payment_tbl
4935 --serla end
4936 , p_x_line_tbl => l_line_tbl
4937 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
4938 , p_x_Line_Adj_att_tbl => l_x_Line_Adj_att_tbl
4939 , p_x_Line_Price_att_tbl => l_x_Line_Price_att_tbl
4940 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
4941 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
4942 --serla begin
4943 , p_x_Line_Payment_tbl => l_x_Line_Payment_tbl
4944 --serla end
4945 , p_x_Lot_Serial_tbl => l_x_Lot_Serial_Tbl
4946 , p_x_action_request_tbl => l_x_Action_Request_tbl
4947 );
4948
4949 -- OE_Globals.G_RECURSION_MODE := 'N';
4950
4951 If x_return_status = FND_API.G_RET_STS_UNEXP_ERROR Then
4952 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4953 Elsif x_return_status = FND_API.G_RET_STS_ERROR Then
4954 RAISE FND_API.G_EXC_ERROR;
4955 End If;
4956
4957 End If;
4958
4959 IF l_debug_level > 0 THEN
4960 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.COPY_FREIGHT_CHARGES' , 1 ) ;
4961 END IF;
4962
4963 EXCEPTION
4964
4965 WHEN FND_API.G_EXC_ERROR THEN
4966 x_return_status := FND_API.G_RET_STS_ERROR;
4967
4968 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4969 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4970 IF l_debug_level > 0 THEN
4971 oe_debug_pub.add( G_PKG_NAME||':COPY_FREIGHT_CHARGES:'||SQLERRM ) ;
4972 END IF;
4973
4974 WHEN OTHERS THEN
4975 If FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) Then
4976 OE_MSG_PUB.Add_Exc_Msg
4977 ( G_PKG_NAME
4978 , 'Copy_Freight_Charges'
4979 );
4980 End If;
4981 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4982
4983 END copy_freight_charges;
4984
4985 --Recurring Charges
4986 FUNCTION get_rec_adj_total
4987 ( p_header_id IN NUMBER := null
4988 , p_line_id IN NUMBER :=null
4989 , p_charge_periodicity_code IN VARCHAR2
4990 )
4991 RETURN NUMBER
4992 is
4993 l_adj_total NUMBER := 0;
4994 Is_fmt Boolean;
4995 --
4996 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4997 --
4998 BEGIN
4999
5000 IF l_debug_level > 0 THEN
5001 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.GET_ADJ_TOTAL' , 1 ) ;
5002 END IF;
5003
5004 IF (p_header_id IS NOT NULL AND
5005 NVL(p_header_id,-1)<>NVL(OE_ORDER_UTIL.G_Header_id,-10))
5006 OR OE_ORDER_UTIL.G_Precision IS NULL THEN
5007 Is_fmt:= OE_ORDER_UTIL.Get_Precision(
5008 p_header_id=>p_header_id
5009 );
5010 END IF;
5011
5012 IF (p_line_id IS NOT NULL AND
5013 NVL(p_Line_id,-1)<>NVL(OE_ORDER_UTIL.G_Line_id,-10))
5014 OR OE_ORDER_UTIL.G_Precision IS NULL THEN
5015 Is_fmt:= OE_ORDER_UTIL.Get_Precision(
5016 p_line_id=>p_line_id
5017 );
5018 END IF;
5019
5020 IF OE_ORDER_UTIL.G_Precision IS NULL THEN
5021 OE_ORDER_UTIL.G_Precision:=2;
5022 END IF;
5023
5024
5025 -- Query total.
5026 -- Separating into two separate SQLs for bug 3090569 --jvicenti
5027
5028 IF p_header_id IS NOT NULL THEN
5029 SELECT sum(ROUND(((unit_selling_price - unit_list_price)*
5030 ordered_quantity) ,OE_ORDER_UTIL.G_Precision))
5031 INTO l_adj_total
5032 FROM oe_order_lines_all
5033 WHERE HEADER_ID = p_header_id
5034 AND nvl(charge_periodicity_code,'ONE') = p_charge_periodicity_code
5035 AND nvl(cancelled_flag,'N') ='N';
5036 END IF;
5037
5038 IF l_adj_total IS NULL THEN
5039
5040 l_adj_total := 0;
5041
5042 END IF;
5043
5044 IF l_debug_level > 0 THEN
5045 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.GET_ADJ_TOTAL' , 1 ) ;
5046 END IF;
5047
5048 RETURN l_adj_total;
5049
5050 EXCEPTION
5051
5052 WHEN OTHERS THEN
5053
5054 -- Unexpected error
5055 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5056
5057 OE_MSG_PUB.Add_Exc_Msg
5058 ( G_PKG_NAME ,
5059 'Price_Utilities - Get_Adj_Total'
5060 );
5061 END IF;
5062
5063 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5064
5065 END Get_Rec_Adj_Total;
5066 -- Recurring CHarges
5067
5068 --rc
5069 -- New function added to return the recurring amount given the order level modifier and periodicity
5070 FUNCTION get_rec_order_adj_total
5071 ( p_header_id IN NUMBER DEFAULT NULL
5072 , p_price_adjustment_id IN NUMBER DEFAULT NULL
5073 , p_charge_periodicity_code IN VARCHAR2 DEFAULT NULL
5074 )
5075 RETURN NUMBER
5076 Is
5077 l_rec_list_price_total NUMBER := 0;
5078 l_operand NUMBER :=0;
5079 l_order_adj_total NUMBER := 0;
5080 l_status_code VARCHAR2(30);
5081 l_price_list_id NUMBER;
5082 l_currency_code VARCHAR2(15);
5083 l_pricing_date DATE;
5084 l_header_id NUMBER;
5085 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5086
5087 BEGIN
5088 IF l_debug_level > 0 THEN
5089 oe_debug_pub.add('ENTERING OE_HEADER_ADJ_UTIL.GET_REC_ORDER_ADJ_TOTAL');
5090 END IF;
5091
5092 IF p_price_adjustment_id IS NULL OR
5093 p_charge_periodicity_code IS NULL THEN
5094 RETURN NULL;
5095 ELSE
5096 IF p_header_id IS NULL THEN
5097 BEGIN
5098 SELECT header_id INTO l_header_id
5099 FROM oe_price_adjustments
5100 WHERE price_adjustment_id = p_price_adjustment_id;
5101
5102 IF l_header_id IS NULL THEN
5103 RETURN NULL;
5104 END IF;
5105 EXCEPTION
5106 WHEN OTHERS THEN
5107 IF l_debug_level > 0 THEN
5108 oe_debug_pub.add('Exception while querying for the adjustment record : ' || SQLERRM);
5109 END IF;
5110 RETURN NULL;
5111 END;
5112 ELSE
5113 l_header_id := p_header_id;
5114 END IF;
5115 END IF;
5116
5117 IF l_debug_level > 0 THEN
5118 oe_debug_pub.add('l_header_id : ' || l_header_id);
5119 oe_debug_pub.add('p_price_adjustment_id : ' || p_price_adjustment_id);
5120 oe_debug_pub.add('p_charge_periodicity_code : ' || p_charge_periodicity_code);
5121 END IF;
5122
5123
5124 SELECT nvl(sum(unit_list_price * ordered_quantity), 0) --bug5354658
5125 INTO l_rec_list_price_total
5126 FROM oe_order_lines_all
5127 WHERE HEADER_ID = l_header_id
5128 AND charge_periodicity_code = p_charge_periodicity_code
5129 AND nvl(cancelled_flag,'N') ='N';
5130
5131 IF l_debug_level > 0 THEN
5132 oe_debug_pub.add('l_rec_list_price_total : ' || l_rec_list_price_total);
5133 END IF;
5134
5135 SELECT nvl(operand,0) * decode(list_line_type_code, 'DIS', -1, 'SUR', 1)
5136 INTO l_operand
5137 FROM oe_price_adjustments
5138 WHERE price_adjustment_id = p_price_adjustment_id
5139 AND line_id IS NULL
5140 AND arithmetic_operator = '%';
5141
5142 IF l_debug_level > 0 THEN
5143 oe_debug_pub.add('l_operand : ' || l_operand);
5144 END IF;
5145
5146 l_order_adj_total := l_rec_list_price_total * (l_operand / 100);
5147
5148 IF l_order_adj_total <> 0 THEN
5149 BEGIN
5150 SELECT price_list_id,
5151 transactional_curr_code,
5152 nvl(pricing_date,ordered_date)
5153 INTO l_price_list_id,l_currency_code,l_pricing_date
5154 FROM Oe_Order_Headers_All
5155 WHERE header_id = p_header_id;
5156
5157 QP_UTIL_PUB.round_price
5158 (p_operand => l_order_adj_total,
5159 p_rounding_factor => NULL,
5160 p_use_multi_currency => 'Y',
5161 p_price_list_id => l_price_list_id,
5162 p_currency_code => l_currency_code,
5163 p_pricing_effective_date => l_pricing_date,
5164 x_rounded_operand => l_order_adj_total,
5165 x_status_code => l_status_code,
5166 p_operand_type => 'A'
5167 );
5168
5169 IF l_order_adj_total IS NULL Then
5170 IF l_debug_level > 0 THEN
5171 oe_debug_pub.add('Error in QP_UTIL_PUB.round_price. Unable to perform rounding');
5172 END IF;
5173 --pricing has some errors retore the old adjusted_amount
5174 l_order_adj_total := l_rec_list_price_total * (l_operand / 100);
5175 END IF;
5176 EXCEPTION
5177 WHEN NO_DATA_FOUND THEN
5178 IF l_debug_level > 0 THEN
5179 oe_debug_pub.add('Unable to query header to perform rounding:'||p_header_id);
5180 END IF;
5181 l_order_adj_total := 0;
5182 WHEN OTHERS THEN
5183 IF l_debug_level > 0 THEN
5184 oe_debug_pub.add('OEXUHADB.pls'||SQLERRM);
5185 END IF;
5186
5187 l_order_adj_total := l_rec_list_price_total * (l_operand / 100);
5188 END;
5189
5190 END IF;
5191
5192 IF l_debug_level > 0 THEN
5193 oe_debug_pub.add('l_order_adj_total : ' || l_order_adj_total);
5194 oe_debug_pub.add('EXITING OE_HEADER_ADJ_UTIL.GET_REC_ORDER_ADJ_TOTAL');
5195 END IF;
5196
5197 Return l_order_adj_total;
5198
5199 EXCEPTION
5200 WHEN NO_DATA_FOUND THEN
5201 RETURN NULL;
5202 END get_rec_order_adj_total;
5203
5204 END OE_Header_Adj_Util;