1 PACKAGE BODY jg_ar_receivable_applications AS
2 /* $Header: jgzzrrab.pls 120.10 2005/08/25 23:34:18 cleyvaol ship $ */
3
4 /*----------------------------------------------------------------------------*
5 | PUBLIC FUNCTIONS/PROCEDURES |
6 *----------------------------------------------------------------------------*/
7
8 PG_DEBUG varchar2(1);
9
10 PROCEDURE Apply(p_apply_before_after IN VARCHAR2 ,
11 p_global_attribute_category IN OUT NOCOPY VARCHAR2 ,
12 p_set_of_books_id IN NUMBER ,
13 p_cash_receipt_id IN VARCHAR2 ,
14 p_receipt_date IN DATE ,
15 p_applied_payment_schedule_id IN NUMBER ,
16 p_amount_applied IN NUMBER ,
17 p_unapplied_amount IN NUMBER ,
18 p_due_date IN DATE ,
19 p_receipt_method_id IN NUMBER ,
20 p_remittance_bank_account_id IN NUMBER ,
21 p_global_attribute1 IN OUT NOCOPY VARCHAR2 ,
22 p_global_attribute2 IN OUT NOCOPY VARCHAR2 ,
23 p_global_attribute3 IN OUT NOCOPY VARCHAR2 ,
24 p_global_attribute4 IN OUT NOCOPY VARCHAR2 ,
25 p_global_attribute5 IN OUT NOCOPY VARCHAR2 ,
26 p_global_attribute6 IN OUT NOCOPY VARCHAR2 ,
27 p_global_attribute7 IN OUT NOCOPY VARCHAR2 ,
28 p_global_attribute8 IN OUT NOCOPY VARCHAR2 ,
29 p_global_attribute9 IN OUT NOCOPY VARCHAR2 ,
30 p_global_attribute10 IN OUT NOCOPY VARCHAR2 ,
31 p_global_attribute11 IN OUT NOCOPY VARCHAR2 ,
32 p_global_attribute12 IN OUT NOCOPY VARCHAR2 ,
33 p_global_attribute13 IN OUT NOCOPY VARCHAR2 ,
34 p_global_attribute14 IN OUT NOCOPY VARCHAR2 ,
35 p_global_attribute15 IN OUT NOCOPY VARCHAR2 ,
36 p_global_attribute16 IN OUT NOCOPY VARCHAR2 ,
37 p_global_attribute17 IN OUT NOCOPY VARCHAR2 ,
38 p_global_attribute18 IN OUT NOCOPY VARCHAR2 ,
39 p_global_attribute19 IN OUT NOCOPY VARCHAR2 ,
40 p_global_attribute20 IN OUT NOCOPY VARCHAR2 ,
41 p_return_status OUT NOCOPY VARCHAR2) IS
42
43
44 l_product_code VARCHAR2(2);
45 l_country_code VARCHAR2(2);
46
47 BEGIN
48
49 IF PG_DEBUG in ('Y', 'C') THEN
50 arp_util.debug('jg_ar_receivable_applications.Apply()+');
51 END IF;
52
53 l_product_code := FND_PROFILE.VALUE('JGZZ_PRODUCT_CODE');
54 l_country_code := FND_PROFILE.VALUE('JGZZ_COUNTRY_CODE');
55
56 IF l_product_code IS NULL THEN
57 IF (p_global_attribute_category IS NULL) AND
58 (p_global_attribute1 IS NULL) AND
59 (p_global_attribute2 IS NULL) AND
60 (p_global_attribute3 IS NULL) AND
61 (p_global_attribute4 IS NULL) AND
62 (p_global_attribute5 IS NULL) AND
63 (p_global_attribute6 IS NULL) AND
64 (p_global_attribute7 IS NULL) AND
65 (p_global_attribute8 IS NULL) AND
66 (p_global_attribute9 IS NULL) AND
67 (p_global_attribute10 IS NULL) AND
68 (p_global_attribute11 IS NULL) AND
69 (p_global_attribute12 IS NULL) AND
70 (p_global_attribute13 IS NULL) AND
71 (p_global_attribute14 IS NULL) AND
72 (p_global_attribute15 IS NULL) AND
73 (p_global_attribute16 IS NULL) AND
74 (p_global_attribute17 IS NULL) AND
75 (p_global_attribute18 IS NULL) AND
76 (p_global_attribute19 IS NULL) AND
77 (p_global_attribute20 IS NULL) THEN
78 p_return_status := FND_API.G_RET_STS_SUCCESS;
79 ELSE
80 p_return_status := FND_API.G_RET_STS_ERROR;
81 END IF;
82
83 ELSIF l_product_code = 'JL' AND l_country_code = 'BR' THEN
84
85 -- BUG 3086341
86
87 BEGIN
88 SELECT descriptive_flex_context_code
89 INTO p_global_attribute_category
90 FROM fnd_descr_flex_contexts
91 WHERE application_id = 7003
95 AND enabled_flag = 'Y';
92 AND descriptive_flexfield_name = 'JG_AR_RECEIVABLE_APPLICATIONS'
93 AND substr(descriptive_flex_context_code,4,2) = l_country_code
94 AND substr(descriptive_flex_context_code,7,8) = 'ARXRWMAI'
96
97 EXCEPTION
98 WHEN OTHERS THEN
99 FND_MESSAGE.SET_NAME('JG','JG_ZZ_INVALID_GLOBAL_ATTB_CAT');
100 FND_MSG_PUB.Add;
101 p_return_status := FND_API.G_RET_STS_ERROR;
102 IF PG_DEBUG in ('Y', 'C') THEN
103 arp_util.debug('Validate_gbl: ' || 'Invalid global attribute category');
104 END IF;
105 Return;
106 END;
107
108 jg_zz_global_flex_vald_pkg.Validate_Global_Flexfield(
109 p_global_attribute_category,
110 p_global_attribute1,
111 p_global_attribute2,
112 p_global_attribute3,
113 p_global_attribute4,
114 p_global_attribute5,
115 p_global_attribute6,
116 p_global_attribute7,
117 p_global_attribute8,
118 p_global_attribute9,
119 p_global_attribute10,
120 p_global_attribute11,
121 p_global_attribute12,
122 p_global_attribute13,
123 p_global_attribute14,
124 p_global_attribute15,
125 p_global_attribute16,
126 p_global_attribute17,
127 p_global_attribute18,
128 p_global_attribute19,
129 p_global_attribute20,
130 'JG_AR_RECEIVABLE_APPLICATIONS',
131 p_return_status);
132
133 IF p_return_status = FND_API.G_RET_STS_SUCCESS THEN
134 jl_ar_receivable_applications.Apply(p_apply_before_after,
135 p_global_attribute_category,
136 p_set_of_books_id,
137 p_cash_receipt_id,
138 p_receipt_date,
139 p_applied_payment_schedule_id,
140 p_amount_applied,
141 p_unapplied_amount,
142 p_due_date,
143 p_receipt_method_id,
144 p_remittance_bank_account_id,
145 p_global_attribute1,
146 p_global_attribute2,
147 p_global_attribute3,
148 p_global_attribute4,
149 p_global_attribute5,
150 p_global_attribute6,
151 p_global_attribute7,
152 p_global_attribute8,
153 p_global_attribute9,
154 p_global_attribute10,
155 p_global_attribute11,
156 p_global_attribute12,
157 p_global_attribute13,
158 p_global_attribute14,
159 p_global_attribute15,
160 p_global_attribute16,
161 p_global_attribute17,
162 p_global_attribute18,
163 p_global_attribute19,
164 p_global_attribute20,
165 p_return_status);
166 ELSE
167 NULL;
168 END IF;
169 END IF;
170
171 IF PG_DEBUG in ('Y', 'C') THEN
172 arp_util.debug('jg_ar_receivable_applications.Apply()-');
173 END IF;
174
175
176 END Apply;
177
178 PROCEDURE Unapply(
179 p_cash_receipt_id IN VARCHAR2 ,
180 p_applied_payment_schedule_id IN NUMBER ,
181 p_return_status OUT NOCOPY VARCHAR2) IS
182
183 l_product_code VARCHAR2(2);
184
185 BEGIN
186
187 IF PG_DEBUG in ('Y', 'C') THEN
188 arp_util.debug('jg_ar_receivable_applications.Unapply()+');
189 END IF;
190
191 l_product_code := FND_PROFILE.VALUE('JGZZ_PRODUCT_CODE');
192
193 IF l_product_code IS NULL THEN
194 p_return_status := FND_API.G_RET_STS_SUCCESS;
195 ELSIF l_product_code = 'JL' THEN
196 jl_ar_receivable_applications.Unapply(
197 p_cash_receipt_id,
198 p_applied_payment_schedule_id,
199 p_return_status);
200 END IF;
201
202 IF PG_DEBUG in ('Y', 'C') THEN
203 arp_util.debug('jg_ar_receivable_applications.Unapply()-');
204 END IF;
205
206
207 END Unapply;
208
209 PROCEDURE create_interest_adjustment(
210 p_post_quickcash_req_id IN NUMBER,
211 x_return_status OUT NOCOPY VARCHAR2)
212 IS
213 l_product_code VARCHAR2(2);
214 BEGIN
215
216 fnd_file.put_line(fnd_file.log,'jg_ar_receivable_applications.create_interest_adj()-');
217
218 x_return_status := FND_API.G_RET_STS_SUCCESS;
219 l_product_code := FND_PROFILE.VALUE('JGZZ_PRODUCT_CODE');
220
221 IF nvl(l_product_code,'$') = 'JL' THEN
222
223 JL_AR_RECEIVABLE_APPLICATIONS.create_interest_adjustment
224 (p_post_quickcash_req_id,
225 x_return_status);
226 fnd_file.put_line(fnd_file.log,'After jg_ar_receivable_applications.create_interest_adj()-');
227 END IF;
228
229 EXCEPTION
230 WHEN OTHERS THEN
231 x_return_status := FND_API.G_RET_STS_ERROR;
232
233 END Create_interest_adjustment;
234
235 PROCEDURE delete_interest_adjustment(
236 p_cash_receipt_id IN NUMBER,
237 x_return_status OUT NOCOPY VARCHAR2)
238 IS
239 l_product_code VARCHAR2(2);
240 BEGIN
241
242 x_return_status := FND_API.G_RET_STS_SUCCESS;
243
244 l_product_code := FND_PROFILE.VALUE('JGZZ_PRODUCT_CODE');
245
246 IF nvl(l_product_code,'$') = 'JL' THEN
247
248 JL_AR_RECEIVABLE_APPLICATIONS.delete_interest_adjustment
249 (p_cash_receipt_id ,
250 x_return_status );
251 END IF;
252
253
254 END delete_interest_adjustment;
255
256 BEGIN
257
258 PG_DEBUG := NVL(FND_PROFILE.value('AR_ENABLE_DEBUG_OUTPUT'), 'N');
259
260 END jg_ar_receivable_applications;