[Home] [Help]
PACKAGE BODY: APPS.OE_HEADER_ADJ_UTIL
Source
1 PACKAGE BODY OE_Header_Adj_Util AS
2 /* $Header: OEXUHADB.pls 120.11.12020000.5 2013/01/23 06:27:14 kadiraju 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 -- sol_ord_er #16014165
1698 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
1699 THEN
1700 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1701 END IF;
1702 oe_delayed_requests_pvt.log_request(
1703 p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1704 p_entity_id => p_x_header_adj_rec.Header_Id,
1705 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1706 p_requesting_entity_id => p_x_header_adj_rec.Header_Id,
1707 p_request_type => OE_GLOBALS.G_SERVICE_FIRST_PERIOD_BILL,
1708 p_request_unique_key1 => 'ORDER',
1709 p_param1 => p_x_header_adj_rec.Header_Id,
1710 x_return_status => l_return_status);
1711 -- sol_ord_er #16014165 end
1712 END IF;
1713
1714 l_price_flag := FALSE;
1715 End If;
1716
1717 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
1718 THEN
1719 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1720 END IF;
1721
1722 IF (l_verify_payment_flag = 'Y') THEN
1723 --Start bug#5961160
1724 -- Query the Order Header
1725 IF l_debug_level > 0 THEN
1726 oe_debug_pub.add( 'OEXUHADB: BEFORE QUERYING HEADER ID : '|| p_x_header_adj_rec.header_id ) ;
1727 END IF;
1728
1729 OE_Header_UTIL.Query_Row
1730 (p_header_id => p_x_header_adj_rec.header_id
1731 ,x_header_rec => l_header_rec
1732 );
1733
1734 IF l_debug_level > 0
1735 THEN
1736 OE_DEBUG_PUB.ADD('after query header ');
1737 OE_DEBUG_PUB.ADD(' ');
1738 OE_DEBUG_PUB.ADD('================================================');
1739 OE_DEBUG_PUB.ADD('Header ID = '|| l_header_rec.header_id );
1740 OE_DEBUG_PUB.ADD('order_category_code = '|| l_header_rec.order_category_code );
1741 OE_DEBUG_PUB.ADD('Booked flag = '|| l_header_rec.booked_flag );
1742 OE_DEBUG_PUB.ADD('Order number = '|| l_header_rec.order_number );
1743 OE_DEBUG_PUB.ADD('payment_term_id = '|| l_header_rec.payment_term_id );
1744 OE_DEBUG_PUB.ADD('order_type_id = '|| l_header_rec.order_type_id );
1745 OE_DEBUG_PUB.ADD(' ');
1746 OE_DEBUG_PUB.ADD('================================================');
1747 END IF;
1748
1749 -- Call Which_Rule function to find out Which Rule to Apply
1750 IF l_debug_level > 0 THEN
1751 oe_debug_pub.add( 'OEXUHADB: BEFORE CALLING WHICH RULE ' ) ;
1752 END IF;
1753
1754 l_calling_action := OE_Verify_Payment_PUB.Which_Rule(p_header_id => p_x_header_adj_rec.header_id);
1755
1756 IF l_debug_level > 0 THEN
1757 oe_debug_pub.add( 'OEXUHADB: RULE TO BE USED IS : '|| l_calling_action ) ;
1758 END IF;
1759
1760 IF l_debug_level > 0 THEN
1761 oe_debug_pub.add( 'OEXUHADB: BEFORE CHECKING IF THE RULE IS DEFINED OR NOT' ) ;
1762 END IF;
1763
1764 l_rule_defined := OE_Verify_Payment_PUB.Check_Rule_Defined
1765 ( p_header_rec => l_header_rec
1766 , p_calling_action => l_calling_action
1767 ) ;
1768
1769 IF l_debug_level > 0 THEN
1770 oe_debug_pub.add( 'OEXUHADB: OUT OF RULE DEFINED : '|| l_rule_defined);
1771 END IF;
1772
1773 IF l_rule_defined = 'Y' THEN
1774 l_credit_check_rule_id := NULL ;
1775
1776 -- Check the Rule to Apply
1777 IF l_debug_level > 0 THEN
1778 oe_debug_pub.add( 'Before L_CREDIT_CHECK_RULE_ID => '|| l_credit_check_rule_id ) ;
1779 END IF;
1780
1781 OE_CREDIT_CHECK_UTIL.Get_Credit_Check_Rule_ID
1782 ( p_calling_action => l_calling_action
1783 , p_order_type_id => l_header_rec.order_type_id
1784 , x_credit_rule_id => l_credit_check_rule_id
1785 );
1786
1787 IF l_debug_level > 0 THEN
1788 oe_debug_pub.add( 'After L_CREDIT_CHECK_RULE_ID => '|| l_credit_check_rule_id ) ;
1789 END IF;
1790
1791 OE_CREDIT_CHECK_UTIL.GET_credit_check_rule
1792 ( p_credit_check_rule_id => l_credit_check_rule_id
1793 , x_credit_check_rules_rec => l_credit_check_rule_rec
1794 );
1795
1796 IF l_debug_level > 0 THEN
1797 oe_debug_pub.add( 'OEXUHADB: INCL FREIGHT CHARGE FLAG : '|| l_credit_check_rule_rec.incl_freight_charges_flag);
1798 END IF;
1799
1800 IF NVL(l_credit_check_rule_rec.incl_freight_charges_flag,'N') = 'Y' THEN
1801 -- Log a request for Verify Payment
1802 oe_debug_pub.add('OEXUHADB: Logging Delayed Request for Verify Payment',3);
1803 OE_delayed_requests_Pvt.log_request
1804 (p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1805 p_entity_id => p_x_header_adj_rec.header_id,
1806 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
1807 p_requesting_entity_id => p_x_header_adj_rec.header_id,
1808 p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT,
1809 x_return_status => l_return_status);
1810 --CC Reversal ER#16014135 Start
1811 ELSIF OE_VERIFY_PAYMENT_PUB.Get_CC_Rev_Reauth_Code(p_x_header_adj_rec.header_id) IS NOT NULL THEN
1812 IF l_debug_level > 0 THEN
1813 oe_debug_pub.ADD('OEXUHADB: Logging delayed request for Verify Payment CC Reversal',5);
1814 END IF;
1815 oe_verify_payment_pub.G_credit_check_flag := 'N' ;
1816 OE_delayed_requests_Pvt.log_request
1817 (p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1818 p_entity_id => p_x_header_adj_rec.header_id,
1819 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
1820 p_requesting_entity_id => p_x_header_adj_rec.header_id,
1821 p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT,
1822 x_return_status => l_return_status);
1823 --CC Reversal ER#16014135 End
1824 END IF;
1825 --CC Reversal ER#16014135 Start
1826 ELSIF OE_VERIFY_PAYMENT_PUB.Get_CC_Rev_Reauth_Code(p_x_header_adj_rec.header_id) IS NOT NULL THEN
1827 -- if no rule defined .. Need to log verify payment request for processing authorization.
1828 IF l_debug_level > 0 THEN
1829 oe_debug_pub.ADD('OEXUHADB: Logging delayed request for Verify Payment CC Reversal when rule not exists',5);
1830 END IF;
1831 oe_verify_payment_pub.G_credit_check_flag := 'N' ;
1832 OE_delayed_requests_Pvt.log_request
1833 (p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1834 p_entity_id => p_x_header_adj_rec.header_id,
1835 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
1836 p_requesting_entity_id => p_x_header_adj_rec.header_id,
1837 p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT,
1838 x_return_status => l_return_status);
1839 --CC Reversal ER#16014135 End
1840 END IF;
1841 --End bug#5961160
1842 END IF;
1843
1844 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
1845 THEN
1846 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1847 END IF;
1848
1849 IF l_debug_level > 0 THEN
1850 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.APPLY_ATTRIBUTE_CHANGES' , 1 ) ;
1851 END IF;
1852
1853 END Apply_Attribute_Changes;
1854
1855 -- Procedure Complete_Record
1856
1857 PROCEDURE Complete_Record
1858 ( p_x_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
1859 , p_old_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type
1860 )
1861 IS
1862 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type := p_x_Header_Adj_rec;
1863 --
1864 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1865 --
1866 BEGIN
1867
1868 IF l_debug_level > 0 THEN
1869 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.COMPLETE_RECORD' , 1 ) ;
1870 END IF;
1871
1872 IF l_Header_Adj_rec.price_adjustment_id = FND_API.G_MISS_NUM THEN
1873 l_Header_Adj_rec.price_adjustment_id := p_old_Header_Adj_rec.price_adjustment_id;
1874 END IF;
1875
1876 IF l_Header_Adj_rec.creation_date = FND_API.G_MISS_DATE THEN
1877 l_Header_Adj_rec.creation_date := p_old_Header_Adj_rec.creation_date;
1878 END IF;
1879
1880 IF l_Header_Adj_rec.created_by = FND_API.G_MISS_NUM THEN
1881 l_Header_Adj_rec.created_by := p_old_Header_Adj_rec.created_by;
1882 END IF;
1883
1884 IF l_Header_Adj_rec.last_update_date = FND_API.G_MISS_DATE THEN
1885 l_Header_Adj_rec.last_update_date := p_old_Header_Adj_rec.last_update_date;
1886 END IF;
1887
1888 IF l_Header_Adj_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1889 l_Header_Adj_rec.last_updated_by := p_old_Header_Adj_rec.last_updated_by;
1890 END IF;
1891
1892 IF l_Header_Adj_rec.last_update_login = FND_API.G_MISS_NUM THEN
1893 l_Header_Adj_rec.last_update_login := p_old_Header_Adj_rec.last_update_login;
1894 END IF;
1895
1896 IF l_Header_Adj_rec.program_application_id = FND_API.G_MISS_NUM THEN
1897 l_Header_Adj_rec.program_application_id := p_old_Header_Adj_rec.program_application_id;
1898 END IF;
1899
1900 IF l_Header_Adj_rec.program_id = FND_API.G_MISS_NUM THEN
1901 l_Header_Adj_rec.program_id := p_old_Header_Adj_rec.program_id;
1902 END IF;
1903
1904 IF l_Header_Adj_rec.program_update_date = FND_API.G_MISS_DATE THEN
1905 l_Header_Adj_rec.program_update_date := p_old_Header_Adj_rec.program_update_date;
1906 END IF;
1907
1908 IF l_Header_Adj_rec.request_id = FND_API.G_MISS_NUM THEN
1909 l_Header_Adj_rec.request_id := p_old_Header_Adj_rec.request_id;
1910 END IF;
1911
1912 IF l_Header_Adj_rec.header_id = FND_API.G_MISS_NUM THEN
1913 l_Header_Adj_rec.header_id := p_old_Header_Adj_rec.header_id;
1914 END IF;
1915
1916 IF l_Header_Adj_rec.discount_id = FND_API.G_MISS_NUM THEN
1917 l_Header_Adj_rec.discount_id := p_old_Header_Adj_rec.discount_id;
1918 END IF;
1919
1920 IF l_Header_Adj_rec.discount_line_id = FND_API.G_MISS_NUM THEN
1921 l_Header_Adj_rec.discount_line_id := p_old_Header_Adj_rec.discount_line_id;
1922 END IF;
1923
1924 IF l_Header_Adj_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1925 l_Header_Adj_rec.automatic_flag := p_old_Header_Adj_rec.automatic_flag;
1926 END IF;
1927
1928 IF l_Header_Adj_rec.percent = FND_API.G_MISS_NUM THEN
1929 l_Header_Adj_rec.percent := p_old_Header_Adj_rec.percent;
1930 END IF;
1931
1932 IF l_Header_Adj_rec.line_id = FND_API.G_MISS_NUM THEN
1933 l_Header_Adj_rec.line_id := p_old_Header_Adj_rec.line_id;
1934 END IF;
1935
1936 IF l_Header_Adj_rec.context = FND_API.G_MISS_CHAR THEN
1937 l_Header_Adj_rec.context := p_old_Header_Adj_rec.context;
1938 END IF;
1939
1940 IF l_Header_Adj_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1941 l_Header_Adj_rec.attribute1 := p_old_Header_Adj_rec.attribute1;
1942 END IF;
1943
1944 IF l_Header_Adj_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1945 l_Header_Adj_rec.attribute2 := p_old_Header_Adj_rec.attribute2;
1946 END IF;
1947
1948 IF l_Header_Adj_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1949 l_Header_Adj_rec.attribute3 := p_old_Header_Adj_rec.attribute3;
1950 END IF;
1951
1952 IF l_Header_Adj_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1953 l_Header_Adj_rec.attribute4 := p_old_Header_Adj_rec.attribute4;
1954 END IF;
1955
1956 IF l_Header_Adj_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1957 l_Header_Adj_rec.attribute5 := p_old_Header_Adj_rec.attribute5;
1958 END IF;
1959
1960 IF l_Header_Adj_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1961 l_Header_Adj_rec.attribute6 := p_old_Header_Adj_rec.attribute6;
1962 END IF;
1963
1964 IF l_Header_Adj_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1965 l_Header_Adj_rec.attribute7 := p_old_Header_Adj_rec.attribute7;
1966 END IF;
1967
1968 IF l_Header_Adj_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1969 l_Header_Adj_rec.attribute8 := p_old_Header_Adj_rec.attribute8;
1970 END IF;
1971
1972 IF l_Header_Adj_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1973 l_Header_Adj_rec.attribute9 := p_old_Header_Adj_rec.attribute9;
1974 END IF;
1975
1976 IF l_Header_Adj_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1977 l_Header_Adj_rec.attribute10 := p_old_Header_Adj_rec.attribute10;
1978 END IF;
1979
1980 IF l_Header_Adj_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1981 l_Header_Adj_rec.attribute11 := p_old_Header_Adj_rec.attribute11;
1982 END IF;
1983
1984 IF l_Header_Adj_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1985 l_Header_Adj_rec.attribute12 := p_old_Header_Adj_rec.attribute12;
1986 END IF;
1987
1988 IF l_Header_Adj_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1989 l_Header_Adj_rec.attribute13 := p_old_Header_Adj_rec.attribute13;
1990 END IF;
1991
1992 IF l_Header_Adj_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1993 l_Header_Adj_rec.attribute14 := p_old_Header_Adj_rec.attribute14;
1994 END IF;
1995
1996 IF l_Header_Adj_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1997 l_Header_Adj_rec.attribute15 := p_old_Header_Adj_rec.attribute15;
1998 END IF;
1999
2000 IF l_Header_Adj_rec.adjusted_amount = FND_API.G_MISS_NUM THEN
2001 l_Header_Adj_rec.adjusted_amount := p_old_Header_Adj_rec.adjusted_amount;
2002 END IF;
2003
2004 IF l_Header_Adj_rec.pricing_phase_id = FND_API.G_MISS_NUM THEN
2005 l_Header_Adj_rec.pricing_phase_id := p_old_Header_Adj_rec.pricing_phase_id;
2006 END IF;
2007
2008 IF l_Header_Adj_rec.list_header_id = FND_API.G_MISS_NUM THEN
2009 l_Header_Adj_rec.list_header_id := p_old_Header_Adj_rec.list_header_id;
2010 END IF;
2011
2012 IF l_Header_Adj_rec.list_line_id = FND_API.G_MISS_NUM THEN
2013 l_Header_Adj_rec.list_line_id := p_old_Header_Adj_rec.list_line_id;
2014 END IF;
2015 IF l_Header_Adj_rec.modified_from = FND_API.G_MISS_CHAR THEN
2016 l_Header_Adj_rec.modified_from := p_old_Header_Adj_rec.modified_from;
2017 END IF;
2018 IF l_Header_Adj_rec.modified_to = FND_API.G_MISS_CHAR THEN
2019 l_Header_Adj_rec.modified_to := p_old_Header_Adj_rec.modified_from;
2020 END IF;
2021
2022 IF l_Header_Adj_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
2023 l_Header_Adj_rec.list_line_type_code := p_old_Header_Adj_rec.list_line_type_code;
2024 END IF;
2025
2026 IF l_Header_Adj_rec.updated_flag = FND_API.G_MISS_CHAR THEN
2027 l_Header_Adj_rec.updated_flag := p_old_Header_Adj_rec.updated_flag;
2028 END IF;
2029
2030 IF l_Header_Adj_rec.update_allowed = FND_API.G_MISS_CHAR THEN
2031 l_Header_Adj_rec.update_allowed := p_old_Header_Adj_rec.update_allowed;
2032 END IF;
2033
2034 IF l_Header_Adj_rec.applied_flag = FND_API.G_MISS_CHAR THEN
2035 l_Header_Adj_rec.applied_flag := p_old_Header_Adj_rec.applied_flag;
2036 END IF;
2037
2038 IF l_Header_Adj_rec.modifier_mechanism_type_code = FND_API.G_MISS_CHAR THEN
2039 l_Header_Adj_rec.modifier_mechanism_type_code := p_old_Header_Adj_rec.modifier_mechanism_type_code;
2040 END IF;
2041
2042 IF l_Header_Adj_rec.change_reason_code = FND_API.G_MISS_CHAR THEN
2043 l_Header_Adj_rec.change_reason_code := p_old_Header_Adj_rec.change_reason_code;
2044 END IF;
2045
2046 IF l_Header_Adj_rec.change_reason_text = FND_API.G_MISS_CHAR THEN
2047 l_Header_Adj_rec.change_reason_text := p_old_Header_Adj_rec.change_reason_text;
2048 END IF;
2049
2050 IF l_Header_Adj_rec.arithmetic_operator = FND_API.G_MISS_CHAR THEN
2051 l_Header_Adj_rec.arithmetic_operator := p_old_Header_Adj_rec.arithmetic_operator;
2052 END IF;
2053
2054 IF l_Header_Adj_rec.operand = FND_API.G_MISS_NUM THEN
2055 l_Header_Adj_rec.operand := p_old_Header_Adj_rec.operand;
2056 END IF;
2057
2058 IF l_Header_Adj_rec.cost_id = FND_API.G_MISS_NUM THEN
2059 l_Header_Adj_rec.cost_id := p_old_Header_Adj_rec.cost_id;
2060 END IF;
2061
2062 IF l_Header_Adj_rec.tax_code = FND_API.G_MISS_CHAR THEN
2063 l_Header_Adj_rec.tax_code := p_old_Header_Adj_rec.tax_code;
2064 END IF;
2065
2066 IF l_Header_Adj_rec.tax_exempt_flag = FND_API.G_MISS_CHAR THEN
2067 l_Header_Adj_rec.tax_exempt_flag :=
2068 p_old_Header_Adj_rec.tax_exempt_flag;
2069 END IF;
2070
2071 IF l_Header_Adj_rec.tax_exempt_number = FND_API.G_MISS_CHAR THEN
2072 l_Header_Adj_rec.tax_exempt_number :=
2073 p_old_Header_Adj_rec.tax_exempt_number;
2074 END IF;
2075
2076 IF l_Header_Adj_rec.tax_exempt_reason_code = FND_API.G_MISS_CHAR THEN
2077 l_Header_Adj_rec.tax_exempt_reason_code :=
2078 p_old_Header_Adj_rec.tax_exempt_reason_code;
2079 END IF;
2080
2081 IF l_Header_Adj_rec.parent_adjustment_id = FND_API.G_MISS_NUM THEN
2082 l_Header_Adj_rec.parent_adjustment_id :=
2083 p_old_Header_Adj_rec.parent_adjustment_id;
2084 END IF;
2085
2086 IF l_Header_Adj_rec.invoiced_flag = FND_API.G_MISS_CHAR THEN
2087 l_Header_Adj_rec.invoiced_flag :=
2088 p_old_Header_Adj_rec.invoiced_flag;
2089 END IF;
2090
2091 IF l_Header_Adj_rec.estimated_flag = FND_API.G_MISS_CHAR THEN
2092 l_Header_Adj_rec.estimated_flag :=
2093 p_old_Header_Adj_rec.estimated_flag;
2094 END IF;
2095
2096 IF l_Header_Adj_rec.inc_in_sales_performance = FND_API.G_MISS_CHAR THEN
2097 l_Header_Adj_rec.inc_in_sales_performance :=
2098 p_old_Header_Adj_rec.inc_in_sales_performance;
2099 END IF;
2100
2101 IF l_Header_Adj_rec.split_action_code = FND_API.G_MISS_CHAR THEN
2102 l_Header_Adj_rec.split_action_code :=
2103 p_old_Header_Adj_rec.split_action_code;
2104 END IF;
2105
2106 IF l_Header_Adj_rec.charge_type_code = FND_API.G_MISS_CHAR THEN
2107 l_Header_Adj_rec.charge_type_code :=
2108 p_old_Header_Adj_rec.charge_type_code;
2109 END IF;
2110
2111 IF l_Header_Adj_rec.charge_subtype_code = FND_API.G_MISS_CHAR THEN
2112 l_Header_Adj_rec.charge_subtype_code :=
2113 p_old_Header_Adj_rec.charge_subtype_code;
2114 END IF;
2115
2116 IF l_Header_Adj_rec.list_line_no = FND_API.G_MISS_CHAR THEN
2117 l_Header_Adj_rec.list_line_no :=
2118 p_old_Header_Adj_rec.list_line_no;
2119 END IF;
2120
2121 IF l_Header_Adj_rec.source_system_code = FND_API.G_MISS_CHAR THEN
2122 l_Header_Adj_rec.source_system_code :=
2123 p_old_Header_Adj_rec.source_system_code;
2124 END IF;
2125
2126 IF l_Header_Adj_rec.benefit_qty = FND_API.G_MISS_NUM THEN
2127 l_Header_Adj_rec.benefit_qty :=
2128 p_old_Header_Adj_rec.benefit_qty;
2129 END IF;
2130
2131 IF l_Header_Adj_rec.benefit_uom_code = FND_API.G_MISS_CHAR THEN
2132 l_Header_Adj_rec.benefit_uom_code :=
2133 p_old_Header_Adj_rec.benefit_uom_code;
2134 END IF;
2135
2136 IF l_Header_Adj_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
2137 l_Header_Adj_rec.print_on_invoice_flag :=
2138 p_old_Header_Adj_rec.print_on_invoice_flag;
2139 END IF;
2140
2141 IF l_Header_Adj_rec.expiration_date = FND_API.G_MISS_DATE THEN
2142 l_Header_Adj_rec.expiration_date :=
2143 p_old_Header_Adj_rec.expiration_date;
2144 END IF;
2145
2146 IF l_Header_Adj_rec.rebate_transaction_type_code = FND_API.G_MISS_CHAR THEN
2147 l_Header_Adj_rec.rebate_transaction_type_code :=
2148 p_old_Header_Adj_rec.rebate_transaction_type_code;
2149 END IF;
2150
2151 IF l_Header_Adj_rec.rebate_transaction_reference = FND_API.G_MISS_CHAR THEN
2152 l_Header_Adj_rec.rebate_transaction_reference :=
2153 p_old_Header_Adj_rec.rebate_transaction_reference;
2154 END IF;
2155
2156 IF l_Header_Adj_rec.rebate_payment_system_code = FND_API.G_MISS_CHAR THEN
2157 l_Header_Adj_rec.rebate_payment_system_code :=
2158 p_old_Header_Adj_rec.rebate_payment_system_code;
2159 END IF;
2160
2161 IF l_Header_Adj_rec.redeemed_date = FND_API.G_MISS_DATE THEN
2162 l_Header_Adj_rec.redeemed_date :=
2163 p_old_Header_Adj_rec.redeemed_date;
2164 END IF;
2165
2166 IF l_Header_Adj_rec.redeemed_flag = FND_API.G_MISS_CHAR THEN
2167 l_Header_Adj_rec.redeemed_flag :=
2168 p_old_Header_Adj_rec.redeemed_flag;
2169 END IF;
2170
2171 IF l_Header_Adj_rec.accrual_flag = FND_API.G_MISS_CHAR THEN
2172 l_Header_Adj_rec.accrual_flag :=
2173 p_old_Header_Adj_rec.accrual_flag;
2174 END IF;
2175
2176 IF l_Header_Adj_rec.range_break_quantity = FND_API.G_MISS_NUM THEN
2177 l_Header_Adj_rec.range_break_quantity :=
2178 p_old_Header_Adj_rec.range_break_quantity;
2179 END IF;
2180
2181 IF l_Header_Adj_rec.accrual_conversion_rate = FND_API.G_MISS_NUM THEN
2182 l_Header_Adj_rec.accrual_conversion_rate :=
2183 p_old_Header_Adj_rec.accrual_conversion_rate;
2184 END IF;
2185
2186 IF l_Header_Adj_rec.pricing_group_sequence = FND_API.G_MISS_NUM THEN
2187 l_Header_Adj_rec.pricing_group_sequence :=
2188 p_old_Header_Adj_rec.pricing_group_sequence;
2189 END IF;
2190
2191 IF l_Header_Adj_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
2192 l_Header_Adj_rec.modifier_level_code :=
2193 p_old_Header_Adj_rec.modifier_level_code;
2194 END IF;
2195
2196 IF l_Header_Adj_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
2197 l_Header_Adj_rec.price_break_type_code :=
2198 p_old_Header_Adj_rec.price_break_type_code;
2199 END IF;
2200
2201 IF l_Header_Adj_rec.substitution_attribute = FND_API.G_MISS_CHAR THEN
2202 l_Header_Adj_rec.substitution_attribute :=
2203 p_old_Header_Adj_rec.substitution_attribute;
2204 END IF;
2205
2206 IF l_Header_Adj_rec.proration_type_code = FND_API.G_MISS_CHAR THEN
2207 l_Header_Adj_rec.proration_type_code :=
2208 p_old_Header_Adj_rec.proration_type_code;
2209 END IF;
2210
2211 IF l_Header_Adj_rec.credit_or_charge_flag = FND_API.G_MISS_CHAR THEN
2212 l_Header_Adj_rec.credit_or_charge_flag :=
2213 p_old_Header_Adj_rec.credit_or_charge_flag;
2214 END IF;
2215
2216 IF l_Header_Adj_rec.include_on_returns_flag = FND_API.G_MISS_CHAR THEN
2217 l_Header_Adj_rec.include_on_returns_flag :=
2218 p_old_Header_Adj_rec.include_on_returns_flag;
2219 END IF;
2220
2221
2222 IF l_Header_Adj_rec.ac_context = FND_API.G_MISS_CHAR THEN
2223 l_Header_Adj_rec.ac_context := p_old_Header_Adj_rec.ac_context;
2224 END IF;
2225
2226 IF l_Header_Adj_rec.ac_attribute1 = FND_API.G_MISS_CHAR THEN
2227 l_Header_Adj_rec.ac_attribute1 := p_old_Header_Adj_rec.ac_attribute1;
2228 END IF;
2229
2230 IF l_Header_Adj_rec.ac_attribute2 = FND_API.G_MISS_CHAR THEN
2231 l_Header_Adj_rec.ac_attribute2 := p_old_Header_Adj_rec.ac_attribute2;
2232 END IF;
2233
2234 IF l_Header_Adj_rec.ac_attribute3 = FND_API.G_MISS_CHAR THEN
2235 l_Header_Adj_rec.ac_attribute3 := p_old_Header_Adj_rec.ac_attribute3;
2236 END IF;
2237
2238 IF l_Header_Adj_rec.ac_attribute4 = FND_API.G_MISS_CHAR THEN
2239 l_Header_Adj_rec.ac_attribute4 := p_old_Header_Adj_rec.ac_attribute4;
2240 END IF;
2241
2242 IF l_Header_Adj_rec.ac_attribute5 = FND_API.G_MISS_CHAR THEN
2243 l_Header_Adj_rec.ac_attribute5 := p_old_Header_Adj_rec.ac_attribute5;
2244 END IF;
2245
2246 IF l_Header_Adj_rec.ac_attribute6 = FND_API.G_MISS_CHAR THEN
2247 l_Header_Adj_rec.ac_attribute6 := p_old_Header_Adj_rec.ac_attribute6;
2248 END IF;
2249
2250 IF l_Header_Adj_rec.ac_attribute7 = FND_API.G_MISS_CHAR THEN
2251 l_Header_Adj_rec.ac_attribute7 := p_old_Header_Adj_rec.ac_attribute7;
2252 END IF;
2253
2254 IF l_Header_Adj_rec.ac_attribute8 = FND_API.G_MISS_CHAR THEN
2255 l_Header_Adj_rec.ac_attribute8 := p_old_Header_Adj_rec.ac_attribute8;
2256 END IF;
2257
2258 IF l_Header_Adj_rec.ac_attribute9 = FND_API.G_MISS_CHAR THEN
2259 l_Header_Adj_rec.ac_attribute9 := p_old_Header_Adj_rec.ac_attribute9;
2260 END IF;
2261
2262 IF l_Header_Adj_rec.ac_attribute10 = FND_API.G_MISS_CHAR THEN
2263 l_Header_Adj_rec.ac_attribute10 := p_old_Header_Adj_rec.ac_attribute10;
2264 END IF;
2265
2266 IF l_Header_Adj_rec.ac_attribute11 = FND_API.G_MISS_CHAR THEN
2267 l_Header_Adj_rec.ac_attribute11 := p_old_Header_Adj_rec.ac_attribute11;
2268 END IF;
2269
2270 IF l_Header_Adj_rec.ac_attribute12 = FND_API.G_MISS_CHAR THEN
2271 l_Header_Adj_rec.ac_attribute12 := p_old_Header_Adj_rec.ac_attribute12;
2272 END IF;
2273
2274 IF l_Header_Adj_rec.ac_attribute13 = FND_API.G_MISS_CHAR THEN
2275 l_Header_Adj_rec.ac_attribute13 := p_old_Header_Adj_rec.ac_attribute13;
2276 END IF;
2277
2278 IF l_Header_Adj_rec.ac_attribute14 = FND_API.G_MISS_CHAR THEN
2279 l_Header_Adj_rec.ac_attribute14 := p_old_Header_Adj_rec.ac_attribute14;
2280 END IF;
2281
2282 IF l_Header_Adj_rec.ac_attribute15 = FND_API.G_MISS_CHAR THEN
2283 l_Header_Adj_rec.ac_attribute15 := p_old_Header_Adj_rec.ac_attribute15;
2284 END IF;
2285 --uom begin
2286 IF l_Header_Adj_rec.OPERAND_PER_PQTY = FND_API.G_MISS_NUM THEN
2287 --bug 3063549
2288 --l_Header_Adj_rec.OPERAND_PER_PQTY := p_old_Header_Adj_rec.OPERAND_PER_PQTY;
2289 l_Header_Adj_rec.OPERAND_PER_PQTY := NULL;
2290 END IF;
2291
2292 IF l_Header_Adj_rec.ADJUSTED_AMOUNT_PER_PQTY = FND_API.G_MISS_NUM THEN
2293 l_Header_Adj_rec.ADJUSTED_AMOUNT_PER_PQTY := p_old_Header_Adj_rec.ADJUSTED_AMOUNT_PER_PQTY;
2294 END IF;
2295 --uom end
2296
2297 IF l_Header_Adj_rec.INVOICED_AMOUNT = FND_API.G_MISS_NUM THEN
2298 l_Header_Adj_rec.INVOICED_AMOUNT := p_old_Header_Adj_rec.INVOICED_AMOUNT;
2299 END IF;
2300
2301 --12611888 start
2302 If l_Header_Adj_rec.tax_rate_id = FND_API.G_MISS_NUM THEN
2303 l_Header_Adj_rec.tax_rate_id := p_old_Header_Adj_rec.tax_rate_id;
2304 END IF;
2305 --12611888 end
2306
2307
2308 IF l_debug_level > 0 THEN
2309 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.COMPLETE_RECORD' , 1 ) ;
2310 END IF;
2311
2312 -- RETURN l_Header_Adj_rec;
2313 p_x_Header_Adj_rec := l_Header_Adj_rec;
2314
2315 END Complete_Record;
2316
2317 -- Procedure Convert_Miss_To_Null
2318
2319 PROCEDURE Convert_Miss_To_Null
2320 ( p_x_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
2321 )
2322 IS
2323 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type := p_x_Header_Adj_rec;
2324 --
2325 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2326 --
2327 BEGIN
2328
2329 IF l_debug_level > 0 THEN
2330 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.CONVERT_MISS_TO_NULL' , 1 ) ;
2331 END IF;
2332
2333 IF l_Header_Adj_rec.price_adjustment_id = FND_API.G_MISS_NUM THEN
2334 l_Header_Adj_rec.price_adjustment_id := NULL;
2335 END IF;
2336
2337 IF l_Header_Adj_rec.creation_date = FND_API.G_MISS_DATE THEN
2338 l_Header_Adj_rec.creation_date := NULL;
2339 END IF;
2340
2341 IF l_Header_Adj_rec.created_by = FND_API.G_MISS_NUM THEN
2342 l_Header_Adj_rec.created_by := NULL;
2343 END IF;
2344
2345 IF l_Header_Adj_rec.last_update_date = FND_API.G_MISS_DATE THEN
2346 l_Header_Adj_rec.last_update_date := NULL;
2347 END IF;
2348
2349 IF l_Header_Adj_rec.last_updated_by = FND_API.G_MISS_NUM THEN
2350 l_Header_Adj_rec.last_updated_by := NULL;
2351 END IF;
2352
2353 IF l_Header_Adj_rec.last_update_login = FND_API.G_MISS_NUM THEN
2354 l_Header_Adj_rec.last_update_login := NULL;
2355 END IF;
2356
2357 IF l_Header_Adj_rec.program_application_id = FND_API.G_MISS_NUM THEN
2358 l_Header_Adj_rec.program_application_id := NULL;
2359 END IF;
2360
2361 IF l_Header_Adj_rec.program_id = FND_API.G_MISS_NUM THEN
2362 l_Header_Adj_rec.program_id := NULL;
2363 END IF;
2364
2365 IF l_Header_Adj_rec.program_update_date = FND_API.G_MISS_DATE THEN
2366 l_Header_Adj_rec.program_update_date := NULL;
2367 END IF;
2368
2369 IF l_Header_Adj_rec.request_id = FND_API.G_MISS_NUM THEN
2370 l_Header_Adj_rec.request_id := NULL;
2371 END IF;
2372
2373 IF l_Header_Adj_rec.header_id = FND_API.G_MISS_NUM THEN
2374 l_Header_Adj_rec.header_id := NULL;
2375 END IF;
2376
2377 IF l_Header_Adj_rec.discount_id = FND_API.G_MISS_NUM THEN
2378 l_Header_Adj_rec.discount_id := NULL;
2379 END IF;
2380
2381 IF l_Header_Adj_rec.discount_line_id = FND_API.G_MISS_NUM THEN
2382 l_Header_Adj_rec.discount_line_id := NULL;
2383 END IF;
2384
2385 IF l_Header_Adj_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
2386 l_Header_Adj_rec.automatic_flag := NULL;
2387 END IF;
2388
2389 IF l_Header_Adj_rec.percent = FND_API.G_MISS_NUM THEN
2390 l_Header_Adj_rec.percent := NULL;
2391 END IF;
2392
2393 IF l_Header_Adj_rec.line_id = FND_API.G_MISS_NUM THEN
2394 l_Header_Adj_rec.line_id := NULL;
2395 END IF;
2396
2397 IF l_Header_Adj_rec.context = FND_API.G_MISS_CHAR THEN
2398 l_Header_Adj_rec.context := NULL;
2399 END IF;
2400
2401 IF l_Header_Adj_rec.attribute1 = FND_API.G_MISS_CHAR THEN
2402 l_Header_Adj_rec.attribute1 := NULL;
2403 END IF;
2404
2405 IF l_Header_Adj_rec.attribute2 = FND_API.G_MISS_CHAR THEN
2406 l_Header_Adj_rec.attribute2 := NULL;
2407 END IF;
2408
2409 IF l_Header_Adj_rec.attribute3 = FND_API.G_MISS_CHAR THEN
2410 l_Header_Adj_rec.attribute3 := NULL;
2411 END IF;
2412
2413 IF l_Header_Adj_rec.attribute4 = FND_API.G_MISS_CHAR THEN
2414 l_Header_Adj_rec.attribute4 := NULL;
2415 END IF;
2416
2417 IF l_Header_Adj_rec.attribute5 = FND_API.G_MISS_CHAR THEN
2418 l_Header_Adj_rec.attribute5 := NULL;
2419 END IF;
2420
2421 IF l_Header_Adj_rec.attribute6 = FND_API.G_MISS_CHAR THEN
2422 l_Header_Adj_rec.attribute6 := NULL;
2423 END IF;
2424
2425 IF l_Header_Adj_rec.attribute7 = FND_API.G_MISS_CHAR THEN
2426 l_Header_Adj_rec.attribute7 := NULL;
2427 END IF;
2428
2429 IF l_Header_Adj_rec.attribute8 = FND_API.G_MISS_CHAR THEN
2430 l_Header_Adj_rec.attribute8 := NULL;
2431 END IF;
2432
2433 IF l_Header_Adj_rec.attribute9 = FND_API.G_MISS_CHAR THEN
2434 l_Header_Adj_rec.attribute9 := NULL;
2435 END IF;
2436
2437 IF l_Header_Adj_rec.attribute10 = FND_API.G_MISS_CHAR THEN
2438 l_Header_Adj_rec.attribute10 := NULL;
2439 END IF;
2440
2441 IF l_Header_Adj_rec.attribute11 = FND_API.G_MISS_CHAR THEN
2442 l_Header_Adj_rec.attribute11 := NULL;
2443 END IF;
2444
2445 IF l_Header_Adj_rec.attribute12 = FND_API.G_MISS_CHAR THEN
2446 l_Header_Adj_rec.attribute12 := NULL;
2447 END IF;
2448
2449 IF l_Header_Adj_rec.attribute13 = FND_API.G_MISS_CHAR THEN
2450 l_Header_Adj_rec.attribute13 := NULL;
2451 END IF;
2452
2453 IF l_Header_Adj_rec.attribute14 = FND_API.G_MISS_CHAR THEN
2454 l_Header_Adj_rec.attribute14 := NULL;
2455 END IF;
2456
2457 IF l_Header_Adj_rec.attribute15 = FND_API.G_MISS_CHAR THEN
2458 l_Header_Adj_rec.attribute15 := NULL;
2459 END IF;
2460
2461 IF l_Header_Adj_rec.adjusted_amount = FND_API.G_MISS_NUM THEN
2462 l_Header_Adj_rec.adjusted_amount := NULL;
2463 END IF;
2464
2465 IF l_Header_Adj_rec.pricing_phase_id = FND_API.G_MISS_NUM THEN
2466 l_Header_Adj_rec.pricing_phase_id := NULL;
2467 END IF;
2468
2469 IF l_Header_Adj_rec.list_header_id = FND_API.G_MISS_NUM THEN
2470 l_Header_Adj_rec.list_header_id := NULL;
2471 END IF;
2472
2473 IF l_Header_Adj_rec.list_line_id = FND_API.G_MISS_NUM THEN
2474 l_Header_Adj_rec.list_line_id := NULL;
2475 END IF;
2476 IF l_Header_Adj_rec.modified_from = FND_API.G_MISS_CHAR THEN
2477 l_Header_Adj_rec.modified_from := NULL;
2478 END IF;
2479
2480 IF l_Header_Adj_rec.modified_to = FND_API.G_MISS_CHAR THEN
2481 l_Header_Adj_rec.modified_to := NULL;
2482 END IF;
2483
2484 IF l_Header_Adj_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
2485 l_Header_Adj_rec.list_line_type_code := NULL;
2486 END IF;
2487
2488 IF l_Header_Adj_rec.updated_flag = FND_API.G_MISS_CHAR THEN
2489 l_Header_Adj_rec.updated_flag := NULL;
2490 END IF;
2491
2492 IF l_Header_Adj_rec.update_allowed = FND_API.G_MISS_CHAR THEN
2493 l_Header_Adj_rec.update_allowed := NULL;
2494 END IF;
2495
2496 IF l_Header_Adj_rec.applied_flag = FND_API.G_MISS_CHAR THEN
2497 l_Header_Adj_rec.applied_flag := NULL;
2498 END IF;
2499
2500 IF l_Header_Adj_rec.modifier_mechanism_type_code = FND_API.G_MISS_CHAR THEN
2501 l_Header_Adj_rec.modifier_mechanism_type_code := NULL;
2502 END IF;
2503
2504 IF l_Header_Adj_rec.change_reason_code = FND_API.G_MISS_CHAR THEN
2505 l_Header_Adj_rec.change_reason_code := NULL;
2506 END IF;
2507
2508 IF l_Header_Adj_rec.change_reason_text = FND_API.G_MISS_CHAR THEN
2509 l_Header_Adj_rec.change_reason_text := NULL ;
2510 END IF;
2511
2512 IF l_Header_Adj_rec.arithmetic_operator = FND_API.G_MISS_CHAR THEN
2513 l_Header_Adj_rec.arithmetic_operator := NULL ;
2514 END IF;
2515
2516 IF l_Header_Adj_rec.operand = FND_API.G_MISS_NUM THEN
2517 l_Header_Adj_rec.operand := NULL ;
2518 END IF;
2519
2520 IF l_Header_Adj_rec.cost_id = FND_API.G_MISS_NUM THEN
2521 l_Header_Adj_rec.cost_id := NULL ;
2522 END IF;
2523
2524 IF l_Header_Adj_rec.tax_code = FND_API.G_MISS_CHAR THEN
2525 l_Header_Adj_rec.tax_code := NULL ;
2526 END IF;
2527
2528 IF l_Header_Adj_rec.tax_exempt_flag = FND_API.G_MISS_CHAR THEN
2529 l_Header_Adj_rec.tax_exempt_flag := NULL ;
2530 END IF;
2531
2532 IF l_Header_Adj_rec.tax_exempt_number = FND_API.G_MISS_CHAR THEN
2533 l_Header_Adj_rec.tax_exempt_number := NULL ;
2534 END IF;
2535
2536 IF l_Header_Adj_rec.tax_exempt_reason_code = FND_API.G_MISS_CHAR THEN
2537 l_Header_Adj_rec.tax_exempt_reason_code := NULL ;
2538 END IF;
2539
2540 IF l_Header_Adj_rec.parent_adjustment_id = FND_API.G_MISS_NUM THEN
2541 l_Header_Adj_rec.parent_adjustment_id := NULL ;
2542 END IF;
2543
2544 IF l_Header_Adj_rec.invoiced_flag = FND_API.G_MISS_CHAR THEN
2545 l_Header_Adj_rec.invoiced_flag := NULL ;
2546 END IF;
2547
2548 IF l_Header_Adj_rec.estimated_flag = FND_API.G_MISS_CHAR THEN
2549 l_Header_Adj_rec.estimated_flag := NULL ;
2550 END IF;
2551
2552 IF l_Header_Adj_rec.inc_in_sales_performance = FND_API.G_MISS_CHAR THEN
2553 l_Header_Adj_rec.inc_in_sales_performance := NULL ;
2554 END IF;
2555
2556 IF l_Header_Adj_rec.split_action_code = FND_API.G_MISS_CHAR THEN
2557 l_Header_Adj_rec.split_action_code := NULL ;
2558 END IF;
2559
2560 IF l_Header_Adj_rec.charge_type_code = FND_API.G_MISS_CHAR THEN
2561 l_Header_Adj_rec.charge_type_code := NULL ;
2562 END IF;
2563
2564 IF l_Header_Adj_rec.charge_subtype_code = FND_API.G_MISS_CHAR THEN
2565 l_Header_Adj_rec.charge_subtype_code := NULL ;
2566 END IF;
2567
2568 IF l_Header_Adj_rec.list_line_no = FND_API.G_MISS_CHAR THEN
2569 l_Header_Adj_rec.list_line_no := NULL ;
2570 END IF;
2571
2572 IF l_Header_Adj_rec.source_system_code = FND_API.G_MISS_CHAR THEN
2573 l_Header_Adj_rec.source_system_code := NULL ;
2574 END IF;
2575
2576 IF l_Header_Adj_rec.benefit_qty = FND_API.G_MISS_NUM THEN
2577 l_Header_Adj_rec.benefit_qty := NULL ;
2578 END IF;
2579
2580 IF l_Header_Adj_rec.benefit_uom_code = FND_API.G_MISS_CHAR THEN
2581 l_Header_Adj_rec.benefit_uom_code := NULL ;
2582 END IF;
2583
2584 IF l_Header_Adj_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
2585 l_Header_Adj_rec.print_on_invoice_flag := NULL ;
2586 END IF;
2587
2588 IF l_Header_Adj_rec.expiration_date = FND_API.G_MISS_DATE THEN
2589 l_Header_Adj_rec.expiration_date := NULL ;
2590 END IF;
2591
2592 IF l_Header_Adj_rec.rebate_transaction_type_code = FND_API.G_MISS_CHAR THEN
2593 l_Header_Adj_rec.rebate_transaction_type_code := NULL ;
2594 END IF;
2595
2596 IF l_Header_Adj_rec.rebate_transaction_reference = FND_API.G_MISS_CHAR THEN
2597 l_Header_Adj_rec.rebate_transaction_reference := NULL ;
2598 END IF;
2599
2600 IF l_Header_Adj_rec.rebate_payment_system_code = FND_API.G_MISS_CHAR THEN
2601 l_Header_Adj_rec.rebate_payment_system_code := NULL ;
2602 END IF;
2603
2604 IF l_Header_Adj_rec.redeemed_date = FND_API.G_MISS_DATE THEN
2605 l_Header_Adj_rec.redeemed_date := NULL ;
2606 END IF;
2607
2608 IF l_Header_Adj_rec.redeemed_flag = FND_API.G_MISS_CHAR THEN
2609 l_Header_Adj_rec.redeemed_flag := NULL ;
2610 END IF;
2611
2612 IF l_Header_Adj_rec.accrual_flag = FND_API.G_MISS_CHAR THEN
2613 l_Header_Adj_rec.accrual_flag := NULL ;
2614 END IF;
2615
2616 IF l_Header_Adj_rec.range_break_quantity = FND_API.G_MISS_NUM THEN
2617 l_Header_Adj_rec.range_break_quantity := NULL ;
2618 END IF;
2619
2620 IF l_Header_Adj_rec.accrual_conversion_rate = FND_API.G_MISS_NUM THEN
2621 l_Header_Adj_rec.accrual_conversion_rate := NULL ;
2622 END IF;
2623
2624 IF l_Header_Adj_rec.pricing_group_sequence = FND_API.G_MISS_NUM THEN
2625 l_Header_Adj_rec.pricing_group_sequence := NULL ;
2626 END IF;
2627
2628 IF l_Header_Adj_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
2629 l_Header_Adj_rec.modifier_level_code := NULL ;
2630 END IF;
2631
2632 IF l_Header_Adj_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
2633 l_Header_Adj_rec.price_break_type_code := NULL ;
2634 END IF;
2635
2636 IF l_Header_Adj_rec.substitution_attribute = FND_API.G_MISS_CHAR THEN
2637 l_Header_Adj_rec.substitution_attribute := NULL ;
2638 END IF;
2639
2640 IF l_Header_Adj_rec.proration_type_code = FND_API.G_MISS_CHAR THEN
2641 l_Header_Adj_rec.proration_type_code := NULL ;
2642 END IF;
2643
2644 IF l_Header_Adj_rec.credit_or_charge_flag = FND_API.G_MISS_CHAR THEN
2645 l_Header_Adj_rec.credit_or_charge_flag := NULL ;
2646 END IF;
2647
2648 IF l_Header_Adj_rec.include_on_returns_flag = FND_API.G_MISS_CHAR THEN
2649 l_Header_Adj_rec.include_on_returns_flag := NULL ;
2650 END IF;
2651
2652 IF l_Header_Adj_rec.ac_context = FND_API.G_MISS_CHAR THEN
2653 l_Header_Adj_rec.ac_context := NULL;
2654 END IF;
2655
2656 IF l_Header_Adj_rec.ac_attribute1 = FND_API.G_MISS_CHAR THEN
2657 l_Header_Adj_rec.ac_attribute1 := NULL;
2658 END IF;
2659
2660 IF l_Header_Adj_rec.ac_attribute2 = FND_API.G_MISS_CHAR THEN
2661 l_Header_Adj_rec.ac_attribute2 := NULL;
2662 END IF;
2663
2664 IF l_Header_Adj_rec.ac_attribute3 = FND_API.G_MISS_CHAR THEN
2665 l_Header_Adj_rec.ac_attribute3 := NULL;
2666 END IF;
2667
2668 IF l_Header_Adj_rec.ac_attribute4 = FND_API.G_MISS_CHAR THEN
2669 l_Header_Adj_rec.ac_attribute4 := NULL;
2670 END IF;
2671
2672 IF l_Header_Adj_rec.ac_attribute5 = FND_API.G_MISS_CHAR THEN
2673 l_Header_Adj_rec.ac_attribute5 := NULL;
2674 END IF;
2675
2676 IF l_Header_Adj_rec.ac_attribute6 = FND_API.G_MISS_CHAR THEN
2677 l_Header_Adj_rec.ac_attribute6 := NULL;
2678 END IF;
2679
2680 IF l_Header_Adj_rec.ac_attribute7 = FND_API.G_MISS_CHAR THEN
2681 l_Header_Adj_rec.ac_attribute7 := NULL;
2682 END IF;
2683
2684 IF l_Header_Adj_rec.ac_attribute8 = FND_API.G_MISS_CHAR THEN
2685 l_Header_Adj_rec.ac_attribute8 := NULL;
2686 END IF;
2687
2688 IF l_Header_Adj_rec.ac_attribute9 = FND_API.G_MISS_CHAR THEN
2689 l_Header_Adj_rec.ac_attribute9 := NULL;
2690 END IF;
2691
2692 IF l_Header_Adj_rec.ac_attribute10 = FND_API.G_MISS_CHAR THEN
2693 l_Header_Adj_rec.ac_attribute10 := NULL;
2694 END IF;
2695
2696 IF l_Header_Adj_rec.ac_attribute11 = FND_API.G_MISS_CHAR THEN
2697 l_Header_Adj_rec.ac_attribute11 := NULL;
2698 END IF;
2699
2700 IF l_Header_Adj_rec.ac_attribute12 = FND_API.G_MISS_CHAR THEN
2701 l_Header_Adj_rec.ac_attribute12 := NULL;
2702 END IF;
2703
2704 IF l_Header_Adj_rec.ac_attribute13 = FND_API.G_MISS_CHAR THEN
2705 l_Header_Adj_rec.ac_attribute13 := NULL;
2706 END IF;
2707
2708 IF l_Header_Adj_rec.ac_attribute14 = FND_API.G_MISS_CHAR THEN
2709 l_Header_Adj_rec.ac_attribute14 := NULL;
2710 END IF;
2711
2712 IF l_Header_Adj_rec.ac_attribute15 = FND_API.G_MISS_CHAR THEN
2713 l_Header_Adj_rec.ac_attribute15 := NULL;
2714 END IF;
2715 --uom begin
2716 If l_Header_Adj_rec.operand_per_pqty = FND_API.G_MISS_NUM THEN
2717 l_Header_Adj_rec.operand_per_pqty:=NULL;
2718 END IF;
2719
2720 If l_Header_Adj_rec.adjusted_amount_per_pqty = FND_API.G_MISS_NUM THEN
2721 l_Header_Adj_rec.adjusted_amount_per_pqty:=NULL;
2722 END IF;
2723 --uom end
2724
2725 If l_Header_Adj_rec.invoiced_amount = FND_API.G_MISS_NUM THEN
2726 l_Header_Adj_rec.invoiced_amount := NULL;
2727 END IF;
2728
2729 --12611888 start
2730 If l_Header_Adj_rec.tax_rate_id = FND_API.G_MISS_NUM THEN
2731 l_Header_Adj_rec.tax_rate_id := NULL;
2732 END IF;
2733 --12611888 end
2734
2735 IF l_debug_level > 0 THEN
2736 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.CONVERT_MISS_TO_NULL' , 1 ) ;
2737 END IF;
2738
2739 -- RETURN l_Header_Adj_rec;
2740 p_x_Header_Adj_rec := l_Header_Adj_rec;
2741
2742 END Convert_Miss_To_Null;
2743
2744 -- Procedure Update_Row
2745
2746
2747 PROCEDURE Update_Row
2748 ( p_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
2749 )
2750 IS
2751 l_lock_control NUMBER;
2752 --added for notification framework
2753 l_index NUMBER;
2754 l_return_status VARCHAR2(1);
2755
2756 --
2757 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2758 --
2759 BEGIN
2760
2761 IF l_debug_level > 0 THEN
2762 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.UPDATE_ROW' , 1 ) ;
2763 END IF;
2764
2765 -- increment lock_control by 1 whenever the record is updated
2766 SELECT lock_control
2767 INTO l_lock_control
2768 FROM oe_price_adjustments
2769 WHERE price_adjustment_id = p_Header_Adj_rec.price_adjustment_id;
2770
2771 l_lock_control := l_lock_control + 1;
2772
2773
2774 -- calling notification framework to update global picture
2775 -- check code release level first. Notification framework is at Pack H level
2776
2777 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
2778 IF l_debug_level > 0 THEN
2779 oe_debug_pub.add( 'HDR_ADJ_ID= ' || P_HEADER_ADJ_REC.PRICE_ADJUSTMENT_ID ) ;
2780 END IF;
2781 OE_ORDER_UTIL.Update_Global_Picture(p_Upd_New_Rec_If_Exists => True,
2782 p_Hdr_adj_rec =>p_header_adj_rec,
2783 p_hdr_adj_id => p_header_adj_rec.price_adjustment_id,
2784 x_index => l_index,
2785 x_return_status => l_return_status);
2786
2787 IF l_debug_level > 0 THEN
2788 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_HEADER_ADJ_UTIL.UPDATE_ROE IS: ' || L_RETURN_STATUS ) ;
2789 END IF;
2790
2791 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2792 IF l_debug_level > 0 THEN
2793 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
2794 END IF;
2795 IF l_debug_level > 0 THEN
2796 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.UPDATE_ROW' , 1 ) ;
2797 END IF;
2798 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2799 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2800 IF l_debug_level > 0 THEN
2801 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_HEADER_ADJ_UTIL.UPDATE_ROW' ) ;
2802 END IF;
2803 IF l_debug_level > 0 THEN
2804 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.UPDATE_ROW' , 1 ) ;
2805 END IF;
2806 RAISE FND_API.G_EXC_ERROR;
2807 END IF;
2808 END IF; /*code_release_level*/
2809 -- notification framework end
2810
2811
2812 UPDATE OE_PRICE_ADJUSTMENTS
2813 SET PRICE_ADJUSTMENT_ID = p_Header_Adj_rec.price_adjustment_id
2814 , CREATION_DATE = p_Header_Adj_rec.creation_date
2815 , CREATED_BY = p_Header_Adj_rec.created_by
2816 , LAST_UPDATE_DATE = p_Header_Adj_rec.last_update_date
2817 , LAST_UPDATED_BY = p_Header_Adj_rec.last_updated_by
2818 , LAST_UPDATE_LOGIN = p_Header_Adj_rec.last_update_login
2819 , PROGRAM_APPLICATION_ID = p_Header_Adj_rec.program_application_id
2820 , PROGRAM_ID = p_Header_Adj_rec.program_id
2821 , PROGRAM_UPDATE_DATE = p_Header_Adj_rec.program_update_date
2822 , REQUEST_ID = p_Header_Adj_rec.request_id
2823 , HEADER_ID = p_Header_Adj_rec.header_id
2824 , DISCOUNT_ID = p_Header_Adj_rec.discount_id
2825 , DISCOUNT_LINE_ID = p_Header_Adj_rec.discount_line_id
2826 , AUTOMATIC_FLAG = p_Header_Adj_rec.automatic_flag
2827 , PERCENT = p_Header_Adj_rec.percent
2828 , LINE_ID = p_Header_Adj_rec.line_id
2829 , CONTEXT = p_Header_Adj_rec.context
2830 , ATTRIBUTE1 = p_Header_Adj_rec.attribute1
2831 , ATTRIBUTE2 = p_Header_Adj_rec.attribute2
2832 , ATTRIBUTE3 = p_Header_Adj_rec.attribute3
2833 , ATTRIBUTE4 = p_Header_Adj_rec.attribute4
2834 , ATTRIBUTE5 = p_Header_Adj_rec.attribute5
2835 , ATTRIBUTE6 = p_Header_Adj_rec.attribute6
2836 , ATTRIBUTE7 = p_Header_Adj_rec.attribute7
2837 , ATTRIBUTE8 = p_Header_Adj_rec.attribute8
2838 , ATTRIBUTE9 = p_Header_Adj_rec.attribute9
2839 , ATTRIBUTE10 = p_Header_Adj_rec.attribute10
2840 , ATTRIBUTE11 = p_Header_Adj_rec.attribute11
2841 , ATTRIBUTE12 = p_Header_Adj_rec.attribute12
2842 , ATTRIBUTE13 = p_Header_Adj_rec.attribute13
2843 , ATTRIBUTE14 = p_Header_Adj_rec.attribute14
2844 , ATTRIBUTE15 = p_Header_Adj_rec.attribute15
2845 , ORIG_SYS_DISCOUNT_REF = p_Header_Adj_rec.orig_sys_discount_ref
2846 , LIST_HEADER_ID = p_Header_Adj_rec.list_header_id
2847 , LIST_LINE_ID = p_Header_Adj_rec.list_line_id
2848 , LIST_LINE_TYPE_CODE = p_Header_Adj_rec.list_line_type_code
2849 , MODIFIER_MECHANISM_TYPE_CODE = p_Header_Adj_rec.list_header_id
2850 , MODIFIED_FROM = p_Header_Adj_rec.modified_from
2851 , MODIFIED_TO = p_Header_Adj_rec.modified_to
2852 , UPDATED_FLAG = p_Header_Adj_rec.updated_flag
2853 , UPDATE_ALLOWED = p_Header_Adj_rec.update_allowed
2854 , APPLIED_FLAG = p_Header_Adj_rec.applied_flag
2855 , CHANGE_REASON_CODE = p_Header_Adj_rec.change_reason_code
2856 , CHANGE_REASON_TEXT = p_Header_Adj_rec.change_reason_text
2857 , operand = p_Header_Adj_rec.operand
2858 , arithmetic_operator = p_Header_Adj_rec.arithmetic_operator
2859 , COST_ID = p_Header_Adj_rec.cost_id
2860 , TAX_CODE = p_Header_Adj_rec.tax_code
2861 , TAX_EXEMPT_FLAG = p_Header_Adj_rec.tax_exempt_flag
2862 , TAX_EXEMPT_NUMBER = p_Header_Adj_rec.tax_exempt_number
2863 , TAX_EXEMPT_REASON_CODE = p_Header_Adj_rec.tax_exempt_reason_code
2864 , PARENT_ADJUSTMENT_ID = p_Header_Adj_rec.parent_adjustment_id
2865 , INVOICED_FLAG = p_Header_Adj_rec.invoiced_flag
2866 , ESTIMATED_FLAG = p_Header_Adj_rec.estimated_flag
2867 , INC_IN_SALES_PERFORMANCE = p_Header_Adj_rec.inc_in_sales_performance
2868 , SPLIT_ACTION_CODE = p_Header_Adj_rec.split_action_code
2869 , ADJUSTED_AMOUNT = p_Header_Adj_rec.adjusted_amount
2870 , PRICING_PHASE_ID = p_Header_Adj_rec.pricing_phase_id
2871 , CHARGE_TYPE_CODE = p_Header_Adj_rec.charge_type_code
2872 , CHARGE_SUBTYPE_CODE = p_Header_Adj_rec.charge_subtype_code
2873 , LIST_LINE_NO = p_Header_Adj_rec.list_line_no
2874 , SOURCE_SYSTEM_CODE = p_Header_Adj_rec.source_system_code
2875 , BENEFIT_QTY = p_Header_Adj_rec.benefit_qty
2876 , BENEFIT_UOM_CODE = p_Header_Adj_rec.benefit_uom_code
2877 , PRINT_ON_INVOICE_FLAG = p_Header_Adj_rec.print_on_invoice_flag
2878 , EXPIRATION_DATE = p_Header_Adj_rec.expiration_date
2879 , REBATE_TRANSACTION_TYPE_CODE = p_Header_Adj_rec.rebate_transaction_type_code
2880 , REBATE_TRANSACTION_REFERENCE = p_Header_Adj_rec.rebate_transaction_reference
2881 , REBATE_PAYMENT_SYSTEM_CODE = p_Header_Adj_rec.rebate_payment_system_code
2882 , REDEEMED_DATE = p_Header_Adj_rec.redeemed_date
2883 , REDEEMED_FLAG = p_Header_Adj_rec.redeemed_flag
2884 , ACCRUAL_FLAG = p_Header_Adj_rec.accrual_flag
2885 , RANGE_BREAK_QUANTITY = p_Header_Adj_rec.range_break_quantity
2886 , ACCRUAL_CONVERSION_RATE = p_Header_Adj_rec.accrual_conversion_rate
2887 , PRICING_GROUP_SEQUENCE = p_Header_Adj_rec.pricing_group_sequence
2888 , MODIFIER_LEVEL_CODE = p_Header_Adj_rec.modifier_level_code
2889 , PRICE_BREAK_TYPE_CODE = p_Header_Adj_rec.price_break_type_code
2890 , SUBSTITUTION_ATTRIBUTE = p_Header_Adj_rec.substitution_attribute
2891 , PRORATION_TYPE_CODE = p_Header_Adj_rec.proration_type_code
2892 , CREDIT_OR_CHARGE_FLAG = p_Header_Adj_rec.credit_or_charge_flag
2893 , INCLUDE_ON_RETURNS_FLAG = p_Header_Adj_rec.include_on_returns_flag
2894 , AC_CONTEXT = p_Header_Adj_rec.ac_context
2895 , AC_ATTRIBUTE1 = p_Header_Adj_rec.ac_attribute1
2896 , AC_ATTRIBUTE2 = p_Header_Adj_rec.ac_attribute2
2897 , AC_ATTRIBUTE3 = p_Header_Adj_rec.ac_attribute3
2898 , AC_ATTRIBUTE4 = p_Header_Adj_rec.ac_attribute4
2899 , AC_ATTRIBUTE5 = p_Header_Adj_rec.ac_attribute5
2900 , AC_ATTRIBUTE6 = p_Header_Adj_rec.ac_attribute6
2901 , AC_ATTRIBUTE7 = p_Header_Adj_rec.ac_attribute7
2902 , AC_ATTRIBUTE8 = p_Header_Adj_rec.ac_attribute8
2903 , AC_ATTRIBUTE9 = p_Header_Adj_rec.ac_attribute9
2904 , AC_ATTRIBUTE10 = p_Header_Adj_rec.ac_attribute10
2905 , AC_ATTRIBUTE11 = p_Header_Adj_rec.ac_attribute11
2906 , AC_ATTRIBUTE12 = p_Header_Adj_rec.ac_attribute12
2907 , AC_ATTRIBUTE13 = p_Header_Adj_rec.ac_attribute13
2908 , AC_ATTRIBUTE14 = p_Header_Adj_rec.ac_attribute14
2909 , AC_ATTRIBUTE15 = p_Header_Adj_rec.ac_attribute15
2910 --uom begin
2911 , OPERAND_PER_PQTY = p_Header_Adj_rec.operand_per_pqty
2912 , ADJUSTED_AMOUNT_PER_PQTY = p_Header_Adj_rec.adjusted_amount_per_pqty
2913 --uom end
2914 , INVOICED_AMOUNT = p_Header_Adj_rec.invoiced_amount
2915 , LOCK_CONTROL = l_lock_control
2916 WHERE PRICE_ADJUSTMENT_ID = p_Header_Adj_rec.price_adjustment_id
2917 ;
2918
2919 p_Header_Adj_rec.lock_control := l_lock_control;
2920 IF l_debug_level > 0 THEN
2921 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.UPDATE_ROW' , 1 ) ;
2922 END IF;
2923
2924 EXCEPTION
2925
2926 WHEN OTHERS THEN
2927
2928 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2929 THEN
2930 OE_MSG_PUB.Add_Exc_Msg
2931 ( G_PKG_NAME
2932 , 'Update_Row'
2933 );
2934 END IF;
2935
2936 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2937
2938 END Update_Row;
2939
2940 -- Procedure Insert_Row
2941
2942 PROCEDURE Insert_Row
2943 ( p_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
2944 )
2945 IS
2946 l_lock_control NUMBER := 1;
2947 --added for notification framework
2948 l_index NUMBER;
2949 l_return_status VARCHAR2(1);
2950
2951 --
2952 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2953 --
2954 BEGIN
2955
2956 IF l_debug_level > 0 THEN
2957 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.INSERT_ROW' , 1 ) ;
2958 END IF;
2959
2960 INSERT INTO OE_PRICE_ADJUSTMENTS
2961 ( PRICE_ADJUSTMENT_ID
2962 , CREATION_DATE
2963 , CREATED_BY
2964 , LAST_UPDATE_DATE
2965 , LAST_UPDATED_BY
2966 , LAST_UPDATE_LOGIN
2967 , PROGRAM_APPLICATION_ID
2968 , PROGRAM_ID
2969 , PROGRAM_UPDATE_DATE
2970 , REQUEST_ID
2971 , HEADER_ID
2972 , DISCOUNT_ID
2973 , DISCOUNT_LINE_ID
2974 , AUTOMATIC_FLAG
2975 , PERCENT
2976 , LINE_ID
2977 , CONTEXT
2978 , ATTRIBUTE1
2979 , ATTRIBUTE2
2980 , ATTRIBUTE3
2981 , ATTRIBUTE4
2982 , ATTRIBUTE5
2983 , ATTRIBUTE6
2984 , ATTRIBUTE7
2985 , ATTRIBUTE8
2986 , ATTRIBUTE9
2987 , ATTRIBUTE10
2988 , ATTRIBUTE11
2989 , ATTRIBUTE12
2990 , ATTRIBUTE13
2991 , ATTRIBUTE14
2992 , ATTRIBUTE15
2993 , ORIG_SYS_DISCOUNT_REF
2994 , LIST_HEADER_ID
2995 , LIST_LINE_ID
2996 , LIST_LINE_TYPE_CODE
2997 , MODIFIER_MECHANISM_TYPE_CODE
2998 , MODIFIED_FROM
2999 , MODIFIED_TO
3000 , UPDATED_FLAG
3001 , UPDATE_ALLOWED
3002 , APPLIED_FLAG
3003 , CHANGE_REASON_CODE
3004 , CHANGE_REASON_TEXT
3005 , operand
3006 , arithmetic_operator
3007 , COST_ID
3008 , TAX_CODE
3009 , TAX_RATE_ID --TaxER
3010 , TAX_EXEMPT_FLAG
3011 , TAX_EXEMPT_NUMBER
3012 , TAX_EXEMPT_REASON_CODE
3013 , PARENT_ADJUSTMENT_ID
3014 , INVOICED_FLAG
3015 , ESTIMATED_FLAG
3016 , INC_IN_SALES_PERFORMANCE
3017 , SPLIT_ACTION_CODE
3018 , ADJUSTED_AMOUNT
3019 , PRICING_PHASE_ID
3020 , CHARGE_TYPE_CODE
3021 , CHARGE_SUBTYPE_CODE
3022 , list_line_no
3023 , source_system_code
3024 , benefit_qty
3025 , benefit_uom_code
3026 , print_on_invoice_flag
3027 , expiration_date
3028 , rebate_transaction_type_code
3029 , rebate_transaction_reference
3030 , rebate_payment_system_code
3031 , redeemed_date
3032 , redeemed_flag
3033 , accrual_flag
3034 , range_break_quantity
3035 , accrual_conversion_rate
3036 , pricing_group_sequence
3037 , modifier_level_code
3038 , price_break_type_code
3039 , substitution_attribute
3040 , proration_type_code
3041 , CREDIT_OR_CHARGE_FLAG
3042 , INCLUDE_ON_RETURNS_FLAG
3043 , AC_CONTEXT
3044 , AC_ATTRIBUTE1
3045 , AC_ATTRIBUTE2
3046 , AC_ATTRIBUTE3
3047 , AC_ATTRIBUTE4
3048 , AC_ATTRIBUTE5
3049 , AC_ATTRIBUTE6
3050 , AC_ATTRIBUTE7
3051 , AC_ATTRIBUTE8
3052 , AC_ATTRIBUTE9
3053 , AC_ATTRIBUTE10
3054 , AC_ATTRIBUTE11
3055 , AC_ATTRIBUTE12
3056 , AC_ATTRIBUTE13
3057 , AC_ATTRIBUTE14
3058 , AC_ATTRIBUTE15
3059 --uom begin
3060 , OPERAND_PER_PQTY
3061 , ADJUSTED_AMOUNT_PER_PQTY
3062 --uom end
3063 , INVOICED_AMOUNT
3064 , lock_control
3065 )
3066 VALUES
3067 ( p_Header_Adj_rec.price_adjustment_id
3068 , p_Header_Adj_rec.creation_date
3069 , p_Header_Adj_rec.created_by
3070 , p_Header_Adj_rec.last_update_date
3071 , p_Header_Adj_rec.last_updated_by
3072 , p_Header_Adj_rec.last_update_login
3073 , p_Header_Adj_rec.program_application_id
3074 , p_Header_Adj_rec.program_id
3075 , p_Header_Adj_rec.program_update_date
3076 , p_Header_Adj_rec.request_id
3077 , p_Header_Adj_rec.header_id
3078 , p_Header_Adj_rec.discount_id
3079 , p_Header_Adj_rec.discount_line_id
3080 , p_Header_Adj_rec.automatic_flag
3081 , p_Header_Adj_rec.percent
3082 , p_Header_Adj_rec.line_id
3083 , p_Header_Adj_rec.context
3084 , p_Header_Adj_rec.attribute1
3085 , p_Header_Adj_rec.attribute2
3086 , p_Header_Adj_rec.attribute3
3087 , p_Header_Adj_rec.attribute4
3088 , p_Header_Adj_rec.attribute5
3089 , p_Header_Adj_rec.attribute6
3090 , p_Header_Adj_rec.attribute7
3091 , p_Header_Adj_rec.attribute8
3092 , p_Header_Adj_rec.attribute9
3093 , p_Header_Adj_rec.attribute10
3094 , p_Header_Adj_rec.attribute11
3095 , p_Header_Adj_rec.attribute12
3096 , p_Header_Adj_rec.attribute13
3097 , p_Header_Adj_rec.attribute14
3098 , p_Header_Adj_rec.attribute15
3099 , p_Header_Adj_rec.orig_sys_discount_ref
3100 , p_Header_Adj_rec.list_header_id
3101 , p_Header_Adj_rec.list_line_id
3102 , p_Header_Adj_rec.list_line_type_code
3103 , p_Header_Adj_rec.modifier_mechanism_type_code
3104 , p_Header_Adj_rec.modified_from
3105 , p_Header_Adj_rec.modified_to
3106 , p_Header_Adj_rec.updated_flag
3107 , p_Header_Adj_rec.update_allowed
3108 , p_Header_Adj_rec.applied_flag
3109 , p_Header_Adj_rec.change_reason_code
3110 , p_Header_Adj_rec.change_reason_text
3111 , p_Header_Adj_rec.operand
3112 , p_Header_Adj_rec.arithmetic_operator
3113 , p_Header_Adj_rec.COST_ID
3114 , p_Header_Adj_rec.TAX_CODE
3115 , p_Header_Adj_rec.TAX_RATE_ID --TaxER
3116 , p_Header_Adj_rec.TAX_EXEMPT_FLAG
3117 , p_Header_Adj_rec.TAX_EXEMPT_NUMBER
3118 , p_Header_Adj_rec.TAX_EXEMPT_REASON_CODE
3119 , p_Header_Adj_rec.PARENT_ADJUSTMENT_ID
3120 , p_Header_Adj_rec.INVOICED_FLAG
3121 , p_Header_Adj_rec.ESTIMATED_FLAG
3122 , p_Header_Adj_rec.INC_IN_SALES_PERFORMANCE
3123 , p_Header_Adj_rec.SPLIT_ACTION_CODE
3124 , p_Header_Adj_rec.adjusted_amount
3125 , p_Header_Adj_rec.pricing_phase_id
3126 , p_Header_Adj_rec.charge_type_code
3127 , p_Header_Adj_rec.charge_subtype_code
3128 , p_Header_Adj_rec.list_line_no
3129 , p_Header_Adj_rec.source_system_code
3130 , p_Header_Adj_rec.benefit_qty
3131 , p_Header_Adj_rec.benefit_uom_code
3132 , p_Header_Adj_rec.print_on_invoice_flag
3133 , p_Header_Adj_rec.expiration_date
3134 , p_Header_Adj_rec.rebate_transaction_type_code
3135 , p_Header_Adj_rec.rebate_transaction_reference
3136 , p_Header_Adj_rec.rebate_payment_system_code
3137 , p_Header_Adj_rec.redeemed_date
3138 , p_Header_Adj_rec.redeemed_flag
3139 , p_Header_Adj_rec.accrual_flag
3140 , p_Header_Adj_rec.range_break_quantity
3141 , p_Header_Adj_rec.accrual_conversion_rate
3142 , p_Header_Adj_rec.pricing_group_sequence
3143 , p_Header_Adj_rec.modifier_level_code
3144 , p_Header_Adj_rec.price_break_type_code
3145 , p_Header_Adj_rec.substitution_attribute
3146 , p_Header_Adj_rec.proration_type_code
3147 , p_Header_Adj_rec.credit_or_charge_flag
3148 , p_Header_Adj_rec.include_on_returns_flag
3149 , p_Header_Adj_rec.ac_context
3150 , p_Header_Adj_rec.ac_attribute1
3151 , p_Header_Adj_rec.ac_attribute2
3152 , p_Header_Adj_rec.ac_attribute3
3153 , p_Header_Adj_rec.ac_attribute4
3154 , p_Header_Adj_rec.ac_attribute5
3155 , p_Header_Adj_rec.ac_attribute6
3156 , p_Header_Adj_rec.ac_attribute7
3157 , p_Header_Adj_rec.ac_attribute8
3158 , p_Header_Adj_rec.ac_attribute9
3159 , p_Header_Adj_rec.ac_attribute10
3160 , p_Header_Adj_rec.ac_attribute11
3161 , p_Header_Adj_rec.ac_attribute12
3162 , p_Header_Adj_rec.ac_attribute13
3163 , p_Header_Adj_rec.ac_attribute14
3164 , p_Header_Adj_rec.ac_attribute15
3165 --uom begin
3166 , p_Header_Adj_rec.OPERAND_PER_PQTY
3167 , p_Header_Adj_rec.ADJUSTED_AMOUNT_PER_PQTY
3168 --uom end
3169 , p_Header_Adj_rec.INVOICED_AMOUNT
3170 , l_lock_control
3171 );
3172
3173 p_header_Adj_rec.lock_control := l_lock_control;
3174
3175 -- calling notification framework to update global picture
3176 -- check code release level first. Notification framework is at Pack H level
3177 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
3178 OE_ORDER_UTIL.Update_Global_Picture(p_Upd_New_Rec_If_Exists => True,
3179 p_old_hdr_adj_rec => NULL,
3180 p_Hdr_adj_rec =>p_header_adj_rec,
3181 p_hdr_adj_id => p_header_adj_rec.price_adjustment_id,
3182 x_index => l_index,
3183 x_return_status => l_return_status);
3184
3185 IF l_debug_level > 0 THEN
3186 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_HEADER_ADJ_UTIL.INSERT_ROW IS: ' || L_RETURN_STATUS ) ;
3187 END IF;
3188 IF l_debug_level > 0 THEN
3189 oe_debug_pub.add( 'RETURNED INDEX IS: ' || L_INDEX , 1 ) ;
3190 END IF;
3191
3192 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3193 IF l_debug_level > 0 THEN
3194 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
3195 END IF;
3196 IF l_debug_level > 0 THEN
3197 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.INSERT_ROW' , 1 ) ;
3198 END IF;
3199 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3200 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3201 IF l_debug_level > 0 THEN
3202 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_HEADER_ADJ_UTIL.INSERT_ROW' ) ;
3203 END IF;
3204 IF l_debug_level > 0 THEN
3205 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.INSERT_ROW' , 1 ) ;
3206 END IF;
3207 RAISE FND_API.G_EXC_ERROR;
3208 END IF;
3209 END IF; /* code_release_level*/
3210 -- notification framework end
3211
3212 IF l_debug_level > 0 THEN
3213 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.INSERT_ROW' , 1 ) ;
3214 END IF;
3215
3216 EXCEPTION
3217
3218 WHEN OTHERS THEN
3219
3220 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3221 THEN
3222 OE_MSG_PUB.Add_Exc_Msg
3223 ( G_PKG_NAME
3224 , 'Insert_Row'
3225 );
3226 END IF;
3227
3228 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3229
3230 END Insert_Row;
3231
3232 -- Procedure Delete_Header_Charges
3233
3234 Procedure Delete_Header_Charges
3235 (
3236 p_header_id IN Number
3237 )
3238 IS
3239 l_return_status VARCHAR2(30);
3240
3241 begin
3242
3243
3244 DELETE FROM OE_PRICE_ADJUSTMENTS
3245 WHERE HEADER_ID = p_header_id
3246 AND LINE_ID IS NULL
3247 AND LIST_LINE_TYPE_CODE = 'FREIGHT_CHARGE';
3248
3249
3250 EXCEPTION
3251
3252 WHEN OTHERS THEN
3253 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3254 THEN
3255 FND_MSG_PUB.Add_Exc_Msg
3256 ( G_PKG_NAME
3257 , 'Delete_Row'
3258 );
3259 END IF;
3260 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3261
3262 END Delete_Header_Charges;
3263
3264 -- Procedure Delete_Row
3265
3266 PROCEDURE Delete_Row
3267 ( p_price_adjustment_id IN NUMBER :=
3268 FND_API.G_MISS_NUM
3269 , p_header_id IN NUMBER :=
3270 FND_API.G_MISS_NUM
3271 )
3272 IS
3273 l_return_status VARCHAR2(30);
3274 CURSOR price_adj IS
3275 SELECT price_adjustment_id
3276 FROM OE_PRICE_ADJUSTMENTS
3277 WHERE HEADER_ID = p_header_id;
3278
3279 -- added for notification framework
3280 l_new_header_adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
3281 l_index NUMBER;
3282
3283 --
3284 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3285 --
3286 BEGIN
3287
3288 IF l_debug_level > 0 THEN
3289 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3290 END IF;
3291
3292 IF p_header_id <> FND_API.G_MISS_NUM
3293 THEN
3294 FOR l_adj IN price_adj LOOP
3295
3296 --added for notification framework
3297 --check code release level first. Notification framework is at Pack H level
3298 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
3299 IF l_debug_level > 0 THEN
3300 oe_debug_pub.add( 'JFC: IN DELETE ROW , PRICE_ADJUSTMENT_ID= '|| L_ADJ.PRICE_ADJUSTMENT_ID ) ;
3301 END IF;
3302
3303 /* Set the operation on the record so that globals are updated as well */
3304 l_new_header_adj_rec.operation := OE_GLOBALS.G_OPR_DELETE;
3305 l_new_header_adj_rec.price_adjustment_id := l_adj.price_adjustment_id;
3306
3307 OE_ORDER_UTIL.Update_Global_Picture(p_Upd_New_Rec_If_Exists => True,
3308 p_Hdr_adj_rec =>l_new_header_adj_rec,
3309 p_hdr_adj_id => l_adj.price_adjustment_id,
3310 x_index => l_index,
3311 x_return_status => l_return_status);
3312
3313 IF l_debug_level > 0 THEN
3314 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_HEADER_ADJ_UTIL.DELETE_ROW IS: ' || L_RETURN_STATUS ) ;
3315 END IF;
3316
3317 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3318 IF l_debug_level > 0 THEN
3319 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
3320 END IF;
3321 IF l_debug_level > 0 THEN
3322 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3323 END IF;
3324 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3325 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3326 IF l_debug_level > 0 THEN
3327 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_HEADER_ADJ_UTIL.DELETE_ROW' ) ;
3328 END IF;
3329 IF l_debug_level > 0 THEN
3330 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3331 END IF;
3332 RAISE FND_API.G_EXC_ERROR;
3333 END IF;
3334 END IF; /*code_release_level*/
3335 -- notification framework end
3336
3337
3338 OE_Delayed_Requests_Pvt.Delete_Reqs_for_deleted_entity(
3339 p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
3340 p_entity_id => l_adj.price_adjustment_id,
3341 x_return_status => l_return_status
3342 );
3343
3344 OE_Line_Price_Aattr_Util.delete_row(
3345 p_price_adjustment_id=>l_adj.price_adjustment_id);
3346
3347 OE_Line_Adj_Assocs_Util.delete_row(
3348 p_price_adjustment_id=>l_adj.price_adjustment_id);
3349 END LOOP;
3350 /* Start Audit Trail */
3351 DELETE FROM OE_PRICE_ADJS_HISTORY
3352 WHERE HEADER_ID = p_header_id;
3353 /* End Audit Trail */
3354
3355 DELETE FROM OE_PRICE_ADJUSTMENTS
3356 WHERE HEADER_ID = p_header_id;
3357 ELSE
3358
3359 --added for notification framework
3360 --check code release level first. Notification framework is at Pack H level
3361 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
3362 IF l_debug_level > 0 THEN
3363 oe_debug_pub.add( 'JFC:IN DELETE ROW , HEADER_ID IS G_MISS_NUM , PRICE_ADJUSTMENT_ID= '|| P_PRICE_ADJUSTMENT_ID , 1 ) ;
3364 END IF;
3365
3366 /* Set the operation on the record so that globals are updated as well */
3367 l_new_header_adj_rec.operation := OE_GLOBALS.G_OPR_DELETE;
3368 l_new_header_adj_rec.price_adjustment_id := p_price_adjustment_id;
3369 OE_ORDER_UTIL.Update_Global_Picture(p_Upd_New_Rec_If_Exists => True,
3370 p_Hdr_adj_rec =>l_new_header_adj_rec,
3371 p_hdr_adj_id => p_price_adjustment_id,
3372 x_index => l_index,
3373 x_return_status => l_return_status);
3374 IF l_debug_level > 0 THEN
3375 oe_debug_pub.add( 'UPDATE_GLOBAL RETURN STATUS FROM OE_HEADER_ADJ_UTIL.DELETE_ROW IS: ' || L_RETURN_STATUS ) ;
3376 END IF;
3377
3378 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3379 IF l_debug_level > 0 THEN
3380 oe_debug_pub.add( 'EVENT NOTIFY - UNEXPECTED ERROR' ) ;
3381 END IF;
3382 IF l_debug_level > 0 THEN
3383 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3384 END IF;
3385 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3386 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3387 IF l_debug_level > 0 THEN
3388 oe_debug_pub.add( 'UPDATE_GLOBAL_PICTURE ERROR IN OE_HEADER_ADJ_UTIL.DELETE_ROW' ) ;
3389 END IF;
3390 IF l_debug_level > 0 THEN
3391 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3392 END IF;
3393 RAISE FND_API.G_EXC_ERROR;
3394 END IF;
3395 END IF; /*code_release_level*/
3396 -- notification framework end
3397
3398 OE_Delayed_Requests_Pvt.Delete_Reqs_for_deleted_entity
3399 (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
3400 p_entity_id => p_price_adjustment_id,
3401 x_return_status => l_return_status
3402 );
3403
3404 OE_Line_Price_Aattr_Util.delete_row(
3405 p_price_adjustment_id=>p_price_adjustment_id);
3406
3407 OE_Line_Adj_Assocs_Util.delete_row(
3408 p_price_adjustment_id=>p_price_adjustment_id);
3409
3410 /* Start Audit Trail (modified for 11.5.10) */
3411 DELETE FROM OE_PRICE_ADJS_HISTORY
3412 WHERE PRICE_ADJUSTMENT_ID = p_price_adjustment_id
3413 AND NVL(AUDIT_FLAG, 'Y') = 'Y'
3414 AND NVL(VERSION_FLAG, 'N') = 'N'
3415 AND NVL(PHASE_CHANGE_FLAG, 'N') = 'N';
3416
3417 UPDATE OE_PRICE_ADJS_HISTORY
3418 SET AUDIT_FLAG = 'N'
3419 WHERE PRICE_ADJUSTMENT_ID = p_price_adjustment_id
3420 AND NVL(AUDIT_FLAG, 'Y') = 'Y'
3421 AND (NVL(VERSION_FLAG, 'N') = 'Y'
3422 OR NVL(PHASE_CHANGE_FLAG, 'N') = 'Y');
3423 /* End Audit Trail */
3424
3425 DELETE FROM OE_PRICE_ADJUSTMENTS
3426 WHERE PRICE_ADJUSTMENT_ID = p_price_adjustment_id
3427 ;
3428 END IF;
3429
3430 IF l_debug_level > 0 THEN
3431 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.DELETE_ROW' , 1 ) ;
3432 END IF;
3433
3434 EXCEPTION
3435
3436 WHEN OTHERS THEN
3437
3438 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3439 THEN
3440 OE_MSG_PUB.Add_Exc_Msg
3441 ( G_PKG_NAME
3442 , 'Delete_Row'
3443 );
3444 END IF;
3445
3446 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3447
3448 END Delete_Row;
3449
3450 -- Procedure Query_Row
3451
3452
3453 PROCEDURE Query_Row
3454 ( p_price_adjustment_id IN NUMBER
3455 , x_Header_Adj_Rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
3456 )
3457 IS
3458 l_Header_Adj_Tbl OE_Order_PUB.Header_Adj_Tbl_Type;
3459 --
3460 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3461 --
3462 BEGIN
3463 IF l_debug_level > 0 THEN
3464 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.QUERY_ROW' , 1 ) ;
3465 END IF;
3466
3467 Query_Rows
3468 ( p_price_adjustment_id => p_price_adjustment_id
3469 , x_Header_Adj_Tbl => l_Header_Adj_Tbl
3470 );
3471 x_Header_Adj_Rec := l_Header_Adj_Tbl(1);
3472
3473 IF l_debug_level > 0 THEN
3474 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.QUERY_ROW' , 1 ) ;
3475 END IF;
3476
3477 END Query_Row;
3478
3479 -- Procedure Query_Rows
3480
3481 PROCEDURE Query_Rows
3482 ( p_price_adjustment_id IN NUMBER :=
3483 FND_API.G_MISS_NUM
3484 , p_header_id IN NUMBER :=
3485 FND_API.G_MISS_NUM
3486 , x_Header_Adj_Tbl IN OUT NOCOPY OE_Order_PUB.Header_Adj_Tbl_Type
3487 )
3488 IS
3489 l_count NUMBER;
3490
3491 CURSOR l_Header_Adj_csr_p IS
3492 SELECT ATTRIBUTE1
3493 , ATTRIBUTE10
3494 , ATTRIBUTE11
3495 , ATTRIBUTE12
3496 , ATTRIBUTE13
3497 , ATTRIBUTE14
3498 , ATTRIBUTE15
3499 , ATTRIBUTE2
3500 , ATTRIBUTE3
3501 , ATTRIBUTE4
3502 , ATTRIBUTE5
3503 , ATTRIBUTE6
3504 , ATTRIBUTE7
3505 , ATTRIBUTE8
3506 , ATTRIBUTE9
3507 , AUTOMATIC_FLAG
3508 , CONTEXT
3509 , CREATED_BY
3510 , CREATION_DATE
3511 , DISCOUNT_ID
3512 , DISCOUNT_LINE_ID
3513 , HEADER_ID
3514 , LAST_UPDATED_BY
3515 , LAST_UPDATE_DATE
3516 , LAST_UPDATE_LOGIN
3517 , LINE_ID
3518 , PERCENT
3519 , PRICE_ADJUSTMENT_ID
3520 , PROGRAM_APPLICATION_ID
3521 , PROGRAM_ID
3522 , PROGRAM_UPDATE_DATE
3523 , REQUEST_ID
3524 , LIST_HEADER_ID
3525 , LIST_LINE_ID
3526 , LIST_LINE_TYPE_CODE
3527 , MODIFIER_MECHANISM_TYPE_CODE
3528 , MODIFIED_FROM
3529 , MODIFIED_TO
3530 , UPDATED_FLAG
3531 , UPDATE_ALLOWED
3532 , APPLIED_FLAG
3533 , CHANGE_REASON_CODE
3534 , CHANGE_REASON_TEXT
3535 , operand
3536 , arithmetic_operator
3537 , COST_ID
3538 , TAX_CODE
3539 , TAX_EXEMPT_FLAG
3540 , TAX_EXEMPT_NUMBER
3541 , TAX_EXEMPT_REASON_CODE
3542 , PARENT_ADJUSTMENT_ID
3543 , INVOICED_FLAG
3544 , ESTIMATED_FLAG
3545 , INC_IN_SALES_PERFORMANCE
3546 , SPLIT_ACTION_CODE
3547 , ADJUSTED_AMOUNT
3548 , PRICING_PHASE_ID
3549 , CHARGE_TYPE_CODE
3550 , CHARGE_SUBTYPE_CODE
3551 , list_line_no
3552 , source_system_code
3553 , benefit_qty
3554 , benefit_uom_code
3555 , print_on_invoice_flag
3556 , expiration_date
3557 , rebate_transaction_type_code
3558 , rebate_transaction_reference
3559 , rebate_payment_system_code
3560 , redeemed_date
3561 , redeemed_flag
3562 , accrual_flag
3563 , range_break_quantity
3564 , accrual_conversion_rate
3565 , pricing_group_sequence
3566 , modifier_level_code
3567 , price_break_type_code
3568 , substitution_attribute
3569 , proration_type_code
3570 , CREDIT_OR_CHARGE_FLAG
3571 , INCLUDE_ON_RETURNS_FLAG
3572 , AC_ATTRIBUTE1
3573 , AC_ATTRIBUTE10
3574 , AC_ATTRIBUTE11
3575 , AC_ATTRIBUTE12
3576 , AC_ATTRIBUTE13
3577 , AC_ATTRIBUTE14
3578 , AC_ATTRIBUTE15
3579 , AC_ATTRIBUTE2
3580 , AC_ATTRIBUTE3
3581 , AC_ATTRIBUTE4
3582 , AC_ATTRIBUTE5
3583 , AC_ATTRIBUTE6
3584 , AC_ATTRIBUTE7
3585 , AC_ATTRIBUTE8
3586 , AC_ATTRIBUTE9
3587 , AC_CONTEXT
3588 , orig_sys_discount_ref
3589 --uom begin
3590 , OPERAND_PER_PQTY
3591 , ADJUSTED_AMOUNT_PER_PQTY
3592 , INVOICED_AMOUNT
3593 --uom end
3594 , LOCK_CONTROL
3595 FROM OE_PRICE_ADJUSTMENTS
3596 WHERE PRICE_ADJUSTMENT_ID = p_price_adjustment_id;
3597
3598 CURSOR l_Header_Adj_csr_h IS
3599 SELECT ATTRIBUTE1
3600 , ATTRIBUTE10
3601 , ATTRIBUTE11
3602 , ATTRIBUTE12
3603 , ATTRIBUTE13
3604 , ATTRIBUTE14
3605 , ATTRIBUTE15
3606 , ATTRIBUTE2
3607 , ATTRIBUTE3
3608 , ATTRIBUTE4
3609 , ATTRIBUTE5
3610 , ATTRIBUTE6
3611 , ATTRIBUTE7
3612 , ATTRIBUTE8
3613 , ATTRIBUTE9
3614 , AUTOMATIC_FLAG
3615 , CONTEXT
3616 , CREATED_BY
3617 , CREATION_DATE
3618 , DISCOUNT_ID
3619 , DISCOUNT_LINE_ID
3620 , HEADER_ID
3621 , LAST_UPDATED_BY
3622 , LAST_UPDATE_DATE
3623 , LAST_UPDATE_LOGIN
3624 , LINE_ID
3625 , PERCENT
3626 , PRICE_ADJUSTMENT_ID
3627 , PROGRAM_APPLICATION_ID
3628 , PROGRAM_ID
3629 , PROGRAM_UPDATE_DATE
3630 , REQUEST_ID
3631 , LIST_HEADER_ID
3632 , LIST_LINE_ID
3633 , LIST_LINE_TYPE_CODE
3634 , MODIFIER_MECHANISM_TYPE_CODE
3635 , MODIFIED_FROM
3636 , MODIFIED_TO
3637 , UPDATED_FLAG
3638 , UPDATE_ALLOWED
3639 , APPLIED_FLAG
3640 , CHANGE_REASON_CODE
3641 , CHANGE_REASON_TEXT
3642 , operand
3643 , arithmetic_operator
3644 , COST_ID
3645 , TAX_CODE
3646 , TAX_EXEMPT_FLAG
3647 , TAX_EXEMPT_NUMBER
3648 , TAX_EXEMPT_REASON_CODE
3649 , PARENT_ADJUSTMENT_ID
3650 , INVOICED_FLAG
3651 , ESTIMATED_FLAG
3652 , INC_IN_SALES_PERFORMANCE
3653 , SPLIT_ACTION_CODE
3654 , ADJUSTED_AMOUNT
3655 , PRICING_PHASE_ID
3656 , CHARGE_TYPE_CODE
3657 , CHARGE_SUBTYPE_CODE
3658 , list_line_no
3659 , source_system_code
3660 , benefit_qty
3661 , benefit_uom_code
3662 , print_on_invoice_flag
3663 , expiration_date
3664 , rebate_transaction_type_code
3665 , rebate_transaction_reference
3666 , rebate_payment_system_code
3667 , redeemed_date
3668 , redeemed_flag
3669 , accrual_flag
3670 , range_break_quantity
3671 , accrual_conversion_rate
3672 , pricing_group_sequence
3673 , modifier_level_code
3674 , price_break_type_code
3675 , substitution_attribute
3676 , proration_type_code
3677 , CREDIT_OR_CHARGE_FLAG
3678 , INCLUDE_ON_RETURNS_FLAG
3679 , AC_ATTRIBUTE1
3680 , AC_ATTRIBUTE10
3681 , AC_ATTRIBUTE11
3682 , AC_ATTRIBUTE12
3683 , AC_ATTRIBUTE13
3684 , AC_ATTRIBUTE14
3685 , AC_ATTRIBUTE15
3686 , AC_ATTRIBUTE2
3687 , AC_ATTRIBUTE3
3688 , AC_ATTRIBUTE4
3689 , AC_ATTRIBUTE5
3690 , AC_ATTRIBUTE6
3691 , AC_ATTRIBUTE7
3692 , AC_ATTRIBUTE8
3693 , AC_ATTRIBUTE9
3694 , AC_CONTEXT
3695 , orig_sys_discount_ref
3696 --uom begin
3697 , OPERAND_PER_PQTY
3698 , ADJUSTED_AMOUNT_PER_PQTY
3699 , INVOICED_AMOUNT
3700 --uom end
3701 , LOCK_CONTROL
3702 FROM OE_PRICE_ADJUSTMENTS
3703 WHERE HEADER_ID = p_header_id AND LINE_ID IS NULL;
3704
3705 l_implicit_rec l_header_adj_csr_p%ROWTYPE;
3706 l_entity NUMBER;
3707
3708 --
3709 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3710 --
3711 BEGIN
3712
3713 IF
3714 (p_price_adjustment_id IS NOT NULL
3715 AND
3716 p_price_adjustment_id <> FND_API.G_MISS_NUM)
3717 AND
3718 (p_header_id IS NOT NULL
3719 AND
3720 p_header_id <> FND_API.G_MISS_NUM)
3721 THEN
3722 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3723 THEN
3724 OE_MSG_PUB.Add_Exc_Msg
3725 ( G_PKG_NAME
3726 , 'Query Rows'
3727 , 'Keys are mutually exclusive: price_adjustment_id = '|| p_price_adjustment_id || ', header_id = '|| p_header_id
3728 );
3729 END IF;
3730
3731 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3732
3733 END IF;
3734
3735 IF nvl(p_price_adjustment_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3736 l_entity := 1;
3737 OPEN l_header_adj_csr_p;
3738 ELSIF nvl(p_header_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3739 l_entity := 2;
3740 OPEN l_header_adj_csr_h;
3741 END IF;
3742
3743 -- Loop over fetched records
3744 l_count := 1;
3745 LOOP
3746 IF l_entity = 1 THEN
3747 FETCH l_header_adj_csr_p INTO l_implicit_rec;
3748 EXIT WHEN l_header_adj_csr_p%NOTFOUND;
3749 ELSIF l_entity = 2 THEN
3750 FETCH l_header_adj_csr_h INTO l_implicit_rec;
3751 EXIT WHEN l_header_adj_csr_h%NOTFOUND;
3752 ELSE
3753 EXIT;
3754 END IF;
3755
3756 x_Header_Adj_tbl(l_count).attribute1 := l_implicit_rec.ATTRIBUTE1;
3757 x_Header_Adj_tbl(l_count).attribute10 := l_implicit_rec.ATTRIBUTE10;
3758 x_Header_Adj_tbl(l_count).attribute11 := l_implicit_rec.ATTRIBUTE11;
3759 x_Header_Adj_tbl(l_count).attribute12 := l_implicit_rec.ATTRIBUTE12;
3760 x_Header_Adj_tbl(l_count).attribute13 := l_implicit_rec.ATTRIBUTE13;
3761 x_Header_Adj_tbl(l_count).attribute14 := l_implicit_rec.ATTRIBUTE14;
3762 x_Header_Adj_tbl(l_count).attribute15 := l_implicit_rec.ATTRIBUTE15;
3763 x_Header_Adj_tbl(l_count).attribute2 := l_implicit_rec.ATTRIBUTE2;
3764 x_Header_Adj_tbl(l_count).attribute3 := l_implicit_rec.ATTRIBUTE3;
3765 x_Header_Adj_tbl(l_count).attribute4 := l_implicit_rec.ATTRIBUTE4;
3766 x_Header_Adj_tbl(l_count).attribute5 := l_implicit_rec.ATTRIBUTE5;
3767 x_Header_Adj_tbl(l_count).attribute6 := l_implicit_rec.ATTRIBUTE6;
3768 x_Header_Adj_tbl(l_count).attribute7 := l_implicit_rec.ATTRIBUTE7;
3769 x_Header_Adj_tbl(l_count).attribute8 := l_implicit_rec.ATTRIBUTE8;
3770 x_Header_Adj_tbl(l_count).attribute9 := l_implicit_rec.ATTRIBUTE9;
3771 x_Header_Adj_tbl(l_count).automatic_flag := l_implicit_rec.AUTOMATIC_FLAG;
3772 x_Header_Adj_tbl(l_count).context := l_implicit_rec.CONTEXT;
3773 x_Header_Adj_tbl(l_count).created_by := l_implicit_rec.CREATED_BY;
3774 x_Header_Adj_tbl(l_count).creation_date := l_implicit_rec.CREATION_DATE;
3775 x_Header_Adj_tbl(l_count).discount_id := l_implicit_rec.DISCOUNT_ID;
3776 x_Header_Adj_tbl(l_count).discount_line_id := l_implicit_rec.DISCOUNT_LINE_ID;
3777 x_Header_Adj_tbl(l_count).header_id := l_implicit_rec.HEADER_ID;
3778 x_Header_Adj_tbl(l_count).last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
3779 x_Header_Adj_tbl(l_count).last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
3780 x_Header_Adj_tbl(l_count).last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
3781 x_Header_Adj_tbl(l_count).line_id := l_implicit_rec.LINE_ID;
3782 x_Header_Adj_tbl(l_count).percent := l_implicit_rec.PERCENT;
3783 x_Header_Adj_tbl(l_count).price_adjustment_id := l_implicit_rec.PRICE_ADJUSTMENT_ID;
3784 x_Header_Adj_tbl(l_count).program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
3785 x_Header_Adj_tbl(l_count).program_id := l_implicit_rec.PROGRAM_ID;
3786 x_Header_Adj_tbl(l_count).program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
3787 x_Header_Adj_tbl(l_count).adjusted_amount := l_implicit_rec.adjusted_amount;
3788 x_Header_Adj_tbl(l_count).pricing_phase_id := l_implicit_rec.pricing_phase_id;
3789 x_Header_Adj_tbl(l_count).list_header_id := l_implicit_rec.list_header_id;
3790 x_Header_Adj_tbl(l_count).list_line_id := l_implicit_rec.list_line_id;
3791 x_Header_Adj_tbl(l_count).list_line_type_code := l_implicit_rec.list_line_type_code;
3792 x_Header_Adj_tbl(l_count).modifier_mechanism_type_code :=
3793 l_implicit_rec.modifier_mechanism_type_code;
3794 x_Header_Adj_tbl(l_count).modified_from := l_implicit_rec.modified_from;
3795 x_Header_Adj_tbl(l_count).modified_to := l_implicit_rec.modified_to;
3796 x_Header_Adj_tbl(l_count).updated_flag := l_implicit_rec.updated_flag;
3797 x_Header_Adj_tbl(l_count).update_allowed := l_implicit_rec.update_allowed;
3798 x_Header_Adj_tbl(l_count).applied_flag := l_implicit_rec.applied_flag;
3799 x_Header_Adj_tbl(l_count).change_reason_code := l_implicit_rec.change_reason_code;
3800 x_Header_Adj_tbl(l_count).change_reason_text := l_implicit_rec.change_reason_text;
3801 x_Header_Adj_tbl(l_count).operand := l_implicit_rec.operand;
3802 x_Header_Adj_tbl(l_count).arithmetic_operator :=
3803 l_implicit_rec.arithmetic_operator;
3804
3805 x_Header_Adj_tbl(l_count).request_id := l_implicit_rec.REQUEST_ID;
3806
3807 x_Header_Adj_tbl(l_count).cost_id := l_implicit_rec.cost_id;
3808 x_Header_Adj_tbl(l_count).tax_code := l_implicit_rec.tax_code;
3809 x_Header_Adj_tbl(l_count).tax_exempt_flag := l_implicit_rec.tax_exempt_flag;
3810 x_Header_Adj_tbl(l_count).tax_exempt_number := l_implicit_rec.tax_exempt_number;
3811 x_Header_Adj_tbl(l_count).tax_exempt_reason_code := l_implicit_rec.tax_exempt_reason_code;
3812 x_Header_Adj_tbl(l_count).parent_adjustment_id := l_implicit_rec.parent_adjustment_id;
3813 x_Header_Adj_tbl(l_count).invoiced_flag := l_implicit_rec.invoiced_flag;
3814 x_Header_Adj_tbl(l_count).estimated_flag := l_implicit_rec.estimated_flag;
3815 x_Header_Adj_tbl(l_count).inc_in_sales_performance := l_implicit_rec.inc_in_sales_performance;
3816 x_Header_Adj_tbl(l_count).split_action_code := l_implicit_rec.split_action_code;
3817 x_Header_Adj_tbl(l_count).charge_type_code := l_implicit_rec.charge_type_code;
3818 x_Header_Adj_tbl(l_count).charge_subtype_code := l_implicit_rec.charge_subtype_code;
3819 x_Header_Adj_tbl(l_count).list_line_no := l_implicit_rec.list_line_no;
3820 x_Header_Adj_tbl(l_count).source_system_code := l_implicit_rec.source_system_code;
3821 x_Header_Adj_tbl(l_count).benefit_qty := l_implicit_rec.benefit_qty;
3822 x_Header_Adj_tbl(l_count).benefit_uom_code := l_implicit_rec.benefit_uom_code;
3823 x_Header_Adj_tbl(l_count).print_on_invoice_flag := l_implicit_rec.print_on_invoice_flag;
3824 x_Header_Adj_tbl(l_count).expiration_date := l_implicit_rec.expiration_date;
3825 x_Header_Adj_tbl(l_count).rebate_transaction_type_code := l_implicit_rec.rebate_transaction_type_code;
3826 x_Header_Adj_tbl(l_count).rebate_transaction_reference := l_implicit_rec.rebate_transaction_reference;
3827 x_Header_Adj_tbl(l_count).rebate_payment_system_code := l_implicit_rec.rebate_payment_system_code;
3828 x_Header_Adj_tbl(l_count).redeemed_date := l_implicit_rec.redeemed_date;
3829 x_Header_Adj_tbl(l_count).redeemed_flag := l_implicit_rec.redeemed_flag;
3830 x_Header_Adj_tbl(l_count).accrual_flag := l_implicit_rec.accrual_flag;
3831 x_Header_Adj_tbl(l_count).range_break_quantity := l_implicit_rec.range_break_quantity;
3832 x_Header_Adj_tbl(l_count).accrual_conversion_rate := l_implicit_rec.accrual_conversion_rate;
3833 x_Header_Adj_tbl(l_count).pricing_group_sequence := l_implicit_rec.pricing_group_sequence;
3834 x_Header_Adj_tbl(l_count).modifier_level_code := l_implicit_rec.modifier_level_code;
3835 x_Header_Adj_tbl(l_count).price_break_type_code := l_implicit_rec.price_break_type_code;
3836 x_Header_Adj_tbl(l_count).substitution_attribute := l_implicit_rec.substitution_attribute;
3837 x_Header_Adj_tbl(l_count).proration_type_code := l_implicit_rec.proration_type_code;
3838 x_Header_Adj_tbl(l_count).credit_or_charge_flag := l_implicit_rec.credit_or_charge_flag;
3839 x_Header_Adj_tbl(l_count).include_on_returns_flag := l_implicit_rec.include_on_returns_flag;
3840 x_Header_Adj_tbl(l_count).ac_attribute1 := l_implicit_rec.AC_ATTRIBUTE1;
3841 x_Header_Adj_tbl(l_count).ac_attribute10 := l_implicit_rec.AC_ATTRIBUTE10;
3842 x_Header_Adj_tbl(l_count).ac_attribute11 := l_implicit_rec.AC_ATTRIBUTE11;
3843 x_Header_Adj_tbl(l_count).ac_attribute12 := l_implicit_rec.AC_ATTRIBUTE12;
3844 x_Header_Adj_tbl(l_count).ac_attribute13 := l_implicit_rec.AC_ATTRIBUTE13;
3845 x_Header_Adj_tbl(l_count).ac_attribute14 := l_implicit_rec.AC_ATTRIBUTE14;
3846 x_Header_Adj_tbl(l_count).ac_attribute15 := l_implicit_rec.AC_ATTRIBUTE15;
3847 x_Header_Adj_tbl(l_count).ac_attribute2 := l_implicit_rec.AC_ATTRIBUTE2;
3848 x_Header_Adj_tbl(l_count).ac_attribute3 := l_implicit_rec.AC_ATTRIBUTE3;
3849 x_Header_Adj_tbl(l_count).ac_attribute4 := l_implicit_rec.AC_ATTRIBUTE4;
3850 x_Header_Adj_tbl(l_count).ac_attribute5 := l_implicit_rec.AC_ATTRIBUTE5;
3851 x_Header_Adj_tbl(l_count).ac_attribute6 := l_implicit_rec.AC_ATTRIBUTE6;
3852 x_Header_Adj_tbl(l_count).ac_attribute7 := l_implicit_rec.AC_ATTRIBUTE7;
3853 x_Header_Adj_tbl(l_count).ac_attribute8 := l_implicit_rec.AC_ATTRIBUTE8;
3854 x_Header_Adj_tbl(l_count).ac_attribute9 := l_implicit_rec.AC_ATTRIBUTE9;
3855 x_Header_Adj_tbl(l_count).ac_context := l_implicit_rec.AC_CONTEXT;
3856 x_Header_Adj_tbl(l_count).orig_sys_discount_ref := l_implicit_rec.orig_sys_discount_ref;
3857 --uom begin
3858 x_Header_Adj_tbl(l_count).OPERAND_PER_PQTY :=l_implicit_rec.operand_per_pqty;
3859 x_Header_Adj_tbl(l_count).ADJUSTED_AMOUNT_PER_PQTY :=l_implicit_rec.adjusted_amount_per_pqty;
3860 --uom end
3861 x_Header_Adj_tbl(l_count).invoiced_amount := l_implicit_rec.invoiced_amount;
3862 x_Header_Adj_tbl(l_count).lock_control := l_implicit_rec.LOCK_CONTROL;
3863
3864 -- set values for non-DB fields
3865 x_Header_Adj_tbl(l_count).db_flag := FND_API.G_TRUE;
3866 x_Header_Adj_tbl(l_count).operation := FND_API.G_MISS_CHAR;
3867 x_Header_Adj_tbl(l_count).return_status := FND_API.G_MISS_CHAR;
3868
3869 l_count := l_count + 1;
3870 END LOOP;
3871
3872 IF l_entity = 1 THEN
3873 CLOSE l_header_adj_csr_p;
3874 ELSIF l_entity = 2 THEN
3875 CLOSE l_header_adj_csr_h;
3876 END IF;
3877
3878 -- PK sent and no rows found
3879
3880 IF
3881 (p_price_adjustment_id IS NOT NULL
3882 AND
3883 p_price_adjustment_id <> FND_API.G_MISS_NUM)
3884 AND
3885 (x_Header_Adj_tbl.COUNT = 0)
3886 THEN
3887 RAISE NO_DATA_FOUND;
3888 END IF;
3889
3890 EXCEPTION
3891
3892 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3893
3894 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3895
3896 WHEN OTHERS THEN
3897
3898 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3899 THEN
3900 OE_MSG_PUB.Add_Exc_Msg
3901 ( G_PKG_NAME
3902 , 'Query_Rows'
3903 );
3904 END IF;
3905
3906 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3907
3908 END Query_Rows;
3909
3910 -- Procedure lock_Row
3911 --
3912 -- lock by ID or value will be decided by, if lock_control is passed or not.
3913 -- we are doing this so that other products, can still call lock_order API
3914 -- which does not take only primary key and takes only entire records. However
3915 -- if they do not set lokc_control on rec, we will still lock by ID
3916 -- that way they do not need to query up the records before sending them in.
3917 -- OM calls can directly fo to util.lock row, thus can send only PK.
3918
3919 PROCEDURE Lock_Row
3920 ( x_return_status OUT NOCOPY VARCHAR2
3921
3922 , p_x_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
3923 -- := OE_Order_PUB.G_MISS_HEADER_ADJ_REC
3924 , p_price_adjustment_id IN NUMBER
3925 := FND_API.G_MISS_NUM
3926 -- , x_Header_Adj_rec OUT OE_Order_PUB.Header_Adj_Rec_Type
3927 )
3928 IS
3929 l_price_adjustment_id NUMBER;
3930 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
3931 l_lock_control NUMBER;
3932 --
3933 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3934 --
3935 BEGIN
3936
3937 IF l_debug_level > 0 THEN
3938 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.LOCK_ROW' , 1 ) ;
3939 END IF;
3940
3941 SAVEPOINT Lock_Row;
3942
3943 l_lock_control := NULL;
3944
3945 -- Retrieve the primary key.
3946 IF p_price_adjustment_id <> FND_API.G_MISS_NUM THEN
3947 l_price_adjustment_id := p_price_adjustment_id;
3948 ELSE
3949 l_price_adjustment_id := p_x_header_adj_rec.price_adjustment_id;
3950 l_lock_control := p_x_header_adj_rec.lock_control;
3951 END IF;
3952
3953 -- added for performance change
3954 SELECT price_adjustment_id
3955 INTO l_price_adjustment_id
3956 FROM oe_price_adjustments
3957 WHERE price_adjustment_id = l_price_adjustment_id
3958 FOR UPDATE NOWAIT;
3959
3960 IF l_debug_level > 0 THEN
3961 oe_debug_pub.add( 'SELECTING FOR UPDATE.' , 1 ) ;
3962 END IF;
3963
3964 OE_Header_Adj_Util.Query_Row
3965 (p_price_adjustment_id => l_price_adjustment_id
3966 ,x_Header_Adj_rec => p_x_Header_Adj_rec
3967 );
3968
3969 IF l_debug_level > 0 THEN
3970 oe_debug_pub.add( 'QUERIED LOCK_CONTROL: '|| P_X_HEADER_ADJ_REC.LOCK_CONTROL , 1 ) ;
3971 END IF;
3972
3973 -- If lock_control is not passed(is null or missing), then return the locked record.
3974
3975
3976 IF l_lock_control is null OR
3977 l_lock_control = FND_API.G_MISS_NUM
3978 THEN
3979
3980 -- Set return status
3981 x_return_status := FND_API.G_RET_STS_SUCCESS;
3982 p_x_header_adj_rec.return_status := FND_API.G_RET_STS_SUCCESS;
3983
3984 -- return for lock by ID.
3985 RETURN;
3986
3987 END IF;
3988
3989 -- Row locked. If the whole record is passed, then
3990 -- Compare lock_control.
3991
3992 IF l_debug_level > 0 THEN
3993 oe_debug_pub.add( 'COMPARE ' , 1 ) ;
3994 END IF;
3995
3996 IF OE_GLOBALS.Equal(p_x_header_adj_rec.lock_control,
3997 l_lock_control)
3998 THEN
3999
4000 -- Row has not changed. Set out parameter.
4001
4002 IF l_debug_level > 0 THEN
4003 oe_debug_pub.add( 'LOCKED ROW' , 1 ) ;
4004 END IF;
4005
4006 -- Set return status
4007
4008 x_return_status := FND_API.G_RET_STS_SUCCESS;
4009 p_x_header_adj_rec.return_status := FND_API.G_RET_STS_SUCCESS;
4010
4011 ELSE
4012
4013 -- Row has changed by another user.
4014 IF l_debug_level > 0 THEN
4015 oe_debug_pub.add( 'ROW CHANGED BY OTHER USER' , 1 ) ;
4016 END IF;
4017
4018 x_return_status := FND_API.G_RET_STS_ERROR;
4019 p_x_header_adj_rec.return_status := FND_API.G_RET_STS_ERROR;
4020
4021 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4022 THEN
4023
4024 -- Release the lock
4025 ROLLBACK TO Lock_Row;
4026
4027 fnd_message.set_name('ONT','OE_LOCK_ROW_CHANGED');
4028 OE_MSG_PUB.Add;
4029
4030 END IF;
4031
4032 END IF;
4033
4034 IF l_debug_level > 0 THEN
4035 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.LOCK_ROW' , 1 ) ;
4036 END IF;
4037
4038 EXCEPTION
4039
4040 WHEN NO_DATA_FOUND THEN
4041
4042 x_return_status := FND_API.G_RET_STS_ERROR;
4043 p_x_Header_Adj_rec.return_status := FND_API.G_RET_STS_ERROR;
4044
4045 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4046 THEN
4047
4048 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_DELETED');
4049 FND_MSG_PUB.Add;
4050
4051 END IF;
4052 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
4053
4054 x_return_status := FND_API.G_RET_STS_ERROR;
4055 p_x_Header_Adj_rec.return_status := FND_API.G_RET_STS_ERROR;
4056
4057 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4058 THEN
4059
4060 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_ALREADY_LOCKED');
4061 FND_MSG_PUB.Add;
4062
4063 END IF;
4064 WHEN OTHERS THEN
4065
4066 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4067 p_x_Header_Adj_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4068
4069 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4070 THEN
4071 OE_MSG_PUB.Add_Exc_Msg
4072 ( G_PKG_NAME
4073 , 'Lock_Row'
4074 );
4075 END IF;
4076
4077 END Lock_Row;
4078
4079 PROCEDURE Lock_Rows
4080 ( p_price_adjustment_id IN NUMBER
4081 := FND_API.G_MISS_NUM
4082 , p_header_id IN NUMBER
4083 := FND_API.G_MISS_NUM
4084 , x_Header_Adj_tbl OUT NOCOPY OE_Order_PUB.Header_Adj_Tbl_Type
4085 , x_return_status OUT NOCOPY VARCHAR2
4086
4087 )
4088 IS
4089
4090 CURSOR lock_adj_hdr(p_header_id IN NUMBER) IS
4091 SELECT price_adjustment_id
4092 FROM oe_price_adjustments
4093 WHERE header_id = p_header_id
4094 FOR UPDATE NOWAIT;
4095
4096 l_price_adjustment_id NUMBER;
4097 l_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
4098 l_lock_control NUMBER;
4099
4100 --
4101 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4102 --
4103 BEGIN
4104
4105 IF l_debug_level > 0 THEN
4106 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.LOCK_ROWS.' , 1 ) ;
4107 END IF;
4108
4109 IF (p_price_adjustment_id IS NOT NULL AND
4110 p_price_adjustment_id <> FND_API.G_MISS_NUM) AND
4111 (p_header_id IS NOT NULL AND
4112 p_header_id <> FND_API.G_MISS_NUM)
4113 THEN
4114 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4115 OE_MSG_PUB.Add_Exc_Msg
4116 ( G_PKG_NAME
4117 , 'Lock_Rows'
4118 , 'Keys are mutually exclusive: price_adjustment_id = ' ||
4119 p_price_adjustment_id || ', header_id = ' || p_header_id );
4120 END IF;
4121
4122 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4123 END IF;
4124
4125 IF p_price_adjustment_id <> FND_API.G_MISS_NUM THEN
4126
4127 SELECT price_adjustment_id
4128 INTO l_price_adjustment_id
4129 FROM oe_price_adjustments
4130 WHERE price_adjustment_id = p_price_adjustment_id
4131 FOR UPDATE NOWAIT;
4132 END IF;
4133
4134 -- null header_id shouldn't be passed in unnecessarily if
4135 -- price_adjustment_id is passed in already.
4136 BEGIN
4137 IF p_header_id <> FND_API.G_MISS_NUM THEN
4138 SAVEPOINT LOCK_ROWS;
4139 OPEN lock_adj_hdr(p_header_id);
4140
4141 LOOP
4142 FETCH lock_adj_hdr INTO l_price_adjustment_id;
4143 EXIT WHEN lock_adj_hdr%NOTFOUND;
4144 END LOOP;
4145 CLOSE lock_adj_hdr;
4146 END IF;
4147 EXCEPTION
4148 WHEN OTHERS THEN
4149 ROLLBACK TO LOCK_ROWS;
4150
4151 IF lock_adj_hdr%ISOPEN THEN
4152 CLOSE lock_adj_hdr;
4153 END IF;
4154
4155 RAISE;
4156 END;
4157
4158 OE_Header_Adj_Util.Query_Rows
4159 ( p_price_adjustment_id => p_price_adjustment_id
4160 , p_header_id => p_header_id
4161 , x_Header_Adj_tbl => x_Header_Adj_tbl
4162 );
4163
4164 x_return_status := FND_API.G_RET_STS_SUCCESS;
4165
4166 EXCEPTION
4167 WHEN NO_DATA_FOUND THEN
4168 x_return_status := FND_API.G_RET_STS_ERROR;
4169 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4170 THEN
4171 fnd_message.set_name('ONT','OE_LOCK_ROW_DELETED');
4172 OE_MSG_PUB.Add;
4173 END IF;
4174
4175 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
4176 x_return_status := FND_API.G_RET_STS_ERROR;
4177 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4178 THEN
4179 fnd_message.set_name('ONT','OE_LOCK_ROW_ALREADY_LOCKED');
4180 OE_MSG_PUB.Add;
4181 END IF;
4182
4183 WHEN OTHERS THEN
4184 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4185 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4186 THEN
4187 OE_MSG_PUB.Add_Exc_Msg
4188 ( G_PKG_NAME
4189 , 'Lock_Row'
4190 );
4191 END IF;
4192
4193 IF l_debug_level > 0 THEN
4194 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.LOCK_ROWS.' , 1 ) ;
4195 END IF;
4196
4197 END Lock_Rows;
4198
4199 PROCEDURE Log_Adj_Requests
4200 ( x_return_status OUT NOCOPY VARCHAR2
4201
4202 , p_adj_rec IN OE_order_pub.Header_Adj_Rec_Type
4203 , p_old_adj_rec IN OE_order_pub.Header_Adj_Rec_Type
4204 , p_delete_flag IN BOOLEAN DEFAULT FALSE
4205 ) IS
4206
4207 --
4208 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4209 --
4210 BEGIN
4211
4212 x_return_status := FND_API.G_RET_STS_SUCCESS;
4213
4214 -- if the adjustment_id changed or the percent changed
4215 -- or discount or discount_line has changed
4216
4217 IF ( (p_adj_rec.price_adjustment_id <> p_old_adj_rec.price_adjustment_id
4218 OR
4219 p_old_adj_rec.price_adjustment_id IS NULL)
4220 OR
4221 (p_adj_rec.percent <> p_old_adj_rec.percent
4222 OR
4223 p_old_adj_rec.percent IS NULL)
4224 OR
4225 (p_adj_rec.discount_id <> p_old_adj_rec.discount_id
4226 OR
4227 p_old_adj_rec.discount_id IS NULL)
4228 OR
4229 (p_adj_rec.discount_line_id <> p_old_adj_rec.discount_line_id
4230 OR
4231 p_old_adj_rec.discount_line_id IS NULL)
4232 OR
4233 p_delete_flag)
4234 THEN
4235
4236 /*
4237 oe_delayed_requests_pvt.log_request(p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
4238 p_entity_id => p_adj_rec.header_id,
4239 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
4240 p_requesting_entity_id => p_adj_rec.
4241 price_adjustment_id,
4242 p_request_type => OE_GLOBALS.G_PRICE_ADJ,
4243 x_return_status => x_return_status);
4244 */
4245 null;
4246 END IF;
4247
4248 END Log_Adj_Requests;
4249
4250 -- Function Get_Values
4251
4252 FUNCTION Get_Values
4253 ( p_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type
4254 , p_old_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type :=
4255 OE_Order_PUB.G_MISS_HEADER_ADJ_REC
4256 ) RETURN OE_Order_PUB.Header_Adj_Val_Rec_Type
4257 IS
4258 l_Header_Adj_val_rec OE_Order_PUB.Header_Adj_Val_Rec_Type;
4259 --
4260 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4261 --
4262 BEGIN
4263
4264 IF (p_Header_Adj_rec.discount_id IS NULL OR
4265 p_Header_Adj_rec.discount_id <> FND_API.G_MISS_NUM) AND
4266 NOT OE_GLOBALS.Equal(p_Header_Adj_rec.discount_id,
4267 p_old_Header_Adj_rec.discount_id)
4268 THEN
4269 l_Header_Adj_val_rec.discount := OE_Id_To_Value.Discount
4270 ( p_discount_id => p_Header_Adj_rec.discount_id
4271 );
4272 END IF;
4273
4274 RETURN l_Header_Adj_val_rec;
4275
4276 END Get_Values;
4277
4278 -- Procedure Get_Ids
4279
4280 PROCEDURE Get_Ids
4281 ( p_x_Header_Adj_rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
4282 , p_Header_Adj_val_rec IN OE_Order_PUB.Header_Adj_Val_Rec_Type
4283 )
4284 IS
4285 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
4286 --
4287 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4288 --
4289 BEGIN
4290
4291 -- initialize return_status.
4292
4293 l_Header_Adj_rec.return_status := FND_API.G_RET_STS_SUCCESS;
4294
4295 -- initialize l_Header_Adj_rec.
4296
4297 l_Header_Adj_rec := p_x_Header_Adj_rec;
4298
4299 IF p_Header_Adj_val_rec.discount <> FND_API.G_MISS_CHAR
4300 THEN
4301
4302 IF p_x_Header_Adj_rec.discount_id <> FND_API.G_MISS_NUM THEN
4303
4304 l_Header_Adj_rec.discount_id := p_x_Header_Adj_rec.discount_id;
4305
4306 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
4307 THEN
4308
4309 FND_MESSAGE.SET_NAME('OE','OE_BOTH_VAL_AND_ID_EXIST');
4310 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','discount');
4311 FND_MSG_PUB.Add;
4312
4313 END IF;
4314
4315 ELSE
4316
4317 l_Header_Adj_rec.discount_id := OE_Value_To_Id.discount
4318 ( p_discount => p_Header_Adj_val_rec.discount
4319 );
4320
4321 IF l_Header_Adj_rec.discount_id = FND_API.G_MISS_NUM THEN
4322 l_Header_Adj_rec.return_status := FND_API.G_RET_STS_ERROR;
4323 END IF;
4324
4325 END IF;
4326
4327 END IF;
4328
4329
4330 -- RETURN l_Header_Adj_rec;
4331 p_x_Header_Adj_rec := l_Header_Adj_rec;
4332
4333 END Get_Ids;
4334
4335
4336 FUNCTION get_adj_total
4337 ( p_header_id IN NUMBER := null
4338 , p_line_id IN NUMBER :=null
4339 )
4340 RETURN NUMBER
4341 is
4342 l_adj_total NUMBER := 0;
4343 Is_fmt Boolean;
4344 --
4345 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4346 --
4347 BEGIN
4348
4349 IF l_debug_level > 0 THEN
4350 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.GET_ADJ_TOTAL' , 1 ) ;
4351 END IF;
4352
4353 IF (p_header_id IS NOT NULL AND
4354 NVL(p_header_id,-1)<>NVL(OE_ORDER_UTIL.G_Header_id,-10))
4355 OR OE_ORDER_UTIL.G_Precision IS NULL THEN
4356 Is_fmt:= OE_ORDER_UTIL.Get_Precision(
4357 p_header_id=>p_header_id
4358 );
4359 END IF;
4360
4361 IF (p_line_id IS NOT NULL AND
4362 NVL(p_Line_id,-1)<>NVL(OE_ORDER_UTIL.G_Line_id,-10))
4363 OR OE_ORDER_UTIL.G_Precision IS NULL THEN
4364 Is_fmt:= OE_ORDER_UTIL.Get_Precision(
4365 p_line_id=>p_line_id
4366 );
4367 END IF;
4368
4369 IF OE_ORDER_UTIL.G_Precision IS NULL THEN
4370 OE_ORDER_UTIL.G_Precision:=2;
4371 END IF;
4372
4373
4374 -- Query total.
4375 -- Separating into two separate SQLs for bug 3090569 --jvicenti
4376
4377 IF p_header_id IS NOT NULL THEN
4378 SELECT sum(ROUND(((unit_selling_price - unit_list_price)*
4379 ordered_quantity) ,OE_ORDER_UTIL.G_Precision))
4380 INTO l_adj_total
4381 FROM oe_order_lines_all
4382 WHERE HEADER_ID = p_header_id
4383 AND charge_periodicity_code IS NULL -- addded for recurring charges
4384 AND nvl(cancelled_flag,'N') ='N';
4385 ELSE
4386 SELECT sum(ROUND(((unit_selling_price - unit_list_price)*
4387 ordered_quantity) ,OE_ORDER_UTIL.G_Precision))
4388 INTO l_adj_total
4389 FROM oe_order_lines_all
4390 WHERE line_id = p_line_id
4391 AND nvl(cancelled_flag,'N') ='N';
4392 END IF;
4393
4394 IF l_adj_total IS NULL THEN
4395
4396 l_adj_total := 0;
4397
4398 END IF;
4399
4400 IF l_debug_level > 0 THEN
4401 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.GET_ADJ_TOTAL' , 1 ) ;
4402 END IF;
4403
4404 RETURN l_adj_total;
4405
4406 EXCEPTION
4407
4408 WHEN OTHERS THEN
4409
4410 -- Unexpected error
4411 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4412
4413 OE_MSG_PUB.Add_Exc_Msg
4414 ( G_PKG_NAME ,
4415 'Price_Utilities - Get_Adj_Total'
4416 );
4417 END IF;
4418
4419 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4420
4421 END Get_Adj_Total;
4422
4423 procedure get_line_adjustments
4424 (p_header_id number
4425 ,p_line_id number
4426 ,x_line_adjustments out nocopy line_adjustments_tab_type
4427
4428 )
4429 is
4430 l_index number := 0;
4431 --
4432 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4433 --
4434 BEGIN
4435
4436 IF l_debug_level > 0 THEN
4437 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.GET_LINE_ADJUSTMENTS' , 1 ) ;
4438 END IF;
4439
4440 for adj_cur in
4441 ( SELECT opa.price_adjustment_id
4442 ,opa.adjustment_name
4443 ,opa.adjustment_description --Enhancement 3816014
4444 ,opa.list_line_no
4445 ,opa.adjustment_type_code
4446 ,opa.operand
4447 ,opa.arithmetic_operator
4448 --Bug 3340636 Starts
4449 ,decode(list_line_type_code,'SUR',
4450 -1 * (decode(opa.arithmetic_operator,
4451 null,0,
4452 '%', opa.operand*ool.unit_list_price/100,
4453 'AMT',opa.operand,
4454 'NEWPRICE',ool.unit_list_price - opa.operand)),
4455 decode(opa.arithmetic_operator,null,0,'%',
4456 opa.operand*ool.unit_list_price/100,
4457 'AMT',opa.operand,
4458 'NEWPRICE',ool.unit_list_price-opa.operand))
4459 unit_discount_amount
4460 --Bug 3340636 Ends
4461 FROM oe_price_adjustments_v opa
4462 , oe_order_lines_all ool
4463 WHERE opa.HEADER_ID = p_header_id
4464 and opa.line_id is null
4465 and ool.line_id = p_line_id
4466 and ool.header_id = p_header_id
4467 and nvl(opa.applied_flag,'N') = 'Y'
4468 and nvl(opa.accrual_flag,'N') = 'N'
4469 and list_line_type_code in ('DIS','SUR','PBH')
4470 UNION
4471 -- get line adjustments
4472 SELECT opa.price_adjustment_id
4473 ,opa.adjustment_name
4474 ,opa.adjustment_description --Enhancement 3816014
4475 ,opa.list_line_no
4476 ,opa.adjustment_type_code
4477 ,opa.operand
4478 ,opa.arithmetic_operator
4479 ,Nvl(opa.adjusted_amount,0)*(-1) unit_discount_amount --added nvl for bug 13605684
4480 FROM oe_price_adjustments_v opa
4481 , oe_order_lines_all ool
4482 WHERE opa.line_id =p_line_id
4483 and ool.line_id = p_line_id
4484 and ool.header_id = p_header_id
4485 and nvl(opa.applied_flag,'N') = 'Y'
4486 and nvl(opa.accrual_flag,'N') = 'N'
4487 and list_line_type_code in ('DIS','SUR','PBH')
4488 )
4489 loop
4490
4491 l_index:= l_index+1;
4492 x_line_adjustments(l_index).price_adjustment_id := adj_cur.price_adjustment_id;
4493 x_line_adjustments(l_index).adjustment_name := adj_cur.adjustment_name;
4494 x_line_adjustments(l_index).adjustment_description := adj_cur.adjustment_description; --Enhancement 3816014
4495 x_line_adjustments(l_index).list_line_no := adj_cur.list_line_no;
4496 x_line_adjustments(l_index).adjustment_type_code:= adj_cur.adjustment_type_code;
4497 x_line_adjustments(l_index).operand:= adj_cur.operand;
4498 x_line_adjustments(l_index).arithmetic_operator:= adj_cur.arithmetic_operator;
4499 x_line_adjustments(l_index).unit_discount_amount := adj_cur.unit_discount_amount;
4500
4501 end loop;
4502
4503
4504 IF l_debug_level > 0 THEN
4505 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.GET_LINE_ADJUSTMENTS' , 1 ) ;
4506 END IF;
4507
4508
4509 EXCEPTION
4510
4511 WHEN OTHERS THEN
4512
4513 -- Unexpected error
4514 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4515
4516 OE_MSG_PUB.Add_Exc_Msg
4517 ( G_PKG_NAME ,
4518 'Header_utilities - get_line_adjustments'
4519 );
4520 END IF;
4521
4522 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4523
4524 END get_line_adjustments;
4525
4526 /* Start AuditTrail */
4527 PROCEDURE Pre_Write_Process
4528 (p_x_header_adj_rec IN OUT NOCOPY /* file.sql.39 change */ OE_ORDER_PUB.header_adj_rec_type,
4529 p_old_header_adj_rec IN OE_ORDER_PUB.header_adj_rec_type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_REC) IS
4530 /*local */
4531 l_return_status varchar2(30);
4532 --
4533 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4534 --
4535 l_org_id NUMBER(15):=MO_GLOBAL.Get_Current_Org_Id; --TaxER
4536 l_current_event number := 0; --TaxER
4537 l_tax_calculation_event_code number := 0; --TaxER
4538 l_header_rec OE_Order_PUB.Header_Rec_Type; --TaxER
4539 BEGIN
4540
4541 --11.5.10 Versioning/Audit Trail updates
4542 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510' AND
4543 OE_GLOBALS.G_ROLL_VERSION <> 'N' AND
4544 NOT OE_GLOBALS.G_HEADER_CREATED THEN
4545 IF OE_GLOBALS.G_REASON_CODE IS NULL AND
4546 OE_GLOBALS.G_CAPTURED_REASON IN ('V','A') THEN
4547 IF p_x_header_adj_rec.change_reason_code <> FND_API.G_MISS_CHAR THEN
4548 OE_GLOBALS.G_REASON_TYPE := 'CHANGE_CODE';
4549 OE_GLOBALS.G_REASON_CODE := p_x_header_adj_rec.change_reason_code;
4550 OE_GLOBALS.G_REASON_COMMENTS := p_x_header_adj_rec.change_reason_text;
4551 OE_GLOBALS.G_CAPTURED_REASON := 'Y';
4552 ELSE
4553 IF l_debug_level > 0 THEN
4554 OE_DEBUG_PUB.add('Reason code for versioning is missing', 1);
4555 END IF;
4556 IF OE_GLOBALS.G_UI_FLAG THEN
4557 raise FND_API.G_EXC_ERROR;
4558 END IF;
4559 END IF;
4560 END IF;
4561
4562 --log delayed request
4563 oe_debug_pub.add('log versioning request',1);
4564 OE_Delayed_Requests_Pvt.Log_Request(p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
4565 p_entity_id => p_x_header_adj_rec.header_id,
4566 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
4567 p_requesting_entity_id => p_x_header_adj_rec.price_adjustment_id,
4568 p_request_type => OE_GLOBALS.G_VERSION_AUDIT,
4569 x_return_status => l_return_status);
4570 END IF;
4571
4572 if (p_x_header_adj_rec.operation = OE_GLOBALS.G_OPR_UPDATE) then
4573
4574 IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG = 'Y' OR
4575 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG = 'Y' THEN
4576
4577 IF l_debug_level > 0 THEN
4578 oe_debug_pub.add( 'CALL TO RECORD HEADER PRICE ADJ HISTORY' , 5 ) ;
4579 END IF;
4580 --11.5.10 Versioning/Audit Trail updates
4581 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510' THEN
4582 OE_Versioning_Util.Capture_Audit_Info(p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
4583 p_entity_id => p_x_header_adj_rec.price_adjustment_id,
4584 p_hist_type_code => 'UPDATE');
4585 --log delayed request
4586 OE_Delayed_Requests_Pvt.Log_Request(p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
4587 p_entity_id => p_x_header_adj_rec.header_id,
4588 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
4589 p_requesting_entity_id => p_x_header_adj_rec.header_id,
4590 p_request_type => OE_GLOBALS.G_VERSION_AUDIT,
4591 x_return_status => l_return_status);
4592 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
4593 ELSE
4594 OE_CHG_ORDER_PVT.RecordHPAdjHist
4595 ( p_header_adj_id => p_x_header_adj_rec.price_adjustment_id,
4596 p_header_adj_rec => null,
4597 p_hist_type_code => 'UPDATE',
4598 p_reason_code => p_x_header_adj_rec.change_reason_code,
4599 p_comments => p_x_header_adj_rec.change_reason_text,
4600 p_wf_activity_code => null,
4601 p_wf_result_code => null,
4602 x_return_status => l_return_status );
4603 END IF;
4604
4605 END IF;
4606
4607 IF l_return_status <> FND_API.G_RET_STS_SUCCESS then
4608 IF l_debug_level > 0 THEN
4609 oe_debug_pub.add( 'INSERT INTO HEADER PRICE ADJUSTMENTS AUDIT HISTORY CAUSED ERROR' , 1 ) ;
4610 END IF;
4611 IF l_return_status = FND_API.G_RET_STS_ERROR then
4612 raise FND_API.G_EXC_ERROR;
4613 ELSE
4614 raise FND_API.G_EXC_UNEXPECTED_ERROR;
4615 END IF;
4616 END IF;
4617 END IF;
4618
4619
4620 --TaxER start
4621 IF (NVL(oe_sys_parameters.value('OE_INVOICE_FREIGHT_AS_LINE',l_org_id), 'N') = 'Y')
4622 AND p_x_header_adj_rec.list_line_type_code = 'FREIGHT_CHARGE' THEN
4623 BEGIN
4624
4625 IF OE_Order_Cache.g_header_rec.order_type_id is not null THEN
4626
4627 IF (OE_Order_Cache.g_order_type_rec.order_type_id = FND_API.G_MISS_NUM)
4628 OR (OE_Order_Cache.g_order_type_rec.order_type_id is null)
4629 OR (OE_Order_Cache.g_order_type_rec.order_type_id <> OE_Order_Cache.g_header_rec.Order_Type_id)
4630 THEN
4631 OE_Order_Cache.Load_Order_type(OE_Order_CACHE.g_header_rec.Order_Type_id) ;
4632 END IF ;
4633
4634 IF (OE_Order_Cache.g_order_type_rec.order_type_id = OE_Order_Cache.g_header_rec.Order_Type_id) THEN
4635 if (OE_Order_Cache.g_order_type_rec.tax_calculation_event_code = 'ENTERING') then
4636 l_tax_calculation_event_code := 0;
4637 elsif (OE_Order_Cache.g_order_type_rec.tax_calculation_event_code = 'BOOKING') then
4638 l_tax_calculation_event_code := 1;
4639 elsif (OE_Order_Cache.g_order_type_rec.tax_calculation_event_code = 'SHIPPING') then
4640 l_tax_calculation_event_code := 2;
4641 elsif (OE_Order_Cache.g_order_type_rec.tax_calculation_event_code = 'INVOICING') then
4642 l_tax_calculation_event_code := 3;
4643 else
4644 l_tax_calculation_event_code := -1;
4645 end if ;
4646 ELSE
4647 l_tax_calculation_event_code := 0 ;
4648 END IF ;
4649
4650
4651 END IF;
4652
4653 EXCEPTION
4654 WHEN NO_DATA_FOUND THEN
4655 l_tax_calculation_event_code := 0;
4656 WHEN OTHERS THEN
4657 IF l_debug_level > 0 THEN
4658 oe_debug_pub.add('OEXUHADB:Failed while trying to query up tax_calcualtion_event for order_type_id ');
4659 END IF;
4660
4661 RAISE;
4662 END;
4663
4664 BEGIN
4665
4666 l_header_rec := OE_Header_UTIL.Query_Row(p_header_id=> p_x_header_adj_rec.header_id);
4667
4668 EXCEPTION
4669 WHEN NO_DATA_FOUND THEN --bug 12594800
4670 l_current_event := 0; /* Event is Entering */
4671 END;
4672
4673 IF nvl(l_header_rec.booked_flag, 'N') = 'Y' THEN
4674 l_current_event := 1; /* current event is booking or higher */
4675 END IF;
4676
4677 IF l_debug_level > 0 THEN
4678 oe_debug_pub.add('OEXUHADB:Tax Event Code :'||l_tax_calculation_event_code);
4679 oe_debug_pub.add('OEXUHADB:Current Event :'||l_current_event);
4680 END IF;
4681
4682
4683 IF l_current_event >= l_tax_calculation_event_code THEN
4684
4685 IF (OE_GLOBALS.G_UI_FLAG)
4686 AND nvl(FND_PROFILE.VALUE('ONT_DELAY_TAX_CALC'), 'N') = 'N'
4687 THEN
4688 OE_delayed_requests_Pvt.log_request(
4689 p_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
4690 p_entity_id => p_x_header_adj_rec.header_id,
4691 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
4692 p_requesting_entity_id => p_x_header_adj_rec.header_id,
4693 p_request_type => OE_GLOBALS.g_tax_line,
4694 x_return_status => l_return_status);
4695 ELSE
4696 OE_delayed_requests_Pvt.log_request(
4697 p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
4698 p_entity_id => p_x_header_adj_rec.header_id,
4699 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
4700 p_requesting_entity_id => p_x_header_adj_rec.header_id,
4701 p_request_type => OE_GLOBALS.g_tax_line,
4702 p_param1 => NULL,
4703 x_return_status => l_return_status);
4704 END IF;
4705 END IF;
4706
4707 END IF;
4708
4709 --TaxER end
4710
4711
4712 END Pre_Write_Process;
4713 /* End AuditTrail */
4714
4715 /* Added the following procedure to fix the bug 2170086 */
4716 PROCEDURE copy_header_adjustments
4717 ( p_from_header_id IN NUMBER
4718 , p_to_header_id IN NUMBER
4719 , p_to_order_category IN VARCHAR2
4720 , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
4721 )
4722 is
4723 l_copy_freight_charge VARCHAR2(1);
4724 l_from_order_category VARCHAR2(30);
4725 l_from_header_adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
4726 l_from_header_adj_att_tbl OE_Order_Pub.Header_Adj_Att_Tbl_Type;
4727 l_header_adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
4728 l_header_adj_att_tbl OE_Order_Pub.Header_Adj_Att_Tbl_Type;
4729 i pls_integer;
4730 j pls_integer;
4731 l_control_rec OE_Globals.Control_rec_type;
4732 l_header_rec OE_Order_PUB.Header_Rec_Type;
4733 l_x_Header_price_Att_tbl OE_Order_PUB.Header_price_Att_tbl_type;
4734 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_tbl_type;
4735 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
4736 l_line_tbl OE_Order_PUB.Line_Tbl_Type;
4737 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
4738 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_tbl_type;
4739 l_x_Line_price_Att_tbl OE_Order_PUB.Line_price_Att_tbl_type;
4740 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_tbl_type;
4741 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
4742 l_x_lot_serial_tbl OE_Order_PUB.lot_serial_tbl_type;
4743 l_x_action_request_tbl OE_Order_PUB.request_tbl_type;
4744 l_x_msg_count NUMBER;
4745 l_x_msg_data VARCHAR2(2000);
4746
4747 cursor c1
4748 is
4749 select order_category_code
4750 from oe_order_headers
4751 where header_id = p_from_header_id;
4752
4753 BEGIN
4754
4755 oe_debug_pub.add('Entering OE_Header_Adj_Util.copy_header_adjustments ', 1);
4756
4757 /* Get Order category of the order FROM which adjustments are being copied. */
4758 for c1_rec in c1 loop
4759 l_from_order_category := c1_rec.order_category_code;
4760 end loop;
4761
4762 /* Header Level adjustment for FROM Header */
4763 IF OE_CODE_CONTROL.Get_Code_Release_Level >= '110510' THEN
4764 OE_Version_History_Util.Query_Rows
4765 ( p_header_id => p_from_header_id
4766 , p_version_number => OE_ORDER_COPY_UTIL.G_HDR_VER_NUMBER
4767 , p_phase_change_flag => OE_ORDER_COPY_UTIL.G_HDR_PHASE_CHANGE_FLAG
4768 , x_Header_Adj_Tbl => l_from_header_adj_tbl);
4769 ELSE
4770 OE_Header_Adj_Util.Query_Rows( p_header_Id => p_from_header_id
4771 , x_Header_Adj_Tbl => l_from_header_adj_tbl
4772 );
4773 END IF;
4774
4775 i := l_from_header_adj_tbl.First;
4776 While i is not null Loop
4777
4778 oe_debug_pub.add('inside copy header adj '||l_from_header_adj_tbl(i).list_line_type_code);
4779
4780 /* If it's a Freight Charge then ... */
4781 If l_from_header_adj_tbl(i).list_line_type_code <> 'FREIGHT_CHARGE' and
4782 l_from_header_adj_tbl(i).list_line_type_code <> 'OM_CALLED_FREIGHT_RATES' and -- bug 4304163
4783 l_from_header_adj_tbl(i).list_line_type_code <> 'OM_CALLED_CHOOSE_SHIP_METHOD' then --Bug3322938
4784
4785 /* Copy Freight Charge only if the flag was set to 'Y' */
4786
4787 oe_header_price_aattr_util.Query_Rows(
4788 p_price_adjustment_id => l_from_header_adj_tbl(i).price_adjustment_id,
4789 x_header_adj_att_tbl => l_from_header_adj_att_tbl
4790 );
4791
4792 j := l_from_header_adj_att_tbl.First;
4793 While j is not null Loop
4794
4795 l_from_header_adj_att_tbl(j).operation := OE_GLOBALS.G_OPR_CREATE;
4796 l_from_header_adj_att_tbl(j).price_adjustment_id := fnd_api.g_miss_num;
4797 l_from_header_adj_att_tbl(j).adj_index := l_header_adj_tbl.count+1;
4798 l_from_header_adj_att_tbl(j).price_adj_attrib_id := fnd_api.g_miss_num;
4799
4800 l_header_adj_att_tbl(l_header_adj_att_tbl.count+1) := l_from_header_adj_att_tbl(j);
4801
4802 j := l_from_header_adj_att_tbl.Next(j);
4803
4804 End Loop;
4805
4806 l_from_header_adj_tbl(i).operation := OE_GLOBALS.G_OPR_CREATE;
4807 l_from_header_adj_tbl(i).header_id := p_to_header_id;
4808 l_from_header_adj_tbl(i).invoiced_flag := 'N';
4809 l_from_header_adj_tbl(i).price_adjustment_id := fnd_api.g_miss_num;
4810
4811 l_header_adj_tbl(l_header_adj_tbl.count+1) := l_from_header_adj_tbl(i);
4812
4813
4814 End if; -- List Line Type <> Freight Charge
4815
4816 i:= l_from_header_adj_tbl.Next(i);
4817 End Loop;
4818
4819 If l_header_adj_tbl.count > 0 or l_header_adj_att_tbl.count > 0 Then
4820
4821 -- set control record
4822 l_control_rec.controlled_operation := TRUE;
4823 l_control_rec.write_to_DB := TRUE;
4824 l_control_rec.change_attributes := TRUE;
4825 l_control_rec.default_attributes := TRUE;
4826 l_control_rec.validate_entity := TRUE;
4827 l_control_rec.clear_dependents := TRUE;
4828
4829 l_control_rec.process := FALSE;
4830 l_control_rec.clear_api_cache := FALSE;
4831 l_control_rec.clear_api_requests := FALSE;
4832
4833 oe_debug_pub.add('Before OE_Order_PVT.Process_order',3);
4834
4835 -- OE_Globals.G_RECURSION_MODE := 'Y';
4836
4837 -- Call OE_Order_PVT.Process_order
4838 OE_Order_PVT.Process_order
4839 ( p_api_version_number => 1.0
4840 , x_return_status => x_return_status
4841 , x_msg_count => l_x_msg_count
4842 , x_msg_data => l_x_msg_data
4843 , p_control_rec => l_control_rec
4844 , p_x_header_rec => l_header_rec
4845 , p_x_Header_Adj_tbl => l_Header_Adj_Tbl
4846 , p_x_Header_Adj_att_tbl => l_Header_Adj_Att_Tbl
4847 , p_x_Header_Price_Att_Tbl => l_x_Header_Price_Att_Tbl
4848 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
4849 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
4850 , p_x_line_tbl => l_line_tbl
4851 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
4852 , p_x_Line_Adj_att_tbl => l_x_Line_Adj_att_tbl
4853 , p_x_Line_Price_att_tbl => l_x_Line_Price_att_tbl
4854 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
4855 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
4856 , p_x_Lot_Serial_tbl => l_x_Lot_Serial_Tbl
4857 , p_x_action_request_tbl => l_x_Action_Request_tbl
4858 );
4859
4860 -- OE_Globals.G_RECURSION_MODE := 'N';
4861
4862 If x_return_status = FND_API.G_RET_STS_UNEXP_ERROR Then
4863 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4864 Elsif x_return_status = FND_API.G_RET_STS_ERROR Then
4865 RAISE FND_API.G_EXC_ERROR;
4866 End If;
4867
4868 End If;
4869
4870 oe_debug_pub.add('Exiting OE_Header_Adj_Util.copy_header_adjustments ', 1);
4871
4872 EXCEPTION
4873
4874 WHEN FND_API.G_EXC_ERROR THEN
4875 x_return_status := FND_API.G_RET_STS_ERROR;
4876
4877 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4878 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4879 oe_debug_pub.add(G_PKG_NAME||':copy_header_adjuetments :'||SQLERRM);
4880
4881 WHEN OTHERS THEN
4882 If FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) Then
4883 OE_MSG_PUB.Add_Exc_Msg
4884 ( G_PKG_NAME
4885 , 'Copy_header_adjustments '
4886 );
4887 End If;
4888 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4889
4890 END copy_header_adjustments ;
4891
4892 /* End of the procedure added to fix the bug 2170086 */
4893
4894 /* Fix for 1559906: New Procedure to Copy Freight Charges */
4895
4896 PROCEDURE copy_freight_charges
4897 ( p_from_header_id IN NUMBER
4898 , p_to_header_id IN NUMBER
4899 , p_to_order_category IN VARCHAR2
4900 , x_return_status OUT NOCOPY VARCHAR2
4901
4902 )
4903 is
4904 l_copy_freight_charge VARCHAR2(1);
4905 l_from_order_category VARCHAR2(30);
4906 l_from_header_adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
4907 l_from_header_adj_att_tbl OE_Order_Pub.Header_Adj_Att_Tbl_Type;
4908 l_header_adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
4909 l_header_adj_att_tbl OE_Order_Pub.Header_Adj_Att_Tbl_Type;
4910 i pls_integer;
4911 j pls_integer;
4912 l_control_rec OE_Globals.Control_rec_type;
4913 l_header_rec OE_Order_PUB.Header_Rec_Type;
4914 l_x_Header_price_Att_tbl OE_Order_PUB.Header_price_Att_tbl_type;
4915 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_tbl_type;
4916 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
4917 l_line_tbl OE_Order_PUB.Line_Tbl_Type;
4918 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
4919 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_tbl_type;
4920 l_x_Line_price_Att_tbl OE_Order_PUB.Line_price_Att_tbl_type;
4921 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_tbl_type;
4922 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
4923 l_x_lot_serial_tbl OE_Order_PUB.lot_serial_tbl_type;
4924 l_x_action_request_tbl OE_Order_PUB.request_tbl_type;
4925 l_x_msg_count NUMBER;
4926 l_x_msg_data VARCHAR2(2000);
4927
4928 cursor c1
4929 is
4930 select order_category_code
4931 from oe_order_headers
4932 where header_id = p_from_header_id;
4933 --serla begin
4934 l_x_Header_Payment_tbl OE_Order_PUB.Header_Payment_Tbl_Type;
4935 l_x_Line_Payment_tbl OE_Order_PUB.Line_Payment_Tbl_Type;
4936 --serla end
4937 --
4938 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4939 --
4940 BEGIN
4941
4942 IF l_debug_level > 0 THEN
4943 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.COPY_FREIGHT_CHARGES' , 1 ) ;
4944 END IF;
4945
4946 /* Get Order category of the order FROM which charges are being copied. */
4947 for c1_rec in c1 loop
4948 l_from_order_category := c1_rec.order_category_code;
4949 end loop;
4950
4951 /* Header Level Charges for FROM Header */
4952 IF OE_CODE_CONTROL.Get_Code_Release_Level >= '110510' THEN
4953 OE_Version_History_Util.Query_Rows
4954 ( p_header_id => p_from_header_id
4955 , p_version_number => OE_ORDER_COPY_UTIL.G_HDR_VER_NUMBER
4956 , p_phase_change_flag => OE_ORDER_COPY_UTIL.G_HDR_PHASE_CHANGE_FLAG
4957 , x_Header_Adj_Tbl => l_from_header_adj_tbl);
4958 ELSE
4959 OE_Header_Adj_Util.Query_Rows( p_header_Id => p_from_header_id
4960 , x_Header_Adj_Tbl => l_from_header_adj_tbl);
4961 END IF;
4962
4963 i := l_from_header_adj_tbl.First;
4964 While i is not null Loop
4965
4966 oe_debug_pub.add('Inside copy frieght charges .. '||l_from_header_adj_tbl(i).list_line_type_code);
4967
4968 l_copy_freight_charge := 'N';
4969
4970 /* If it's a Freight Charge then ... */
4971 If l_from_header_adj_tbl(i).list_line_type_code = 'FREIGHT_CHARGE' then
4972
4973 /* If copying from Order to Return then ... */
4974 If l_from_order_category = 'ORDER' and p_to_order_category = 'RETURN' then
4975
4976 If (NVL(l_from_header_Adj_Tbl(i).include_on_returns_flag,'Y') = 'Y' and
4977 NVL(l_from_header_Adj_Tbl(i).applied_flag,'N') = 'Y') then
4978
4979 l_copy_freight_charge := 'Y';
4980
4981 if l_from_header_adj_tbl(i).credit_or_charge_flag = 'C' then
4982 l_from_header_adj_tbl(i).credit_or_charge_flag := 'D';
4983 else
4984 l_from_header_adj_tbl(i).credit_or_charge_flag := 'C';
4985 end if;
4986
4987 l_from_header_adj_tbl(i).updated_flag := 'Y';
4988 l_from_header_adj_tbl(i).change_reason_code := 'MISC';
4989 l_from_header_adj_tbl(i).change_reason_text := 'Reversing Credit';
4990
4991 End if;
4992
4993 /* If copying from Return to Order then ... */
4994 Elsif l_from_order_category = 'RETURN' and p_to_order_category = 'ORDER' then
4995
4996 l_copy_freight_charge := 'Y';
4997
4998 if l_from_header_adj_tbl(i).credit_or_charge_flag = 'C' then
4999 l_from_header_adj_tbl(i).credit_or_charge_flag := 'D';
5000 else
5001 l_from_header_adj_tbl(i).credit_or_charge_flag := 'C';
5002 end if;
5003
5004 l_from_header_adj_tbl(i).updated_flag := 'N';
5005 l_from_header_adj_tbl(i).change_reason_code := NULL;
5006 l_from_header_adj_tbl(i).change_reason_text := NULL;
5007
5008 /*
5009 ** Else copying from:
5010 ** Order-> Order, Return-> Return, Mixed-> Mixed, Order-> Mixed, Return-> Mixed.
5011 */
5012 Else
5013
5014 /* Copy the charge as it is */
5015 l_copy_freight_charge := 'Y';
5016
5017 End if; -- Order Category
5018
5019 /* Copy Freight Charge only if the flag was set to 'Y' */
5020 If l_copy_freight_charge = 'Y' Then
5021
5022 oe_header_price_aattr_util.Query_Rows(
5023 p_price_adjustment_id => l_from_header_adj_tbl(i).price_adjustment_id,
5024 x_header_adj_att_tbl => l_from_header_adj_att_tbl
5025 );
5026
5027 j := l_from_header_adj_att_tbl.First;
5028 While j is not null Loop
5029
5030 l_from_header_adj_att_tbl(j).operation := OE_GLOBALS.G_OPR_CREATE;
5031 l_from_header_adj_att_tbl(j).price_adjustment_id := fnd_api.g_miss_num;
5032 l_from_header_adj_att_tbl(j).adj_index := l_header_adj_tbl.count+1;
5033 l_from_header_adj_att_tbl(j).price_adj_attrib_id := fnd_api.g_miss_num;
5034
5035 l_header_adj_att_tbl(l_header_adj_att_tbl.count+1) := l_from_header_adj_att_tbl(j);
5036
5037 j := l_from_header_adj_att_tbl.Next(j);
5038
5039 End Loop;
5040
5041 l_from_header_adj_tbl(i).operation := OE_GLOBALS.G_OPR_CREATE;
5042 l_from_header_adj_tbl(i).header_id := p_to_header_id;
5043 l_from_header_adj_tbl(i).invoiced_flag := 'N';
5044 l_from_header_adj_tbl(i).invoiced_amount := NULL;
5045 l_from_header_adj_tbl(i).price_adjustment_id := fnd_api.g_miss_num;
5046
5047 l_header_adj_tbl(l_header_adj_tbl.count+1) := l_from_header_adj_tbl(i);
5048
5049 End If;
5050
5051 End if; -- List Line Type = Freight Charge
5052
5053 i:= l_from_header_adj_tbl.Next(i);
5054 End Loop;
5055
5056 If l_header_adj_tbl.count > 0 or l_header_adj_att_tbl.count > 0 Then
5057
5058 -- set control record
5059 l_control_rec.controlled_operation := TRUE;
5060 l_control_rec.write_to_DB := TRUE;
5061 l_control_rec.change_attributes := TRUE;
5062 l_control_rec.default_attributes := TRUE;
5063 l_control_rec.validate_entity := TRUE;
5064 l_control_rec.clear_dependents := TRUE;
5065
5066 l_control_rec.process := FALSE;
5067 l_control_rec.clear_api_cache := FALSE;
5068 l_control_rec.clear_api_requests := FALSE;
5069
5070 IF l_debug_level > 0 THEN
5071 oe_debug_pub.add( 'BEFORE OE_ORDER_PVT.PROCESS_ORDER' , 3 ) ;
5072 END IF;
5073
5074 -- OE_Globals.G_RECURSION_MODE := 'Y';
5075
5076 -- Call OE_Order_PVT.Process_order
5077 OE_Order_PVT.Process_order
5078 ( p_api_version_number => 1.0
5079 , x_return_status => x_return_status
5080 , x_msg_count => l_x_msg_count
5081 , x_msg_data => l_x_msg_data
5082 , p_control_rec => l_control_rec
5083 , p_x_header_rec => l_header_rec
5084 , p_x_Header_Adj_tbl => l_Header_Adj_Tbl
5085 , p_x_Header_Adj_att_tbl => l_Header_Adj_Att_Tbl
5086 , p_x_Header_Price_Att_Tbl => l_x_Header_Price_Att_Tbl
5087 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
5088 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
5089 --serla begin
5090 , p_x_Header_Payment_tbl => l_x_Header_Payment_tbl
5091 --serla end
5092 , p_x_line_tbl => l_line_tbl
5093 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
5094 , p_x_Line_Adj_att_tbl => l_x_Line_Adj_att_tbl
5095 , p_x_Line_Price_att_tbl => l_x_Line_Price_att_tbl
5096 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
5097 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
5098 --serla begin
5099 , p_x_Line_Payment_tbl => l_x_Line_Payment_tbl
5100 --serla end
5101 , p_x_Lot_Serial_tbl => l_x_Lot_Serial_Tbl
5102 , p_x_action_request_tbl => l_x_Action_Request_tbl
5103 );
5104
5105 -- OE_Globals.G_RECURSION_MODE := 'N';
5106
5107 If x_return_status = FND_API.G_RET_STS_UNEXP_ERROR Then
5108 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5109 Elsif x_return_status = FND_API.G_RET_STS_ERROR Then
5110 RAISE FND_API.G_EXC_ERROR;
5111 End If;
5112
5113 End If;
5114
5115 IF l_debug_level > 0 THEN
5116 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.COPY_FREIGHT_CHARGES' , 1 ) ;
5117 END IF;
5118
5119 EXCEPTION
5120
5121 WHEN FND_API.G_EXC_ERROR THEN
5122 x_return_status := FND_API.G_RET_STS_ERROR;
5123
5124 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5125 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5126 IF l_debug_level > 0 THEN
5127 oe_debug_pub.add( G_PKG_NAME||':COPY_FREIGHT_CHARGES:'||SQLERRM ) ;
5128 END IF;
5129
5130 WHEN OTHERS THEN
5131 If FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) Then
5132 OE_MSG_PUB.Add_Exc_Msg
5133 ( G_PKG_NAME
5134 , 'Copy_Freight_Charges'
5135 );
5136 End If;
5137 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5138
5139 END copy_freight_charges;
5140
5141 --Recurring Charges
5142 FUNCTION get_rec_adj_total
5143 ( p_header_id IN NUMBER := null
5144 , p_line_id IN NUMBER :=null
5145 , p_charge_periodicity_code IN VARCHAR2
5146 )
5147 RETURN NUMBER
5148 is
5149 l_adj_total NUMBER := 0;
5150 Is_fmt Boolean;
5151 --
5152 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5153 --
5154 BEGIN
5155
5156 IF l_debug_level > 0 THEN
5157 oe_debug_pub.add( 'ENTERING OE_HEADER_ADJ_UTIL.GET_ADJ_TOTAL' , 1 ) ;
5158 END IF;
5159
5160 IF (p_header_id IS NOT NULL AND
5161 NVL(p_header_id,-1)<>NVL(OE_ORDER_UTIL.G_Header_id,-10))
5162 OR OE_ORDER_UTIL.G_Precision IS NULL THEN
5163 Is_fmt:= OE_ORDER_UTIL.Get_Precision(
5164 p_header_id=>p_header_id
5165 );
5166 END IF;
5167
5168 IF (p_line_id IS NOT NULL AND
5169 NVL(p_Line_id,-1)<>NVL(OE_ORDER_UTIL.G_Line_id,-10))
5170 OR OE_ORDER_UTIL.G_Precision IS NULL THEN
5171 Is_fmt:= OE_ORDER_UTIL.Get_Precision(
5172 p_line_id=>p_line_id
5173 );
5174 END IF;
5175
5176 IF OE_ORDER_UTIL.G_Precision IS NULL THEN
5177 OE_ORDER_UTIL.G_Precision:=2;
5178 END IF;
5179
5180
5181 -- Query total.
5182 -- Separating into two separate SQLs for bug 3090569 --jvicenti
5183
5184 IF p_header_id IS NOT NULL THEN
5185 SELECT sum(ROUND(((unit_selling_price - unit_list_price)*
5186 ordered_quantity) ,OE_ORDER_UTIL.G_Precision))
5187 INTO l_adj_total
5188 FROM oe_order_lines_all
5189 WHERE HEADER_ID = p_header_id
5190 AND nvl(charge_periodicity_code,'ONE') = p_charge_periodicity_code
5191 AND nvl(cancelled_flag,'N') ='N';
5192 END IF;
5193
5194 IF l_adj_total IS NULL THEN
5195
5196 l_adj_total := 0;
5197
5198 END IF;
5199
5200 IF l_debug_level > 0 THEN
5201 oe_debug_pub.add( 'EXITING OE_HEADER_ADJ_UTIL.GET_ADJ_TOTAL' , 1 ) ;
5202 END IF;
5203
5204 RETURN l_adj_total;
5205
5206 EXCEPTION
5207
5208 WHEN OTHERS THEN
5209
5210 -- Unexpected error
5211 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5212
5213 OE_MSG_PUB.Add_Exc_Msg
5214 ( G_PKG_NAME ,
5215 'Price_Utilities - Get_Adj_Total'
5216 );
5217 END IF;
5218
5219 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5220
5221 END Get_Rec_Adj_Total;
5222 -- Recurring CHarges
5223
5224 --rc
5225 -- New function added to return the recurring amount given the order level modifier and periodicity
5226 FUNCTION get_rec_order_adj_total
5227 ( p_header_id IN NUMBER DEFAULT NULL
5228 , p_price_adjustment_id IN NUMBER DEFAULT NULL
5229 , p_charge_periodicity_code IN VARCHAR2 DEFAULT NULL
5230 )
5231 RETURN NUMBER
5232 Is
5233 l_rec_list_price_total NUMBER := 0;
5234 l_operand NUMBER :=0;
5235 l_order_adj_total NUMBER := 0;
5236 l_status_code VARCHAR2(30);
5237 l_price_list_id NUMBER;
5238 l_currency_code VARCHAR2(15);
5239 l_pricing_date DATE;
5240 l_header_id NUMBER;
5241 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5242
5243 BEGIN
5244 IF l_debug_level > 0 THEN
5245 oe_debug_pub.add('ENTERING OE_HEADER_ADJ_UTIL.GET_REC_ORDER_ADJ_TOTAL');
5246 END IF;
5247
5248 IF p_price_adjustment_id IS NULL OR
5249 p_charge_periodicity_code IS NULL THEN
5250 RETURN NULL;
5251 ELSE
5252 IF p_header_id IS NULL THEN
5253 BEGIN
5254 SELECT header_id INTO l_header_id
5255 FROM oe_price_adjustments
5256 WHERE price_adjustment_id = p_price_adjustment_id;
5257
5258 IF l_header_id IS NULL THEN
5259 RETURN NULL;
5260 END IF;
5261 EXCEPTION
5262 WHEN OTHERS THEN
5263 IF l_debug_level > 0 THEN
5264 oe_debug_pub.add('Exception while querying for the adjustment record : ' || SQLERRM);
5265 END IF;
5266 RETURN NULL;
5267 END;
5268 ELSE
5269 l_header_id := p_header_id;
5270 END IF;
5271 END IF;
5272
5273 IF l_debug_level > 0 THEN
5274 oe_debug_pub.add('l_header_id : ' || l_header_id);
5275 oe_debug_pub.add('p_price_adjustment_id : ' || p_price_adjustment_id);
5276 oe_debug_pub.add('p_charge_periodicity_code : ' || p_charge_periodicity_code);
5277 END IF;
5278
5279
5280 SELECT nvl(sum(unit_list_price * ordered_quantity), 0) --bug5354658
5281 INTO l_rec_list_price_total
5282 FROM oe_order_lines_all
5283 WHERE HEADER_ID = l_header_id
5284 AND charge_periodicity_code = p_charge_periodicity_code
5285 AND nvl(cancelled_flag,'N') ='N';
5286
5287 IF l_debug_level > 0 THEN
5288 oe_debug_pub.add('l_rec_list_price_total : ' || l_rec_list_price_total);
5289 END IF;
5290
5291 SELECT nvl(operand,0) * decode(list_line_type_code, 'DIS', -1, 'SUR', 1)
5292 INTO l_operand
5293 FROM oe_price_adjustments
5294 WHERE price_adjustment_id = p_price_adjustment_id
5295 AND line_id IS NULL
5296 AND arithmetic_operator = '%';
5297
5298 IF l_debug_level > 0 THEN
5299 oe_debug_pub.add('l_operand : ' || l_operand);
5300 END IF;
5301
5302 l_order_adj_total := l_rec_list_price_total * (l_operand / 100);
5303
5304 IF l_order_adj_total <> 0 THEN
5305 BEGIN
5306 SELECT price_list_id,
5307 transactional_curr_code,
5308 nvl(pricing_date,ordered_date)
5309 INTO l_price_list_id,l_currency_code,l_pricing_date
5310 FROM Oe_Order_Headers_All
5311 WHERE header_id = p_header_id;
5312
5313 QP_UTIL_PUB.round_price
5314 (p_operand => l_order_adj_total,
5315 p_rounding_factor => NULL,
5316 p_use_multi_currency => 'Y',
5317 p_price_list_id => l_price_list_id,
5318 p_currency_code => l_currency_code,
5319 p_pricing_effective_date => l_pricing_date,
5320 x_rounded_operand => l_order_adj_total,
5321 x_status_code => l_status_code,
5322 p_operand_type => 'A'
5323 );
5324
5325 IF l_order_adj_total IS NULL Then
5326 IF l_debug_level > 0 THEN
5327 oe_debug_pub.add('Error in QP_UTIL_PUB.round_price. Unable to perform rounding');
5328 END IF;
5329 --pricing has some errors retore the old adjusted_amount
5330 l_order_adj_total := l_rec_list_price_total * (l_operand / 100);
5331 END IF;
5332 EXCEPTION
5333 WHEN NO_DATA_FOUND THEN
5334 IF l_debug_level > 0 THEN
5335 oe_debug_pub.add('Unable to query header to perform rounding:'||p_header_id);
5336 END IF;
5337 l_order_adj_total := 0;
5338 WHEN OTHERS THEN
5339 IF l_debug_level > 0 THEN
5340 oe_debug_pub.add('OEXUHADB.pls'||SQLERRM);
5341 END IF;
5342
5343 l_order_adj_total := l_rec_list_price_total * (l_operand / 100);
5344 END;
5345
5346 END IF;
5347
5348 IF l_debug_level > 0 THEN
5349 oe_debug_pub.add('l_order_adj_total : ' || l_order_adj_total);
5350 oe_debug_pub.add('EXITING OE_HEADER_ADJ_UTIL.GET_REC_ORDER_ADJ_TOTAL');
5351 END IF;
5352
5353 Return l_order_adj_total;
5354
5355 EXCEPTION
5356 WHEN NO_DATA_FOUND THEN
5357 RETURN NULL;
5358 END get_rec_order_adj_total;
5359
5360 END OE_Header_Adj_Util;