[Home] [Help]
PACKAGE BODY: APPS.ARP_MISC_CASH_DIST_PKG
Source
1 PACKAGE BODY ARP_MISC_CASH_DIST_PKG AS
2 /*$Header: ARRIMCDB.pls 120.7 2006/06/09 16:25:49 hyu ship $*/
3
4 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
5
6 PROCEDURE insert_p( p_mcd_rec IN ar_misc_cash_distributions%ROWTYPE,
7 p_mcd_id OUT NOCOPY ar_misc_cash_distributions.misc_cash_distribution_id%TYPE ) IS
8 l_mcd_id ar_misc_cash_distributions.misc_cash_distribution_id%TYPE;
9
10 --5201086
11 CURSOR cu_crh(p_cr_id IN NUMBER) IS
12 SELECT cash_receipt_history_id
13 FROM ar_cash_receipt_history
14 WHERE cash_receipt_id = p_cr_id
15 AND current_record_flag = 'Y';
16 l_crh_id NUMBER;
17
18
19 BEGIN
20 IF PG_DEBUG in ('Y', 'C') THEN
21 arp_standard.debug( 'arp_misc_cash_dist_pkg.insert_p()+' );
22 END IF;
23
24 SELECT ar_misc_cash_distributions_s.nextval
25 INTO l_mcd_id
26 FROM dual;
27
28 --5201086
29 IF p_mcd_rec.cash_receipt_history_id IS NULL AND
30 p_mcd_rec.cash_receipt_id IS NOT NULL
31 THEN
32 OPEN cu_crh(p_mcd_rec.cash_receipt_id);
33 FETCH cu_crh INTO l_crh_id;
34 CLOSE cu_crh;
35 ELSE
36 l_crh_id := p_mcd_rec.cash_receipt_history_id;
37 END IF;
38
39
40 INSERT INTO ar_misc_cash_distributions (
41 misc_cash_distribution_id,
42 cash_receipt_id,
43 code_combination_id,
44 set_of_books_id,
45 gl_date,
46 percent,
47 amount,
48 comments,
49 gl_posted_date,
50 apply_date,
51 attribute_category,
52 attribute1,
53 attribute2,
54 attribute3,
55 attribute4,
56 attribute5,
57 attribute6,
58 attribute7,
59 attribute8,
60 attribute9,
61 attribute10,
62 attribute11,
63 attribute12,
64 attribute13,
65 attribute14,
66 attribute15,
67 request_id,
68 program_application_id,
69 program_id,
70 program_update_date,
71 created_by,
72 creation_date,
73 last_updated_by,
74 last_update_date,
75 last_update_login,
76 posting_control_id,
77 acctd_amount,
78 ussgl_transaction_code,
79 ussgl_transaction_code_context,
80 created_from,
81 reversal_gl_date
82 ,org_id
83 --5201086
84 ,cash_receipt_history_id
85 )
86 VALUES ( l_mcd_id,
87 p_mcd_rec.cash_receipt_id,
88 p_mcd_rec.code_combination_id,
89 p_mcd_rec.set_of_books_id,
90 p_mcd_rec.gl_date,
91 p_mcd_rec.percent,
92 p_mcd_rec.amount,
93 p_mcd_rec.comments,
94 p_mcd_rec.gl_posted_date,
95 p_mcd_rec.apply_date,
96 p_mcd_rec.attribute_category,
97 p_mcd_rec.attribute1,
98 p_mcd_rec.attribute2,
99 p_mcd_rec.attribute3,
100 p_mcd_rec.attribute4,
101 p_mcd_rec.attribute5,
102 p_mcd_rec.attribute6,
103 p_mcd_rec.attribute7,
104 p_mcd_rec.attribute8,
105 p_mcd_rec.attribute9,
106 p_mcd_rec.attribute10,
107 p_mcd_rec.attribute11,
108 p_mcd_rec.attribute12,
109 p_mcd_rec.attribute13,
110 p_mcd_rec.attribute14,
111 p_mcd_rec.attribute15,
112 NVL( arp_standard.profile.request_id, p_mcd_rec.request_id ),
113 NVL( arp_standard.profile.program_application_id,
114 p_mcd_rec.program_application_id ),
115 NVL( arp_standard.profile.program_id, p_mcd_rec.program_id ),
116 DECODE( arp_standard.profile.program_id,
117 NULL, NULL, SYSDATE ),
118 arp_standard.profile.user_id,
119 SYSDATE,
120 arp_standard.profile.user_id,
121 SYSDATE,
122 NVL( arp_standard.profile.last_update_login,
123 p_mcd_rec.last_update_login ),
124 p_mcd_rec.posting_control_id,
125 p_mcd_rec.acctd_amount,
126 p_mcd_rec.ussgl_transaction_code,
127 p_mcd_rec.ussgl_transaction_code_context,
128 p_mcd_rec.created_from,
129 p_mcd_rec.reversal_gl_date
130 ,arp_standard.sysparm.org_id /* SSA changes anuj */
131 --5201086
132 ,l_crh_id
133 );
134
135 p_mcd_id := l_mcd_id;
136 IF PG_DEBUG in ('Y', 'C') THEN
137 arp_standard.debug( 'insert parameters.......');
138 arp_standard.debug( 'misc cash dist id = ' || to_char(l_mcd_id));
139 arp_standard.debug( 'cash_Receipt id = '|| to_char(p_mcd_rec.cash_receipt_id));
140 arp_standard.debug( 'percent= ' || to_char(p_mcd_rec.percent));
141 arp_standard.debug( 'amount= ' || to_char(p_mcd_rec.amount));
142 arp_standard.debug( 'set_of_books id= ' || to_char(p_mcd_rec.set_of_books_id));
143 arp_standard.debug( 'created_from' || p_mcd_rec.created_from);
144 arp_standard.debug( '');
145 arp_standard.debug( 'after insert into ar_misc_cash_distributions');
146 END IF;
147
148
149 IF PG_DEBUG in ('Y', 'C') THEN
150 arp_standard.debug( 'arp_misc_cash_dist_pkg.insert_p()-' );
151 END IF;
152 EXCEPTION
153 WHEN OTHERS THEN
154 IF PG_DEBUG in ('Y', 'C') THEN
155 arp_standard.debug( 'EXCEPTION: arp_misc_cash_dist_pkg.insert_p' );
156 END IF;
157 RAISE;
158 END insert_p;
159 --
160 PROCEDURE update_p( p_mcd_rec IN ar_misc_cash_distributions%ROWTYPE ) IS
161 --5201086
162 CURSOR cu_crh(p_cr_id IN NUMBER) IS
163 SELECT cash_receipt_history_id
164 FROM ar_cash_receipt_history
165 WHERE cash_receipt_id = p_cr_id
166 AND current_record_flag = 'Y';
167 l_crh_id NUMBER;
168 BEGIN
169 IF PG_DEBUG in ('Y', 'C') THEN
170 arp_standard.debug( 'arp_misc_cash_dist_pkg.update_p()+' );
171 END IF;
172
173 --5201086
174 IF p_mcd_rec.cash_receipt_history_id IS NULL AND
175 p_mcd_rec.cash_receipt_id IS NOT NULL
176 THEN
177 OPEN cu_crh(p_mcd_rec.cash_receipt_id);
178 FETCH cu_crh INTO l_crh_id;
179 CLOSE cu_crh;
180 ELSE
181 l_crh_id := p_mcd_rec.cash_receipt_history_id;
182 END IF;
183
184 UPDATE ar_misc_cash_distributions SET
185 code_combination_id = p_mcd_rec.code_combination_id,
186 set_of_books_id = p_mcd_rec.set_of_books_id,
187 gl_date = p_mcd_rec.gl_date,
188 percent = p_mcd_rec.percent,
189 amount = p_mcd_rec.amount,
190 comments = p_mcd_rec.comments,
191 gl_posted_date = p_mcd_rec.gl_posted_date,
192 apply_date = p_mcd_rec.apply_date,
193 attribute_category = p_mcd_rec.attribute_category,
194 attribute1 = p_mcd_rec.attribute1,
195 attribute2 = p_mcd_rec.attribute2,
196 attribute3 = p_mcd_rec.attribute3,
197 attribute4 = p_mcd_rec.attribute4,
198 attribute5 = p_mcd_rec.attribute5,
199 attribute6 = p_mcd_rec.attribute6,
200 attribute7 = p_mcd_rec.attribute7,
201 attribute8 = p_mcd_rec.attribute8,
202 attribute9 = p_mcd_rec.attribute9,
203 attribute10 = p_mcd_rec.attribute10,
204 attribute11 = p_mcd_rec.attribute11,
205 attribute12 = p_mcd_rec.attribute12,
206 attribute13 = p_mcd_rec.attribute13,
207 attribute14 = p_mcd_rec.attribute14,
208 attribute15 = p_mcd_rec.attribute15,
209 request_id = NVL( arp_standard.profile.request_id,
210 p_mcd_rec.request_id ),
211 program_application_id =
212 NVL( arp_standard.profile.program_application_id,
213 p_mcd_rec.program_application_id ),
214 program_id = NVL( arp_standard.profile.program_id,
215 p_mcd_rec.program_id ),
216 program_update_date =
217 DECODE( arp_standard.profile.program_id,
218 NULL, NULL,
219 SYSDATE
220 ),
221 last_updated_by = arp_standard.profile.user_id,
222 last_update_date = SYSDATE,
223 last_update_login =
224 NVL( arp_standard.profile.last_update_login,
225 p_mcd_rec.last_update_login ),
226 posting_control_id = p_mcd_rec.posting_control_id,
227 acctd_amount = p_mcd_rec.acctd_amount,
228 ussgl_transaction_code = p_mcd_rec.ussgl_transaction_code,
229 ussgl_transaction_code_context =
230 p_mcd_rec.ussgl_transaction_code_context,
231 created_from = p_mcd_rec.created_from,
232 reversal_gl_date = p_mcd_rec.reversal_gl_date
233 --5201086
234 ,cash_receipt_history_id = l_crh_id
235 WHERE misc_cash_distribution_id = p_mcd_rec.misc_cash_distribution_id;
236
237 IF PG_DEBUG in ('Y', 'C') THEN
238 arp_standard.debug( 'arp_misc_cash_dist_pkg.update_p()-' );
239 END IF;
240 EXCEPTION
241 WHEN OTHERS THEN
242 IF PG_DEBUG in ('Y', 'C') THEN
243 arp_standard.debug( 'EXCEPTION: arp_misc_cash_dist_pkg.update_p' );
244 END IF;
245 RAISE;
246 END update_p;
247 --
248 PROCEDURE delete_p(
249 p_mcd_id IN ar_misc_cash_distributions.misc_cash_distribution_id%TYPE ) IS
250 BEGIN
251 IF PG_DEBUG in ('Y', 'C') THEN
252 arp_standard.debug( 'arp_misc_cash_dist_pkg.delete_p()+' );
253 END IF;
254 --
255 DELETE FROM ar_misc_cash_distributions
256 WHERE misc_cash_distribution_id = p_mcd_id;
257
258 IF PG_DEBUG in ('Y', 'C') THEN
259 arp_standard.debug( 'arp_misc_cash_dist_pkg.delete_p()-' );
260 END IF;
261 EXCEPTION
262 WHEN OTHERS THEN
263 IF PG_DEBUG in ('Y', 'C') THEN
264 arp_standard.debug( 'EXCEPTION: arp_misc_cash_dist_pkg.delete_p' );
265 END IF;
266 RAISE;
267 END delete_p;
268
269 PROCEDURE lock_p(
270 p_mcd_id IN ar_misc_cash_distributions.misc_cash_distribution_id%TYPE ) IS
271 l_mcd_id ar_misc_cash_distributions.misc_cash_distribution_id%TYPE;
272 BEGIN
273 IF PG_DEBUG in ('Y', 'C') THEN
274 arp_standard.debug( 'arp_misc_cash_dist_pkg.lock_p()+' );
275 END IF;
276 --
277 SELECT misc_cash_distribution_id
278 INTO l_mcd_id
279 FROM ar_misc_cash_distributions
280 WHERE misc_cash_distribution_id = p_mcd_id
281 FOR UPDATE OF amount NOWAIT ;
282 --
283 IF PG_DEBUG in ('Y', 'C') THEN
284 arp_standard.debug( 'arp_misc_cash_dist_pkg.lock_p()-' );
285 END IF;
286 EXCEPTION
287 WHEN OTHERS THEN
288 IF PG_DEBUG in ('Y', 'C') THEN
289 arp_standard.debug( 'EXCEPTION: arp_misc_cash_dist_pkg.lock_p' );
290 END IF;
291 RAISE;
292 END lock_p;
293
294 PROCEDURE fetch_p(
295 p_mcd_id IN ar_misc_cash_distributions.misc_cash_distribution_id%TYPE,
296 p_mcd_rec OUT NOCOPY ar_misc_cash_distributions%ROWTYPE ) IS
297 BEGIN
298 IF PG_DEBUG in ('Y', 'C') THEN
299 arp_standard.debug( 'arp_misc_cash_dist_pkg.fetch_p()+' );
300 END IF;
301 --
302 SELECT *
303 INTO p_mcd_rec
304 FROM ar_misc_cash_distributions
305 WHERE misc_cash_distribution_id = p_mcd_id;
306 --
307 IF PG_DEBUG in ('Y', 'C') THEN
308 arp_standard.debug( 'arp_misc_cash_dist_pkg.fetch_p()-' );
309 END IF;
310 EXCEPTION
311 --
312 WHEN OTHERS THEN
313 IF PG_DEBUG in ('Y', 'C') THEN
314 arp_standard.debug( 'EXCEPTION: arp_misc_cash_dist_pkg.fetch_p' );
315 END IF;
316 RAISE;
317 END fetch_p;
318
319 PROCEDURE nowaitlock_fetch_p(
320 p_mcd_id IN ar_misc_cash_distributions.misc_cash_distribution_id%TYPE,
321 p_mcd_rec OUT NOCOPY ar_misc_cash_distributions%ROWTYPE ) IS
322 BEGIN
323 IF PG_DEBUG in ('Y', 'C') THEN
324 arp_standard.debug( 'arp_misc_cash_dist_pkg.nowaitlock_fetch_p()+' );
325 END IF;
326 --
327 SELECT *
328 INTO p_mcd_rec
329 FROM ar_misc_cash_distributions
330 WHERE misc_cash_distribution_id = p_mcd_id
331 FOR UPDATE OF amount NOWAIT;
332 --
333 IF PG_DEBUG in ('Y', 'C') THEN
334 arp_standard.debug( 'arp_misc_cash_dist_pkg.nowaitlock_fetch_p()-' );
335 END IF;
336 EXCEPTION
337 --
338 WHEN OTHERS THEN
339 IF PG_DEBUG in ('Y', 'C') THEN
340 arp_standard.debug( 'EXCEPTION: arp_misc_cash_dist_pkg.nowaitlock_fetch_p' );
341 END IF;
342 RAISE;
343 END nowaitlock_fetch_p;
344 --
345 END ARP_MISC_CASH_DIST_PKG;