DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_DRAFT_INVOICES_PKG

Source


1 PACKAGE BODY PA_DRAFT_INVOICES_PKG as
2 /* $Header: PAINDINB.pls 120.2.12010000.2 2008/11/27 09:37:16 rdegala ship $ */
3 
4   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
5 
6                        X_Project_Id                     NUMBER,
7                        X_Draft_Invoice_Num              NUMBER,
8                        X_Last_Update_Date               DATE,
9                        X_Last_Updated_By                NUMBER,
10                        X_Creation_Date                  DATE,
11                        X_Created_By                     NUMBER,
12                        X_Transfer_Status_Code           VARCHAR2,
13                        X_Generation_Error_Flag          VARCHAR2,
14                        X_Agreement_Id                   NUMBER,
15                        X_Pa_Date                        DATE,
16                        X_Customer_Bill_Split            NUMBER,
17                        X_Bill_Through_Date              DATE,
18                        X_Invoice_Comment                VARCHAR2,
19                        X_Approved_Date                  DATE,
20                        X_Approved_By_Person_Id          NUMBER,
21                        X_Released_Date                  DATE,
22                        X_Released_By_Person_Id          NUMBER,
23                        X_Invoice_Date                   DATE,
24                        X_Ra_Invoice_Number              VARCHAR2,
25                        X_Transferred_Date               DATE,
26                        X_Transfer_Rejection_Reason      VARCHAR2,
27                        X_Unearned_Revenue_Cr            NUMBER,
28                        X_Unbilled_Receivable_Dr         NUMBER,
29                        X_Gl_Date                        DATE,
30                        X_System_Reference               NUMBER,
31                        X_Draft_Invoice_Num_Credited     NUMBER,
32                        X_Canceled_Flag                  VARCHAR2,
33                        X_Cancel_Credit_Memo_Flag        VARCHAR2,
34                        X_Write_Off_Flag                 VARCHAR2,
35                        X_Converted_Flag                 VARCHAR2,
36                        X_Extracted_Date                 DATE,
37                        X_Last_Update_Login              NUMBER,
38                        X_Attribute_Category             VARCHAR2,
39                        X_Attribute1                     VARCHAR2,
40                        X_Attribute2                     VARCHAR2,
41                        X_Attribute3                     VARCHAR2,
42                        X_Attribute4                     VARCHAR2,
43                        X_Attribute5                     VARCHAR2,
44                        X_Attribute6                     VARCHAR2,
45                        X_Attribute7                     VARCHAR2,
46                        X_Attribute8                     VARCHAR2,
47                        X_Attribute9                     VARCHAR2,
48                        X_Attribute10                    VARCHAR2,
49                        X_Retention_Percentage           NUMBER,
50                        X_Invoice_Set_Id                 NUMBER
51   ) IS
52     CURSOR C IS SELECT rowid FROM PA_DRAFT_INVOICES
53                  WHERE project_id = X_Project_Id
54                  AND   draft_invoice_num = X_Draft_Invoice_Num;
55 
56    l_rowid    varchar2(30);
57 
58 
59    BEGIN
60 
61 
62        /* ATG Changes */
63        l_rowid  :=  x_rowid;
64 
65 
66        INSERT INTO PA_DRAFT_INVOICES(
67 
68               project_id,
69               draft_invoice_num,
70               last_update_date,
71               last_updated_by,
72               creation_date,
73               created_by,
74               transfer_status_code,
75               generation_error_flag,
76               agreement_id,
77               pa_date,
78               customer_bill_split,
79               bill_through_date,
80               invoice_comment,
81               approved_date,
82               approved_by_person_id,
83               released_date,
84               released_by_person_id,
85               invoice_date,
86               ra_invoice_number,
87               transferred_date,
88               transfer_rejection_reason,
89               unearned_revenue_cr,
90               unbilled_receivable_dr,
91               gl_date,
92               system_reference,
93               draft_invoice_num_credited,
94               canceled_flag,
95               cancel_credit_memo_flag,
96               write_off_flag,
97               converted_flag,
98               extracted_date,
99               last_update_login,
100               attribute_category,
101               attribute1,
102               attribute2,
103               attribute3,
104               attribute4,
105               attribute5,
106               attribute6,
107               attribute7,
108               attribute8,
109               attribute9,
110               attribute10,
111               retention_percentage,
112               invoice_set_id
113              ) VALUES (
114 
115               X_Project_Id,
116               X_Draft_Invoice_Num,
117               X_Last_Update_Date,
118               X_Last_Updated_By,
119               X_Creation_Date,
120               X_Created_By,
121               X_Transfer_Status_Code,
122               X_Generation_Error_Flag,
123               X_Agreement_Id,
124               X_Pa_Date,
125               X_Customer_Bill_Split,
126               X_Bill_Through_Date,
127               X_Invoice_Comment,
128               X_Approved_Date,
129               X_Approved_By_Person_Id,
130               X_Released_Date,
131               X_Released_By_Person_Id,
132               X_Invoice_Date,
133               X_Ra_Invoice_Number,
134               X_Transferred_Date,
135               X_Transfer_Rejection_Reason,
136               X_Unearned_Revenue_Cr,
137               X_Unbilled_Receivable_Dr,
138               X_Gl_Date,
139               X_System_Reference,
140               X_Draft_Invoice_Num_Credited,
141               X_Canceled_Flag,
142               X_Cancel_Credit_Memo_Flag,
143               X_Write_Off_Flag,
144               X_Converted_Flag,
145               X_Extracted_Date,
146               X_Last_Update_Login,
147               X_Attribute_Category,
148               X_Attribute1,
149               X_Attribute2,
150               X_Attribute3,
151               X_Attribute4,
152               X_Attribute5,
153               X_Attribute6,
154               X_Attribute7,
155               X_Attribute8,
156               X_Attribute9,
157               X_Attribute10,
158               X_Retention_Percentage,
159               X_Invoice_Set_Id
160 
161              );
162 
163     OPEN C;
164     FETCH C INTO X_Rowid;
165     if (C%NOTFOUND) then
166       CLOSE C;
167 
168    /* ATG Changes */
169       x_rowid := l_rowid;
170 
171       Raise NO_DATA_FOUND;
172     end if;
173     CLOSE C;
174   END Insert_Row;
175 
176 
177   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
178 
179                      X_Project_Id                       NUMBER,
180                      X_Draft_Invoice_Num                NUMBER,
181                      X_Transfer_Status_Code             VARCHAR2,
182                      X_Generation_Error_Flag            VARCHAR2,
183                      X_Agreement_Id                     NUMBER,
184                      X_Pa_Date                          DATE,
185                      X_Customer_Bill_Split              NUMBER,
186                      X_Bill_Through_Date                DATE,
187                      X_Invoice_Comment                  VARCHAR2,
188                      X_Approved_Date                    DATE,
189                      X_Approved_By_Person_Id            NUMBER,
190                      X_Released_Date                    DATE,
191                      X_Released_By_Person_Id            NUMBER,
192                      X_Invoice_Date                     DATE,
193                      X_Ra_Invoice_Number                VARCHAR2,
194                      X_Transferred_Date                 DATE,
195                      X_Transfer_Rejection_Reason        VARCHAR2,
196                      X_Unearned_Revenue_Cr              NUMBER,
197                      X_Unbilled_Receivable_Dr           NUMBER,
198                      X_Gl_Date                          DATE,
199                      X_System_Reference                 NUMBER,
200                      X_Draft_Invoice_Num_Credited       NUMBER,
201                      X_Canceled_Flag                    VARCHAR2,
202                      X_Cancel_Credit_Memo_Flag          VARCHAR2,
203                      X_Write_Off_Flag                   VARCHAR2,
204                      X_Converted_Flag                   VARCHAR2,
205                      X_Extracted_Date                   DATE,
206                      X_Attribute_Category               VARCHAR2,
207                      X_Attribute1                       VARCHAR2,
208                      X_Attribute2                       VARCHAR2,
209                      X_Attribute3                       VARCHAR2,
210                      X_Attribute4                       VARCHAR2,
211                      X_Attribute5                       VARCHAR2,
212                      X_Attribute6                       VARCHAR2,
213                      X_Attribute7                       VARCHAR2,
214                      X_Attribute8                       VARCHAR2,
215                      X_Attribute9                       VARCHAR2,
216                      X_Attribute10                      VARCHAR2,
217                      X_Retention_Percentage             NUMBER,
218                      X_Invoice_Set_Id                   NUMBER,
219                      X_Inv_currency_code                VARCHAR2,
220                      X_Inv_rate_type                    VARCHAR2,
221                      X_Inv_rate_date                    DATE,
222                      X_Inv_exchange_rate                NUMBER,
223 	       	     X_Credit_Memo_Reason_Code          VARCHAR2
224   ) IS
225     CURSOR C IS
226         SELECT *
227         FROM   PA_DRAFT_INVOICES
228         WHERE  rowid = X_Rowid
229         FOR UPDATE of Project_Id NOWAIT;
230     Recinfo C%ROWTYPE;
231 
232 
233   BEGIN
234     OPEN C;
235     FETCH C INTO Recinfo;
236    /*  pd_msg(' 1-'||Recinfo.inv_currency_code ||
237            ' -2-' || X_inv_currency_code);  */
238     if (C%NOTFOUND) then
239       CLOSE C;
240       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
241       APP_EXCEPTION.Raise_Exception;
242     end if;
243     CLOSE C;
244     if (
245 
246                (Recinfo.project_id =  X_Project_Id)
247            AND (Recinfo.draft_invoice_num =  X_Draft_Invoice_Num)
248            AND (RTRIM(Recinfo.transfer_status_code) =  RTRIM(X_Transfer_Status_Code))
249            AND (RTRIM(Recinfo.generation_error_flag) =  RTRIM(X_Generation_Error_Flag))
250            AND (Recinfo.agreement_id =  X_Agreement_Id)
251            AND (trunc(Recinfo.pa_date) =  trunc(X_Pa_Date))
252            AND (   (Recinfo.customer_bill_split =  X_Customer_Bill_Split)
253                 OR (    (Recinfo.customer_bill_split IS NULL)
254                     AND (X_Customer_Bill_Split IS NULL)))
255            AND (   (Recinfo.bill_through_date =  X_Bill_Through_Date)
256                 OR (    (Recinfo.bill_through_date IS NULL)
257                     AND (X_Bill_Through_Date IS NULL)))
258            AND (   (rtrim(Recinfo.invoice_comment) =  rtrim(X_Invoice_Comment))
259                 OR (    (Recinfo.invoice_comment IS NULL)
260                     AND (X_Invoice_Comment IS NULL))
261 		OR  rtrim(X_Invoice_Comment) = 'NO CHANGE')
262            AND (   (Recinfo.approved_date =  X_Approved_Date)
263                 OR (    (Recinfo.approved_date IS NULL)
264                     AND (X_Approved_Date IS NULL))
265 		OR X_Approved_By_Person_Id = -1)
266            AND (   (Recinfo.approved_by_person_id =  X_Approved_By_Person_Id)
267                 OR (    (Recinfo.approved_by_person_id IS NULL)
268                     AND (X_Approved_By_Person_Id IS NULL))
269 		OR X_Approved_By_Person_Id = -1)
270            AND (   (Recinfo.released_date =  X_Released_Date)
271                 OR (    (Recinfo.released_date IS NULL)
272                     AND (X_Released_Date IS NULL))
273 		OR X_Released_By_Person_Id = -1)
274            AND (   (Recinfo.released_by_person_id =  X_Released_By_Person_Id)
275                 OR (    (Recinfo.released_by_person_id IS NULL)
276                     AND (X_Released_By_Person_Id IS NULL))
277 		OR X_Released_By_Person_Id = -1)
278            AND (   (Recinfo.invoice_date =  X_Invoice_Date)
279                 OR (    (Recinfo.invoice_date IS NULL)
280                     AND (X_Invoice_Date IS NULL))
281 		OR X_Released_By_Person_Id = -1)
282            AND (   (RTRIM(Recinfo.ra_invoice_number) =  RTRIM(X_Ra_Invoice_Number))
283                 OR (    (Recinfo.ra_invoice_number IS NULL)
284                     AND (X_Ra_Invoice_Number IS NULL))
285 		OR X_Released_By_Person_Id = -1)
286            AND (   (Recinfo.transferred_date =  X_Transferred_Date)
287                 OR (    (Recinfo.transferred_date IS NULL)
288                     AND (X_Transferred_Date IS NULL)))
289            AND (   (RTRIM(Recinfo.transfer_rejection_reason)
290 			 =  RTRIM(X_Transfer_Rejection_Reason))
291                 OR (    (Recinfo.transfer_rejection_reason IS NULL)
292                     AND (X_Transfer_Rejection_Reason IS NULL)))
293 /* AND (   (Recinfo.unearned_revenue_cr =  X_Unearned_Revenue_Cr)
294                 OR (    (Recinfo.unearned_revenue_cr IS NULL)
295                     AND (X_Unearned_Revenue_Cr IS NULL)))
296            AND (   (Recinfo.unbilled_receivable_dr =  X_Unbilled_Receivable_Dr)
297                 OR (    (Recinfo.unbilled_receivable_dr IS NULL)
298                     AND (X_Unbilled_Receivable_Dr IS NULL))) */
299            AND (   (Recinfo.gl_date =  X_Gl_Date)
300                 OR (    (Recinfo.gl_date IS NULL)
301                     AND (X_Gl_Date IS NULL)))
302            AND (   (Recinfo.system_reference =  X_System_Reference)
303                 OR (    (Recinfo.system_reference IS NULL)
304                     AND (X_System_Reference IS NULL)))
305            AND (   (Recinfo.draft_invoice_num_credited
306 			 =  X_Draft_Invoice_Num_Credited)
307                 OR (    (Recinfo.draft_invoice_num_credited IS NULL)
308                     AND (X_Draft_Invoice_Num_Credited IS NULL)))
309            AND (   (RTRIM(Recinfo.canceled_flag) =  RTRIM(X_Canceled_Flag))
310                 OR (    (Recinfo.canceled_flag IS NULL)
311                     AND (X_Canceled_Flag IS NULL)))
312            AND (   (RTRIM(Recinfo.cancel_credit_memo_flag) = RTRIM(X_Cancel_Credit_Memo_Flag))
313                 OR (    (Recinfo.cancel_credit_memo_flag IS NULL)
314                     AND (X_Cancel_Credit_Memo_Flag IS NULL)))
315            AND (   (RTRIM(Recinfo.write_off_flag) =  RTRIM(X_Write_Off_Flag))
316                 OR (    (Recinfo.write_off_flag IS NULL)
317                     AND (X_Write_Off_Flag IS NULL)))
318            AND (   (RTRIM(Recinfo.converted_flag) =  RTRIM(X_Converted_Flag))
319                 OR (    (Recinfo.converted_flag IS NULL)
320                     AND (X_Converted_Flag IS NULL)))
321            AND (   (Recinfo.extracted_date =  X_Extracted_Date)
322                 OR (    (Recinfo.extracted_date IS NULL)
323                     AND (X_Extracted_Date IS NULL)))
324            AND (   (RTRIM(Recinfo.attribute_category) =  RTRIM(X_Attribute_Category))
325                 OR (    (Recinfo.attribute_category IS NULL)
326                     AND (X_Attribute_Category IS NULL)))
327            AND (   (RTRIM(Recinfo.attribute1) =  RTRIM(X_Attribute1))
328                 OR (    (Recinfo.attribute1 IS NULL)
329                     AND (X_Attribute1 IS NULL)))
330            AND (   (RTRIM(Recinfo.attribute2) =  RTRIM(X_Attribute2))
331                 OR (    (Recinfo.attribute2 IS NULL)
332                     AND (X_Attribute2 IS NULL)))
333            AND (   (RTRIM(Recinfo.attribute3) =  RTRIM(X_Attribute3))
334                 OR (    (Recinfo.attribute3 IS NULL)
335                     AND (X_Attribute3 IS NULL)))
336            AND (   (RTRIM(Recinfo.attribute4) =  RTRIM(X_Attribute4))
337                 OR (    (Recinfo.attribute4 IS NULL)
338                     AND (X_Attribute4 IS NULL)))
339            AND (   (RTRIM(Recinfo.attribute5) =  RTRIM(X_Attribute5))
343                 OR (    (Recinfo.attribute6 IS NULL)
340                 OR (    (Recinfo.attribute5 IS NULL)
341                     AND (X_Attribute5 IS NULL)))
342            AND (   (RTRIM(Recinfo.attribute6) =  RTRIM(X_Attribute6))
344                     AND (X_Attribute6 IS NULL)))
345            AND (   (RTRIM(Recinfo.attribute7) =  RTRIM(X_Attribute7))
346                 OR (    (Recinfo.attribute7 IS NULL)
347                     AND (X_Attribute7 IS NULL)))
348            AND (   (RTRIM(Recinfo.attribute8) =  RTRIM(X_Attribute8))
349                 OR (    (Recinfo.attribute8 IS NULL)
350                     AND (X_Attribute8 IS NULL)))
351            AND (   (RTRIM(Recinfo.attribute9) =  RTRIM(X_Attribute9))
352                 OR (    (Recinfo.attribute9 IS NULL)
353                     AND (X_Attribute9 IS NULL)))
354            AND (   (RTRIM(Recinfo.attribute10) =  RTRIM(X_Attribute10))
355                 OR (    (Recinfo.attribute10 IS NULL)
356                     AND (X_Attribute10 IS NULL)))
357            AND (   (Recinfo.retention_percentage =  X_Retention_Percentage)
358                 OR (    (Recinfo.retention_percentage IS NULL)
359                     AND (X_Retention_Percentage IS NULL)))
360            AND (   (Recinfo.invoice_set_id =  X_Invoice_Set_Id)
361                 OR (    (Recinfo.invoice_set_id IS NULL)
362                     AND (X_Invoice_Set_Id IS NULL)))
363            AND (   (RTRIM(Recinfo.inv_currency_code) =  RTRIM(X_Inv_currency_code)) /* fix bug 2082864 */
364                 OR (    (Recinfo.inv_currency_code IS NULL)
365                     AND (X_Inv_currency_code IS NULL)))
366            AND (   (RTRIM(Recinfo.inv_rate_type) =  RTRIM(X_Inv_rate_type)) /* fix bug 2082845 */
367                 OR (    (Recinfo.inv_rate_type IS NULL)
368                     AND (X_Inv_rate_type IS NULL)))
369            AND (   (TRUNC(Recinfo.inv_rate_date) =  TRUNC(X_Inv_rate_date))
370                 OR (    (Recinfo.inv_rate_date IS NULL)
371                     AND (X_Inv_rate_date IS NULL)))  /* Added trunc to fix bug 2082864 */
372            AND   (   (TO_NUMBER(SUBSTR(Recinfo.inv_exchange_rate,1,17)) =
373                 TO_NUMBER(SUBSTR( X_Inv_exchange_rate,1,17)))
374                OR  (    (Recinfo.inv_exchange_rate IS NULL)
375                     AND (X_Inv_exchange_rate IS NULL)))
376 	  AND (   (RTRIM(Recinfo.credit_memo_reason_code) =  RTRIM(X_credit_memo_reason_code))
377                 OR (    (Recinfo.credit_memo_reason_code IS NULL)
378                     AND (X_credit_memo_reason_code IS NULL)))
379       ) then
380       return;
381     else
382       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
383       APP_EXCEPTION.Raise_Exception;
384     end if;
385   END Lock_Row;
386 
387 /* overloaded procedure Lock_row*/
388 PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
389 
390                      X_Project_Id                       NUMBER,
391                      X_Draft_Invoice_Num                NUMBER,
392                      X_Transfer_Status_Code             VARCHAR2,
393                      X_Generation_Error_Flag            VARCHAR2,
394                      X_Agreement_Id                     NUMBER,
395                      X_Pa_Date                          DATE,
396                      X_Customer_Bill_Split              NUMBER,
397                      X_Bill_Through_Date                DATE,
398                      X_Invoice_Comment                  VARCHAR2,
399                      X_Approved_Date                    DATE,
400                      X_Approved_By_Person_Id            NUMBER,
401                      X_Released_Date                    DATE,
402                      X_Released_By_Person_Id            NUMBER,
403                      X_Invoice_Date                     DATE,
404                      X_Ra_Invoice_Number                VARCHAR2,
405                      X_Transferred_Date                 DATE,
406                      X_Transfer_Rejection_Reason        VARCHAR2,
407                      X_Unearned_Revenue_Cr              NUMBER,
408                      X_Unbilled_Receivable_Dr           NUMBER,
409                      X_Gl_Date                          DATE,
410                      X_System_Reference                 NUMBER,
411                      X_Draft_Invoice_Num_Credited       NUMBER,
412                      X_Canceled_Flag                    VARCHAR2,
413                      X_Cancel_Credit_Memo_Flag          VARCHAR2,
414                      X_Write_Off_Flag                   VARCHAR2,
415                      X_Converted_Flag                   VARCHAR2,
416                      X_Extracted_Date                   DATE,
417                      X_Attribute_Category               VARCHAR2,
418                      X_Attribute1                       VARCHAR2,
419                      X_Attribute2                       VARCHAR2,
420                      X_Attribute3                       VARCHAR2,
421                      X_Attribute4                       VARCHAR2,
422                      X_Attribute5                       VARCHAR2,
423                      X_Attribute6                       VARCHAR2,
424                      X_Attribute7                       VARCHAR2,
425                      X_Attribute8                       VARCHAR2,
426                      X_Attribute9                       VARCHAR2,
427                      X_Attribute10                      VARCHAR2,
428                      X_Retention_Percentage             NUMBER,
429                      X_Invoice_Set_Id                   NUMBER,
430                      X_Inv_currency_code                VARCHAR2,
431                      X_Inv_rate_type                    VARCHAR2,
432                      X_Inv_rate_date                    DATE,
436 BEGIN
433                      X_Inv_exchange_rate                NUMBER
434   ) IS
435 new_excp        exception;
437 Raise new_excp;
438 
439 END Lock_row;
440 
441 
442 
443 
444   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
445 
446                        X_Project_Id                     NUMBER,
447                        X_Draft_Invoice_Num              NUMBER,
448                        X_Last_Update_Date               DATE,
449                        X_Last_Updated_By                NUMBER,
450                        X_Transfer_Status_Code           VARCHAR2,
451                        X_Generation_Error_Flag          VARCHAR2,
452                        X_Agreement_Id                   NUMBER,
453                        X_Pa_Date                        DATE,
454                        X_Customer_Bill_Split            NUMBER,
455                        X_Bill_Through_Date              DATE,
456                        X_Invoice_Comment                VARCHAR2,
457                        X_Approved_Date                  DATE,
458                        X_Approved_By_Person_Id          NUMBER,
459                        X_Released_Date                  DATE,
460                        X_Released_By_Person_Id          NUMBER,
461                        X_Invoice_Date                   DATE,
462                        X_Ra_Invoice_Number              VARCHAR2,
463                        X_Transferred_Date               DATE,
464                        X_Transfer_Rejection_Reason      VARCHAR2,
465                        X_Unearned_Revenue_Cr            NUMBER,
466                        X_Unbilled_Receivable_Dr         NUMBER,
467                        X_Gl_Date                        DATE,
468 		       X_Gl_period_name			VARCHAR2, /* Added for bug 6819782*/
469                        X_System_Reference               NUMBER,
470                        X_Draft_Invoice_Num_Credited     NUMBER,
471                        X_Canceled_Flag                  VARCHAR2,
472                        X_Cancel_Credit_Memo_Flag        VARCHAR2,
473                        X_Write_Off_Flag                 VARCHAR2,
474                        X_Converted_Flag                 VARCHAR2,
475                        X_Extracted_Date                 DATE,
476                        X_Last_Update_Login              NUMBER,
477                        X_Attribute_Category             VARCHAR2,
478                        X_Attribute1                     VARCHAR2,
479                        X_Attribute2                     VARCHAR2,
480                        X_Attribute3                     VARCHAR2,
481                        X_Attribute4                     VARCHAR2,
482                        X_Attribute5                     VARCHAR2,
483                        X_Attribute6                     VARCHAR2,
484                        X_Attribute7                     VARCHAR2,
485                        X_Attribute8                     VARCHAR2,
486                        X_Attribute9                     VARCHAR2,
487                        X_Attribute10                    VARCHAR2,
488                        X_Retention_Percentage           NUMBER,
489                        X_Invoice_Set_Id                 NUMBER,
490 		       X_Credit_Memo_Reason_Code        VARCHAR2
491 
492   ) IS
493   BEGIN
494     UPDATE PA_DRAFT_INVOICES
495     SET
496        project_id                      =     X_Project_Id,
497        draft_invoice_num               =     X_Draft_Invoice_Num,
498        last_update_date                =     X_Last_Update_Date,
499        last_updated_by                 =     X_Last_Updated_By,
500        transfer_status_code            =     X_Transfer_Status_Code,
501        generation_error_flag           =     X_Generation_Error_Flag,
502        agreement_id                    =     X_Agreement_Id,
503        pa_date                         =     X_Pa_Date,
504        customer_bill_split             =     X_Customer_Bill_Split,
505        bill_through_date               =     X_Bill_Through_Date,
506        invoice_comment                 =     decode(X_Invoice_Comment,
507 			'NO CHANGE', invoice_comment, X_Invoice_Comment),
508        approved_date                   =     decode(X_Approved_By_Person_Id,
509 			-1, approved_date, X_Approved_Date),
510        approved_by_person_id           =     decode(X_Approved_By_Person_Id,
511 			-1, approved_by_person_id, X_Approved_By_Person_Id),
512        released_date                   =     decode(X_Released_By_Person_Id,
513 			-1, released_date, X_Released_Date),
514        released_by_person_id           =     decode(X_Released_By_Person_Id,
515                         -1, released_by_person_id, X_Released_By_Person_Id),
516        invoice_date                    =     decode(X_Released_By_Person_Id,
517                         -1, invoice_date, X_Invoice_Date),
518        ra_invoice_number               =     decode(X_Released_By_Person_Id,
519                         -1, ra_invoice_number, X_Ra_Invoice_Number),
520        transferred_date                =     X_Transferred_Date,
521        transfer_rejection_reason       =     X_Transfer_Rejection_Reason,
522        unearned_revenue_cr             =     X_Unearned_Revenue_Cr,
523        unbilled_receivable_dr          =     X_Unbilled_Receivable_Dr,
524        gl_date                         =     X_Gl_Date,
525        gl_period_name		       =     NVL(X_Gl_period_name,gl_period_name), /* Added for bug 6819782*/
526        system_reference                =     X_System_Reference,
527        draft_invoice_num_credited      =     X_Draft_Invoice_Num_Credited,
528        canceled_flag                   =     X_Canceled_Flag,
529        cancel_credit_memo_flag         =     X_Cancel_Credit_Memo_Flag,
530        write_off_flag                  =     X_Write_Off_Flag,
531        converted_flag                  =     X_Converted_Flag,
532        extracted_date                  =     X_Extracted_Date,
533        last_update_login               =     X_Last_Update_Login,
534        attribute_category              =     X_Attribute_Category,
535        attribute1                      =     X_Attribute1,
536        attribute2                      =     X_Attribute2,
537        attribute3                      =     X_Attribute3,
538        attribute4                      =     X_Attribute4,
539        attribute5                      =     X_Attribute5,
540        attribute6                      =     X_Attribute6,
541        attribute7                      =     X_Attribute7,
542        attribute8                      =     X_Attribute8,
543        attribute9                      =     X_Attribute9,
544        attribute10                     =     X_Attribute10,
545        retention_percentage            =     X_Retention_Percentage,
546        invoice_set_id                  =     X_Invoice_Set_Id,
547        credit_memo_reason_code         =     X_Credit_Memo_Reason_Code
548     WHERE rowid = X_Rowid;
549 
550     if (SQL%NOTFOUND) then
551       Raise NO_DATA_FOUND;
552     end if;
553   END Update_Row;
554 
555 /*Overloaded procedure update_row */
556   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
557 
558                        X_Project_Id                     NUMBER,
559                        X_Draft_Invoice_Num              NUMBER,
560                        X_Last_Update_Date               DATE,
561                        X_Last_Updated_By                NUMBER,
562                        X_Transfer_Status_Code           VARCHAR2,
563                        X_Generation_Error_Flag          VARCHAR2,
564                        X_Agreement_Id                   NUMBER,
565                        X_Pa_Date                        DATE,
566                        X_Customer_Bill_Split            NUMBER,
567                        X_Bill_Through_Date              DATE,
568                        X_Invoice_Comment                VARCHAR2,
569                        X_Approved_Date                  DATE,
570                        X_Approved_By_Person_Id          NUMBER,
571                        X_Released_Date                  DATE,
572                        X_Released_By_Person_Id          NUMBER,
573                        X_Invoice_Date                   DATE,
574                        X_Ra_Invoice_Number              VARCHAR2,
575                        X_Transferred_Date               DATE,
576                        X_Transfer_Rejection_Reason      VARCHAR2,
577                        X_Unearned_Revenue_Cr            NUMBER,
578                        X_Unbilled_Receivable_Dr         NUMBER,
579                        X_Gl_Date                        DATE,
580                        X_System_Reference               NUMBER,
581                        X_Draft_Invoice_Num_Credited     NUMBER,
582                        X_Canceled_Flag                  VARCHAR2,
583                        X_Cancel_Credit_Memo_Flag        VARCHAR2,
584                        X_Write_Off_Flag                 VARCHAR2,
585                        X_Converted_Flag                 VARCHAR2,
586                        X_Extracted_Date                 DATE,
587                        X_Last_Update_Login              NUMBER,
588                        X_Attribute_Category             VARCHAR2,
589                        X_Attribute1                     VARCHAR2,
590                        X_Attribute2                     VARCHAR2,
591                        X_Attribute3                     VARCHAR2,
592                        X_Attribute4                     VARCHAR2,
593                        X_Attribute5                     VARCHAR2,
594                        X_Attribute6                     VARCHAR2,
595                        X_Attribute7                     VARCHAR2,
596                        X_Attribute8                     VARCHAR2,
597                        X_Attribute9                     VARCHAR2,
598                        X_Attribute10                    VARCHAR2,
599                        X_Retention_Percentage           NUMBER,
600                        X_Invoice_Set_Id                 NUMBER
601  ) IS
602 
603   new_excp        exception;
604 BEGIN
605 Raise new_excp;
606 
607 END Update_row;
608 
609   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
610   BEGIN
611     DELETE FROM PA_DRAFT_INVOICES
612     WHERE rowid = X_Rowid;
613 
614     if (SQL%NOTFOUND) then
615       Raise NO_DATA_FOUND;
616     end if;
617   END Delete_Row;
618 
619 
620 END PA_DRAFT_INVOICES_PKG;