DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_ADJUSTMENTS_PKG

Source


1 PACKAGE BODY FA_ADJUSTMENTS_PKG as
2 /* $Header: faxiajb.pls 120.5 2009/04/15 15:21:55 bridgway ship $ */
3 
4   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
5                        X_Transaction_Header_Id          NUMBER,
6                        X_Source_Type_Code               VARCHAR2,
7                        X_Adjustment_Type                VARCHAR2,
8                        X_Debit_Credit_Flag              VARCHAR2,
9                        X_Code_Combination_Id            NUMBER,
10                        X_Book_Type_Code                 VARCHAR2,
11                        X_Asset_Id                       NUMBER,
12                        X_Adjustment_Amount              NUMBER,
13                        X_Distribution_Id                NUMBER DEFAULT NULL,
14                        X_Last_Update_Date               DATE DEFAULT NULL,
15                        X_Last_Updated_By                NUMBER DEFAULT NULL,
16                        X_Last_Update_Login              NUMBER DEFAULT NULL,
17                        X_Annualized_Adjustment          NUMBER DEFAULT NULL,
18                        X_Je_Header_Id                   NUMBER DEFAULT NULL,
19                        X_Je_Line_Num                    NUMBER DEFAULT NULL,
20                        X_Period_Counter_Adjusted        NUMBER,
21                        X_Period_Counter_Created         NUMBER,
22                        X_Asset_Invoice_Id               NUMBER DEFAULT NULL,
23                        X_mrc_sob_type_code              VARCHAR2 DEFAULT 'P',
24                        X_set_of_books_id                NUMBER ,
25                        X_Calling_Fn                     VARCHAR2
26   , p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type) IS
27 
28    BEGIN
29 
30        if (X_mrc_sob_type_code = 'R') then
31 
32           INSERT INTO fa_mc_adjustments(
33               set_of_books_id,
34               transaction_header_id,
35               source_type_code,
36               adjustment_type,
37               debit_credit_flag,
38               code_combination_id,
39               book_type_code,
40               asset_id,
41               adjustment_amount,
42               distribution_id,
43               last_update_date,
44               last_updated_by,
45               last_update_login,
46               annualized_adjustment,
47               je_header_id,
48               je_line_num,
49               period_counter_adjusted,
50               period_counter_created,
51               asset_invoice_id
52              ) VALUES (
53               X_set_of_books_id,
54               X_Transaction_Header_Id,
55               X_Source_Type_Code,
56               X_Adjustment_Type,
57               X_Debit_Credit_Flag,
58               X_Code_Combination_Id,
59               X_Book_Type_Code,
60               X_Asset_Id,
61               X_Adjustment_Amount,
62               X_Distribution_Id,
63               X_Last_Update_Date,
64               X_Last_Updated_By,
65               X_Last_Update_Login,
66               X_Annualized_Adjustment,
67               X_Je_Header_Id,
68               X_Je_Line_Num,
69               X_Period_Counter_Adjusted,
70               X_Period_Counter_Created,
71               X_Asset_Invoice_Id
72              );
73        else
74           INSERT INTO fa_adjustments(
75               transaction_header_id,
76               source_type_code,
77               adjustment_type,
78               debit_credit_flag,
79               code_combination_id,
80               book_type_code,
81               asset_id,
82               adjustment_amount,
83               distribution_id,
84               last_update_date,
85               last_updated_by,
86               last_update_login,
87               annualized_adjustment,
88               je_header_id,
89               je_line_num,
90               period_counter_adjusted,
91               period_counter_created,
92               asset_invoice_id
93              ) VALUES (
94               X_Transaction_Header_Id,
95               X_Source_Type_Code,
96               X_Adjustment_Type,
97               X_Debit_Credit_Flag,
98               X_Code_Combination_Id,
99               X_Book_Type_Code,
100               X_Asset_Id,
101               X_Adjustment_Amount,
102               X_Distribution_Id,
103               X_Last_Update_Date,
104               X_Last_Updated_By,
105               X_Last_Update_Login,
106               X_Annualized_Adjustment,
107               X_Je_Header_Id,
108               X_Je_Line_Num,
109               X_Period_Counter_Adjusted,
110               X_Period_Counter_Created,
111               X_Asset_Invoice_Id
112              );
113        end if;
114 
115 
116   EXCEPTION
117     when others then
118         fa_srvr_msg.add_sql_error(
119                 calling_fn => 'FA_ADJUSTMENTS_PKG.Insert_Row', p_log_level_rec => p_log_level_rec);
120         raise;
121 
122   END Insert_Row;
123 
124 
125   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
126                      X_Transaction_Header_Id            NUMBER,
127                      X_Source_Type_Code                 VARCHAR2,
128                      X_Adjustment_Type                  VARCHAR2,
129                      X_Debit_Credit_Flag                VARCHAR2,
130                      X_Code_Combination_Id              NUMBER,
131                      X_Book_Type_Code                   VARCHAR2,
132                      X_Asset_Id                         NUMBER,
133                      X_Adjustment_Amount                NUMBER,
134                      X_Distribution_Id                  NUMBER DEFAULT NULL,
135                      X_Annualized_Adjustment            NUMBER DEFAULT NULL,
136                      X_Je_Header_Id                     NUMBER DEFAULT NULL,
137                      X_Je_Line_Num                      NUMBER DEFAULT NULL,
138                      X_Period_Counter_Adjusted          NUMBER,
139                      X_Period_Counter_Created           NUMBER,
140                      X_Asset_Invoice_Id                 NUMBER DEFAULT NULL,
141                      X_Calling_Fn                       VARCHAR2
142   , p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type) IS
143     CURSOR C IS
144         SELECT  transaction_header_id,
145           source_type_code,
146           adjustment_type,
147           debit_credit_flag,
148           code_combination_id,
149           book_type_code,
150           asset_id,
151           adjustment_amount,
152           distribution_id,
153           last_update_date,
154           last_updated_by,
155           last_update_login,
156           annualized_adjustment,
157           je_header_id,
158           je_line_num,
159           period_counter_adjusted,
160           period_counter_created,
161           asset_invoice_id,
162           global_attribute1,
163           global_attribute2,
164           global_attribute3,
165           global_attribute4,
166           global_attribute5,
167           global_attribute6,
168           global_attribute7,
169           global_attribute8,
170           global_attribute9,
171           global_attribute10,
172           global_attribute11,
173           global_attribute12,
174           global_attribute13,
175           global_attribute14,
176           global_attribute15,
177           global_attribute16,
178           global_attribute17,
179           global_attribute18,
180           global_attribute19,
181           global_attribute20,
182           global_attribute_category
183         FROM   fa_adjustments
184         WHERE  rowid = X_Rowid
185         FOR UPDATE of transaction_header_id NOWAIT;
186     Recinfo C%ROWTYPE;
187 
188 
189   BEGIN
190     OPEN C;
191     FETCH C INTO Recinfo;
192     if (C%NOTFOUND) then
193       CLOSE C;
194       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
195       APP_EXCEPTION.Raise_Exception;
196     end if;
197     CLOSE C;
198     if (
199 
200                (Recinfo.transaction_header_id =  X_Transaction_Header_Id)
201            AND (Recinfo.source_type_code =  X_Source_Type_Code)
202            AND (Recinfo.adjustment_type =  X_Adjustment_Type)
203            AND (Recinfo.debit_credit_flag =  X_Debit_Credit_Flag)
204            AND (Recinfo.code_combination_id =  X_Code_Combination_Id)
205            AND (Recinfo.book_type_code =  X_Book_Type_Code)
206            AND (Recinfo.asset_id =  X_Asset_Id)
207            AND (Recinfo.adjustment_amount =  X_Adjustment_Amount)
208            AND (   (Recinfo.distribution_id =  X_Distribution_Id)
209                 OR (    (Recinfo.distribution_id IS NULL)
210                     AND (X_Distribution_Id IS NULL)))
211            AND (   (Recinfo.annualized_adjustment =  X_Annualized_Adjustment)
212                 OR (    (Recinfo.annualized_adjustment IS NULL)
213                     AND (X_Annualized_Adjustment IS NULL)))
214            AND (   (Recinfo.je_header_id =  X_Je_Header_Id)
215                 OR (    (Recinfo.je_header_id IS NULL)
216                     AND (X_Je_Header_Id IS NULL)))
217            AND (   (Recinfo.je_line_num =  X_Je_Line_Num)
218                 OR (    (Recinfo.je_line_num IS NULL)
219                     AND (X_Je_Line_Num IS NULL)))
220            AND (Recinfo.period_counter_adjusted =  X_Period_Counter_Adjusted)
221            AND (Recinfo.period_counter_created =  X_Period_Counter_Created)
222            AND (   (Recinfo.asset_invoice_id =  X_Asset_Invoice_Id)
223                 OR (    (Recinfo.asset_invoice_id IS NULL)
224                     AND (X_Asset_Invoice_Id IS NULL)))
225       ) then
226       return;
227     else
228       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
229       APP_EXCEPTION.Raise_Exception;
230     end if;
231   END Lock_Row;
232 
233 
234   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
235                        X_Transaction_Header_Id          NUMBER,
236                        X_Source_Type_Code               VARCHAR2,
237                        X_Adjustment_Type                VARCHAR2,
238                        X_Debit_Credit_Flag              VARCHAR2,
239                        X_Code_Combination_Id            NUMBER,
240                        X_Book_Type_Code                 VARCHAR2,
241                        X_Asset_Id                       NUMBER,
242                        X_Adjustment_Amount              NUMBER,
243                        X_Distribution_Id                NUMBER,
244                        X_Last_Update_Date               DATE,
245                        X_Last_Updated_By                NUMBER,
246                        X_Last_Update_Login              NUMBER,
247                        X_Annualized_Adjustment          NUMBER,
248                        X_Je_Header_Id                   NUMBER,
249                        X_Je_Line_Num                    NUMBER,
250                        X_Period_Counter_Adjusted        NUMBER,
251                        X_Period_Counter_Created         NUMBER,
252                        X_Asset_Invoice_Id               NUMBER,
253                        X_mrc_sob_type_code              VARCHAR2 DEFAULT 'P',
254                        X_set_of_books_id                NUMBER ,
255                        X_Calling_Fn                     VARCHAR2
256   , p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type) IS
257 
258   BEGIN
259 
260      if (X_mrc_sob_type_code = 'R') then
261        UPDATE fa_mc_adjustments
262        SET
263        transaction_header_id           =     X_Transaction_Header_Id,
264        source_type_code                =     X_Source_Type_Code,
265        adjustment_type                 =     X_Adjustment_Type,
266        debit_credit_flag               =     X_Debit_Credit_Flag,
267        code_combination_id             =     X_Code_Combination_Id,
268        book_type_code                  =     X_Book_Type_Code,
269        asset_id                        =     X_Asset_Id,
270        adjustment_amount               =     X_Adjustment_Amount,
271        distribution_id                 =     X_Distribution_Id,
272        last_update_date                =     X_Last_Update_Date,
273        last_updated_by                 =     X_Last_Updated_By,
274        last_update_login               =     X_Last_Update_Login,
275        annualized_adjustment           =     X_Annualized_Adjustment,
276        je_header_id                    =     X_Je_Header_Id,
277        je_line_num                     =     X_Je_Line_Num,
278        period_counter_adjusted         =     X_Period_Counter_Adjusted,
279        period_counter_created          =     X_Period_Counter_Created,
280        asset_invoice_id                =     X_Asset_Invoice_Id
281        WHERE rowid = X_Rowid;
282     else
283        UPDATE fa_adjustments
284        SET
285        transaction_header_id           =     X_Transaction_Header_Id,
286        source_type_code                =     X_Source_Type_Code,
287        adjustment_type                 =     X_Adjustment_Type,
288        debit_credit_flag               =     X_Debit_Credit_Flag,
289        code_combination_id             =     X_Code_Combination_Id,
290        book_type_code                  =     X_Book_Type_Code,
291        asset_id                        =     X_Asset_Id,
292        adjustment_amount               =     X_Adjustment_Amount,
293        distribution_id                 =     X_Distribution_Id,
294        last_update_date                =     X_Last_Update_Date,
295        last_updated_by                 =     X_Last_Updated_By,
296        last_update_login               =     X_Last_Update_Login,
297        annualized_adjustment           =     X_Annualized_Adjustment,
298        je_header_id                    =     X_Je_Header_Id,
299        je_line_num                     =     X_Je_Line_Num,
300        period_counter_adjusted         =     X_Period_Counter_Adjusted,
301        period_counter_created          =     X_Period_Counter_Created,
302        asset_invoice_id                =     X_Asset_Invoice_Id
303        WHERE rowid = X_Rowid;
304     end if;
305 
306     if (SQL%NOTFOUND) then
307       Raise NO_DATA_FOUND;
308     end if;
309 
310   EXCEPTION
311     when others then
312         fa_srvr_msg.add_sql_error(
313                 calling_fn => 'FA_ADJUSTMENTS_PKG.Update_Row', p_log_level_rec => p_log_level_rec);
314         raise;
315 
316   END Update_Row;
317 
318 
319   PROCEDURE Delete_Row(X_Rowid        VARCHAR2 DEFAULT NULL,
320                        X_Asset_Id     NUMBER DEFAULT NULL,
321                        X_mrc_sob_type_code VARCHAR2 DEFAULT 'P',
322                        X_set_of_books_id                NUMBER ,
323                        X_Calling_Fn   VARCHAR2, p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type) IS
324 
325   BEGIN
326 
327     if (X_mrc_sob_type_code = 'R') then
328        if X_Rowid is not null then
329             DELETE FROM fa_mc_adjustments
330             WHERE rowid = X_Rowid;
331        elsif X_Asset_Id is not null then
332             DELETE FROM fa_mc_adjustments
333             WHERE asset_id = X_Asset_id
334             AND set_of_books_id = X_set_of_books_id;
335        end if;
336     else
337        if X_Rowid is not null then
338             DELETE FROM fa_adjustments
339             WHERE rowid = X_Rowid;
340        elsif X_Asset_Id is not null then
341             DELETE FROM fa_adjustments
342             WHERE asset_id = X_Asset_id;
343        end if;
344     end if;
345 
346     if (SQL%NOTFOUND) then
347       Raise NO_DATA_FOUND;
348     end if;
349 
350   EXCEPTION
351      when no_data_found then
352           null;
353      when others then
354           fa_srvr_msg.add_sql_error(
355                   calling_fn => 'FA_ADJUSTMENTS_PKG.Delete_Row', p_log_level_rec => p_log_level_rec);
356           raise;
357 
358   END Delete_Row;
359 
360 END FA_ADJUSTMENTS_PKG;