DBA Data[Home] [Help]

PACKAGE BODY: APPS.ARP_DISTRIBUTIONS_PKG

Source


1 PACKAGE BODY ARP_DISTRIBUTIONS_PKG AS
2 /* $Header: ARJIDSTB.pls 120.12 2005/06/02 22:52:16 hyu ship $*/
3 --
4 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
5 
6 PROCEDURE insert_p(
7 	p_dist_rec 	IN ar_distributions%ROWTYPE,
8 	p_line_id	OUT NOCOPY ar_distributions.line_id%TYPE ) IS
9 l_line_id	ar_distributions.line_id%TYPE;
10 exp_null_insert exception;
11 pragma exception_init(exp_null_insert, -1400);
12 BEGIN
13       IF PG_DEBUG in ('Y', 'C') THEN
14          arp_standard.debug( 'arp_distributions_pkg.insert_p()+' );
15       END IF;
16       --
17       SELECT ar_distributions_s.nextval
18       INTO   l_line_id
19       FROM   dual;
20       --
21       IF PG_DEBUG in ('Y', 'C') THEN
22          arp_standard.debug(  'LINE ID '|| l_line_id);
23          arp_standard.debug(  'SOURCE_ID ' || p_dist_rec.SOURCE_ID);
24          arp_standard.debug(  'SOURCE_TABLE ' || p_dist_rec.SOURCE_TABLE);
25          arp_standard.debug(  'SOURCE_TYPE ' || p_dist_rec.SOURCE_TYPE);
26          arp_standard.debug(  'SOURCE_TYPE_SECONDARY ' || p_dist_rec.SOURCE_TYPE_SECONDARY);
27          arp_standard.debug(  'CODE_COMBINATION_ID '||p_dist_rec.CODE_COMBINATION_ID);
28          arp_standard.debug(  'AMOUNT_DR ' || p_dist_rec.AMOUNT_DR);
29          arp_standard.debug(  'AMOUNT_CR ' || p_dist_rec.AMOUNT_CR);
30          arp_standard.debug(  'ACCTD_AMOUNT_DR ' || p_dist_rec.ACCTD_AMOUNT_DR);
31          arp_standard.debug(  'ACCTD_AMOUNT_CR ' ||p_dist_rec.ACCTD_AMOUNT_CR);
32          arp_standard.debug(  'SOURCE_TABLE_SECONDARY  ' || p_dist_rec.SOURCE_TABLE_SECONDARY);
33          arp_standard.debug(  'SOURCE_ID_SECONDARY     ' || p_dist_rec.SOURCE_ID_SECONDARY);
34          arp_standard.debug(  'CURRENCY_CODE           ' || p_dist_rec.CURRENCY_CODE);
35          arp_standard.debug(  'CURRENCY_CONVERSION_RATE ' || p_dist_rec.CURRENCY_CONVERSION_RATE);
36          arp_standard.debug(  'CURRENCY_CONVERSION_TYPE ' || p_dist_rec.CURRENCY_CONVERSION_TYPE);
37          arp_standard.debug(  'CURRENCY_CONVERSION_DATE ' || p_dist_rec.CURRENCY_CONVERSION_DATE);
38          arp_standard.debug(  'TAXABLE_ENTERED_DR    ' || p_dist_rec.TAXABLE_ENTERED_DR);
39          arp_standard.debug(  'TAXABLE_ENTERED_CR    ' || p_dist_rec.TAXABLE_ENTERED_CR);
40          arp_standard.debug(  'TAXABLE_ACCOUNTED_DR  ' || p_dist_rec.TAXABLE_ACCOUNTED_DR);
41          arp_standard.debug(  'TAXABLE_ACCOUNTED_CR  ' || p_dist_rec.TAXABLE_ACCOUNTED_CR);
42          arp_standard.debug(  'TAX_LINK_ID           ' || p_dist_rec.TAX_LINK_ID);
43          arp_standard.debug(  'THIRD_PARTY_ID        ' || p_dist_rec.THIRD_PARTY_ID);
44          arp_standard.debug(  'THIRD_PARTY_SUB_ID    ' || p_dist_rec.THIRD_PARTY_SUB_ID);
45          arp_standard.debug(  'REVERSED_SOURCE_ID    ' || p_dist_rec.REVERSED_SOURCE_ID);
46          arp_standard.debug(  'TAX_GROUP_CODE_ID     ' || p_dist_rec.TAX_GROUP_CODE_ID);
47          arp_standard.debug(  'TAX_CODE_ID           ' || p_dist_rec.TAX_CODE_ID);
48          arp_standard.debug(  'LOCATION_SEGMENT_ID   ' || p_dist_rec.LOCATION_SEGMENT_ID);
49          --HYU--{
50          arp_standard.debug(  'FROM_AMOUNT_DR       ' || p_dist_rec.FROM_AMOUNT_DR);
51          arp_standard.debug(  'FROM_AMOUNT_CR       ' || p_dist_rec.FROM_AMOUNT_CR);
52          arp_standard.debug(  'FROM_ACCTD_AMOUNT_DR ' || p_dist_rec.FROM_ACCTD_AMOUNT_DR);
53          arp_standard.debug(  'FROMACCTD_AMOUNT_CR  ' || p_dist_rec.FROM_ACCTD_AMOUNT_CR);
54          arp_standard.debug(  'ref_account_class            ' || p_dist_rec.ref_account_class);
55          arp_standard.debug(  'activity_bucket               ' || p_dist_rec.activity_bucket);
56          arp_standard.debug(  'REF_DIST_CCID        ' || p_dist_rec.ref_dist_ccid);
57          arp_standard.debug(  'REF_MF_DIST_FLAG     ' || p_dist_rec.ref_mf_dist_flag);
58          --HYU--}
59       END IF;
60 
61       INSERT INTO  ar_distributions (
62 		   line_id,
63 		   source_id,
64  		   source_table,
65  		   source_type,
66  		   source_type_secondary,
67  		   code_combination_id,
68  		   amount_dr,
69  		   amount_cr,
70  		   acctd_amount_dr,
71  		   acctd_amount_cr,
72  		   created_by,
73  		   creation_date,
74  		   last_updated_by,
75  		   last_update_date,
76                    last_update_login,
77                    source_id_secondary,
78                    source_table_secondary,
79                    currency_code        ,
80                    currency_conversion_rate,
81                    currency_conversion_type,
82                    currency_conversion_date,
83                    third_party_id,
84                    third_party_sub_id,
85                    tax_code_id,
86                    location_segment_id,
87                    taxable_entered_dr,
88                    taxable_entered_cr,
89                    taxable_accounted_dr,
90                    taxable_accounted_cr,
91                    tax_link_id,
92                    reversed_source_id,
93                    tax_group_code_id
94                    ,org_id
95                    --{BUG#2979254
96                    ,ref_customer_trx_line_id
97                    ,ref_cust_trx_line_gl_dist_id
98                    ,ref_line_id
99                    ,from_amount_dr
100                    ,from_amount_cr
101                    ,from_acctd_amount_dr
102                    ,from_acctd_amount_cr
103                    ,ref_account_class
104                    ,activity_bucket
105                    ,ref_dist_ccid
106                    ,ref_mf_dist_flag
107                    --}
108  		 )
109        VALUES (    l_line_id,
110                    p_dist_rec.source_id,
111                    p_dist_rec.source_table,
112                    p_dist_rec.source_type,
113                    p_dist_rec.source_type_secondary,
114                    p_dist_rec.code_combination_id,
115                    p_dist_rec.amount_dr,
116                    p_dist_rec.amount_cr,
117                    p_dist_rec.acctd_amount_dr,
118                    p_dist_rec.acctd_amount_cr,
119 		   arp_standard.profile.user_id,
120  		   SYSDATE,
121 		   arp_standard.profile.user_id,
122  		   SYSDATE,
123 		   NVL( arp_standard.profile.last_update_login,
124 			p_dist_rec.last_update_login ),
125                    p_dist_rec.source_id_secondary,
126                    p_dist_rec.source_table_secondary,
127                    p_dist_rec.currency_code        ,
128                    p_dist_rec.currency_conversion_rate,
129                    p_dist_rec.currency_conversion_type,
130                    p_dist_rec.currency_conversion_date,
131                    p_dist_rec.third_party_id,
132                    p_dist_rec.third_party_sub_id,
133                    p_dist_rec.tax_code_id,
134                    p_dist_rec.location_segment_id,
135                    p_dist_rec.taxable_entered_dr,
136                    p_dist_rec.taxable_entered_cr,
137                    p_dist_rec.taxable_accounted_dr,
138                    p_dist_rec.taxable_accounted_cr,
139                    p_dist_rec.tax_link_id,
140                    p_dist_rec.reversed_source_id,
141                    p_dist_rec.tax_group_code_id
142                    ,arp_standard.sysparm.org_id /* SSA changes anuj */
143                    --{BUG#2979254
144                    ,p_dist_rec.ref_customer_trx_line_id
145                    ,p_dist_rec.ref_cust_trx_line_gl_dist_id
146                    ,p_dist_rec.ref_line_id
147                    ,p_dist_rec.from_amount_dr
148                    ,p_dist_rec.from_amount_cr
149                    ,p_dist_rec.from_acctd_amount_dr
150                    ,p_dist_rec.from_acctd_amount_cr
151                    ,p_dist_rec.ref_account_class
152                    ,p_dist_rec.activity_bucket
153                    ,p_dist_rec.ref_dist_ccid
154                    ,p_dist_rec.ref_mf_dist_flag
155                    --}
156 	       );
157     --
158     p_line_id := l_line_id;
159     --
160     IF PG_DEBUG in ('Y', 'C') THEN
161        arp_standard.debug( 'arp_distributions_pkg.insert_p()-' );
162     END IF;
163     EXCEPTION
164 	WHEN exp_null_insert THEN
165         FND_MESSAGE.SET_NAME('AR','AR_INS_NULL_INTO_NOTNULL');
166 	APP_EXCEPTION.RAISE_EXCEPTION;
167 	WHEN  OTHERS THEN
168 	    IF PG_DEBUG in ('Y', 'C') THEN
169 	       arp_standard.debug( 'EXCEPTION: arp_distributions_pkg.insert_p' );
170 	    END IF;
171 	    RAISE;
172 END insert_p;
173 --
174 PROCEDURE update_p(
175 	p_dist_rec 	IN ar_distributions%ROWTYPE ) IS
176 BEGIN
177     IF PG_DEBUG in ('Y', 'C') THEN
178        arp_standard.debug( 'arp_distributions_pkg.update_p()+' );
179     END IF;
180     --
181     UPDATE ar_distributions SET
182 	   source_id = p_dist_rec.source_id,
183            source_table = p_dist_rec.source_table,
184            source_type = p_dist_rec.source_type,
185            source_type_secondary = p_dist_rec.source_type_secondary,
186            code_combination_id = p_dist_rec.code_combination_id,
187            amount_dr = p_dist_rec.amount_dr,
188            amount_cr = p_dist_rec.amount_cr,
189            acctd_amount_dr = p_dist_rec.acctd_amount_dr,
190            acctd_amount_cr = p_dist_rec.acctd_amount_cr,
191            last_updated_by = arp_standard.profile.user_id,
192            last_update_date = SYSDATE,
193            last_update_login = NVL( arp_standard.profile.last_update_login,
194                         	    p_dist_rec.last_update_login ),
195            source_id_secondary = p_dist_rec.source_id_secondary,
196            source_table_secondary = p_dist_rec.source_table_secondary,
197            currency_code = p_dist_rec.currency_code,
198            currency_conversion_rate = p_dist_rec.currency_conversion_rate,
199            currency_conversion_type = p_dist_rec.currency_conversion_type,
200            currency_conversion_date = p_dist_rec.currency_conversion_date,
201            third_party_id = p_dist_rec.third_party_id,
202            third_party_sub_id = p_dist_rec.third_party_sub_id,
203            tax_code_id = p_dist_rec.tax_code_id,
204            location_segment_id = p_dist_rec.location_segment_id,
205            taxable_entered_dr = p_dist_rec.taxable_entered_dr,
206            taxable_entered_cr = p_dist_rec.taxable_entered_cr,
207            taxable_accounted_dr = p_dist_rec.taxable_accounted_dr,
208            taxable_accounted_cr = p_dist_rec.taxable_accounted_cr,
209            tax_link_id = p_dist_rec.tax_link_id,
210            reversed_source_id = p_dist_rec.reversed_source_id,
211            tax_group_code_id = p_dist_rec.tax_group_code_id,
212            --{BUG#2979254
213            ref_customer_trx_line_id     = p_dist_rec.ref_customer_trx_line_id,
214            ref_cust_trx_line_gl_dist_id = p_dist_rec.ref_cust_trx_line_gl_dist_id,
215            ref_line_id                  = p_dist_rec.ref_line_id,
216            from_amount_dr               = p_dist_rec.from_amount_dr,
217            from_amount_cr               = p_dist_rec.from_amount_cr,
218            from_acctd_amount_dr         = p_dist_rec.from_acctd_amount_dr,
219            from_acctd_amount_cr         = p_dist_rec.from_acctd_amount_cr,
220            ref_account_class                    = p_dist_rec.ref_account_class,
221            activity_bucket                       = p_dist_rec.activity_bucket,
222            ref_dist_ccid                = p_dist_rec.ref_dist_ccid,
223            ref_mf_dist_flag             = p_dist_rec.ref_mf_dist_flag
224            --}
225     WHERE line_id = p_dist_rec.line_id;
226     --
227     IF PG_DEBUG in ('Y', 'C') THEN
228        arp_standard.debug( 'arp_distributions_pkg.update_p()-' );
229     END IF;
230     EXCEPTION
231         WHEN  OTHERS THEN
232             IF PG_DEBUG in ('Y', 'C') THEN
233                arp_standard.debug( 'EXCEPTION: arp_distributions_pkg.update_p' );
234             END IF;
235             RAISE;
236 END update_p;
237 --
238 PROCEDURE delete_p(
239 	p_line_id IN ar_distributions.line_id%TYPE ) IS
240 BEGIN
241     IF PG_DEBUG in ('Y', 'C') THEN
242        arp_standard.debug( 'arp_distributions_pkg.delete_p()+' );
243     END IF;
244     --
245     DELETE FROM ar_distributions
246     WHERE line_id = p_line_id;
247     --
248     IF PG_DEBUG in ('Y', 'C') THEN
249        arp_standard.debug( 'arp_distributions_pkg.delete_p()-' );
250     END IF;
251     EXCEPTION
252         WHEN  OTHERS THEN
253             IF PG_DEBUG in ('Y', 'C') THEN
254                arp_standard.debug( 'EXCEPTION: arp_distributions_pkg.delete_p' );
255             END IF;
256             RAISE;
257 END delete_p;
258 --
259 PROCEDURE lock_p(
260 	p_line_id IN ar_distributions.line_id%TYPE ) IS
261 l_line_id ar_distributions.line_id%TYPE;
262 BEGIN
263     IF PG_DEBUG in ('Y', 'C') THEN
264        arp_standard.debug( 'arp_distributions_pkg.lock_p()+' );
265     END IF;
266     SELECT line_id
267     INTO   l_line_id
268     FROM  ar_distributions
269     WHERE line_id = p_line_id
270     FOR UPDATE OF line_id;
271     --
272     IF PG_DEBUG in ('Y', 'C') THEN
273        arp_standard.debug( 'arp_distributions_pkg.lock_p()-' );
274     END IF;
275     EXCEPTION
276         WHEN  OTHERS THEN
277             IF PG_DEBUG in ('Y', 'C') THEN
278                arp_standard.debug( 'EXCEPTION: arp_distributions_pkg.lock_p' );
279             END IF;
280             RAISE;
281 END lock_p;
282 --
283 PROCEDURE fetch_p(
284 	p_line_id IN ar_distributions.line_id%TYPE,
285         p_dist_rec OUT NOCOPY ar_distributions%ROWTYPE ) IS
286 BEGIN
287     IF PG_DEBUG in ('Y', 'C') THEN
288        arp_standard.debug( 'arp_distributions_pkg.fetch_p()+' );
289     END IF;
290     SELECT *
291     INTO   p_dist_rec
292     FROM   ar_distributions
293     WHERE  line_id = p_line_id;
294     IF PG_DEBUG in ('Y', 'C') THEN
295        arp_standard.debug( 'arp_distributions_pkg.fetch_p()-' );
296     END IF;
297     --
298     EXCEPTION
299     --
300          WHEN OTHERS THEN
301               IF PG_DEBUG in ('Y', 'C') THEN
302                  arp_standard.debug( 'EXCEPTION: arp_distributions_pkg.fetch_p' );
303               END IF;
304               RAISE;
305 END fetch_p;
306 --
307 PROCEDURE fetch_pk(
308 	p_source_id 	IN ar_distributions.source_id%TYPE,
309 	p_source_table  IN ar_distributions.source_table%TYPE,
310 	p_source_type	IN ar_distributions.source_type%TYPE,
311         p_dist_rec OUT NOCOPY ar_distributions%ROWTYPE ) IS
312 BEGIN
313     IF PG_DEBUG in ('Y', 'C') THEN
314        arp_standard.debug( 'arp_distributions_pkg.fetch_pk()+' );
315     END IF;
316     SELECT *
317     INTO   p_dist_rec
318     FROM   ar_distributions
319     WHERE  source_id = p_source_id
320       AND  source_table = p_source_table
321       AND  source_type = p_source_type;
322     IF PG_DEBUG in ('Y', 'C') THEN
323        arp_standard.debug( 'arp_distributions_pkg.fetch_pk()-' );
324     END IF;
325     --
326     EXCEPTION
327     --
328          WHEN OTHERS THEN
329              IF PG_DEBUG in ('Y', 'C') THEN
330                 arp_standard.debug( 'EXCEPTION: arp_distributions_pkg.fetch_pk' );
331              END IF;
332               RAISE;
333 END fetch_pk;
334 --
335 PROCEDURE lock_fetch_pk(
336 	p_source_id 	IN ar_distributions.source_id%TYPE,
337 	p_source_table  IN ar_distributions.source_table%TYPE,
338 	p_source_type	IN ar_distributions.source_type%TYPE,
339         p_dist_rec OUT NOCOPY ar_distributions%ROWTYPE ) IS
340 BEGIN
341     IF PG_DEBUG in ('Y', 'C') THEN
342        arp_standard.debug( 'arp_distributions_pkg.lock_fetch_pk()+' );
343     END IF;
344     SELECT *
345     INTO   p_dist_rec
346     FROM   ar_distributions
347     WHERE  source_id = p_source_id
348       AND  source_table = p_source_table
349       AND  source_type = p_source_type
350     FOR UPDATE OF line_id;
351 
352     IF PG_DEBUG in ('Y', 'C') THEN
353        arp_standard.debug( 'arp_distributions_pkg.lock_fetch_pk()-' );
354     END IF;
355     --
356     EXCEPTION
357     --
358          WHEN OTHERS THEN
359              IF PG_DEBUG in ('Y', 'C') THEN
360                 arp_standard.debug( 'EXCEPTION: arp_distributions_pkg.lock_fetch_pk' );
361              END IF;
362               RAISE;
363 END lock_fetch_pk;
364 --
365 PROCEDURE nowaitlock_fetch_pk(
366 	p_source_id 	IN ar_distributions.source_id%TYPE,
367 	p_source_table  IN ar_distributions.source_table%TYPE,
368 	p_source_type	IN ar_distributions.source_type%TYPE,
369         p_dist_rec OUT NOCOPY ar_distributions%ROWTYPE ) IS
370 BEGIN
371     IF PG_DEBUG in ('Y', 'C') THEN
372        arp_standard.debug( 'arp_distributions_pkg.nowaitlock_fetch_pk()+' );
373     END IF;
374     SELECT *
375     INTO   p_dist_rec
376     FROM   ar_distributions
377     WHERE  source_id = p_source_id
378       AND  source_table = p_source_table
379       AND  source_type = p_source_type
380     FOR UPDATE OF line_id NOWAIT;
381 
382     IF PG_DEBUG in ('Y', 'C') THEN
383        arp_standard.debug( 'arp_distributions_pkg.nowaitlock_fetch_pk()-' );
384     END IF;
385     --
386     EXCEPTION
387     --
388          WHEN OTHERS THEN
389              IF PG_DEBUG in ('Y', 'C') THEN
390                 arp_standard.debug( 'EXCEPTION: arp_distributions_pkg.nowaitlock_fetch_pk' );
391              END IF;
392               RAISE;
393 END nowaitlock_fetch_pk;
394 --
395 END ARP_DISTRIBUTIONS_PKG;