DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSE_ASSET_ADJUST_PKG

Source


1 PACKAGE BODY CSE_ASSET_ADJUST_PKG AS
2 -- $Header: CSEFADJB.pls 120.1 2005/06/13 11:28:25 appldev  $
3 
4 PROCEDURE process_adjustment_trans(
5  x_return_code            OUT NOCOPY VARCHAR2
6 ,x_err_buffer             OUT NOCOPY VARCHAR2
7 ,p_inv_org_id               IN NUMBER
8 ,p_inventory_item_id        IN NUMBER
9 , p_conc_request_id         IN NUMBER )
10 IS
11 BEGIN
12  NULL ;
13 END process_adjustment_trans ;
14 
15 
16 PROCEDURE retire_asset (
17  p_ret_asset_rec             IN   cse_datastructures_pub.asset_query_rec
18 ,p_ret_dist_tbl              IN   cse_datastructures_pub.distribution_tbl
19 ,p_transaction_id            IN   NUMBER
20 ,x_return_status             OUT NOCOPY  VARCHAR2
21 ,x_error_msg                 OUT NOCOPY  VARCHAR2)
22 IS
23 
24 BEGIN
25  NULL ;
26 END retire_asset ;
27 
28 
29 
30 PROCEDURE insert_retirement (
31   p_ext_ret_rec           IN OUT NOCOPY fa_mass_ext_retirements%ROWTYPE
32 , x_return_status         OUT NOCOPY    VARCHAR2
33 , x_error_msg             OUT NOCOPY    VARCHAR2)
34 IS
35 l_api_name    VARCHAR2(100) := 'CSE_ASSET_ADJUST_PKG.insert_retirement' ;
36 
37 BEGIN
38   cse_util_pkg.write_log('Begin --Insert Retirements ');
39 INSERT INTO fa_mass_ext_retirements (
40  BATCH_NAME ,
41  MASS_EXTERNAL_RETIRE_ID ,
42  RETIREMENT_ID          ,
43  BOOK_TYPE_CODE        ,
44  REVIEW_STATUS        ,
45  ASSET_ID            ,
46  DISTRIBUTION_ID     ,
47  TRANSACTION_NAME   ,
48  DATE_RETIRED      ,
49  DATE_EFFECTIVE   ,
50  COST_RETIRED    ,
51  RETIREMENT_PRORATE_CONVENTION ,
52  UNITS ,
53  PERCENTAGE  ,
54  COST_OF_REMOVAL  ,
55  PROCEEDS_OF_SALE  ,
56  RETIREMENT_TYPE_CODE  ,
57  REFERENCE_NUM  ,
58  SOLD_TO        ,
59  TRADE_IN_ASSET_ID  ,
60  CALC_GAIN_LOSS_FLAG,
61  STL_METHOD_CODE     ,
62  STL_LIFE_IN_MONTHS  ,
63  STL_DEPRN_AMOUNT   ,
64  CREATED_BY        ,
65  CREATION_DATE    ,
66  LAST_UPDATED_BY ,
67  LAST_UPDATE_DATE ,
68  LAST_UPDATE_LOGIN )
69 VALUES
70 (p_ext_ret_rec.BATCH_NAME ,
71 p_ext_ret_rec.MASS_EXTERNAL_RETIRE_ID ,
72 p_ext_ret_rec.RETIREMENT_ID          ,
73 p_ext_ret_rec.BOOK_TYPE_CODE        ,
74 p_ext_ret_rec.REVIEW_STATUS        ,
75 p_ext_ret_rec.ASSET_ID            ,
76 p_ext_ret_rec.DISTRIBUTION_ID    ,
77 p_ext_ret_rec.TRANSACTION_NAME   ,
78 p_ext_ret_rec.DATE_RETIRED      ,
79 p_ext_ret_rec.DATE_EFFECTIVE   ,
80 p_ext_ret_rec.COST_RETIRED    ,
81 p_ext_ret_rec.RETIREMENT_PRORATE_CONVENTION ,
82 p_ext_ret_rec.UNITS ,
83 p_ext_ret_rec.PERCENTAGE  ,
84 p_ext_ret_rec.COST_OF_REMOVAL  ,
85 p_ext_ret_rec.PROCEEDS_OF_SALE  ,
86 p_ext_ret_rec.RETIREMENT_TYPE_CODE  ,
87 p_ext_ret_rec.REFERENCE_NUM  ,
88 p_ext_ret_rec.SOLD_TO        ,
89 p_ext_ret_rec.TRADE_IN_ASSET_ID  ,
90 p_ext_ret_rec.CALC_GAIN_LOSS_FLAG,
91 p_ext_ret_rec.STL_METHOD_CODE     ,
92 p_ext_ret_rec.STL_LIFE_IN_MONTHS  ,
93 p_ext_ret_rec.STL_DEPRN_AMOUNT   ,
94 p_ext_ret_rec.CREATED_BY        ,
95 p_ext_ret_rec.CREATION_DATE    ,
96 p_ext_ret_rec.LAST_UPDATED_BY ,
97 p_ext_ret_rec.LAST_UPDATE_DATE ,
98 p_ext_ret_rec.LAST_UPDATE_LOGIN ) ;
99 
100 EXCEPTION
101 WHEN OTHERS
102 THEN
103    x_return_status := fnd_api.G_RET_STS_ERROR ;
104    fnd_message.set_name('CSE','CSE_UNEXP_SQL_ERROR');
105    fnd_message.set_token('API_NAME',l_api_name);
106    fnd_message.set_token('SQL_ERROR',SQLERRM);
107    x_error_msg := fnd_message.get;
108 
109 END insert_retirement ;
110 
111 
112 
113 PROCEDURE create_inv_rets(p_asset_id IN NUMBER,
114              p_mass_ext_retire_id    IN NUMBER,
115              p_mtl_cost              IN OUT NOCOPY NUMBER,
116              p_non_mtl_cost          IN OUT NOCOPY NUMBER,
117              x_return_status         OUT NOCOPY VARCHAR2,
118              x_error_msg             OUT NOCOPY VARCHAR2)
119 IS
120 l_api_name   VARCHAR2(100) := 'CSE_ASSET_ADJUST_PKG.create_inv_rets';
121 l_cost       NUMBER ;
122 CURSOR mtl_src_lines_cur IS
123 SELECT source_line_id
124      , fixed_assets_cost cost
125 FROM   fa_asset_invoices
126 WHERE  SIGN(fixed_assets_cost) = SIGN(p_mtl_cost)
127 AND    NVL(attribute15,'N') = 'Y'
128 AND    date_ineffective IS NULL
129 AND    asset_id = p_asset_id ;
130 
131 
132 CURSOR non_mtl_src_lines_cur IS
133 SELECT source_line_id
134      , fixed_assets_cost cost
135 FROM   fa_asset_invoices
136 WHERE  SIGN(fixed_assets_cost) = SIGN(p_mtl_cost)
137 AND    NVL(attribute15,'N') <> 'Y'
138 AND    date_ineffective IS NULL
139 AND    asset_id = p_asset_id ;
140 
141 BEGIN
142    FOR mtl_src_lines_rec IN mtl_src_lines_cur
143    LOOP
144       IF ABS(mtl_src_lines_rec.cost) < ABS(p_mtl_cost)
145       THEN
146          l_cost := mtl_src_lines_rec.cost ;
147       ELSE
148          l_cost := p_mtl_cost ;
149       END IF ;
150       IF l_cost = 0
151       THEN
152          EXIT ;
153       END IF ;
154       INSERT INTO fa_ext_inv_retirements (
155                 mass_external_retire_id
156               , source_line_id
157               , cost_retired )
158       VALUES ( p_mass_ext_retire_id
159               , mtl_src_lines_rec.source_line_id
160               , l_cost) ;
161       p_mtl_cost := p_mtl_cost - l_cost ;
162    END LOOP ;
163    FOR non_mtl_src_lines_rec IN non_mtl_src_lines_cur
164    LOOP
165       IF ABS(non_mtl_src_lines_rec.cost) < ABS(p_non_mtl_cost)
166       THEN
167          l_cost := non_mtl_src_lines_rec.cost ;
168       ELSE
169          l_cost := p_non_mtl_cost ;
170       END IF ;
171       IF l_cost = 0
172       THEN
173          EXIT ;
174       END IF ;
175       INSERT INTO fa_ext_inv_retirements (
176                 mass_external_retire_id
177               , source_line_id
178               , cost_retired )
179       VALUES ( p_mass_ext_retire_id
180               , non_mtl_src_lines_rec.source_line_id
181               , l_cost) ;
182    END LOOP ;
183 EXCEPTION
184 WHEN OTHERS
185 THEN
186    x_return_status := fnd_api.G_RET_STS_ERROR ;
187    fnd_message.set_name('CSE','CSE_UNEXP_SQL_ERROR');
188    fnd_message.set_token('API_NAME',l_api_name);
189    fnd_message.set_token('SQL_ERROR',SQLERRM);
190    x_error_msg := fnd_message.get;
191 
192 END create_inv_rets ;
193 
194 
195 END CSE_ASSET_ADJUST_PKG ;