[Home] [Help]
PACKAGE BODY: APPS.OZF_CLAIM_INSTALL
Source
1 PACKAGE BODY OZF_CLAIM_INSTALL AS
2 /* $Header: ozfgcinb.pls 120.0.12010000.2 2008/12/30 04:56:07 psomyaju ship $ */
3 -- Start of Comments
4 -- Package name : OZF_CLAIM_INSTALL
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10 ---------------------------------------------------------------------
11 -- PROCEDURE: Check_Installed
12 --
13 -- PURPOSE: This function checks if claims module is installed
14 --
15 -- PARAMETERS:
16 --
17 -- NOTES:
18 --
19 ---------------------------------------------------------------------
20 --Bugfix : 7668608 - p_org_id parameter added
21 FUNCTION Check_Installed (p_org_id IN NUMBER DEFAULT NULL)
22 RETURN BOOLEAN
23 IS
24 l_cm_trx_type_id NUMBER;
25 l_bb_trx_type_id NUMBER;
26 l_sql_stmt VARCHAR2(1000);
27
28 CURSOR csr_query IS
29 SELECT cm_trx_type_id
30 , billback_trx_type_id
31 FROM ozf_sys_parameters
32 WHERE org_id = NVL(p_org_id, org_id);
33
34 BEGIN
35
36 OPEN csr_query;
37 FETCH csr_query INTO l_cm_trx_type_id, l_bb_trx_type_id;
38 CLOSE csr_query;
39
40 IF l_cm_trx_type_id is NULL AND
41 l_bb_trx_type_id is NULL
42 THEN
43 return FALSE;
44 ELSE
45 return TRUE;
46 END IF;
47
48 EXCEPTION
49 WHEN OTHERS THEN
50 RETURN FALSE;
51
52 END CHECK_INSTALLED;
53
54
55 ---------------------------------------------------------------------
56 -- PROCEDURE: Get_Amount_Remaining
57 --
58 -- PURPOSE: This API returns the amount_remaing of the root claim.
59 --
60 -- PARAMETERS:
61 -- IN
62 -- p_claim+id IN NUMBER Required
63 --
64 -- OUT:
65 -- x_amount_remaining OUT NUMBER
66 -- x_acctd_amount_remaining OUT NUMBER
67 -- x_currency_code OUT VARCHAR2
68 -- x_return_status OUT VARCHAR2
69 --
70 -- NOTES:
71 --
72 ---------------------------------------------------------------------
73 PROCEDURE Get_Amount_Remaining (
74 p_claim_id IN NUMBER,
75 x_amount_remaining OUT NOCOPY NUMBER,
76 x_acctd_amount_remaining OUT NOCOPY NUMBER,
77 x_currency_code OUT NOCOPY VARCHAR2,
78 x_return_status OUT NOCOPY VARCHAR2
79 )
80 IS
81
82 l_claim_id NUMBER;
83 l_payment_method VARCHAR2(30);
84 l_status_code VARCHAR2(30);
85 l_claim_amt_rem NUMBER;
86 l_claim_acctd_amo_rem NUMBER;
87 l_sdc_amt_rem NUMBER;
88 l_sdc_acctd_amo_rem NUMBER;
89 l_amount_remaining NUMBER := 0;
90 l_acctd_amount_remaining NUMBER := 0;
91 l_currency_code VARCHAR2(15);
92
93 CURSOR csr_claim_amount_rem(cv_claim_id IN NUMBER) IS
94 SELECT claim_id
95 , payment_method
96 , status_code
97 , NVL(SUM(amount_remaining + amount_settled),0)
98 , NVL(SUM(acctd_amount_remaining + acctd_amount_settled),0)
99 , currency_code
100 FROM ozf_claims_all
101 WHERE root_claim_id = cv_claim_id
102 GROUP BY claim_id, payment_method, status_code, currency_code;
103
104 CURSOR csr_settlement_amount(cv_claim_id IN NUMBER) IS
105 SELECT settlement_amount
106 FROM ozf_settlement_docs_all
107 WHERE claim_id = cv_claim_id
108 AND payment_status = 'PENDING';
109
110
111 BEGIN
112 -- Initialize API return status to SUCCESS
113 x_return_status := FND_API.G_RET_STS_SUCCESS;
114
115 OZF_Utility_PVT.debug_message('claim_id = '||p_claim_id);
116
117 OPEN csr_claim_amount_rem(p_claim_id);
118 LOOP
119 l_claim_amt_rem := 0;
120 l_claim_acctd_amo_rem := 0;
121 l_sdc_amt_rem := 0;
122 l_sdc_acctd_amo_rem := 0;
123
124 FETCH csr_claim_amount_rem INTO l_claim_id
125 , l_payment_method
126 , l_status_code
127 , l_claim_amt_rem
128 , l_claim_acctd_amo_rem
129 , l_currency_code;
130 EXIT WHEN csr_claim_amount_rem%NOTFOUND;
131
132 IF l_status_code = 'CLOSED' AND
133 l_payment_method = 'MASS_SETTLEMENT' THEN
134 OZF_Utility_PVT.debug_message('mass_settlement');
135 OPEN csr_settlement_amount(l_claim_id);
136 LOOP
137 FETCH csr_settlement_amount INTO l_sdc_amt_rem;
138 EXIT WHEN csr_settlement_amount%NOTFOUND;
139 l_amount_remaining := l_amount_remaining + (l_sdc_amt_rem * -1);
140 l_acctd_amount_remaining := l_acctd_amount_remaining + (l_sdc_amt_rem * -1);
141 END LOOP;
142 CLOSE csr_settlement_amount;
143 ELSIF l_status_code <> 'CLOSED' THEN
144 OZF_Utility_PVT.debug_message('non mass_settlement');
145 l_amount_remaining := l_amount_remaining + l_claim_amt_rem;
146 l_acctd_amount_remaining := l_acctd_amount_remaining + l_claim_acctd_amo_rem;
147 END IF;
148 END LOOP;
149 CLOSE csr_claim_amount_rem;
150
151 OZF_Utility_PVT.debug_message('l_amount_remaining='||l_amount_remaining);
152 OZF_Utility_PVT.debug_message('l_acctd_amount_remaining='||l_acctd_amount_remaining);
153 OZF_Utility_PVT.debug_message('l_currency_code='||l_currency_code);
154
155 x_amount_remaining := l_amount_remaining;
156 x_acctd_amount_remaining := l_acctd_amount_remaining;
157 x_currency_code := l_currency_code;
158
159 EXCEPTION
160 WHEN NO_DATA_FOUND THEN
161 x_return_status := FND_API.G_RET_STS_SUCCESS;
162 x_amount_remaining := 0;
163 x_acctd_amount_remaining := 0;
164
165 WHEN OTHERS THEN
166 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
167 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
168 FND_MESSAGE.set_name('AMS', 'AMS_CLAM_GET_AMTREM_ERR');
169 FND_MSG_PUB.add;
170 END IF;
171
172 END Get_Amount_Remaining;
173
174
175 ---------------------------------------------------------------------
176 -- PROCEDURE: Check_Default_Setup
177 --
178 -- PURPOSE: This function checks if claim system parameters is setup.
179 --
180 -- PARAMETERS:
181 --
182 -- NOTES:
183 --
184 ---------------------------------------------------------------------
185 --Bugfix : 7668608 - p_org_id parameter added
186 FUNCTION Check_Default_Setup (p_org_id IN NUMBER DEFAULT NULL)
187 RETURN BOOLEAN
188 IS
189 l_cm_trx_type_id NUMBER;
190 l_bb_trx_type_id NUMBER;
191 l_claim_type_id NUMBER;
192 l_reason_code_id NUMBER;
193 l_default_owner_id NUMBER;
194
195 CURSOR csr_claim_def_setup IS
196 SELECT cm_trx_type_id
197 , billback_trx_type_id
198 , claim_type_id
199 , reason_code_id
200 , default_owner_id
201 FROM ozf_sys_parameters
202 WHERE org_id = NVL(p_org_id, org_id);
203
204 BEGIN
205
206
207 OPEN csr_claim_def_setup;
208 FETCH csr_claim_def_setup INTO l_cm_trx_type_id
209 , l_bb_trx_type_id
210 , l_claim_type_id
211 , l_reason_code_id
212 , l_default_owner_id;
213 CLOSE csr_claim_def_setup;
214
215 IF l_cm_trx_type_id is NULL AND
216 l_bb_trx_type_id is NULL THEN
217 RETURN FALSE;
218 ELSE
219 --Check for other Default Parameters.
220 IF l_claim_type_id is NULL OR
221 l_reason_code_id is NULL OR
222 l_default_owner_id is NULL THEN
223 RETURN FALSE;
224 ELSE
225 RETURN TRUE;
226 END IF;
227 END IF;
228
229 EXCEPTION
230 WHEN OTHERS THEN
231 RETURN FALSE;
232
233 END Check_Default_Setup;
234
235 ---------------------------------------------------------------------
236 -- PROCEDURE: Netting_Claims_Allowed
237 --
238 -- PURPOSE: This function returns TRUE or FALSE depending on whether
239 -- Netting (Subsequent Receipt Application) function is
240 -- allowed in TM or not.
241 --
242 -- PARAMETERS:
243 --
244 -- NOTES:
245 -- It returns FALSE for TM pre 11.5.10
246 -- It returns TRUE if TM 11.5.10 is installed.
247 --
248 ---------------------------------------------------------------------
249 FUNCTION Netting_Claims_Allowed
250 RETURN BOOLEAN
251 IS
252 BEGIN
253 RETURN TRUE;
254 EXCEPTION
255 WHEN OTHERS THEN
256 RETURN TRUE;
257
258 END Netting_Claims_Allowed;
259
260
261
262 END OZF_CLAIM_INSTALL;