DBA Data[Home] [Help]
Skip to content

PACKAGE BODY: APPS.FA_RETIREMENT_ADJUSTMENT_PVT

Source


1 PACKAGE BODY FA_RETIREMENT_ADJUSTMENT_PVT AS
2 /* $Header: FAVRADJB.pls 120.11 2009/04/15 15:10:39 bridgway ship $ */
3 
4 FUNCTION do_retirement_adjustment
5    (px_trans_rec               IN OUT NOCOPY FA_API_TYPES.trans_rec_type,
6     px_asset_hdr_rec           IN OUT NOCOPY FA_API_TYPES.asset_hdr_rec_type,
7     p_asset_desc_rec           IN     FA_API_TYPES.asset_desc_rec_type,
8     p_asset_type_rec           IN     FA_API_TYPES.asset_type_rec_type,
9     p_asset_cat_rec            IN     FA_API_TYPES.asset_cat_rec_type,
10     p_asset_fin_rec_old        IN     FA_API_TYPES.asset_fin_rec_type,
11     x_asset_fin_rec_new           OUT NOCOPY FA_API_TYPES.asset_fin_rec_type,
12     p_asset_deprn_rec_old      IN     FA_API_TYPES.asset_deprn_rec_type,
13     x_asset_deprn_rec_new         OUT NOCOPY FA_API_TYPES.asset_deprn_rec_type,
14     p_period_rec               IN     FA_API_TYPES.period_rec_type,
15     p_mrc_sob_type_code        IN     VARCHAR2,
16     p_cost_of_removal          IN     NUMBER,
17     p_proceeds                 IN     NUMBER,
18     p_cost_of_removal_ccid     IN     NUMBER DEFAULT NULL,
19     p_proceeds_ccid            IN     NUMBER DEFAULT NULL
20    , p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN IS
21 
22    -- used for new group code
23    l_adj                 fa_adjust_type_pkg.fa_adj_row_struct;
24    l_bks_rowid           varchar2(30);
25    l_status              BOOLEAN;
26 
27    -- used for depreciable basis rule
28    l_asset_retire_rec    fa_api_types.asset_retire_rec_type;
29    l_asset_deprn_rec     fa_api_types.asset_deprn_rec_type;
30 
31    --
32    -- For calling faxama.
33    --
34    l_deprn_exp           NUMBER := 0;
35    l_bonus_deprn_exp     NUMBER := 0;
36    l_impairment_exp      NUMBER := 0;
37    l_deprn_rsv           NUMBER := 0;
38    l_asset_deprn_rec_adj FA_API_TYPES.ASSET_DEPRN_REC_TYPE;
39 
40    l_calling_fn          VARCHAR2(35) := 'fa_group_reserve_pvt.do_transfer';
41    adj_err               EXCEPTION;
42 
43 BEGIN
44 
45    -- call the category books cache for the accounts
46    if not fa_cache_pkg.fazccb(X_book   => px_asset_hdr_rec.book_type_code,
47                               X_cat_id => p_asset_cat_rec.category_id, p_log_level_rec => p_log_level_rec) then
48       raise adj_err;
49    end if;
50 
51    -- set the new structs to the old ones
52    -- (values which changes such as adjusted_cost will be set below)
53    x_asset_fin_rec_new   := p_asset_fin_rec_old;
54    x_asset_deprn_rec_new := p_asset_deprn_rec_old;
55 
56    --  Use Depreciable Basis Rule
57    l_asset_retire_rec.proceeds_of_sale := p_proceeds;
58    l_asset_retire_rec.cost_of_removal  := p_cost_of_removal;
59    l_asset_retire_rec.cost_retired     := p_asset_fin_rec_old.cost
60                                            - x_asset_fin_rec_new.cost;
61    l_asset_deprn_rec := x_asset_deprn_rec_new;
62    l_asset_deprn_rec.deprn_reserve := nvl(x_asset_deprn_rec_new.deprn_reserve,0)
63                                        + nvl(p_proceeds,0)-nvl(p_cost_of_removal,0);
64 
65    -- Call Depreciable Basis Rule
66    if (not FA_CALC_DEPRN_BASIS1_PKG.CALL_DEPRN_BASIS
67              (p_event_type             => 'RETIREMENT',
68               p_asset_fin_rec_new      => x_asset_fin_rec_new,
69               p_asset_fin_rec_old      => p_asset_fin_rec_old,
70               p_asset_hdr_rec          => px_asset_hdr_rec,
71               p_asset_type_rec         => p_asset_type_rec,
72               p_trans_rec              => px_trans_rec,
73               p_period_rec             => p_period_rec,
74               p_asset_retire_rec       => l_asset_retire_rec,
75               p_asset_deprn_rec        => l_asset_deprn_rec,
76               p_recoverable_cost       => x_asset_fin_rec_new.recoverable_cost,
77               p_salvage_value          => x_asset_fin_rec_new.salvage_value,
78               p_mrc_sob_type_code      => p_mrc_sob_type_code,
79               px_new_adjusted_cost     => x_asset_fin_rec_new.adjusted_cost,
80               px_new_raf               => x_asset_fin_rec_new.rate_adjustment_factor,
81               px_new_formula_factor    => x_asset_fin_rec_new.formula_factor,
82               p_log_level_rec          => p_log_level_rec)
83       ) then
84         fa_srvr_msg.add_message(calling_fn =>l_calling_fn, p_log_level_rec => p_log_level_rec);
85         RETURN FALSE;
86    end if;
87 
88    l_asset_deprn_rec_adj.deprn_reserve := nvl(p_proceeds, 0) - nvl(p_cost_of_removal, 0);
89 
90    if (not FA_AMORT_PVT.faxama(
91               px_trans_rec            => px_trans_rec,
92               p_asset_hdr_rec         => px_asset_hdr_rec,
93               p_asset_desc_rec        => p_asset_desc_rec,
94               p_asset_cat_rec         => p_asset_cat_rec,
95               p_asset_type_rec        => p_asset_type_rec,
96               p_asset_fin_rec_old     => p_asset_fin_rec_old,
97               px_asset_fin_rec_new    => x_asset_fin_rec_new,
98               p_asset_deprn_rec       => p_asset_deprn_rec_old,
99               p_asset_deprn_rec_adj   => l_asset_deprn_rec_adj,
100               p_period_rec            => p_period_rec,
101               p_mrc_sob_type_code     => p_mrc_sob_type_code,
102               p_running_mode          => fa_std_types.FA_DPR_NORMAL,
103               p_used_by_revaluation   => null,
104               p_reclassed_asset_id    => null,
105               p_reclass_src_dest      => null,
106               p_reclassed_asset_dpis  => null,
107               p_update_books_summary  => TRUE,
108               p_proceeds_of_sale      => p_proceeds,
109               p_cost_of_removal       => p_cost_of_removal,
110               x_deprn_exp             => l_deprn_exp,
111               x_bonus_deprn_exp       => l_bonus_deprn_exp,
112               x_impairment_exp        => l_impairment_exp,
113               x_deprn_rsv             => l_deprn_rsv, p_log_level_rec => p_log_level_rec)) then
114 
115       if (p_log_level_rec.statement_level) then
116          fa_debug_pkg.add('l_calling_fn', 'calling FA_AMORT_PVT.faxama', 'FAILED',  p_log_level_rec => p_log_level_rec);
117       end if;
118       raise adj_err;
119 
120    end if; -- (not FA_AMORT_PVT.faxama
121 
122    -- call faxinaj to insert the amounts (flush them too)
123    l_adj.transaction_header_id    := px_trans_rec.transaction_header_id;
124    l_adj.asset_id                 := px_asset_hdr_rec.asset_id;
125    l_adj.book_type_code           := px_asset_hdr_rec.book_type_code;
126    l_adj.period_counter_created   := fa_cache_pkg.fazcbc_record.last_period_counter + 1;
127    l_adj.period_counter_adjusted  := fa_cache_pkg.fazcbc_record.last_period_counter + 1;
128    l_adj.current_units            := p_asset_desc_rec.current_units;
129    l_adj.selection_mode           := FA_ADJUST_TYPE_PKG.FA_AJ_ACTIVE;
130    l_adj.selection_thid           := 0;
131    l_adj.selection_retid          := 0;
132    l_adj.leveling_flag            := TRUE;
133    l_adj.last_update_date         := px_trans_rec.who_info.last_update_date;
134 
135    l_adj.annualized_adjustment    := 0;
136    l_adj.asset_invoice_id         := 0;
137    l_adj.distribution_id          := 0;
138 
139    l_adj.flush_adj_flag           := TRUE;
140    l_adj.deprn_override_flag:= '';
141 
142    l_adj.mrc_sob_type_code        := p_mrc_sob_type_code;
143    l_adj.set_of_books_id          := px_asset_hdr_rec.set_of_books_id;
144 
145    l_adj.source_type_code         := 'RETIREMENT';
146 
147    -- cost of removal amounts
148    if nvl(p_cost_of_removal, 0) <> 0 then
149 
150       if (p_log_level_rec.statement_level) then
151                fa_debug_pkg.add(l_calling_fn || ' for cor ',
152                      'thid',
153                      l_adj.transaction_header_id, p_log_level_rec => p_log_level_rec);
154       end if;
155 
156 
157       l_adj.debit_credit_flag        := 'DR';
158       l_adj.adjustment_type          := 'RESERVE';  -- GRP COR RESERVE ???
159       l_adj.adjustment_amount        := p_cost_of_removal;
160       l_adj.account                  := fa_cache_pkg.fazccb_record.deprn_reserve_acct;
161       l_adj.account_type             := 'DEPRN_RESERVE_ACCT';
162       l_adj.code_combination_id      := 0;
163       l_adj.gen_ccid_flag            := TRUE;
164 
165       if not FA_INS_ADJUST_PKG.faxinaj
166                 (l_adj,
167                  px_trans_rec.who_info.last_update_date,
168                  px_trans_rec.who_info.last_updated_by,
169                  px_trans_rec.who_info.last_update_login, p_log_level_rec => p_log_level_rec) then
170          raise adj_err;
171       end if;
172 
173       if (p_cost_of_removal_ccid is null) then
174          l_adj.account               := fa_cache_pkg.fazcbc_record.cost_of_removal_clearing_acct;
175          l_adj.code_combination_id   := 0;
176          l_adj.gen_ccid_flag         := TRUE;
177       else
178          l_adj.code_combination_id   := p_cost_of_removal_ccid;
179          l_adj.gen_ccid_flag         := FALSE;
180       end if;
181 
182       l_adj.account_type             := 'COST_OF_REMOVAL_CLEARING_ACCT';
183       l_adj.adjustment_type          := 'REMOVALCOST CLR';
184       l_adj.debit_credit_flag        := 'CR';
185 
186       if not FA_INS_ADJUST_PKG.faxinaj
187                 (l_adj,
188                  px_trans_rec.who_info.last_update_date,
189                  px_trans_rec.who_info.last_updated_by,
190                  px_trans_rec.who_info.last_update_login, p_log_level_rec => p_log_level_rec) then
191          raise adj_err;
192       end if;
193 
194    end if;
195 
196    -- proceeds of sale
197    if nvl(p_proceeds, 0) <> 0 then
198 
199       if (p_log_level_rec.statement_level) then
200                fa_debug_pkg.add(l_calling_fn || ' for proceeds ',
201                      'thid',
202                      l_adj.transaction_header_id, p_log_level_rec => p_log_level_rec);
203       end if;
204 
205 
206       l_adj.debit_credit_flag        := 'CR';
207       l_adj.adjustment_type          := 'RESERVE';  -- GRP PRC RESERVE ???
208       l_adj.adjustment_amount        := p_proceeds;
209       l_adj.account                  := fa_cache_pkg.fazccb_record.deprn_reserve_acct;
210       l_adj.account_type             := 'DEPRN_RESERVE_ACCT';
211       l_adj.code_combination_id      := 0;
212       l_adj.gen_ccid_flag            := TRUE;
213 
214       if not FA_INS_ADJUST_PKG.faxinaj
215                 (l_adj,
216                  px_trans_rec.who_info.last_update_date,
217                  px_trans_rec.who_info.last_updated_by,
218                  px_trans_rec.who_info.last_update_login, p_log_level_rec => p_log_level_rec) then
219          raise adj_err;
220       end if;
221 
222       if (p_proceeds_ccid is null) then
223          l_adj.account               := fa_cache_pkg.fazcbc_record.proceeds_of_sale_clearing_acct;
224          l_adj.code_combination_id   := 0;
225          l_adj.gen_ccid_flag         := TRUE;
226       else
227          l_adj.code_combination_id   := p_proceeds_ccid;
228          l_adj.gen_ccid_flag         := FALSE;
229       end if;
230 
231       l_adj.account_type             := 'PROCEEDS_OF_SALE_CLEARING_ACCT';
232       l_adj.adjustment_type          := 'PROCEEDS CLR';
233       l_adj.debit_credit_flag        := 'DR';
234 
235       if not FA_INS_ADJUST_PKG.faxinaj
236                 (l_adj,
237                  px_trans_rec.who_info.last_update_date,
238                  px_trans_rec.who_info.last_updated_by,
239                  px_trans_rec.who_info.last_update_login, p_log_level_rec => p_log_level_rec) then
240          raise adj_err;
241       end if;
242 
243    end if;
244 
245    /*****************************************************
246 
247    -- for life based methods, this where we would need to
248    -- recalculate raf, etc
249 
250    *****************************************************/
251 
252 
253    -- terminate/insert fa_books rows
254    -- terminate the active row
255 
256    fa_books_pkg.deactivate_row
257         (X_asset_id                  => px_asset_hdr_rec.asset_id,
258          X_book_type_code            => px_asset_hdr_rec.book_type_code,
259          X_transaction_header_id_out => px_trans_rec.transaction_header_id,
260          X_date_ineffective          => px_trans_rec.who_info.last_update_date,
261          X_mrc_sob_type_code         => p_mrc_sob_type_code,
262          X_set_of_books_id           => px_asset_hdr_rec.set_of_books_id,
263          X_Calling_Fn                => l_calling_fn
264          , p_log_level_rec => p_log_level_rec);
265 
266    -- fa books
267    fa_books_pkg.insert_row
268          (X_Rowid                        => l_bks_rowid,
269           X_Book_Type_Code               => px_asset_hdr_rec.book_type_code,
270           X_Asset_Id                     => px_asset_hdr_rec.asset_id,
271           X_Date_Placed_In_Service       => x_asset_fin_rec_new.date_placed_in_service,
272           X_Date_Effective               => px_trans_rec.who_info.last_update_date,
273           X_Deprn_Start_Date             => x_asset_fin_rec_new.deprn_start_date,
274           X_Deprn_Method_Code            => x_asset_fin_rec_new.deprn_method_code,
275           X_Life_In_Months               => x_asset_fin_rec_new.life_in_months,
276           X_Rate_Adjustment_Factor       => x_asset_fin_rec_new.rate_adjustment_factor,
277           X_Adjusted_Cost                => x_asset_fin_rec_new.adjusted_cost,
278           X_Cost                         => x_asset_fin_rec_new.cost,
279           X_Original_Cost                => x_asset_fin_rec_new.original_cost,
280           X_Salvage_Value                => x_asset_fin_rec_new.salvage_value,
281           X_Prorate_Convention_Code      => x_asset_fin_rec_new.prorate_convention_code,
282           X_Prorate_Date                 => x_asset_fin_rec_new.prorate_date,
283           X_Cost_Change_Flag             => x_asset_fin_rec_new.cost_change_flag,
284           X_Adjustment_Required_Status   => x_asset_fin_rec_new.adjustment_required_status,
285           X_Capitalize_Flag              => x_asset_fin_rec_new.capitalize_flag,
286           X_Retirement_Pending_Flag      => x_asset_fin_rec_new.retirement_pending_flag,
287           X_Depreciate_Flag              => x_asset_fin_rec_new.depreciate_flag,
288           X_Disabled_Flag                => x_asset_fin_rec_new.disabled_flag,--HH
289           X_Last_Update_Date             => px_trans_rec.who_info.last_update_date,
290           X_Last_Updated_By              => px_trans_rec.who_info.last_updated_by,
291           X_Date_Ineffective             => NULL,
292           X_Transaction_Header_Id_In     => px_trans_rec.transaction_header_id,
293           X_Transaction_Header_Id_Out    => NULL,
294           X_Itc_Amount_Id                => x_asset_fin_rec_new.itc_amount_id,
295           X_Itc_Amount                   => x_asset_fin_rec_new.itc_amount,
296           X_Retirement_Id                => x_asset_fin_rec_new.retirement_id,
297           X_Tax_Request_Id               => x_asset_fin_rec_new.tax_request_id,
298           X_Itc_Basis                    => x_asset_fin_rec_new.itc_basis,
299           X_Basic_Rate                   => x_asset_fin_rec_new.basic_rate,
300           X_Adjusted_Rate                => x_asset_fin_rec_new.adjusted_rate,
301           X_Bonus_Rule                   => x_asset_fin_rec_new.bonus_rule,
302           X_Ceiling_Name                 => x_asset_fin_rec_new.ceiling_name,
303           X_Recoverable_Cost             => x_asset_fin_rec_new.recoverable_cost,
304           X_Last_Update_Login            => px_trans_rec.who_info.last_update_login,
305           X_Adjusted_Capacity            => x_asset_fin_rec_new.adjusted_capacity,
306           X_Fully_Rsvd_Revals_Counter    => x_asset_fin_rec_new.fully_rsvd_revals_counter,
307           X_Idled_Flag                   => x_asset_fin_rec_new.idled_flag,
308           X_Period_Counter_Capitalized   => x_asset_fin_rec_new.period_counter_capitalized,
309           X_PC_Fully_Reserved            => x_asset_fin_rec_new.period_counter_fully_reserved,
310           X_Period_Counter_Fully_Retired => x_asset_fin_rec_new.period_counter_fully_retired,
311           X_Production_Capacity          => x_asset_fin_rec_new.production_capacity,
312           X_Reval_Amortization_Basis     => x_asset_fin_rec_new.reval_amortization_basis,
313           X_Reval_Ceiling                => x_asset_fin_rec_new.reval_ceiling,
314           X_Unit_Of_Measure              => x_asset_fin_rec_new.unit_of_measure,
315           X_Unrevalued_Cost              => x_asset_fin_rec_new.unrevalued_cost,
316           X_Annual_Deprn_Rounding_Flag   => x_asset_fin_rec_new.annual_deprn_rounding_flag,
317           X_Percent_Salvage_Value        => x_asset_fin_rec_new.percent_salvage_value,
318           X_Allowed_Deprn_Limit          => x_asset_fin_rec_new.allowed_deprn_limit,
319           X_Allowed_Deprn_Limit_Amount   => x_asset_fin_rec_new.allowed_deprn_limit_amount,
320           X_Period_Counter_Life_Complete => x_asset_fin_rec_new.period_counter_life_complete,
321           X_Adjusted_Recoverable_Cost    => x_asset_fin_rec_new.adjusted_recoverable_cost,
322           X_Short_Fiscal_Year_Flag       => x_asset_fin_rec_new.short_fiscal_year_flag,
323           X_Conversion_Date              => x_asset_fin_rec_new.conversion_date,
324           X_Orig_Deprn_Start_Date        => x_asset_fin_rec_new.orig_deprn_start_date,
325           X_Remaining_Life1              => x_asset_fin_rec_new.remaining_life1,
326           X_Remaining_Life2              => x_asset_fin_rec_new.remaining_life2,
327           X_Old_Adj_Cost                 => x_asset_fin_rec_new.old_adjusted_cost,
328           X_Formula_Factor               => x_asset_fin_rec_new.formula_factor,
329           X_gf_Attribute1                => x_asset_fin_rec_new.global_attribute1,
330           X_gf_Attribute2                => x_asset_fin_rec_new.global_attribute2,
331           X_gf_Attribute3                => x_asset_fin_rec_new.global_attribute3,
332           X_gf_Attribute4                => x_asset_fin_rec_new.global_attribute4,
333           X_gf_Attribute5                => x_asset_fin_rec_new.global_attribute5,
334           X_gf_Attribute6                => x_asset_fin_rec_new.global_attribute6,
335           X_gf_Attribute7                => x_asset_fin_rec_new.global_attribute7,
336           X_gf_Attribute8                => x_asset_fin_rec_new.global_attribute8,
337           X_gf_Attribute9                => x_asset_fin_rec_new.global_attribute9,
338           X_gf_Attribute10               => x_asset_fin_rec_new.global_attribute10,
339           X_gf_Attribute11               => x_asset_fin_rec_new.global_attribute11,
340           X_gf_Attribute12               => x_asset_fin_rec_new.global_attribute12,
341           X_gf_Attribute13               => x_asset_fin_rec_new.global_attribute13,
342           X_gf_Attribute14               => x_asset_fin_rec_new.global_attribute14,
343           X_gf_Attribute15               => x_asset_fin_rec_new.global_attribute15,
344           X_gf_Attribute16               => x_asset_fin_rec_new.global_attribute16,
345           X_gf_Attribute17               => x_asset_fin_rec_new.global_attribute17,
346           X_gf_Attribute18               => x_asset_fin_rec_new.global_attribute18,
347           X_gf_Attribute19               => x_asset_fin_rec_new.global_attribute19,
348           X_gf_Attribute20               => x_asset_fin_rec_new.global_attribute20,
349           X_global_attribute_category    => x_asset_fin_rec_new.global_attribute_category,
350           X_group_asset_id               => x_asset_fin_rec_new.group_asset_id,
351           X_salvage_type                 => x_asset_fin_rec_new.salvage_type,
352           X_deprn_limit_type             => x_asset_fin_rec_new.deprn_limit_type,
353           X_over_depreciate_option       => x_asset_fin_rec_new.over_depreciate_option,
354           X_super_group_id               => x_asset_fin_rec_new.super_group_id,
355           X_reduction_rate               => x_asset_fin_rec_new.reduction_rate,
356           X_reduce_addition_flag         => x_asset_fin_rec_new.reduce_addition_flag,
357           X_reduce_adjustment_flag       => x_asset_fin_rec_new.reduce_adjustment_flag,
358           X_reduce_retirement_flag       => x_asset_fin_rec_new.reduce_retirement_flag,
359           X_recognize_gain_loss          => x_asset_fin_rec_new.recognize_gain_loss,
360           X_recapture_reserve_flag       => x_asset_fin_rec_new.recapture_reserve_flag,
361           X_limit_proceeds_flag          => x_asset_fin_rec_new.limit_proceeds_flag,
362           X_terminal_gain_loss           => x_asset_fin_rec_new.terminal_gain_loss,
363           X_exclude_proceeds_from_basis  => x_asset_fin_rec_new.exclude_proceeds_from_basis,
364           X_retirement_deprn_option      => x_asset_fin_rec_new.retirement_deprn_option,
365           X_tracking_method              => x_asset_fin_rec_new.tracking_method,
366           X_allocate_to_fully_rsv_flag   =>x_asset_fin_rec_new.allocate_to_fully_rsv_flag,
367           X_allocate_to_fully_ret_flag   =>x_asset_fin_rec_new.allocate_to_fully_ret_flag,
368           X_exclude_fully_rsv_flag       => x_asset_fin_rec_new.exclude_fully_rsv_flag,
369           X_excess_allocation_option     => x_asset_fin_rec_new.excess_allocation_option,
370           X_depreciation_option          => x_asset_fin_rec_new.depreciation_option,
371           X_member_rollup_flag           => x_asset_fin_rec_new.member_rollup_flag,
372           X_ytd_proceeds                 => nvl(x_asset_fin_rec_new.ytd_proceeds, 0) + p_proceeds,
373           X_ltd_proceeds                 => nvl(x_asset_fin_rec_new.ltd_proceeds, 0) + p_proceeds,
374           X_eofy_reserve                 => x_asset_fin_rec_new.eofy_reserve,
375           X_terminal_gain_loss_amount    => x_asset_fin_rec_new.terminal_gain_loss_amount,
376           X_ltd_cost_of_removal          => nvl(x_asset_fin_rec_new.ltd_cost_of_removal, 0) +
377                                             p_cost_of_removal,
378           X_mrc_sob_type_code            => p_mrc_sob_type_code,
379           X_set_of_books_id              => px_asset_hdr_rec.set_of_books_id,
380           X_Return_Status                => l_status,
381           X_Calling_Fn                   => l_calling_fn,
382           p_log_level_rec                => p_log_level_rec
383          );
384 
385    if not l_status then
386       raise adj_err;
387    end if;
388 
389    return true;
390 
391 EXCEPTION
392    when adj_err then
393         fa_srvr_msg.add_message(calling_fn => l_calling_fn, p_log_level_rec => p_log_level_rec);
394         return false;
395    when others then
396         fa_srvr_msg.add_sql_error(calling_fn => l_calling_fn, p_log_level_rec => p_log_level_rec);
397         return false;
398 
399 END do_retirement_adjustment;
400 
401 END FA_RETIREMENT_ADJUSTMENT_PVT;