DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_DRAFT_INVOICE_ITEMS_PKG

Source


1 PACKAGE BODY PA_DRAFT_INVOICE_ITEMS_PKG as
2 /* $Header: PAINDIIB.pls 120.4 2005/08/19 16:34:57 mwasowic noship $ */
3 
4   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
5                        X_Project_Id                     NUMBER,
6                        X_Draft_Invoice_Num              NUMBER,
7                        X_Line_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_Amount                         NUMBER,
13                        X_Text                           VARCHAR2,
14                        X_Invoice_Line_Type              VARCHAR2,
15                        X_Unearned_Revenue_Cr            NUMBER,
16                        X_Unbilled_Receivable_Dr         NUMBER,
17                        X_Task_Id                        NUMBER,
18                        X_Event_Task_Id                  NUMBER,
19                        X_Event_Num                      NUMBER,
20                        X_Ship_To_Address_Id             NUMBER,
21                        X_Taxable_Flag                   VARCHAR2,
22                        X_Draft_Inv_Line_Num_Credited    NUMBER,
23                        X_Last_Update_Login              NUMBER
24   ) IS
25     CURSOR C IS SELECT rowid FROM PA_DRAFT_INVOICE_ITEMS
26                  WHERE project_id = X_Project_Id
27                  AND   draft_invoice_num = X_Draft_Invoice_Num
28                  AND   line_num = X_Line_Num;
29 
30 
31     l_rowid      VARCHAR2(30);
32 
33 
34    BEGIN
35 
36        /* ATG Changes */
37 
38        l_rowid  := x_rowid;
39 
40 
41 
42        INSERT INTO PA_DRAFT_INVOICE_ITEMS(
43 
44               project_id,
45               draft_invoice_num,
46               line_num,
47               last_update_date,
48               last_updated_by,
49               creation_date,
50               created_by,
51               amount,
52               text,
53               invoice_line_type,
54               unearned_revenue_cr,
55               unbilled_receivable_dr,
56               task_id,
57               event_task_id,
58               event_num,
59               ship_to_address_id,
60               taxable_flag,
61               draft_inv_line_num_credited,
62               last_update_login
63              ) VALUES (
64 
65               X_Project_Id,
66               X_Draft_Invoice_Num,
67               X_Line_Num,
68               X_Last_Update_Date,
69               X_Last_Updated_By,
70               X_Creation_Date,
71               X_Created_By,
72               X_Amount,
73               X_Text,
74               X_Invoice_Line_Type,
75               X_Unearned_Revenue_Cr,
76               X_Unbilled_Receivable_Dr,
77               X_Task_Id,
78               X_Event_Task_Id,
79               X_Event_Num,
80               X_Ship_To_Address_Id,
81               X_Taxable_Flag,
82               X_Draft_Inv_Line_Num_Credited,
83               X_Last_Update_Login
84 
85              );
86 
87     OPEN C;
88     FETCH C INTO X_Rowid;
89     if (C%NOTFOUND) then
90       CLOSE C;
91 
92      /* ATG Changes */
93        x_rowid  := l_rowid;
94 
95       Raise NO_DATA_FOUND;
96     end if;
97     CLOSE C;
98   END Insert_Row;
99 
100 
101   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
102                      X_Project_Id                       NUMBER,
103                      X_Draft_Invoice_Num                NUMBER,
104                      X_Line_Num                         NUMBER,
105                      X_Amount                           NUMBER,
106                      X_Text                             VARCHAR2,
107                      X_Invoice_Line_Type                VARCHAR2,
108                      X_Unearned_Revenue_Cr              NUMBER,
109                      X_Unbilled_Receivable_Dr           NUMBER,
110                      X_Task_Id                          NUMBER,
111                      X_Event_Task_Id                    NUMBER,
112                      X_Event_Num                        NUMBER,
113                      X_Ship_To_Address_Id               NUMBER,
114                      X_Taxable_Flag                     VARCHAR2,
115                      X_Draft_Inv_Line_Num_Credited      NUMBER,
116                      X_output_tax_code                  VARCHAR2,
117                      X_output_tax_exempt_flag           VARCHAR2,
118                      X_out_tax_exempt_reason_code       VARCHAR2,
119                      X_output_tax_exempt_number         VARCHAR2,
120                      X_translated_text                  VARCHAR2
121   ) IS
122     CURSOR C IS
123         SELECT *
124         FROM   PA_DRAFT_INVOICE_ITEMS
125         WHERE  rowid = X_Rowid
126         FOR UPDATE of Project_Id NOWAIT;
127     Recinfo C%ROWTYPE;
128 
129 
130   BEGIN
131     OPEN C;
132     FETCH C INTO Recinfo;
133     if (C%NOTFOUND) then
134       CLOSE C;
135       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
136       APP_EXCEPTION.Raise_Exception;
137     end if;
138     CLOSE C;
139     if (
140 
141                (Recinfo.project_id =  X_Project_Id)
142            AND (Recinfo.draft_invoice_num =  X_Draft_Invoice_Num)
143            AND (Recinfo.line_num =  X_Line_Num)
144            AND (Recinfo.amount =  X_Amount)
145            AND (rtrim(Recinfo.text) =  rtrim(X_Text))
146            AND (rtrim(Recinfo.invoice_line_type) =  rtrim(X_Invoice_Line_Type))
147            AND (   (Recinfo.unearned_revenue_cr =  X_Unearned_Revenue_Cr)
148                 OR (    (Recinfo.unearned_revenue_cr IS NULL)
149                     AND (X_Unearned_Revenue_Cr IS NULL)))
150            AND (   (Recinfo.unbilled_receivable_dr =  X_Unbilled_Receivable_Dr)
151                 OR (    (Recinfo.unbilled_receivable_dr IS NULL)
152                     AND (X_Unbilled_Receivable_Dr IS NULL)))
153            AND (   (Recinfo.task_id =  X_Task_Id)
154                 OR (    (Recinfo.task_id IS NULL)
155                     AND (X_Task_Id IS NULL)))
156            AND (   (Recinfo.event_task_id =  X_Event_Task_Id)
157                 OR (    (Recinfo.event_task_id IS NULL)
158                     AND (X_Event_Task_Id IS NULL)))
159            AND (   (Recinfo.event_num =  X_Event_Num)
160                 OR (    (Recinfo.event_num IS NULL)
161                     AND (X_Event_Num IS NULL)))
162            AND (   (Recinfo.ship_to_address_id =  X_Ship_To_Address_Id)
163                 OR (    (Recinfo.ship_to_address_id IS NULL)
164                     AND (X_Ship_To_Address_Id IS NULL)))
165            AND (   (Recinfo.taxable_flag =  X_Taxable_Flag)
166                 OR (    (Recinfo.taxable_flag IS NULL)
167                     AND (X_Taxable_Flag IS NULL)))
168            AND (   (Recinfo.draft_inv_line_num_credited
169 			=  X_Draft_Inv_Line_Num_Credited)
170                 OR (    (Recinfo.draft_inv_line_num_credited IS NULL)
171                     AND (X_Draft_Inv_Line_Num_Credited IS NULL)))
172 /* --etax changes
173            AND (   (Recinfo.output_vat_tax_id
174 			=  X_output_vat_tax_id)
175                 OR (    (Recinfo.output_vat_tax_id IS NULL)
176                     AND (X_output_vat_tax_id IS NULL)))
177 */
178            AND (   (Recinfo.output_tax_classification_code
179 			=  X_output_tax_code)
180                 OR (    (Recinfo.output_tax_classification_code IS NULL)
181                     AND (X_output_tax_code IS NULL)))
182            AND (   (rtrim(Recinfo.output_tax_exempt_flag)
183 			=  rtrim(X_output_tax_exempt_flag))
184                 OR (    (Recinfo.output_tax_exempt_flag IS NULL)
185                     AND (X_output_tax_exempt_flag IS NULL)))
186            AND (   (rtrim(Recinfo.output_tax_exempt_reason_code)
187 			=  rtrim(X_out_tax_exempt_reason_code))
188                 OR (    (Recinfo.output_tax_exempt_reason_code IS NULL)
189                     AND (X_out_tax_exempt_reason_code IS NULL)))
190            AND (   (rtrim(Recinfo.output_tax_exempt_number)
191 			=  rtrim(X_output_tax_exempt_number))
192                 OR (    (Recinfo.output_tax_exempt_number IS NULL)
193                     AND (X_output_tax_exempt_number IS NULL)))
194            AND (   (rtrim(Recinfo.translated_text)
195 			=  rtrim(X_translated_text))
196                 OR (    (Recinfo.translated_text IS NULL)
197                     AND (X_translated_text IS NULL)))
198       ) then
199       return;
200     else
201       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
202       APP_EXCEPTION.Raise_Exception;
203     end if;
204   END Lock_Row;
205 
206 
207 
208   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
209                        X_Project_Id                     NUMBER,
210                        X_Draft_Invoice_Num              NUMBER,
211                        X_Line_Num                       NUMBER,
212                        X_Last_Update_Date               DATE,
213                        X_Last_Updated_By                NUMBER,
214                        X_Amount                         NUMBER,
215                        X_Text                           VARCHAR2,
216                        X_Invoice_Line_Type              VARCHAR2,
217                        X_Unearned_Revenue_Cr            NUMBER,
218                        X_Unbilled_Receivable_Dr         NUMBER,
219                        X_Task_Id                        NUMBER,
220                        X_Event_Task_Id                  NUMBER,
221                        X_Event_Num                      NUMBER,
222                        X_Ship_To_Address_Id             NUMBER,
223                        X_Taxable_Flag                   VARCHAR2,
224                        X_Draft_Inv_Line_Num_Credited    NUMBER,
225                        X_Last_Update_Login              NUMBER,
226                        X_output_tax_code                VARCHAR2,
227                        X_output_tax_exempt_flag         VARCHAR2,
228                        X_out_tax_exempt_reason_code     VARCHAR2,
229                        X_output_tax_exempt_number       VARCHAR2,
230                        X_translated_text                VARCHAR2
231 
232   ) IS
233   BEGIN
234     UPDATE PA_DRAFT_INVOICE_ITEMS
235     SET
236        project_id                      =     X_Project_Id,
237        draft_invoice_num               =     X_Draft_Invoice_Num,
238        line_num                        =     X_Line_Num,
239        last_update_date                =     X_Last_Update_Date,
240        last_updated_by                 =     X_Last_Updated_By,
241        amount                          =     X_Amount,
242        text                            =     X_Text,
243        invoice_line_type               =     X_Invoice_Line_Type,
244        unearned_revenue_cr             =     X_Unearned_Revenue_Cr,
245        unbilled_receivable_dr          =     X_Unbilled_Receivable_Dr,
246        task_id                         =     X_Task_Id,
247        event_task_id                   =     X_Event_Task_Id,
248        event_num                       =     X_Event_Num,
249        ship_to_address_id              =     X_Ship_To_Address_Id,
250        taxable_flag                    =     X_Taxable_Flag,
251        draft_inv_line_num_credited     =     X_Draft_Inv_Line_Num_Credited,
252        last_update_login               =     X_Last_Update_Login,
253 --       output_vat_tax_id               =     X_output_vat_tax_id,
254        output_tax_classification_code  =     X_output_tax_code,
255        output_tax_exempt_flag          =     X_output_tax_exempt_flag,
256        output_tax_exempt_reason_code   =     X_out_tax_exempt_reason_code,
257        output_tax_exempt_number        =     X_output_tax_exempt_number,
258        translated_text                 =     X_translated_text
259     WHERE rowid = X_Rowid;
260 
261     if (SQL%NOTFOUND) then
262       Raise NO_DATA_FOUND;
263     end if;
264   END Update_Row;
265   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
266   BEGIN
267     DELETE FROM PA_DRAFT_INVOICE_ITEMS
268     WHERE rowid = X_Rowid;
269 
270     if (SQL%NOTFOUND) then
271       Raise NO_DATA_FOUND;
272     end if;
273   END Delete_Row;
274 
275 
276 END PA_DRAFT_INVOICE_ITEMS_PKG;