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