[Home] [Help]
PACKAGE BODY: APPS.JL_AR_RECUR_PKG
Source
1 PACKAGE BODY JL_AR_RECUR_PKG AS
2 /* $Header: jlzzirib.pls 115.0 99/07/16 03:15:25 porting ship $ */
3 pg_cursor1 integer := '';
4 pg_user_id number;
5 pg_conc_login_id number;
6 pg_login_id number;
7 pg_prog_appl_id number;
8 pg_conc_program_id number;
9
10 PROCEDURE insert_interim(
11 p_customer_trx_id IN ra_recur_interim.customer_trx_id%type,
12 p_trx_date IN DATE,
13 p_term_due_date IN DATE,
14 p_gl_date IN DATE,
15 p_term_discount_date IN DATE,
16 p_request_id IN ra_recur_interim.request_id%type,
17 p_doc_sequence_value IN ra_recur_interim.doc_sequence_value%type,
18 p_new_customer_trx_id IN ra_recur_interim.new_customer_trx_id%type,
19 p_batch_source_id IN ra_batch_sources.batch_source_id%type,
20 p_trx_number_out OUT ra_recur_interim.trx_number%type) IS
21
22 l_country_code VARCHAR2(2);
23 l_trx_num_cursor INTEGER;
24 l_dummy INTEGER;
25 l_org_id INTEGER;
26 l_org_str VARCHAR2(30);
27 l_trx_number ra_recur_interim.trx_number%TYPE;
28 l_trx_date DATE;
29
30 BEGIN
31 arp_util.debug('arp_process_recur.insert_p()+');
32 --
33 -- Get Country Code
34 --
35 l_country_code := fnd_profile.value('JGZZ_COUNTRY_CODE');
36
37 --
38 -- Initialize
39 --
40 l_trx_date := p_trx_date;
41 p_trx_number_out := '';
42
43 --
44 -- Get a New Transaction Number
45 --
46 SELECT MIN(org_id)
47 INTO l_org_id
48 FROM ar_system_parameters;
49
50 IF (l_org_id IS NOT NULL) THEN
51 l_org_str := '_'||to_char(l_org_id);
52 ELSE
53 l_org_str := NULL;
54 END IF;
55
56 l_trx_num_cursor := dbms_sql.open_cursor;
57
58 dbms_sql.parse(l_trx_num_cursor,
59 'select ra_trx_number_' ||
60 REPLACE(p_batch_source_id, '-', 'N') ||
61 l_org_str||
62 '_s.nextval trx_number ' ||
63 'from ra_batch_sources ' ||
64 'where batch_source_id = ' ||
65 p_batch_source_id ||
66 ' and auto_trx_numbering_flag = ''Y''',
67 dbms_sql.v7);
68
69 dbms_sql.define_column(l_trx_num_cursor, 1, l_trx_number, 20);
70
71 l_dummy := dbms_sql.execute_and_fetch(l_trx_num_cursor, TRUE);
72
73 dbms_sql.column_value(l_trx_num_cursor, 1, l_trx_number);
74
75 dbms_sql.close_cursor(l_trx_num_cursor);
76
77 --
78 -- Overwrite transaction number and date for Argentina
79 --
80 IF l_country_code = 'AR' THEN
81 jl_ar_ar_prefix_trx_num.update_trx_number_date(
82 p_batch_source_id,
83 l_trx_number,
84 l_trx_date);
85 END IF;
86
87 --
88 -- Insert trx information into ra_recur_interim
89 --
90 INSERT INTO ra_recur_interim
91 (
92 customer_trx_id,
93 trx_number,
94 created_by,
95 creation_date,
96 last_updated_by,
97 last_update_date,
98 last_update_login,
99 trx_date,
100 term_due_date,
101 gl_date,
102 term_discount_date,
103 request_id,
104 doc_sequence_value,
105 new_customer_trx_id)
106 VALUES
107 (
108 p_customer_trx_id,
109 l_trx_number,
110 pg_user_id,
111 sysdate,
112 pg_user_id,
113 sysdate,
114 nvl(pg_conc_login_id,
115 pg_login_id),
116 l_trx_date,
117 p_term_due_date,
118 p_gl_date,
119 p_term_discount_date ,
120 p_request_id,
121 p_doc_sequence_value,
122 p_new_customer_trx_id);
123
124 p_trx_number_out := l_trx_number;
125
126 arp_util.debug('arp_process_recur.insert_p()-');
127
128 EXCEPTION
129 WHEN OTHERS THEN
130 arp_util.debug('EXCEPTION: arp_process_recur.insert_p()');
131 RAISE;
132
133 END;
134 BEGIN
135
136 pg_user_id := fnd_global.user_id;
137 pg_conc_login_id := fnd_global.conc_login_id;
138 pg_login_id := fnd_global.login_id;
139 pg_prog_appl_id := fnd_global.prog_appl_id;
140 pg_conc_program_id := fnd_global.conc_program_id;
141
142
143 END JL_AR_RECUR_PKG ;