DBA Data[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;