DBA Data[Home] [Help]

PACKAGE BODY: APPS.JL_BR_AR_REC_MET_ACCTS_EXT_PKG

Source


1 PACKAGE BODY JL_BR_AR_REC_MET_ACCTS_EXT_PKG as
2 /* $Header: jlbrrdpb.pls 120.6 2005/06/22 04:25:15 appradha ship $ */
3 
4   PROCEDURE Insert_Row ( X_Rowid                             IN OUT NOCOPY VARCHAR2,
5 
6 			 X_BANK_ACCT_USE_ID                         NUMBER,
7 			 X_RECEIPT_METHOD_ID                        NUMBER,
8 			 X_BANK_CHARGES_CCID                        NUMBER ,
9 			 X_COLL_ENDORSEMENT_CCID                    NUMBER ,
10 			 X_BILLS_COLLECTION_CCID                    NUMBER ,
11 			 X_OTHER_CREDITS_CCID                       NUMBER ,
12 			 X_FACTORING_DOCS_CCID                      NUMBER ,
13                          X_BILLS_DISCOUNT_CCID                      NUMBER ,
14                          X_DISC_ENDORSEMENT_CCID                    NUMBER ,
15                          X_FACTORING_CHARGES_CCID                   NUMBER ,
16                          X_DISCOUNTED_BILLS_CCID                    NUMBER ,
17 			 X_PORTFOLIO_CODE                           NUMBER ,
18 			 X_MIN_DOCUMENT_AMOUNT                      NUMBER ,
19 			 X_MAX_DOCUMENT_AMOUNT                      NUMBER ,
20 			 X_MIN_REMITTANCE_AMOUNT                    NUMBER ,
21 			 X_MAX_REMITTANCE_AMOUNT                    NUMBER ,
22 			 X_BANK_INSTRUCTION_CODE1                   NUMBER ,
23 			 X_BANK_INSTRUCTION_CODE2                   NUMBER ,
24 			 X_BANK_CHARGE_AMOUNT                       NUMBER ,
25 			 X_FACTORING_RATE                           NUMBER ,
26 			 X_FACTORING_RATE_PERIOD                    NUMBER ,
27 			 X_BATCH_SOURCE_ID                          NUMBER ,
28 			 X_CALCULATED_INTEREST_CCID                 NUMBER ,
29 			 X_INTEREST_WRITEOFF_CCID                   NUMBER ,
30 			 X_FACTORING_INTEREST_CCID                  NUMBER ,
31 			 X_ABATEMENT_WRITEOFF_CCID                  NUMBER ,
32 			 X_ABATEMENT_REVENUE_CCID                   NUMBER ,
33 			 X_INTEREST_REVENUE_CCID                    NUMBER ,
34 			 X_CALC_INTEREST_RECTRX_ID                  NUMBER ,
35 			 X_INTEREST_WRITEOFF_RECTRX_ID              NUMBER ,
36 			 X_INTEREST_REVENUE_RECTRX_ID               NUMBER ,
37 			 X_ABATEMENT_WRITEOFF_RECTRX_ID             NUMBER ,
38 			 X_ABATEMENT_REVENUE_RECTRX_ID              NUMBER ,
39 			 X_WRITEOFF_PERC_TOLERANCE                  NUMBER ,
40 			 X_WRITEOFF_AMOUNT_TOLERANCE                NUMBER ,
41 			 X_GL_DATE_BANK_RETURN                      VARCHAR2 ,
42 			 X_FLOATING                                 NUMBER ,
43 			 X_LAST_UPDATE_DATE                         DATE,
44 			 X_LAST_UPDATED_BY                          NUMBER,
45 			 X_CREATION_DATE                            DATE,
46 			 X_CREATED_BY                               NUMBER,
47 			 X_LAST_UPDATE_LOGIN                        NUMBER,
48                          X_COLL_REMITTANCE_MEDIA                    VARCHAR2,
49                          X_COLL_FORMAT_PGM_ID                       NUMBER,
50                          X_FACTOR_REMITTANCE_MEDIA                  VARCHAR2,
51                          X_FACTOR_FORMAT_PGM_ID                     NUMBER,
52                          X_OCC_REP_FORMAT_PGM_ID                    NUMBER,
53                          X_OCC_FILE_FORMAT_PGM_ID                   NUMBER,
54                          X_MAX_COLLECTION_DOCS                      NUMBER,
55          	         X_calling_sequence		            VARCHAR2,
56 			 X_ORG_ID                                   NUMBER
57   ) IS
58     CURSOR C IS SELECT rowid FROM JL_BR_AR_REC_MET_ACCTS_EXT
59                  WHERE receipt_method_id = X_receipt_method_id
60                    AND bank_acct_use_id   = X_bank_acct_use_id;
61     current_calling_sequence    VARCHAR2(2000);
62     debug_info                  VARCHAR2(100);
63 
64    BEGIN
65 --     Update the calling sequence
66 --
67        current_calling_sequence := 'JL_BR_AR_REC_MET_ACCTS_EXT_PKG.INSERT_ROW<-' ||
68                                     X_calling_sequence;
69 
70        debug_info := 'Insert into JL_BR_AR_REC_MET_ACCTS_EXT';
71        INSERT INTO JL_BR_AR_REC_MET_ACCTS_EXT
72               (
73 		 BANK_ACCT_USE_ID,
74 		 RECEIPT_METHOD_ID,
75 		 BANK_CHARGES_CCID,
76 		 COLL_ENDORSEMENT_CCID,
77 		 BILLS_COLLECTION_CCID,
78 		 OTHER_CREDITS_CCID,
79 		 FACTORING_DOCS_CCID,
80                  BILLS_DISCOUNT_CCID,
81                  DISC_ENDORSEMENT_CCID,
82                  DISCOUNTED_BILLS_CCID,
83 		 PORTFOLIO_CODE,
84 		 MIN_DOCUMENT_AMOUNT,
85 		 MAX_DOCUMENT_AMOUNT,
86 		 MIN_REMITTANCE_AMOUNT,
87 		 MAX_REMITTANCE_AMOUNT,
88 		 BANK_INSTRUCTION_CODE1,
89 		 BANK_INSTRUCTION_CODE2,
90 		 BANK_CHARGE_AMOUNT,
91 		 FACTORING_RATE,
92 		 FACTORING_RATE_PERIOD,
93 		 BATCH_SOURCE_ID,
94 		 CALCULATED_INTEREST_CCID,
95 		 INTEREST_WRITEOFF_CCID,
96 		 FACTORING_INTEREST_CCID,
97 		 ABATEMENT_WRITEOFF_CCID,
98 		 ABATEMENT_REVENUE_CCID,
99 		 INTEREST_REVENUE_CCID,
100 		 CALCULATED_INTEREST_RECTRX_ID,
101 		 INTEREST_WRITEOFF_RECTRX_ID,
102 		 INTEREST_REVENUE_RECTRX_ID,
103 		 ABATEMENT_WRITEOFF_RECTRX_ID,
104 		 ABATEMENT_REVENUE_RECTRX_ID,
105 		 WRITEOFF_PERC_TOLERANCE,
106 		 WRITEOFF_AMOUNT_TOLERANCE,
107 		 GL_DATE_BANK_RETURN,
108 		 FLOATING,
109 		 LAST_UPDATE_DATE,
110 		 LAST_UPDATED_BY,
111 		 CREATION_DATE,
112 		 CREATED_BY,
113 		 LAST_UPDATE_LOGIN,
114 		 COLL_REMITTANCE_MEDIA,
115                  COLL_FORMAT_PGM_ID,
116                  FACTOR_REMITTANCE_MEDIA,
117                  FACTOR_FORMAT_PGM_ID,
118                  OCC_REP_FORMAT_PGM_ID,
119                  OCC_FILE_FORMAT_PGM_ID,
120                  MAX_COLLECTION_DOCS,
121                  ORG_ID
122               )
123        VALUES (
124 		 X_BANK_ACCT_USE_ID,
125 		 X_RECEIPT_METHOD_ID,
126 		 X_BANK_CHARGES_CCID,
127 		 X_COLL_ENDORSEMENT_CCID,
128 		 X_BILLS_COLLECTION_CCID,
129 		 X_OTHER_CREDITS_CCID,
130 		 X_FACTORING_DOCS_CCID,
131                  X_BILLS_DISCOUNT_CCID,
132                  X_DISC_ENDORSEMENT_CCID,
133                  X_DISCOUNTED_BILLS_CCID,
134 		 X_PORTFOLIO_CODE,
135 		 X_MIN_DOCUMENT_AMOUNT,
136 		 X_MAX_DOCUMENT_AMOUNT,
137 		 X_MIN_REMITTANCE_AMOUNT,
138 		 X_MAX_REMITTANCE_AMOUNT,
139 		 X_BANK_INSTRUCTION_CODE1,
140 		 X_BANK_INSTRUCTION_CODE2,
141 		 X_BANK_CHARGE_AMOUNT,
142 		 X_FACTORING_RATE,
143 		 X_FACTORING_RATE_PERIOD,
144 		 X_BATCH_SOURCE_ID,
145 		 X_CALCULATED_INTEREST_CCID,
146 		 X_INTEREST_WRITEOFF_CCID,
147 		 X_FACTORING_INTEREST_CCID,
148 		 X_ABATEMENT_WRITEOFF_CCID,
149 		 X_ABATEMENT_REVENUE_CCID,
150 		 X_INTEREST_REVENUE_CCID,
151 		 X_CALC_INTEREST_RECTRX_ID,
152 		 X_INTEREST_WRITEOFF_RECTRX_ID,
153 		 X_INTEREST_REVENUE_RECTRX_ID,
154 		 X_ABATEMENT_WRITEOFF_RECTRX_ID,
155 		 X_ABATEMENT_REVENUE_RECTRX_ID,
156 		 X_WRITEOFF_PERC_TOLERANCE,
157 		 X_WRITEOFF_AMOUNT_TOLERANCE,
158 		 X_GL_DATE_BANK_RETURN,
159 		 X_FLOATING,
160 		 X_LAST_UPDATE_DATE,
161 		 X_LAST_UPDATED_BY,
162 		 X_CREATION_DATE,
163 		 X_CREATED_BY,
164 		 X_LAST_UPDATE_LOGIN,
165 		 X_COLL_REMITTANCE_MEDIA,
166                  X_COLL_FORMAT_PGM_ID,
167                  X_FACTOR_REMITTANCE_MEDIA,
168                  X_FACTOR_FORMAT_PGM_ID,
169                  X_OCC_REP_FORMAT_PGM_ID,
170                  X_OCC_FILE_FORMAT_PGM_ID,
171                  X_MAX_COLLECTION_DOCS,
172                  X_ORG_ID
173              );
174 
175     debug_info := 'Open cursor C';
176     OPEN C;
177     debug_info := 'Fetch cursor C';
178     FETCH C INTO X_Rowid;
179     if (C%NOTFOUND) then
180       debug_info := 'Close cursor C - DATA NOTFOUND';
181       CLOSE C;
182       Raise NO_DATA_FOUND;
183     end if;
184     debug_info := 'Close cursor C';
185     CLOSE C;
186 
187     EXCEPTION
188         WHEN OTHERS THEN
189            IF (SQLCODE <> -20001) THEN
190               FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
191               FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
192               FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
193               FND_MESSAGE.SET_TOKEN('PARAMETERS','receipt_method_id = ' ||
194                                     X_receipt_method_id ||
195                                     'bank_acct_use_id = ' ||
196                                     X_bank_acct_use_id );
197               FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
198            END IF;
199            APP_EXCEPTION.RAISE_EXCEPTION;
200 
201   END Insert_Row;
202 
203 
204   PROCEDURE Lock_Row (   X_Rowid                                    VARCHAR2,
205 
206 			 X_BANK_ACCT_USE_ID                         NUMBER,
207 			 X_RECEIPT_METHOD_ID                        NUMBER,
208 			 X_BANK_CHARGES_CCID                        NUMBER ,
209 			 X_COLL_ENDORSEMENT_CCID                    NUMBER ,
210 			 X_BILLS_COLLECTION_CCID                    NUMBER ,
211 			 X_OTHER_CREDITS_CCID                       NUMBER ,
212 			 X_FACTORING_DOCS_CCID                      NUMBER ,
213                          X_BILLS_DISCOUNT_CCID                      NUMBER,
214                          X_DISC_ENDORSEMENT_CCID                    NUMBER,
215                          X_FACTORING_CHARGES_CCID                   NUMBER ,
216                          X_DISCOUNTED_BILLS_CCID                    NUMBER,
217 			 X_PORTFOLIO_CODE                           NUMBER ,
218 			 X_MIN_DOCUMENT_AMOUNT                      NUMBER ,
219 			 X_MAX_DOCUMENT_AMOUNT                      NUMBER ,
220 			 X_MIN_REMITTANCE_AMOUNT                    NUMBER ,
221 			 X_MAX_REMITTANCE_AMOUNT                    NUMBER ,
222 			 X_BANK_INSTRUCTION_CODE1                   NUMBER ,
223 			 X_BANK_INSTRUCTION_CODE2                   NUMBER ,
224 			 X_BANK_CHARGE_AMOUNT                       NUMBER ,
225 			 X_FACTORING_RATE                           NUMBER ,
226 			 X_FACTORING_RATE_PERIOD                    NUMBER ,
227 			 X_BATCH_SOURCE_ID                          NUMBER ,
228 			 X_CALCULATED_INTEREST_CCID                 NUMBER ,
229 			 X_INTEREST_WRITEOFF_CCID                   NUMBER ,
230 			 X_FACTORING_INTEREST_CCID                  NUMBER ,
231 			 X_ABATEMENT_WRITEOFF_CCID                  NUMBER ,
232 			 X_ABATEMENT_REVENUE_CCID                   NUMBER ,
233 			 X_INTEREST_REVENUE_CCID                    NUMBER ,
234 			 X_CALC_INTEREST_RECTRX_ID                  NUMBER ,
235 			 X_INTEREST_WRITEOFF_RECTRX_ID              NUMBER ,
236 			 X_INTEREST_REVENUE_RECTRX_ID               NUMBER ,
237 			 X_ABATEMENT_WRITEOFF_RECTRX_ID             NUMBER ,
238 			 X_ABATEMENT_REVENUE_RECTRX_ID              NUMBER ,
239 			 X_WRITEOFF_PERC_TOLERANCE                  NUMBER ,
240 			 X_WRITEOFF_AMOUNT_TOLERANCE                NUMBER ,
241 			 X_GL_DATE_BANK_RETURN                      VARCHAR2 ,
242 			 X_FLOATING                                 NUMBER ,
243 			 X_LAST_UPDATE_DATE                         DATE,
244 			 X_LAST_UPDATED_BY                          NUMBER,
245 			 X_CREATION_DATE                            DATE,
246 			 X_CREATED_BY                               NUMBER,
247 			 X_LAST_UPDATE_LOGIN                        NUMBER,
248                          X_COLL_REMITTANCE_MEDIA                    VARCHAR2,
249                          X_COLL_FORMAT_PGM_ID                       NUMBER,
250                          X_FACTOR_REMITTANCE_MEDIA                  VARCHAR2,
251                          X_FACTOR_FORMAT_PGM_ID                     NUMBER,
252                          X_OCC_REP_FORMAT_PGM_ID                    NUMBER,
253                          X_OCC_FILE_FORMAT_PGM_ID                   NUMBER,
254                          X_MAX_COLLECTION_DOCS                      NUMBER,
255 		         X_calling_sequence		            VARCHAR2
256   ) IS
257     CURSOR C IS
258         SELECT *
259         FROM   JL_BR_AR_REC_MET_ACCTS_EXT
260         WHERE  rowid = X_Rowid
261         FOR UPDATE of receipt_method_id NOWAIT;
262     Recinfo C%ROWTYPE;
263 
264     current_calling_sequence    VARCHAR2(2000);
265     debug_info                  VARCHAR2(100);
266 
267   BEGIN
268 --  Update the calling sequence
269 --
270     current_calling_sequence := 'JL_BR_AR_REC_MET_ACCTS_EXT_PKG.LOCK_ROW<-' ||
271                                  X_calling_sequence;
272     debug_info := 'Open cursor C';
273     OPEN C;
274     debug_info := 'Fetch cursor C';
275     FETCH C INTO Recinfo;
276     if (C%NOTFOUND) then
277       debug_info := 'Close cursor C - DATA NOTFOUND';
278       CLOSE C;
279       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
280       APP_EXCEPTION.Raise_Exception;
281     end if;
282     debug_info := 'Close cursor C';
283     CLOSE C;
284     if (
285            (Recinfo.receipt_method_id =  X_receipt_method_id)
286            AND (Recinfo.bank_acct_use_id =  X_bank_acct_use_id)
287            AND (   (Recinfo.BANK_CHARGES_CCID =  X_BANK_CHARGES_CCID)
288                 OR (    (Recinfo.BANK_CHARGES_CCID IS NULL)
289                     AND (X_BANK_CHARGES_CCID IS NULL)))
290            AND (   (Recinfo.COLL_ENDORSEMENT_CCID =  X_COLL_ENDORSEMENT_CCID)
291                 OR (    (Recinfo.COLL_ENDORSEMENT_CCID IS NULL)
292                     AND (X_COLL_ENDORSEMENT_CCID IS NULL)))
293            AND (   (Recinfo.BILLS_COLLECTION_CCID =  X_BILLS_COLLECTION_CCID)
294                 OR (    (Recinfo.BILLS_COLLECTION_CCID IS NULL)
295                     AND (X_BILLS_COLLECTION_CCID IS NULL)))
296            AND (   (Recinfo.OTHER_CREDITS_CCID =  X_OTHER_CREDITS_CCID)
297                 OR (    (Recinfo.OTHER_CREDITS_CCID IS NULL)
298                     AND (X_OTHER_CREDITS_CCID IS NULL)))
299            AND (   (Recinfo.FACTORING_DOCS_CCID =  X_FACTORING_DOCS_CCID)
300                 OR (    (Recinfo.FACTORING_DOCS_CCID IS NULL)
301                     AND (X_FACTORING_DOCS_CCID IS NULL)))
302            AND (   (Recinfo.BILLS_DISCOUNT_CCID =  X_BILLS_DISCOUNT_CCID)
303                 OR (    (Recinfo.BILLS_DISCOUNT_CCID IS NULL)
304                     AND (X_BILLS_DISCOUNT_CCID IS NULL)))
305            AND (   (Recinfo.DISC_ENDORSEMENT_CCID =  X_DISC_ENDORSEMENT_CCID)
306                 OR (    (Recinfo.DISC_ENDORSEMENT_CCID IS NULL)
307                     AND (X_DISC_ENDORSEMENT_CCID IS NULL)))
308            AND (   (Recinfo.DISCOUNTED_BILLS_CCID =  X_DISCOUNTED_BILLS_CCID)
309                 OR (    (Recinfo.DISCOUNTED_BILLS_CCID IS NULL)
310                     AND (X_DISCOUNTED_BILLS_CCID IS NULL)))
311            AND (   (Recinfo.PORTFOLIO_CODE =  X_PORTFOLIO_CODE)
315                 OR (    (Recinfo.MIN_DOCUMENT_AMOUNT IS NULL)
312                 OR (    (Recinfo.PORTFOLIO_CODE IS NULL)
313                     AND (X_PORTFOLIO_CODE IS NULL)))
314            AND (   (Recinfo.MIN_DOCUMENT_AMOUNT =  X_MIN_DOCUMENT_AMOUNT)
316                     AND (X_MIN_DOCUMENT_AMOUNT IS NULL)))
317            AND (   (Recinfo.MAX_DOCUMENT_AMOUNT =  X_MAX_DOCUMENT_AMOUNT)
318                 OR (    (Recinfo.MAX_DOCUMENT_AMOUNT IS NULL)
319                     AND (X_MAX_DOCUMENT_AMOUNT IS NULL)))
320            AND (   (Recinfo.MIN_REMITTANCE_AMOUNT =  X_MIN_REMITTANCE_AMOUNT)
321                 OR (    (Recinfo.MIN_REMITTANCE_AMOUNT IS NULL)
322                     AND (X_MIN_REMITTANCE_AMOUNT IS NULL)))
323            AND (   (Recinfo.MAX_REMITTANCE_AMOUNT =  X_MAX_REMITTANCE_AMOUNT)
324                 OR (    (Recinfo.MAX_REMITTANCE_AMOUNT IS NULL)
325                     AND (X_MAX_REMITTANCE_AMOUNT IS NULL)))
326            AND (   (Recinfo.BANK_INSTRUCTION_CODE1 =  X_BANK_INSTRUCTION_CODE1)
327                 OR (    (Recinfo.BANK_INSTRUCTION_CODE1 IS NULL)
328                     AND (X_BANK_INSTRUCTION_CODE1 IS NULL)))
329            AND (   (Recinfo.BANK_INSTRUCTION_CODE2 =  X_BANK_INSTRUCTION_CODE2)
330                 OR (    (Recinfo.BANK_INSTRUCTION_CODE2 IS NULL)
331                     AND (X_BANK_INSTRUCTION_CODE2 IS NULL)))
332            AND (   (Recinfo.BANK_CHARGE_AMOUNT =  X_BANK_CHARGE_AMOUNT)
333                 OR (    (Recinfo.BANK_CHARGE_AMOUNT IS NULL)
334                     AND (X_BANK_CHARGE_AMOUNT IS NULL)))
335            AND (   (Recinfo.FACTORING_RATE =  X_FACTORING_RATE)
336                 OR (    (Recinfo.FACTORING_RATE IS NULL)
337                     AND (X_FACTORING_RATE IS NULL)))
338            AND (   (Recinfo.FACTORING_RATE_PERIOD =  X_FACTORING_RATE_PERIOD)
339                 OR (    (Recinfo.FACTORING_RATE_PERIOD IS NULL)
340                     AND (X_FACTORING_RATE_PERIOD IS NULL)))
341            AND (   (Recinfo.BATCH_SOURCE_ID =  X_BATCH_SOURCE_ID)
342                 OR (    (Recinfo.BATCH_SOURCE_ID IS NULL)
343                     AND (X_BATCH_SOURCE_ID IS NULL)))
344            AND (   (Recinfo.CALCULATED_INTEREST_CCID =  X_CALCULATED_INTEREST_CCID)
345                 OR (    (Recinfo.CALCULATED_INTEREST_CCID IS NULL)
346                     AND (X_CALCULATED_INTEREST_CCID IS NULL)))
347            AND (   (Recinfo.INTEREST_WRITEOFF_CCID =  X_INTEREST_WRITEOFF_CCID)
348                 OR (    (Recinfo.INTEREST_WRITEOFF_CCID IS NULL)
349                     AND (X_INTEREST_WRITEOFF_CCID IS NULL)))
350            AND (   (Recinfo.FACTORING_INTEREST_CCID =  X_FACTORING_INTEREST_CCID)
351                 OR (    (Recinfo.FACTORING_INTEREST_CCID IS NULL)
352                     AND (X_FACTORING_INTEREST_CCID IS NULL)))
353            AND (   (Recinfo.ABATEMENT_WRITEOFF_CCID =  X_ABATEMENT_WRITEOFF_CCID)
354                 OR (    (Recinfo.ABATEMENT_WRITEOFF_CCID IS NULL)
355                     AND (X_ABATEMENT_WRITEOFF_CCID IS NULL)))
356            AND (   (Recinfo.ABATEMENT_REVENUE_CCID =  X_ABATEMENT_REVENUE_CCID)
357                 OR (    (Recinfo.ABATEMENT_REVENUE_CCID IS NULL)
358                     AND (X_ABATEMENT_REVENUE_CCID IS NULL)))
359            AND (   (Recinfo.INTEREST_REVENUE_CCID =  X_INTEREST_REVENUE_CCID)
360                 OR (    (Recinfo.INTEREST_REVENUE_CCID IS NULL)
361                     AND (X_INTEREST_REVENUE_CCID IS NULL)))
362            AND (   (Recinfo.CALCULATED_INTEREST_RECTRX_ID =  X_CALC_INTEREST_RECTRX_ID)
363                 OR (    (Recinfo.CALCULATED_INTEREST_RECTRX_ID IS NULL)
364                     AND (X_CALC_INTEREST_RECTRX_ID IS NULL)))
365            AND (   (Recinfo.INTEREST_WRITEOFF_RECTRX_ID =  X_INTEREST_WRITEOFF_RECTRX_ID)
366                 OR (    (Recinfo.INTEREST_WRITEOFF_RECTRX_ID IS NULL)
367                     AND (X_INTEREST_WRITEOFF_RECTRX_ID IS NULL)))
368            AND (   (Recinfo.INTEREST_REVENUE_RECTRX_ID =  X_INTEREST_REVENUE_RECTRX_ID)
369                 OR (    (Recinfo.INTEREST_REVENUE_RECTRX_ID IS NULL)
370                     AND (X_INTEREST_REVENUE_RECTRX_ID IS NULL)))
371            AND (   (Recinfo.ABATEMENT_WRITEOFF_RECTRX_ID =  X_ABATEMENT_WRITEOFF_RECTRX_ID)
372                 OR (    (Recinfo.ABATEMENT_WRITEOFF_RECTRX_ID IS NULL)
373                     AND (X_ABATEMENT_WRITEOFF_RECTRX_ID IS NULL)))
374            AND (   (Recinfo.ABATEMENT_REVENUE_RECTRX_ID =  X_ABATEMENT_REVENUE_RECTRX_ID)
375                 OR (    (Recinfo.ABATEMENT_REVENUE_RECTRX_ID IS NULL)
376                     AND (X_ABATEMENT_REVENUE_RECTRX_ID IS NULL)))
377            AND (   (Recinfo.WRITEOFF_PERC_TOLERANCE =  X_WRITEOFF_PERC_TOLERANCE)
378                 OR (    (Recinfo.WRITEOFF_PERC_TOLERANCE IS NULL)
379                     AND (X_WRITEOFF_PERC_TOLERANCE IS NULL)))
380            AND (   (Recinfo.WRITEOFF_AMOUNT_TOLERANCE =  X_WRITEOFF_AMOUNT_TOLERANCE)
381                 OR (    (Recinfo.WRITEOFF_AMOUNT_TOLERANCE IS NULL)
382                     AND (X_WRITEOFF_AMOUNT_TOLERANCE IS NULL)))
383            AND (   (Recinfo.GL_DATE_BANK_RETURN =  X_GL_DATE_BANK_RETURN)
384                 OR (    (Recinfo.GL_DATE_BANK_RETURN IS NULL)
385                     AND (X_GL_DATE_BANK_RETURN IS NULL)))
386            AND (   (Recinfo.FLOATING =  X_FLOATING)
387                 OR (    (Recinfo.FLOATING IS NULL)
388                     AND (X_FLOATING IS NULL)))
389      ) then
390       return;
391     else
392       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
393       APP_EXCEPTION.Raise_Exception;
394     end if;
395 
396     EXCEPTION
397        WHEN OTHERS THEN
398          IF (SQLCODE <> -20001) THEN
399            IF (SQLCODE = -54) THEN
400              FND_MESSAGE.SET_NAME('SQLAP','AP_RESOURCE_BUSY');
401            ELSE
405              FND_MESSAGE.SET_TOKEN('PARAMETERS','receipt_method_id = ' ||
402              FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
403              FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
404              FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
406                                     X_receipt_method_id ||
407                                     'bank_acct_use_id = ' ||
408                                     X_bank_acct_use_id);
409              FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
410            END IF;
411 	 END IF;
412          APP_EXCEPTION.RAISE_EXCEPTION;
413 
414   END Lock_Row;
415 
416 
417 
418   PROCEDURE Update_Row ( X_Rowid                                    VARCHAR2,
419 
420 			 X_BANK_ACCT_USE_ID                         NUMBER,
421 			 X_RECEIPT_METHOD_ID                        NUMBER,
422 			 X_BANK_CHARGES_CCID                        NUMBER ,
423 			 X_COLL_ENDORSEMENT_CCID                    NUMBER ,
424 			 X_BILLS_COLLECTION_CCID                    NUMBER ,
425 			 X_OTHER_CREDITS_CCID                       NUMBER ,
426 			 X_FACTORING_DOCS_CCID                      NUMBER ,
427                          X_BILLS_DISCOUNT_CCID                      NUMBER ,
428                          X_DISC_ENDORSEMENT_CCID                    NUMBER ,
429                          X_FACTORING_CHARGES_CCID                   NUMBER ,
430                          X_DISCOUNTED_BILLS_CCID                    NUMBER ,
431 			 X_PORTFOLIO_CODE                           NUMBER ,
432 			 X_MIN_DOCUMENT_AMOUNT                      NUMBER ,
433 			 X_MAX_DOCUMENT_AMOUNT                      NUMBER ,
434 			 X_MIN_REMITTANCE_AMOUNT                    NUMBER ,
435 			 X_MAX_REMITTANCE_AMOUNT                    NUMBER ,
436 			 X_BANK_INSTRUCTION_CODE1                   NUMBER ,
437 			 X_BANK_INSTRUCTION_CODE2                   NUMBER ,
438 			 X_BANK_CHARGE_AMOUNT                       NUMBER ,
439 			 X_FACTORING_RATE                           NUMBER ,
440 			 X_FACTORING_RATE_PERIOD                    NUMBER ,
441 			 X_BATCH_SOURCE_ID                          NUMBER ,
442 			 X_CALCULATED_INTEREST_CCID                 NUMBER ,
443 			 X_INTEREST_WRITEOFF_CCID                   NUMBER ,
444 			 X_FACTORING_INTEREST_CCID                  NUMBER ,
445 			 X_ABATEMENT_WRITEOFF_CCID                  NUMBER ,
446 			 X_ABATEMENT_REVENUE_CCID                   NUMBER ,
447 			 X_INTEREST_REVENUE_CCID                    NUMBER ,
448 			 X_CALC_INTEREST_RECTRX_ID                  NUMBER ,
449 			 X_INTEREST_WRITEOFF_RECTRX_ID              NUMBER ,
450 			 X_INTEREST_REVENUE_RECTRX_ID               NUMBER ,
451 			 X_ABATEMENT_WRITEOFF_RECTRX_ID             NUMBER ,
452 			 X_ABATEMENT_REVENUE_RECTRX_ID              NUMBER ,
453 			 X_WRITEOFF_PERC_TOLERANCE                  NUMBER ,
454 			 X_WRITEOFF_AMOUNT_TOLERANCE                NUMBER ,
455 			 X_GL_DATE_BANK_RETURN                      VARCHAR2 ,
456 			 X_FLOATING                                 NUMBER ,
457 			 X_LAST_UPDATE_DATE                         DATE,
458 			 X_LAST_UPDATED_BY                          NUMBER,
459 			 X_CREATION_DATE                            DATE,
460 			 X_CREATED_BY                               NUMBER,
461 			 X_LAST_UPDATE_LOGIN                        NUMBER,
462                          X_COLL_REMITTANCE_MEDIA                    VARCHAR2,
463                          X_COLL_FORMAT_PGM_ID                       NUMBER,
464                          X_FACTOR_REMITTANCE_MEDIA                  VARCHAR2,
465                          X_FACTOR_FORMAT_PGM_ID                     NUMBER,
466                          X_OCC_REP_FORMAT_PGM_ID                    NUMBER,
467                          X_OCC_FILE_FORMAT_PGM_ID                   NUMBER,
468                          X_MAX_COLLECTION_DOCS                      NUMBER,
469 		         X_calling_sequence		            VARCHAR2
470   ) IS
471     current_calling_sequence    VARCHAR2(2000);
472     debug_info                  VARCHAR2(100);
473   BEGIN
474 --  Update the calling sequence
475 --
476     current_calling_sequence := 'JL_BR_AR_REC_MET_ACCTS_EXT_PKG.UPDATE_ROW<-' ||
477                                  X_calling_sequence;
478     debug_info := 'Update JL_BR_AR_REC_MET_ACCTS_EXT';
479     UPDATE JL_BR_AR_REC_MET_ACCTS_EXT
480     SET
481 	 BANK_ACCT_USE_ID               =  	 X_BANK_ACCT_USE_ID                 ,
482 	 RECEIPT_METHOD_ID              =  	 X_RECEIPT_METHOD_ID                ,
483 	 BANK_CHARGES_CCID              =        X_BANK_CHARGES_CCID                ,
484 	 COLL_ENDORSEMENT_CCID          =        X_COLL_ENDORSEMENT_CCID            ,
485 	 BILLS_COLLECTION_CCID          =        X_BILLS_COLLECTION_CCID            ,
486 	 OTHER_CREDITS_CCID             =        X_OTHER_CREDITS_CCID               ,
487 	 FACTORING_DOCS_CCID            =        X_FACTORING_DOCS_CCID              ,
488         BILLS_DISCOUNT_CCID            =        X_BILLS_DISCOUNT_CCID
489     ,
490          DISC_ENDORSEMENT_CCID          =        X_DISC_ENDORSEMENT_CCID
491     ,
492          DISCOUNTED_BILLS_CCID          =        X_DISCOUNTED_BILLS_CCID
493     ,
494 	 PORTFOLIO_CODE                 =	 X_PORTFOLIO_CODE                   ,
495 	 MIN_DOCUMENT_AMOUNT            =	 X_MIN_DOCUMENT_AMOUNT              ,
496 	 MAX_DOCUMENT_AMOUNT            =	 X_MAX_DOCUMENT_AMOUNT              ,
497 	 MIN_REMITTANCE_AMOUNT          =	 X_MIN_REMITTANCE_AMOUNT            ,
498 	 MAX_REMITTANCE_AMOUNT          =	 X_MAX_REMITTANCE_AMOUNT            ,
499 	 BANK_INSTRUCTION_CODE1         =	 X_BANK_INSTRUCTION_CODE1           ,
500 	 BANK_INSTRUCTION_CODE2         =	 X_BANK_INSTRUCTION_CODE2           ,
501 	 BANK_CHARGE_AMOUNT             =	 X_BANK_CHARGE_AMOUNT               ,
502 	 FACTORING_RATE                 =        X_FACTORING_RATE                   ,
503  	 FACTORING_RATE_PERIOD          =        X_FACTORING_RATE_PERIOD            ,
504 	 BATCH_SOURCE_ID                =	 X_BATCH_SOURCE_ID                  ,
505 	 CALCULATED_INTEREST_CCID       =        X_CALCULATED_INTEREST_CCID         ,
506 	 INTEREST_WRITEOFF_CCID         =        X_INTEREST_WRITEOFF_CCID           ,
507 	 FACTORING_INTEREST_CCID        =        X_FACTORING_INTEREST_CCID          ,
508 	 ABATEMENT_WRITEOFF_CCID        =        X_ABATEMENT_WRITEOFF_CCID          ,
509 	 ABATEMENT_REVENUE_CCID         =        X_ABATEMENT_REVENUE_CCID           ,
510 	 INTEREST_REVENUE_CCID          =        X_INTEREST_REVENUE_CCID            ,
511 	 CALCULATED_INTEREST_RECTRX_ID  =        X_CALC_INTEREST_RECTRX_ID          ,
512 	 INTEREST_WRITEOFF_RECTRX_ID    =        X_INTEREST_WRITEOFF_RECTRX_ID      ,
513 	 INTEREST_REVENUE_RECTRX_ID     =        X_INTEREST_REVENUE_RECTRX_ID       ,
514 	 ABATEMENT_WRITEOFF_RECTRX_ID   =        X_ABATEMENT_WRITEOFF_RECTRX_ID     ,
515 	 ABATEMENT_REVENUE_RECTRX_ID    =        X_ABATEMENT_REVENUE_RECTRX_ID      ,
516 	 WRITEOFF_PERC_TOLERANCE        =        X_WRITEOFF_PERC_TOLERANCE          ,
517 	 WRITEOFF_AMOUNT_TOLERANCE      =        X_WRITEOFF_AMOUNT_TOLERANCE        ,
518 	 GL_DATE_BANK_RETURN            =        X_GL_DATE_BANK_RETURN              ,
519 	 FLOATING                       =        X_FLOATING                         ,
520 	 LAST_UPDATE_DATE               =	 X_LAST_UPDATE_DATE                 ,
521 	 LAST_UPDATED_BY                =	 X_LAST_UPDATED_BY                  ,
522 	 CREATION_DATE                  =	 X_CREATION_DATE                    ,
523 	 CREATED_BY                     =	 X_CREATED_BY                       ,
524 	 LAST_UPDATE_LOGIN              =	 X_LAST_UPDATE_LOGIN                ,
525 	 COLL_REMITTANCE_MEDIA     	=	 X_COLL_REMITTANCE_MEDIA            ,
526 	 COLL_FORMAT_PGM_ID             =        X_COLL_FORMAT_PGM_ID               ,
527          FACTOR_REMITTANCE_MEDIA        =        X_FACTOR_REMITTANCE_MEDIA          ,
528          FACTOR_FORMAT_PGM_ID           =        X_FACTOR_FORMAT_PGM_ID             ,
529          OCC_REP_FORMAT_PGM_ID          =        X_OCC_REP_FORMAT_PGM_ID            ,
530          OCC_FILE_FORMAT_PGM_ID         =        X_OCC_FILE_FORMAT_PGM_ID           ,
531          MAX_COLLECTION_DOCS            =        X_MAX_COLLECTION_DOCS
532 
533     WHERE rowid = X_Rowid;
534 
535     if (SQL%NOTFOUND) then
536       Raise NO_DATA_FOUND;
537     end if;
538 
539     EXCEPTION
540         WHEN OTHERS THEN
541            IF (SQLCODE <> -20001) THEN
542               FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
543               FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
544               FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
545              FND_MESSAGE.SET_TOKEN('PARAMETERS','receipt_method_id = ' ||
546                                     X_receipt_method_id  ||
547                                     'bank_acct_use_id = ' ||
548                                     X_bank_acct_use_id );
549               FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
550            END IF;
551            APP_EXCEPTION.RAISE_EXCEPTION;
552 
553   END Update_Row;
554 
555   PROCEDURE Delete_Row (X_Rowid 	        	VARCHAR2,
556 		        X_calling_sequence	IN	VARCHAR2
557   ) IS
558     current_calling_sequence    VARCHAR2(2000);
559     debug_info                  VARCHAR2(100);
560   BEGIN
561 --  Update the calling sequence
562 --
563     current_calling_sequence := 'JL_BR_AR_REC_MET_ACCTS_EXT_PKG.DELETE_ROW<-' ||
564                                  X_calling_sequence;
565     debug_info := 'Delete from JL_BR_AR_REC_MET_ACCTS_EXT';
566     DELETE FROM JL_BR_AR_REC_MET_ACCTS_EXT
567     WHERE rowid = X_Rowid;
568 
569     if (SQL%NOTFOUND) then
570       Raise NO_DATA_FOUND;
571     end if;
572 
573     EXCEPTION
574         WHEN OTHERS THEN
575            IF (SQLCODE <> -20001) THEN
576               FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
577               FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
578               FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
579               FND_MESSAGE.SET_TOKEN('PARAMETERS','ROWID = ' || X_Rowid);
580               FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
581            END IF;
582            APP_EXCEPTION.RAISE_EXCEPTION;
583 
584   END Delete_Row;
585 
586 
587 
588 END JL_BR_AR_REC_MET_ACCTS_EXT_PKG;