DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_ADJUSTMENTS_PKG

Source


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