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