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