[Home] [Help]
PACKAGE BODY: APPS.ARP_CASH_RECEIPT_HISTORY
Source
1 PACKAGE BODY ARP_CASH_RECEIPT_HISTORY AS
2 /* $Header: ARPLCRHB.pls 120.2 2005/06/14 18:47:37 vcrisost ship $ */
3
4 --
5 FUNCTION GetCurrentId( p_CashReceiptId IN NUMBER ) RETURN NUMBER IS
6 l_CashReceiptHistoryId NUMBER(15);
7 BEGIN
8 SELECT cash_receipt_history_id
9 INTO l_CashReceiptHistoryId
10 FROM ar_cash_receipt_history
11 WHERE cash_receipt_id = p_CashReceiptId
12 AND current_record_flag = 'Y';
13 --
14 RETURN l_CashReceiptHistoryId;
15 EXCEPTION
16 -- handle NO_DATA_FOUND explicitly, because of bug 169136
17 WHEN NO_DATA_FOUND THEN
18 RAISE_APPLICATION_ERROR( -20000, 'Create Cash Receipt History Record before Application - consult support' );
19 WHEN OTHERS THEN
20 arp_standard.debug( 'Exception:arp_cash_receipt_history.GetCurrentId' );
21 arp_standard.debug( 'l_CashReceiptHistoryId:'||l_CashReceiptHistoryId );
22 RAISE;
23 END;
24 --
25 FUNCTION InsertRecord(amount NUMBER,
26 acctd_amount NUMBER,
27 cash_receipt_id NUMBER,
28 factor_flag VARCHAR2,
29 first_posted_record_flag VARCHAR2,
30 gl_date DATE,
31 postable_flag VARCHAR2,
32 status VARCHAR2,
33 trx_date DATE,
34 acctd_factor_discount_amount NUMBER,
35 account_code_combination_id NUMBER,
36 bank_charge_account_ccid NUMBER,
37 batch_id NUMBER,
38 current_record_flag VARCHAR2,
39 exchange_date DATE,
40 exchange_rate NUMBER,
41 exchange_rate_type VARCHAR2,
42 factor_discount_amount NUMBER,
43 gl_posted_date DATE,
44 posting_control_id NUMBER,
45 reversal_cash_rec_hist_id NUMBER,
46 reversal_gl_date DATE,
47 reversal_gl_posted_date DATE,
48 reversal_posting_control_id NUMBER,
49 request_id NUMBER,
50 program_application_id NUMBER,
51 program_id NUMBER,
52 program_update_date DATE,
53 created_by NUMBER,
54 creation_date DATE,
55 last_updated_by NUMBER,
56 last_update_date DATE,
57 last_update_login NUMBER,
58 prv_stat_cash_rec_hist_id NUMBER,
59 created_from VARCHAR2,
60 reversal_created_from VARCHAR2) RETURN NUMBER IS
61
62 CURSOR get_crh_id IS
63 SELECT ar_cash_receipt_history_s.NEXTVAL
64 FROM dual;
65 --
66 crh_id ar_cash_receipt_history.cash_receipt_history_id%TYPE;
67 --
68 BEGIN
69
70 /*---------------------------------*
71 | Get the Cash Receipt History Id |
72 *---------------------------------*/
73 --
74 OPEN get_crh_id;
75 FETCH get_crh_id
76 INTO crh_id;
77 CLOSE get_crh_id;
78 --
79 /*-----------------------*
80 | Insert the new record |
81 *-----------------------*/
82 --
83 INSERT INTO AR_CASH_RECEIPT_HISTORY(CASH_RECEIPT_HISTORY_ID,
84 AMOUNT,
88 FIRST_POSTED_RECORD_FLAG,
85 ACCTD_AMOUNT,
86 CASH_RECEIPT_ID,
87 FACTOR_FLAG,
89 GL_DATE,
90 POSTABLE_FLAG,
91 STATUS,
92 TRX_DATE,
93 ACCTD_FACTOR_DISCOUNT_AMOUNT,
94 ACCOUNT_CODE_COMBINATION_ID,
95 BANK_CHARGE_ACCOUNT_CCID,
96 BATCH_ID,
97 CURRENT_RECORD_FLAG,
98 EXCHANGE_DATE,
99 EXCHANGE_RATE,
100 EXCHANGE_RATE_TYPE,
101 FACTOR_DISCOUNT_AMOUNT,
102 GL_POSTED_DATE,
103 POSTING_CONTROL_ID,
104 REVERSAL_CASH_RECEIPT_HIST_ID,
105 REVERSAL_GL_DATE,
106 REVERSAL_GL_POSTED_DATE,
107 REVERSAL_POSTING_CONTROL_ID,
108 REQUEST_ID,
109 PROGRAM_APPLICATION_ID,
110 PROGRAM_ID,
111 PROGRAM_UPDATE_DATE,
112 CREATED_BY,
113 CREATION_DATE,
114 LAST_UPDATED_BY,
115 LAST_UPDATE_DATE,
116 LAST_UPDATE_LOGIN,
117 PRV_STAT_CASH_RECEIPT_HIST_ID,
118 CREATED_FROM,
119 REVERSAL_CREATED_FROM,
120 ORG_ID)
121 VALUES(crh_id,
122 amount,
123 acctd_amount,
124 cash_receipt_id,
125 factor_flag,
126 first_posted_record_flag,
127 gl_date,
128 postable_flag,
129 status,
130 trx_date,
131 acctd_factor_discount_amount,
132 account_code_combination_id,
133 bank_charge_account_ccid,
134 batch_id,
135 current_record_flag,
136 exchange_date,
137 exchange_rate,
138 exchange_rate_type,
139 factor_discount_amount,
140 gl_posted_date,
141 posting_control_id,
142 reversal_cash_rec_hist_id,
143 reversal_gl_date,
144 reversal_gl_posted_date,
145 reversal_posting_control_id,
146 request_id,
147 program_application_id,
148 program_id,
149 program_update_date,
150 created_by,
151 creation_date,
152 last_updated_by,
153 last_update_date,
154 last_update_login,
155 prv_stat_cash_rec_hist_id,
156 created_from,
157 reversal_created_from,
158 arp_standard.sysparm.org_id);
159
160 /*-------------------------------------------+
161 | Call central MRC library for insertion |
162 | into MRC tables |
163 +-------------------------------------------*/
164
165 ar_mrc_engine.maintain_mrc_data(
166 p_event_mode => 'INSERT',
167 p_table_name => 'AR_CASH_RECEIPT_HISTORY',
168 p_mode => 'SINGLE',
169 p_key_value => crh_id);
170
171
172 RETURN(crh_id);
173 --
174 EXCEPTION
175 WHEN OTHERS THEN
176 arp_standard.debug( 'Exception:arp_cash_receipt_history.InsertRecord' );
177 arp_standard.debug( 'crh_id:'||crh_id );
178 RAISE;
179 END;
180 --
181 --
182 --
183 PROCEDURE Reverse(p_reversal_cash_rec_hist_id NUMBER,
184 p_reversal_gl_date DATE,
185 p_cash_receipt_history_id NUMBER,
186 p_last_updated_by NUMBER,
187 p_last_update_date DATE,
188 p_last_update_login NUMBER) IS
189 BEGIN
190 UPDATE ar_cash_receipt_history
191 SET current_record_flag = '',
192 reversal_cash_receipt_hist_id = p_reversal_cash_rec_hist_id,
193 reversal_posting_control_id = -3,
194 reversal_gl_date = p_reversal_gl_date,
195 reversal_created_from = 'RATE ADJUSTMENT TRIGGER',
196 last_updated_by = p_last_updated_by,
197 last_update_date = p_last_update_date,
198 last_update_login = p_last_update_login
199 WHERE cash_receipt_history_id = p_cash_receipt_history_id;
200
201 /*----------------------------------------------------+
202 | Call central MRC library for the generic update |
203 | made above. |
204 +----------------------------------------------------*/
205
206 ar_mrc_engine.maintain_mrc_data(
207 p_event_mode => 'UPDATE',
208 p_table_name => 'AR_CASH_RECEIPT_HISTORY',
209 p_mode => 'SINGLE',
210 p_key_value => p_cash_receipt_history_id
211 );
212
213
214 EXCEPTION
215 WHEN OTHERS THEN
216 arp_standard.debug( 'Exception:arp_cash_receipt_history.Reverse' );
217 RAISE;
218 END;
219 --
220 --
221 PROCEDURE UpdateAcctdFactor (cr_id NUMBER,
222 acctd_fd_amt NUMBER) IS
223
224 l_rec_hist_key_value_list gl_ca_utility_pkg.r_key_value_arr;
225
226
227 BEGIN
228 UPDATE ar_cash_receipt_history
229 SET acctd_factor_discount_amount = acctd_fd_amt
230 WHERE cash_receipt_id = cr_id
231 AND current_record_flag = 'Y'
232 RETURNING cash_receipt_history_id
233 BULK COLLECT INTO l_rec_hist_key_value_list;
234
235 /*---------------------------------+
236 | Calling central MRC library |
237 | for MRC Integration |
238 +---------------------------------*/
239
240 ar_mrc_engine.maintain_mrc_data(
241 p_event_mode => 'UPDATE',
242 p_table_name => 'AR_CASH_RECEIPT_HISTORY',
243 p_mode => 'BULK',
244 p_key_value_list => l_rec_hist_key_value_list);
245
246
247
248 EXCEPTION
249 WHEN OTHERS THEN
250 arp_standard.debug( 'Exception:arp_cash_receipt_history.UpdateAcctdFactor' );
251 RAISE;
252 END;
253 --
254 --
255 --
256 PROCEDURE UpdateAcctdAmount (cr_id NUMBER,
257 acctd_amt NUMBER) IS
258
259 l_rec_hist_key_value_list gl_ca_utility_pkg.r_key_value_arr;
260
261 BEGIN
262 UPDATE ar_cash_receipt_history
263 SET acctd_amount = acctd_amt
264 WHERE cash_receipt_id = cr_id
265 AND current_record_flag = 'Y'
266 RETURNING cash_receipt_history_id
267 BULK COLLECT INTO l_rec_hist_key_value_list;
268
269 /*---------------------------------+
270 | Calling central MRC library |
271 | for MRC Integration |
272 +---------------------------------*/
273
274 ar_mrc_engine.maintain_mrc_data(
275 p_event_mode => 'UPDATE',
276 p_table_name => 'AR_CASH_RECEIPT_HISTORY',
277 p_mode => 'BULK',
278 p_key_value_list => l_rec_hist_key_value_list);
279
280
281
282 EXCEPTION
283 WHEN OTHERS THEN
284 arp_standard.debug( 'Exception:arp_cash_receipt_history.UpdateAcctdAmount' );
285 RAISE;
286 END;
287 --
288 END ARP_CASH_RECEIPT_HISTORY;