[Home] [Help]
PACKAGE BODY: APPS.PA_INVOICE_DETAIL_PKG
Source
1 PACKAGE BODY PA_INVOICE_DETAIL_PKG as
2 /* $Header: PAICIDTB.pls 120.5 2007/04/11 08:17:56 nayyadev ship $ */
3
4 L_EXPENDITURE_ITEM_ID PA_PLSQL_DATATYPES.IdTabTyp;
5 L_LINE_NUM PA_PLSQL_DATATYPES.IdTabTyp;
6 L_PROJECT_ID PA_PLSQL_DATATYPES.IdTabTyp;
7 L_INVOICED_FLAG PA_PLSQL_DATATYPES.Char1TabTyp;
8 L_DENOM_CURRENCY_CODE PA_PLSQL_DATATYPES.Char30TabTyp;
9 L_DENOM_BILL_AMOUNT PA_PLSQL_DATATYPES.NumTabTyp;
10 L_ACCT_CURRENCY_CODE PA_PLSQL_DATATYPES.Char30TabTyp;
11 L_BILL_AMOUNT PA_PLSQL_DATATYPES.NumTabTyp;
12 L_ACCT_RATE_TYPE PA_PLSQL_DATATYPES.Char30TabTyp;
13 L_ACCT_RATE_DATE PA_PLSQL_DATATYPES.Char30TabTyp;
14 L_ACCT_EXCHANGE_RATE PA_PLSQL_DATATYPES.NumTabTyp;
15 L_CC_PROJECT_ID PA_PLSQL_DATATYPES.IdTabTyp;
16 L_CC_TAX_TASK_ID PA_PLSQL_DATATYPES.IdTabTyp;
17 L_ORG_ID PA_PLSQL_DATATYPES.IdTabTyp;
18 L_REV_CODE_COMBINATION_ID PA_PLSQL_DATATYPES.IdTabTyp;
19 L_DRAFT_INVOICE_NUM PA_PLSQL_DATATYPES.IdTabTyp;
20 L_DRAFT_INVOICE_LINE_NUM PA_PLSQL_DATATYPES.IdTabTyp;
21 L_OUTPUT_VAT_TAX_ID PA_PLSQL_DATATYPES.IdTabTyp;
22 L_OUTPUT_TAX_CODE PA_PLSQL_DATATYPES.Char30TabTyp; --added by hsiu
23 L_OUTPUT_TAX_EXEMPT_FLAG PA_PLSQL_DATATYPES.Char1TabTyp;
24 L_OUTPUT_EXEMPT_REASON_CODE PA_PLSQL_DATATYPES.Char30TabTyp;
25 L_OUTPUT_TAX_EXEMPT_NUMBER PA_PLSQL_DATATYPES.Char80TabTyp;
26 L_LINE_NUM_REVERSED PA_PLSQL_DATATYPES.IdTabTyp;
27 L_DETAIL_ID_REVERSED PA_PLSQL_DATATYPES.IdTabTyp;
28 L_DETAIL_ID PA_PLSQL_DATATYPES.IdTabTyp;
29 L_REVERSED_FLAG PA_PLSQL_DATATYPES.Char1TabTyp;
30 L_MARKUP_CALC_BASE_CODE PA_PLSQL_DATATYPES.Char30TabTyp;
31 L_IND_COMPILED_SET_ID PA_PLSQL_DATATYPES.IdTabTyp;
32 L_RULE_PERCENTAGE PA_PLSQL_DATATYPES.NumTabTyp;
33 L_BILL_RATE PA_PLSQL_DATATYPES.NumTabTyp;
34 L_BILL_MARKUP_PERCENTAGE PA_PLSQL_DATATYPES.NumTabTyp;
35 L_BASE_AMOUNT PA_PLSQL_DATATYPES.NumTabTyp;
36 L_SCHEDULE_LINE_PERCENTAGE PA_PLSQL_DATATYPES.NumTabTyp;
37 L_ORIG_INV_NUM PA_PLSQL_DATATYPES.IdTabTyp;
38 L_ORIG_INV_LINE_NUM PA_PLSQL_DATATYPES.IdTabTyp;
39 /* Added for cross proj*/
40 L_TP_AMT_TYPE_CODE PA_PLSQL_DATATYPES.Char30TabTyp;
41 L_PROJECT_TP_RATE_TYPE PA_PLSQL_DATATYPES.Char30TabTyp;
42 L_PROJECT_TP_RATE_DATE PA_PLSQL_DATATYPES.Char30TabTyp;
43 L_PROJECT_TP_EXCHANGE_RATE PA_PLSQL_DATATYPES.Char30TabTyp;
44 L_PROJECT_TRANSFER_PRICE PA_PLSQL_DATATYPES.Char30TabTyp;
45 L_PROJFUNC_TP_RATE_TYPE PA_PLSQL_DATATYPES.Char30TabTyp;
46 L_PROJFUNC_TP_RATE_DATE PA_PLSQL_DATATYPES.Char30TabTyp;
47 L_PROJFUNC_TP_EXCHANGE_RATE PA_PLSQL_DATATYPES.Char30TabTyp;
48 L_PROJFUNC_TRANSFER_PRICE PA_PLSQL_DATATYPES.Char30TabTyp;
49
50 L_PROJECT_TP_CURRENCY_CODE PA_PLSQL_DATATYPES.Char15TabTyp;
51 L_PROJFUNC_TP_CURRENCY_CODE PA_PLSQL_DATATYPES.Char15TabTyp;
52 /* End for cross proj*/
53
54 /* CBGA and Project Jobs */
55
56 L_TP_JOB_ID PA_PLSQL_DATATYPES.IdTabTyp;
57 L_PROV_PROJ_BILL_JOB_ID PA_PLSQL_DATATYPES.IdTabTyp;
58
59 /* 1898341 P_rec_counter modified as in out parameter */
60 g1_debug_mode varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
61
62 PROCEDURE download ( P_inv_rec_tab IN OUT NOCOPY inv_rec_tab,
63 P_rec_counter IN OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
64 P_download_mode IN VARCHAR2 )
65 IS
66 /* Added two variable for bug 1898341 */
67 loop_inc NUMBER :=0;
68 local_expenditure_item_id NUMBER :=0;
69 BEGIN
70 IF g1_debug_mode = 'Y' THEN
71 PA_IC_INV_UTILS.log_message('In Download...');
72 END IF;
73 FOR I in 1..P_rec_counter
74 LOOP
75 /* Commenting for bug 5934390
76 IF P_inv_rec_tab(I).BILL_AMOUNT <>0
77 THEN */
78 /* Added loop_inc for bug 1898341*/
79 loop_inc :=loop_inc+1;
80 L_DETAIL_ID(loop_inc)
81 := P_inv_rec_tab(I).DRAFT_INVOICE_DETAIL_ID;
82 L_EXPENDITURE_ITEM_ID(loop_inc) := P_inv_rec_tab(I).EXPENDITURE_ITEM_ID;
83 L_LINE_NUM(loop_inc) := P_inv_rec_tab(I).LINE_NUM;
84 L_PROJECT_ID(loop_inc) := P_inv_rec_tab(I).PROJECT_ID;
85 L_INVOICED_FLAG(loop_inc) := P_inv_rec_tab(I).INVOICED_FLAG;
86 L_DENOM_CURRENCY_CODE(loop_inc) := P_inv_rec_tab(I).DENOM_CURRENCY_CODE;
87 L_DENOM_BILL_AMOUNT(loop_inc) := P_inv_rec_tab(I).DENOM_BILL_AMOUNT;
88 L_ACCT_CURRENCY_CODE(loop_inc) := P_inv_rec_tab(I).ACCT_CURRENCY_CODE;
89 L_BILL_AMOUNT(loop_inc) := P_inv_rec_tab(I).BILL_AMOUNT;
90 L_ACCT_RATE_TYPE(loop_inc) := P_inv_rec_tab(I).ACCT_RATE_TYPE;
91 L_ACCT_RATE_DATE(loop_inc)
92 := to_char(P_inv_rec_tab(I).ACCT_RATE_DATE,'DD-MM-YYYY');
93 L_ACCT_EXCHANGE_RATE(loop_inc) := P_inv_rec_tab(I).ACCT_EXCHANGE_RATE;
94 L_CC_PROJECT_ID(loop_inc) := P_inv_rec_tab(I).CC_PROJECT_ID;
95 L_CC_TAX_TASK_ID(loop_inc) := P_inv_rec_tab(I).CC_TAX_TASK_ID;
96 L_ORG_ID(loop_inc) := P_inv_rec_tab(I).ORG_ID;
97 L_REV_CODE_COMBINATION_ID(loop_inc)
98 := P_inv_rec_tab(I).REV_CODE_COMBINATION_ID;
99 L_DRAFT_INVOICE_NUM(loop_inc) := P_inv_rec_tab(I).DRAFT_INVOICE_NUM;
100 L_DRAFT_INVOICE_LINE_NUM(loop_inc)
101 := P_inv_rec_tab(I).DRAFT_INVOICE_LINE_NUM;
102 L_OUTPUT_VAT_TAX_ID(loop_inc) := P_inv_rec_tab(I).OUTPUT_VAT_TAX_ID;
103 L_OUTPUT_TAX_CODE(loop_inc) := P_inv_rec_tab(I).OUTPUT_TAX_CLASSIFICATION_CODE;
104 L_OUTPUT_TAX_EXEMPT_FLAG(loop_inc)
105 := P_inv_rec_tab(I).OUTPUT_TAX_EXEMPT_FLAG;
106 L_OUTPUT_EXEMPT_REASON_CODE(loop_inc)
107 := P_inv_rec_tab(I).OUTPUT_TAX_EXEMPT_REASON_CODE;
108 L_OUTPUT_TAX_EXEMPT_NUMBER(loop_inc)
109 := P_inv_rec_tab(I).OUTPUT_TAX_EXEMPT_NUMBER;
110 L_LINE_NUM_REVERSED(loop_inc) := P_inv_rec_tab(I).LINE_NUM_REVERSED;
111 L_DETAIL_ID_REVERSED(loop_inc) := P_inv_rec_tab(I).DETAIL_ID_REVERSED;
112 L_REVERSED_FLAG(loop_inc) := P_inv_rec_tab(I).REVERSED_FLAG;
113 L_MARKUP_CALC_BASE_CODE(loop_inc) := P_inv_rec_tab(I).MARKUP_CALC_BASE_CODE;
114 L_IND_COMPILED_SET_ID(loop_inc) := P_inv_rec_tab(I).IND_COMPILED_SET_ID;
115 L_RULE_PERCENTAGE(loop_inc) := P_inv_rec_tab(I).RULE_PERCENTAGE;
116 L_BILL_RATE(loop_inc) := P_inv_rec_tab(I).BILL_RATE;
117 L_BILL_MARKUP_PERCENTAGE(loop_inc) := P_inv_rec_tab(I).BILL_MARKUP_PERCENTAGE;
118 L_BASE_AMOUNT(loop_inc) := P_inv_rec_tab(I).BASE_AMOUNT;
119 L_SCHEDULE_LINE_PERCENTAGE(loop_inc)
120 := P_inv_rec_tab(I).SCHEDULE_LINE_PERCENTAGE;
121 L_ORIG_INV_NUM(loop_inc) := P_inv_rec_tab(I).ORIG_DRAFT_INVOICE_NUM;
122 L_ORIG_INV_LINE_NUM(loop_inc) := P_inv_rec_tab(I).ORIG_DRAFT_INVOICE_LINE_NUM;
123
124 /* Added for cross proj*/
125 L_TP_AMT_TYPE_CODE(loop_inc) := P_inv_rec_tab(I).TP_AMT_TYPE_CODE;
126 L_PROJECT_TP_RATE_TYPE(loop_inc) := P_inv_rec_tab(I).PROJECT_TP_RATE_TYPE;
127 L_PROJECT_TP_RATE_DATE(loop_inc) := P_inv_rec_tab(I).PROJECT_TP_RATE_DATE;
128 L_PROJECT_TP_EXCHANGE_RATE(loop_inc) := P_inv_rec_tab(I).PROJECT_TP_EXCHANGE_RATE;
129 L_PROJECT_TRANSFER_PRICE(loop_inc) := P_inv_rec_tab(I).PROJECT_TRANSFER_PRICE;
130
131 L_PROJFUNC_TP_RATE_TYPE(loop_inc) := P_inv_rec_tab(I).PROJFUNC_TP_RATE_TYPE;
132 L_PROJFUNC_TP_RATE_DATE(loop_inc) := P_inv_rec_tab(I).PROJFUNC_TP_RATE_DATE;
133 L_PROJFUNC_TP_EXCHANGE_RATE(loop_inc) := P_inv_rec_tab(I).PROJFUNC_TP_EXCHANGE_RATE;
134 L_PROJFUNC_TRANSFER_PRICE(loop_inc) := P_inv_rec_tab(I).PROJFUNC_TRANSFER_PRICE;
135
136 L_PROJECT_TP_CURRENCY_CODE(loop_inc) := P_inv_rec_tab(I).PROJECT_TP_CURRENCY_CODE;
137 L_PROJFUNC_TP_CURRENCY_CODE(loop_inc) := P_inv_rec_tab(I).PROJFUNC_TP_CURRENCY_CODE;
138 /* End for cross proj*/
139
140 /* CBGA and project Jobs */
141
142 L_TP_JOB_ID(loop_inc) := P_inv_rec_tab(I).TP_JOB_ID;
143 L_PROV_PROJ_BILL_JOB_ID(loop_inc) := P_inv_rec_tab(I).PROV_PROJ_BILL_JOB_ID;
144
145 /* Added for bug 1898341*/
146 /* ELSE commented for 5934390 */
147 /* Added If condition for 5934390 */
148 IF P_inv_rec_tab(I).BILL_AMOUNT = 0
149 THEN
150 /* End of code change for 5934390 */
151
152 IF g1_debug_mode = 'Y' THEN
153 PA_IC_INV_UTILS.log_message('download: ' || 'Within Else of down function..'||to_char(I));
154 END IF;
155 local_expenditure_item_id := P_inv_rec_tab(I).EXPENDITURE_ITEM_ID;
156 IF g1_debug_mode = 'Y' THEN
157 PA_IC_INV_UTILS.log_message('download: ' || 'Exp item id ..'||local_expenditure_item_id);
158 END IF;
159
160 UPDATE PA_EXPENDITURE_ITEMS
161 SET CC_IC_PROCESSED_CODE ='X'
162 WHERE EXPENDITURE_ITEM_ID = local_expenditure_item_id;
163 END IF;
164 /* End of commnet for bug 1898341*/
165
166 IF g1_debug_mode = 'Y' THEN
167 PA_IC_INV_UTILS.log_message('download: ' || 'Complete Init...'||to_char(I));
168 END IF;
169 END LOOP;
170 /*Added for bug 1898341 */
171 P_rec_counter := loop_inc;
172 EXCEPTION
173 WHEN others
174 then
175 raise;
176
177 END download;
178
179 PROCEDURE Insert_rows
180 ( P_inv_rec_tab IN OUT NOCOPY inv_rec_tab)
181 IS
182 temp_G_Ins_count NUMBER :=0; /* Added for bug 2739218 */
183
184 BEGIN
185
186 IF g1_debug_mode = 'Y' THEN
187 PA_IC_INV_UTILS.log_message('Insert_rows: ' || 'In Insert...');
188 PA_IC_INV_UTILS.log_message('Insert_rows: G_Ins_count '|| to_char(G_Ins_count));
189 END IF;
190
191 temp_G_Ins_count := G_Ins_count; /* Added for bug2739218 */
192
193 If ( G_Ins_count > 0 )
194 Then
195
196 IF g1_debug_mode = 'Y' THEN
197 PA_IC_INV_UTILS.log_message('Insert_rows: Before calling download G_Ins_count' || to_char(G_Ins_count));
198 END IF;
199
200 download(P_inv_rec_tab,G_Ins_count,'I');
201
202 IF g1_debug_mode = 'Y' THEN
203 PA_IC_INV_UTILS.log_message('Insert_rows: After calling download G_Ins_count '|| to_char(G_Ins_count));
204 END IF;
205
206 IF g1_debug_mode = 'Y' THEN
207 PA_IC_INV_UTILS.log_message('Insert_rows: ' || 'In Insert...'|| to_char(G_Ins_count));
208 END IF;
209
210 FORALL I IN 1..G_Ins_count
211 INSERT INTO PA_DRAFT_INVOICE_DETAILS
212 ( DRAFT_INVOICE_DETAIL_ID,
213 EXPENDITURE_ITEM_ID,
214 LINE_NUM,
215 PROJECT_ID,
216 INVOICED_FLAG,
217 DENOM_CURRENCY_CODE,
218 DENOM_BILL_AMOUNT,
219 ACCT_CURRENCY_CODE,
220 BILL_AMOUNT,
221 REQUEST_ID,
222 LAST_UPDATE_DATE,
223 LAST_UPDATED_BY,
224 CREATION_DATE,
225 CREATED_BY,
226 LAST_UPDATE_LOGIN,
227 ACCT_RATE_TYPE,
228 ACCT_RATE_DATE,
229 ACCT_EXCHANGE_RATE,
230 CC_PROJECT_ID,
231 CC_TAX_TASK_ID,
232 ORG_ID,
233 REV_CODE_COMBINATION_ID,
234 DRAFT_INVOICE_NUM,
235 DRAFT_INVOICE_LINE_NUM,
236 OUTPUT_VAT_TAX_ID,
237 OUTPUT_TAX_CLASSIFICATION_CODE,
238 OUTPUT_TAX_EXEMPT_FLAG,
239 OUTPUT_TAX_EXEMPT_REASON_CODE,
240 OUTPUT_TAX_EXEMPT_NUMBER,
241 LINE_NUM_REVERSED,
242 DETAIL_ID_REVERSED,
243 REVERSED_FLAG,
244 MARKUP_CALC_BASE_CODE,
245 IND_COMPILED_SET_ID,
246 RULE_PERCENTAGE,
247 BILL_RATE,
248 BILL_MARKUP_PERCENTAGE,
249 BASE_AMOUNT,
250 SCHEDULE_LINE_PERCENTAGE,
251 ORIG_DRAFT_INVOICE_NUM,
252 ORIG_DRAFT_INVOICE_LINE_NUM,
253 PROGRAM_APPLICATION_ID,
254 PROGRAM_ID,
255 PROGRAM_UPDATE_DATE,
256 TP_JOB_ID,
257 PROV_PROJ_BILL_JOB_ID,
258 /* Added for cross proj*/
259 TP_AMT_TYPE_CODE,
260 PROJECT_TP_RATE_TYPE,
261 PROJECT_TP_RATE_DATE,
262 PROJECT_TP_EXCHANGE_RATE,
263 PROJECT_TRANSFER_PRICE,
264 PROJFUNC_TP_RATE_TYPE,
265 PROJFUNC_TP_RATE_DATE,
266 PROJFUNC_TP_EXCHANGE_RATE,
267 PROJFUNC_TRANSFER_PRICE,
268
269 PROJECT_TP_CURRENCY_CODE,
270 PROJFUNC_TP_CURRENCY_CODE
271 /* End for cross proj*/
272 )
273 VALUES
274 ( L_DETAIL_ID(I),
275 L_EXPENDITURE_ITEM_ID(I),
276 L_LINE_NUM(I),
277 L_PROJECT_ID(I),
278 L_INVOICED_FLAG(I),
279 L_DENOM_CURRENCY_CODE(I),
280 L_DENOM_BILL_AMOUNT(I),
281 L_ACCT_CURRENCY_CODE(I),
282 L_BILL_AMOUNT(I),
283 PA_IC_INV_UTILS.G_REQUEST_ID,
284 SYSDATE,
285 PA_IC_INV_UTILS.G_LAST_UPDATED_BY,
286 SYSDATE,
287 PA_IC_INV_UTILS.G_CREATED_BY,
288 PA_IC_INV_UTILS.G_LAST_UPDATE_LOGIN,
289 L_ACCT_RATE_TYPE(I),
290 to_date(L_ACCT_RATE_DATE(I),'DD-MM-YYYY'),
291 L_ACCT_EXCHANGE_RATE(I),
292 L_CC_PROJECT_ID(I),
293 L_CC_TAX_TASK_ID(I),
294 L_ORG_ID(I),
295 L_REV_CODE_COMBINATION_ID(I),
296 L_DRAFT_INVOICE_NUM(I),
297 L_DRAFT_INVOICE_LINE_NUM(I),
298 L_OUTPUT_VAT_TAX_ID(I),
299 L_OUTPUT_TAX_CODE(I),
300 L_OUTPUT_TAX_EXEMPT_FLAG(I),
301 L_OUTPUT_EXEMPT_REASON_CODE(I),
302 L_OUTPUT_TAX_EXEMPT_NUMBER(I),
303 L_LINE_NUM_REVERSED(I),
304 L_DETAIL_ID_REVERSED(I),
305 L_REVERSED_FLAG(I),
306 L_MARKUP_CALC_BASE_CODE(I),
307 L_IND_COMPILED_SET_ID(I),
308 L_RULE_PERCENTAGE(I),
309 L_BILL_RATE(I),
310 L_BILL_MARKUP_PERCENTAGE(I),
311 L_BASE_AMOUNT(I),
312 L_SCHEDULE_LINE_PERCENTAGE(I),
313 L_ORIG_INV_NUM(I),
314 L_ORIG_INV_LINE_NUM(I),
315 PA_IC_INV_UTILS.G_PROGRAM_APPLICATION_ID,
316 PA_IC_INV_UTILS.G_PROGRAM_ID,
317 SYSDATE,
318 L_TP_JOB_ID(I),
319 L_PROV_PROJ_BILL_JOB_ID(I),
320 /* Added for cross proj*/
321 L_TP_AMT_TYPE_CODE(i),
322 L_PROJECT_TP_RATE_TYPE(i),
323 L_PROJECT_TP_RATE_DATE(i),
324 L_PROJECT_TP_EXCHANGE_RATE(i),
325 L_PROJECT_TRANSFER_PRICE(i),
326 L_PROJFUNC_TP_RATE_TYPE(i),
327 L_PROJFUNC_TP_RATE_DATE(i),
328 L_PROJFUNC_TP_EXCHANGE_RATE(i),
329 L_PROJFUNC_TRANSFER_PRICE(i),
330
331 L_PROJECT_TP_CURRENCY_CODE(i),
332 L_PROJFUNC_TP_CURRENCY_CODE(i)
333 /* End for cross proj*/
334 );
335
336 G_Ins_count:= temp_G_Ins_count; /* Added for bug 2739218 */
337
338 -- Call MRC Hook
339
340 End if;
341 EXCEPTION
342 WHEN OTHERS
343 THEN
344 IF g1_debug_mode = 'Y' THEN
345 PA_IC_INV_UTILS.log_message('Insert_rows: ' || 'Error In Insert...');
346 END IF;
347 Raise;
348
349 END Insert_rows;
350
351 PROCEDURE Update_rows
352 ( P_inv_rec_tab IN OUT NOCOPY inv_rec_tab,
353 P_mrc_reqd_flag IN PA_PLSQL_DATATYPES.Char1TabTyp)
354 IS
355 BEGIN
356
357 IF g1_debug_mode = 'Y' THEN
358 PA_IC_INV_UTILS.log_message('Update_rows: ' || 'In Update...');
359 END IF;
360 If ( G_Upd_count > 0)
361 Then
362 download(P_inv_rec_tab,G_Upd_count,'U');
363
364 FORALL I IN 1..G_Upd_count
365 Update PA_DRAFT_INVOICE_DETAILS
366 Set
367 DENOM_CURRENCY_CODE = L_DENOM_CURRENCY_CODE(I),
368 DENOM_BILL_AMOUNT = L_DENOM_BILL_AMOUNT(I),
369 ACCT_CURRENCY_CODE = L_ACCT_CURRENCY_CODE(I),
370 BILL_AMOUNT = L_BILL_AMOUNT(I),
371 REQUEST_ID = PA_IC_INV_UTILS.G_REQUEST_ID,
372 LAST_UPDATE_DATE = SYSDATE,
373 LAST_UPDATED_BY = PA_IC_INV_UTILS.G_LAST_UPDATED_BY,
374 LAST_UPDATE_LOGIN = PA_IC_INV_UTILS.G_LAST_UPDATE_LOGIN,
375 ACCT_RATE_TYPE = L_ACCT_RATE_TYPE(I),
376 ACCT_RATE_DATE = to_date(L_ACCT_RATE_DATE(I),'DD-MM-YYYY'),
377 ACCT_EXCHANGE_RATE = L_ACCT_EXCHANGE_RATE(I),
378 REV_CODE_COMBINATION_ID = L_REV_CODE_COMBINATION_ID(I),
379 OUTPUT_VAT_TAX_ID = L_OUTPUT_VAT_TAX_ID(I),
380 OUTPUT_TAX_CLASSIFICATION_CODE = L_OUTPUT_TAX_CODE(I),
381 OUTPUT_TAX_EXEMPT_FLAG = L_OUTPUT_TAX_EXEMPT_FLAG(I),
382 OUTPUT_TAX_EXEMPT_REASON_CODE
383 = L_OUTPUT_EXEMPT_REASON_CODE(I),
384 OUTPUT_TAX_EXEMPT_NUMBER
385 = L_OUTPUT_TAX_EXEMPT_NUMBER(I),
386 LINE_NUM_REVERSED = L_LINE_NUM_REVERSED(I),
387 DETAIL_ID_REVERSED = L_DETAIL_ID_REVERSED(I),
388 REVERSED_FLAG = L_REVERSED_FLAG(I),
389 MARKUP_CALC_BASE_CODE = L_MARKUP_CALC_BASE_CODE(I),
390 IND_COMPILED_SET_ID = L_IND_COMPILED_SET_ID(I),
391 RULE_PERCENTAGE = L_RULE_PERCENTAGE(I),
392 BILL_RATE = L_BILL_RATE(I),
393 BILL_MARKUP_PERCENTAGE= L_BILL_MARKUP_PERCENTAGE(I),
394 BASE_AMOUNT = L_BASE_AMOUNT(I),
395 SCHEDULE_LINE_PERCENTAGE = L_SCHEDULE_LINE_PERCENTAGE(I),
396 PROGRAM_APPLICATION_ID = PA_IC_INV_UTILS.G_PROGRAM_APPLICATION_ID,
397 PROGRAM_ID = PA_IC_INV_UTILS.G_PROGRAM_ID,
398 PROGRAM_UPDATE_DATE = SYSDATE,
399 TP_JOB_ID = L_TP_JOB_ID(I),
400 PROV_PROJ_BILL_JOB_ID = L_PROV_PROJ_BILL_JOB_ID(I),
401 /*Cross proj*/
402 TP_AMT_TYPE_CODE = L_TP_AMT_TYPE_CODE(I),
403 PROJECT_TP_RATE_TYPE = L_PROJECT_TP_RATE_TYPE(I),
404 PROJECT_TP_RATE_DATE = L_PROJECT_TP_RATE_DATE(I),
405 PROJECT_TP_EXCHANGE_RATE= L_PROJECT_TP_EXCHANGE_RATE(I),
406 PROJECT_TRANSFER_PRICE = L_PROJECT_TRANSFER_PRICE(I),
407 PROJFUNC_TP_RATE_TYPE = L_PROJFUNC_TP_RATE_TYPE(I),
408 PROJFUNC_TP_RATE_DATE = L_PROJFUNC_TP_RATE_DATE(I),
409 PROJFUNC_TP_EXCHANGE_RATE= L_PROJFUNC_TP_EXCHANGE_RATE(I),
410 PROJFUNC_TRANSFER_PRICE = L_PROJFUNC_TRANSFER_PRICE(I),
411
412 PROJECT_TP_CURRENCY_CODE = L_PROJECT_TP_CURRENCY_CODE(I),
413 PROJFUNC_TP_CURRENCY_CODE= L_PROJFUNC_TP_CURRENCY_CODE(I)
414 /*Cross proj*/
415 Where EXPENDITURE_ITEM_ID = L_EXPENDITURE_ITEM_ID(I)
416 AND LINE_NUM = L_LINE_NUM(I);
417
418
419 /* Code added for Bug No 5284823 */
420 FORALL I IN 1..G_Upd_count
421 Update
422 PA_DRAFT_INVOICE_DETAILS
423 Set
424 REQUEST_ID = PA_IC_INV_UTILS.G_REQUEST_ID
425 where
426 EXPENDITURE_ITEM_ID = L_EXPENDITURE_ITEM_ID(I) and
427 DETAIL_ID_REVERSED is NOT NULL and
428 INVOICED_FLAG = 'N';
429 /*Code added for Bug No 5284823 ends here */
430
431 -- Call MRC Hook
432
433 End if;
434
435 EXCEPTION
436 WHEN OTHERS
437 THEN
438 Raise;
439
440 END Update_rows;
441
442 PROCEDURE Delete_rows
443 ( P_inv_rec_tab IN OUT NOCOPY inv_rec_tab)
444 IS
445 BEGIN
446
447 IF g1_debug_mode = 'Y' THEN
448 PA_IC_INV_UTILS.log_message('Delete_rows: ' || 'In Delete...');
449 END IF;
450 If ( G_Del_count > 0)
451 Then
452 download(P_inv_rec_tab,G_Del_count,'U');
453
454 FORALL I IN 1..G_Del_count
455 Delete
456 From PA_DRAFT_INVOICE_DETAILS
457 Where EXPENDITURE_ITEM_ID = L_EXPENDITURE_ITEM_ID(I)
458 AND LINE_NUM = L_LINE_NUM(I);
459
460 FORALL I IN 1..G_Del_count
461 UPDATE PA_EXPENDITURE_ITEMS
462 SET DENOM_TP_CURRENCY_CODE = NULL,
463 DENOM_TRANSFER_PRICE = NULL,
464 ACCT_TP_RATE_TYPE = NULL,
465 ACCT_TP_RATE_DATE = NULL,
466 ACCT_TP_EXCHANGE_RATE = NULL,
467 ACCT_TRANSFER_PRICE = NULL,
468 PROJACCT_TRANSFER_PRICE = NULL,
469 CC_MARKUP_BASE_CODE = NULL,
470 TP_BASE_AMOUNT = NULL,
471 TP_IND_COMPILED_SET_ID = NULL,
472 TP_BILL_RATE = NULL,
473 TP_BILL_MARKUP_PERCENTAGE = NULL,
474 TP_SCHEDULE_LINE_PERCENTAGE = NULL,
475 TP_RULE_PERCENTAGE = NULL,
476 TP_JOB_ID = NULL,
477 /*Cross proj*/
478 PROJECT_TRANSFER_PRICE = NULL,
479 PROJFUNC_TRANSFER_PRICE = NULL,
480 /*Cross proj*/
481 PROV_PROJ_BILL_JOB_ID = NULL
482 WHERE EXPENDITURE_ITEM_ID = L_EXPENDITURE_ITEM_ID(I);
483
484 -- Call MRC Hook
485
486 End if;
487
488 EXCEPTION
489 WHEN OTHERS
490 THEN
491 Raise;
492
493 END Delete_rows;
494
495 END PA_INVOICE_DETAIL_PKG;