DBA Data[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;