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