DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEX_STRATEGY_PVT

Source


1 PACKAGE BODY IEX_STRATEGY_PVT as
2 /* $Header: iexvstrb.pls 120.1.12010000.3 2008/08/13 10:55:09 pnaveenk ship $ */
3 
4 G_PKG_NAME CONSTANT VARCHAR2(30):= 'IEX_STRATEGY_PVT';
5 G_FILE_NAME CONSTANT VARCHAR2(12) := 'iexvstrb.pls';
6 
7 
8 -- Hint: Primary key needs to be returned.
9 --PG_DEBUG NUMBER(2) := TO_NUMBER(NVL(FND_PROFILE.value('IEX_DEBUG_LEVEL'), '20'));
10 PG_DEBUG NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
11 
12 PROCEDURE Create_strategy(
13     P_Api_Version_Number         IN   NUMBER,
14     P_Init_Msg_List              IN   VARCHAR2   := FND_API.G_FALSE,
15     P_Commit                     IN   VARCHAR2   := FND_API.G_FALSE,
16     p_validation_level           IN   NUMBER     := FND_API.G_VALID_LEVEL_FULL,
17     P_STRATEGY_Rec               IN    STRATEGY_Rec_Type,
18     X_STRATEGY_ID                OUT NOCOPY  NUMBER,
19     X_Return_Status              OUT NOCOPY  VARCHAR2,
20     X_Msg_Count                  OUT NOCOPY  NUMBER,
21     X_Msg_Data                   OUT NOCOPY  VARCHAR2    )
22 
23  IS
24 l_api_name                CONSTANT VARCHAR2(30) := 'Create_strategy';
25 l_api_version_number      CONSTANT NUMBER   := 2.0;
26 l_return_status_full        VARCHAR2(1);
27 v_strategy_id               iex_strategies.strategy_id%TYPE;
28 v_object_version_number     iex_strategies.object_version_number%TYPE;
29 v_rowid                    VARCHAR2(24);
30 v_strategy_level            iex_strategies.strategy_level%TYPE;
31 
32 
33  Cursor c2 is SELECT IEX_STRATEGIES_S.nextval from dual;
34  Cursor c3 is SELECT strategy_level from iex_strategy_templates_b
35                 where strategy_temp_id = p_STRATEGY_rec.STRATEGY_TEMPLATE_ID;
36 BEGIN
37 
38 --     IF PG_DEBUG < 10  THEN
39      IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
40         IEX_DEBUG_PUB.LogMessage ('********* Start of Procedure =>IEX_STRATEGY_PVT.Create_STRATEGY ******** ');
41      END IF;
42       -- Standard Start of API savepoint
43       SAVEPOINT CREATE_STRATEGY_PVT;
44       -- Standard call to check for call compatibility.
45       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
46                            	               p_api_version_number,
47                                            l_api_name,
48                                            G_PKG_NAME)
49       THEN
50           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
51       END IF;
52 --      IF PG_DEBUG < 10  THEN
53       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
54          IEX_DEBUG_PUB.LogMessage('Create_strategy: ' || 'After Compatibility Check');
55       END IF;
56 
57       -- Initialize message list if p_init_msg_list is set to TRUE.
58       IF FND_API.to_Boolean( p_init_msg_list )
59       THEN
60           FND_MSG_PUB.initialize;
61       END IF;
62 
63 
64       -- Initialize API return status to SUCCESS
65       x_return_status := FND_API.G_RET_STS_SUCCESS;
66       --
67       -- API body
68       --
69       -- ******************************************************************
70       -- Validate Environment
71       -- ******************************************************************
72       IF FND_GLOBAL.User_Id IS NULL
73       THEN
74           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
75           THEN
76               FND_MESSAGE.Set_Name('IEX', 'IEX_CANNOT_GET_PROFILE_VALUE');
77               FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
78               FND_MSG_PUB.ADD;
79           END IF;
80           RAISE FND_API.G_EXC_ERROR;
81       END IF;
82 --      IF PG_DEBUG < 10  THEN
83       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
84          IEX_DEBUG_PUB.LogMessage('Create_strategy: ' || 'After Global user Check');
85       END IF;
86 
87       --object version Number
88       v_object_version_number :=1;
89        -- get STRATEGY_id
90        OPEN C2;
91        FETCH C2 INTO v_STRATEGY_ID;
92        CLOSE C2;
93 --      IF PG_DEBUG < 10  THEN
94       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
95          IEX_DEBUG_PUB.LogMessage('Create_strategy: ' || 'After STRATEGY ID Check and STRATEGY_id is => '||v_STRATEGY_id);
96       END IF;
97 
98       /*
99       -- get STRATEGY_level
100        OPEN C3;
101        FETCH C3 INTO v_STRATEGY_level;
102        CLOSE C3;
103 --        IF PG_DEBUG < 10  THEN
104         IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
105            IEX_DEBUG_PUB.LogMessage('Create_strategy: ' || 'After STRATEGY ID Check and STRATEGY_level is => '||v_STRATEGY_level);
106         END IF;
107 
108 	--delinquency Id check
109         if (v_strategy_level = 3) then
110           IF (p_STRATEGY_rec.delinquency_id IS NULL) THEN
111   	        fnd_message.set_name('IEX', 'IEX_API_ALL_MISSING_PARAM');
112 		    fnd_message.set_token('API_NAME', l_api_name);
113 		    fnd_message.set_token('MISSING_PARAM', 'delinquency_id');
114 		    fnd_msg_pub.add;
115               RAISE FND_API.G_EXC_ERROR;
116 	  END IF;
117        end if;
118 
119        */
120 --		IF PG_DEBUG < 10  THEN
121 		IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
122 		   IEX_DEBUG_PUB.LogMessage ('Create_strategy: ' || 'After delinquency id check');
123 		END IF;
124 
125 --       IF PG_DEBUG < 10  THEN
126        IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
127           IEX_DEBUG_PUB.LogMessage('Create_strategy: ' || 'Before Calling iex_strategies_pkg.insert_row');
128        END IF;
129 
130       -- Invoke table handler(IEX_STRATEGIES_PKG.Insert_Row)
131       IEX_STRATEGIES_PKG.Insert_Row(
132           x_rowid   =>v_rowid
133          , x_STRATEGY_ID  => v_STRATEGY_id
134          ,x_STATUS_CODE  => p_STRATEGY_rec.STATUS_CODE
135          ,x_STRATEGY_TEMPLATE_ID  => p_STRATEGY_rec.STRATEGY_TEMPLATE_ID
136          ,x_DELINQUENCY_ID  => p_STRATEGY_rec.DELINQUENCY_ID
137          ,x_OBJECT_TYPE  => p_STRATEGY_rec.OBJECT_TYPE
138          ,x_OBJECT_ID  => p_STRATEGY_rec.OBJECT_ID
139          ,x_CUST_ACCOUNT_ID  => p_STRATEGY_rec.CUST_ACCOUNT_ID
140          ,x_PARTY_ID  => p_STRATEGY_rec.PARTY_ID
141          ,x_SCORE_VALUE  => p_STRATEGY_rec.SCORE_VALUE
142          ,x_NEXT_WORK_ITEM_ID  => p_STRATEGY_rec.NEXT_WORK_ITEM_ID
143          ,x_USER_WORK_ITEM_YN  => p_STRATEGY_rec.USER_WORK_ITEM_YN
144          ,x_LAST_UPDATE_DATE  => SYSDATE
145          ,x_LAST_UPDATED_BY  => FND_GLOBAL.USER_ID
146          ,x_LAST_UPDATE_LOGIN  => FND_GLOBAL.CONC_LOGIN_ID
147          ,x_CREATION_DATE  => SYSDATE
148          ,x_CREATED_BY  => FND_GLOBAL.USER_ID
149          ,x_OBJECT_VERSION_NUMBER  => v_OBJECT_VERSION_NUMBER
150          ,x_REQUEST_ID  => p_STRATEGY_rec.REQUEST_ID
151          ,x_PROGRAM_APPLICATION_ID  => p_STRATEGY_rec.PROGRAM_APPLICATION_ID
152          ,x_PROGRAM_ID  => p_STRATEGY_rec.PROGRAM_ID
153          ,x_PROGRAM_UPDATE_DATE  => p_STRATEGY_rec.PROGRAM_UPDATE_DATE
154          ,x_CHECKLIST_YN  => p_STRATEGY_rec.CHECKLIST_YN
155          ,x_CHECKLIST_STRATEGY_ID  => p_STRATEGY_rec.CHECKLIST_STRATEGY_ID
156          ,x_STRATEGY_LEVEL  => p_Strategy_Rec.Strategy_level
157          ,x_JTF_OBJECT_TYPE  => p_STRATEGY_rec.JTF_OBJECT_TYPE
158          ,x_JTF_OBJECT_id  => p_STRATEGY_rec.JTF_OBJECT_id
159          ,x_CUSTOMER_SITE_USE_ID  => p_STRATEGY_rec.CUSTOMER_SITE_USE_ID
160 	 ,x_org_id => p_STRATEGY_rec.org_id --Bug# 6870773 Naveen
161 	    );
162 
163 
164         x_STRATEGY_ID := v_STRATEGY_ID;
165 
166           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
167               RAISE FND_API.G_EXC_ERROR;
168           END IF;
169 
170       --
171       -- End of API body
172       --
173 
174       -- Standard check for p_commit
175       IF FND_API.to_Boolean( p_commit )
176       THEN
177           COMMIT WORK;
178       END IF;
179 
180 
181 
182 
183       -- Standard call to get message count and if count is 1, get message info.
184       FND_MSG_PUB.Count_And_Get
185       (  p_count          =>   x_msg_count,
186          p_data           =>   x_msg_data
187       );
188 --  IF PG_DEBUG < 10  THEN
189   IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
190      IEX_DEBUG_PUB.LogMessage ('********* End of Procedure =>IEX_STRATEGY_PVT.create_STRATEGY ******** ');
191   END IF;
192       EXCEPTION
193           WHEN FND_API.G_EXC_ERROR THEN
194               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
195                    P_API_NAME => L_API_NAME
196                   ,P_PKG_NAME => G_PKG_NAME
197                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
198                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
199                   ,X_MSG_COUNT => X_MSG_COUNT
200                   ,X_MSG_DATA => X_MSG_DATA
201                   ,X_RETURN_STATUS => X_RETURN_STATUS);
202 
203           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
204               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
205                    P_API_NAME => L_API_NAME
206                   ,P_PKG_NAME => G_PKG_NAME
207                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
208                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
209                   ,X_MSG_COUNT => X_MSG_COUNT
210                   ,X_MSG_DATA => X_MSG_DATA
211                   ,X_RETURN_STATUS => X_RETURN_STATUS);
212 
213           WHEN OTHERS THEN
214               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
215                    P_API_NAME => L_API_NAME
216                   ,P_PKG_NAME => G_PKG_NAME
217                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
218                   ,P_SQLCODE => SQLCODE
219                   ,P_SQLERRM => SQLERRM
220                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
221                   ,X_MSG_COUNT => X_MSG_COUNT
222                   ,X_MSG_DATA => X_MSG_DATA
223                   ,X_RETURN_STATUS => X_RETURN_STATUS);
224 End Create_strategy;
225 
226 
227 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
228 PROCEDURE Update_strategy(
229     P_Api_Version_Number         IN   NUMBER,
230     P_Init_Msg_List              IN   VARCHAR2   := FND_API.G_FALSE,
231     P_Commit                     IN   VARCHAR2   := FND_API.G_FALSE,
232     p_validation_level           IN   NUMBER     := FND_API.G_VALID_LEVEL_FULL,
233     P_STRATEGY_Rec               IN    STRATEGY_Rec_Type,
234     X_Return_Status              OUT NOCOPY  VARCHAR2,
235     X_Msg_Count                  OUT NOCOPY  NUMBER,
236     X_Msg_Data                   OUT NOCOPY  VARCHAR2,
237     XO_OBJECT_VERSION_NUMBER     OUT NOCOPY  NUMBER
238     )
239 
240  IS
241 /*
242 Cursor C_Get_strategy(STRATEGY_ID Number) IS
243     Select rowid,
244            STRATEGY_ID,
245            STATUS_CODE,
246            STRATEGY_TEMPLATE_ID,
247            DELINQUENCY_ID,
248            OBJECT_TYPE,
249            OBJECT_ID,
250            CUST_ACCOUNT_ID,
251            PARTY_ID,
252            SCORE_VALUE,
253            NEXT_WORK_ITEM_ID,
254            USER_WORK_ITEM_YN,
255            LAST_UPDATED_BY,
256            LAST_UPDATE_LOGIN,
257            CREATION_DATE,
258            CREATED_BY,
259            OBJECT_VERSION_NUMBER,
260            REQUEST_ID,
261            PROGRAM_APPLICATION_ID,
262            PROGRAM_ID,
263            PROGRAM_UPDATE_DATE
264     From  IEX_STRATEGIES
265     -- Hint: Developer need to provide Where clause
266     For Update NOWAIT;
267 */
268 l_api_name                CONSTANT VARCHAR2(30) := 'Update_strategy';
269 l_api_version_number      CONSTANT NUMBER   := 2.0;
270 l_object_version_number iex_strategies.object_version_number%TYPE:=p_strategy_rec.object_version_number;
271 
272 BEGIN
273 --    IF PG_DEBUG < 10  THEN
274     IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
275        IEX_DEBUG_PUB.LogMessage ('********* Start of Procedure =>IEX_STRATEGY_PVT.update_STRATEGY ******** ');
276     END IF;
277       -- Standard Start of API savepoint
278       SAVEPOINT UPDATE_STRATEGY_PVT;
279 
280       -- Standard call to check for call compatibility.
281       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
282                          	             p_api_version_number,
283                                            l_api_name,
284                                            G_PKG_NAME)
285       THEN
286           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
287       END IF;
288 
289 
290       -- Initialize message list if p_init_msg_list is set to TRUE.
291       IF FND_API.to_Boolean( p_init_msg_list )
292       THEN
293           FND_MSG_PUB.initialize;
294       END IF;
295 
296       -- Initialize API return status to SUCCESS
297       x_return_status := FND_API.G_RET_STS_SUCCESS;
298 
299       --
300       -- API body
301       --
302 
303 --      IF PG_DEBUG < 10  THEN
304       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
305          IEX_DEBUG_PUB.LogMessage('Update_strategy: ' || 'Before Calling iex_strategy_pkg.lock_row');
306       END IF;
307      -- Invoke table handler(IEX_strategies_PKG.lock_Row)
308 
309       -- call locking table handler
310       IEX_STRATEGIES_PKG.lock_row (
311          p_strategy_rec.strategy_id,
312          l_object_version_number
313       );
314 
315 
316       -- Invoke table handler(IEX_STRATEGIES_PKG.Update_Row)
317       IEX_STRATEGIES_PKG.Update_Row(
318           x_STRATEGY_ID  => p_STRATEGY_rec.STRATEGY_ID
319          ,x_STATUS_CODE  => p_STRATEGY_rec.STATUS_CODE
320          ,x_STRATEGY_TEMPLATE_ID  => p_STRATEGY_rec.STRATEGY_TEMPLATE_ID
321          ,x_DELINQUENCY_ID  => p_STRATEGY_rec.DELINQUENCY_ID
322          ,x_OBJECT_TYPE  => p_STRATEGY_rec.OBJECT_TYPE
323          ,x_OBJECT_ID  => p_STRATEGY_rec.OBJECT_ID
324          ,x_CUST_ACCOUNT_ID  => p_STRATEGY_rec.CUST_ACCOUNT_ID
325          ,x_PARTY_ID  => p_STRATEGY_rec.PARTY_ID
326          ,x_SCORE_VALUE  => p_STRATEGY_rec.SCORE_VALUE
327          ,x_NEXT_WORK_ITEM_ID  => p_STRATEGY_rec.NEXT_WORK_ITEM_ID
328          ,x_USER_WORK_ITEM_YN  => p_STRATEGY_rec.USER_WORK_ITEM_YN
329          ,x_LAST_UPDATE_DATE  => SYSDATE
330          ,x_LAST_UPDATED_BY  => FND_GLOBAL.USER_ID
331          ,x_LAST_UPDATE_LOGIN  => FND_GLOBAL.CONC_LOGIN_ID
332          ,x_OBJECT_VERSION_NUMBER  => l_OBJECT_VERSION_NUMBER +1
333          ,x_REQUEST_ID  => p_STRATEGY_rec.REQUEST_ID
334          ,x_PROGRAM_APPLICATION_ID  => p_STRATEGY_rec.PROGRAM_APPLICATION_ID
335          ,x_PROGRAM_ID  => p_STRATEGY_rec.PROGRAM_ID
336          ,x_PROGRAM_UPDATE_DATE  => p_STRATEGY_rec.PROGRAM_UPDATE_DATE
337          ,x_CHECKLIST_YN  => p_STRATEGY_rec.CHECKLIST_YN
338          ,x_CHECKLIST_STRATEGY_ID  => p_STRATEGY_rec.CHECKLIST_STRATEGY_ID
339          ,x_STRATEGY_LEVEL  => p_STRATEGY_rec.STRATEGY_level
340          ,x_JTF_OBJECT_TYPE  => p_STRATEGY_rec.JTF_OBJECT_TYPE
341          ,x_JTF_OBJECT_id  => p_STRATEGY_rec.JTF_OBJECT_id
342          ,x_CUSTOMER_SITE_USE_ID  => p_STRATEGY_rec.CUSTOMER_SITE_USE_ID
343 	  ,x_ORG_id => p_STRATEGY_rec.ORG_id --Bug# 6870773 Naveen
344 	    );
345 
346        --Return Version number
347       xo_object_version_number := l_object_version_number + 1;
348 
349       --
350       -- End of API body.
351       --
352 
353       -- Standard check for p_commit
354       IF FND_API.to_Boolean( p_commit )
355       THEN
356           COMMIT WORK;
357       END IF;
358 
359       -- Standard call to get message count and if count is 1, get message info.
360       FND_MSG_PUB.Count_And_Get
361       (  p_count          =>   x_msg_count,
362          p_data           =>   x_msg_data
363       );
364 --      IF PG_DEBUG < 10  THEN
365       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
366          IEX_DEBUG_PUB.LogMessage ('********* End of Procedure =>IEX_strategy_PVT.Update_strategy ******** ');
367       END IF;
368       EXCEPTION
369           WHEN FND_API.G_EXC_ERROR THEN
370               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
371                    P_API_NAME => L_API_NAME
372                   ,P_PKG_NAME => G_PKG_NAME
373                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
374                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
375                   ,X_MSG_COUNT => X_MSG_COUNT
376                   ,X_MSG_DATA => X_MSG_DATA
377                   ,X_RETURN_STATUS => X_RETURN_STATUS);
378 
379           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
380               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
381                    P_API_NAME => L_API_NAME
382                   ,P_PKG_NAME => G_PKG_NAME
383                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
384                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
385                   ,X_MSG_COUNT => X_MSG_COUNT
386                   ,X_MSG_DATA => X_MSG_DATA
387                   ,X_RETURN_STATUS => X_RETURN_STATUS);
388 
389           WHEN OTHERS THEN
390               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
391                    P_API_NAME => L_API_NAME
392                   ,P_PKG_NAME => G_PKG_NAME
393                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
394                   ,P_SQLCODE => SQLCODE
395                   ,P_SQLERRM => SQLERRM
396                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
397                   ,X_MSG_COUNT => X_MSG_COUNT
398                   ,X_MSG_DATA => X_MSG_DATA
399                   ,X_RETURN_STATUS => X_RETURN_STATUS);
400 End Update_strategy;
401 
402 
403 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
404 --       The Master delete procedure may not be needed depends on different business requirements.
405 PROCEDURE Delete_strategy(
406      P_Api_Version_Number         IN   NUMBER,
407     P_Init_Msg_List              IN   VARCHAR2   := FND_API.G_FALSE,
408     P_Commit                     IN   VARCHAR2   := FND_API.G_FALSE,
409     p_validation_level           IN   NUMBER     := FND_API.G_VALID_LEVEL_FULL,
410     P_STRATEGY_ID                IN   NUMBER,
411     X_Return_Status              OUT NOCOPY  VARCHAR2,
412     X_Msg_Count                  OUT NOCOPY  NUMBER,
413     X_Msg_Data                   OUT NOCOPY  VARCHAR2   )
414 
415  IS
416 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_strategy';
417 l_api_version_number      CONSTANT NUMBER   := 2.0;
418 
419 BEGIN
420       -- Standard Start of API savepoint
421       SAVEPOINT DELETE_STRATEGY_PVT;
422 
423       -- Standard call to check for call compatibility.
424       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
425                                            p_api_version_number,
426                                            l_api_name,
427                                            G_PKG_NAME)
428       THEN
429           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
430       END IF;
431 
432 
433       -- Initialize message list if p_init_msg_list is set to TRUE.
434       IF FND_API.to_Boolean( p_init_msg_list )
435       THEN
436           FND_MSG_PUB.initialize;
437       END IF;
438 
439 
440 
441 
442       -- Initialize API return status to SUCCESS
443       x_return_status := FND_API.G_RET_STS_SUCCESS;
444 
445       --
446       -- Api body
447       --
448       -- Invoke table handler(IEX_STRATEGIES_PKG.Delete_Row)
449       IEX_STRATEGIES_PKG.Delete_Row(p_STRATEGY_ID);
450 
451       --
452       -- End of API body
453       --
454 
455       -- Standard check for p_commit
456       IF FND_API.to_Boolean( p_commit )
457       THEN
458           COMMIT WORK;
459       END IF;
460 
461 
462 
463 
464       -- Standard call to get message count and if count is 1, get message info.
465       FND_MSG_PUB.Count_And_Get
466       (  p_count          =>   x_msg_count,
467          p_data           =>   x_msg_data
468       );
469 
470       EXCEPTION
471           WHEN FND_API.G_EXC_ERROR THEN
472               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
473                    P_API_NAME => L_API_NAME
474                   ,P_PKG_NAME => G_PKG_NAME
475                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
476                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
477                   ,X_MSG_COUNT => X_MSG_COUNT
478                   ,X_MSG_DATA => X_MSG_DATA
479                   ,X_RETURN_STATUS => X_RETURN_STATUS);
480 
481           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
482               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
483                    P_API_NAME => L_API_NAME
484                   ,P_PKG_NAME => G_PKG_NAME
485                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
486                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
487                   ,X_MSG_COUNT => X_MSG_COUNT
488                   ,X_MSG_DATA => X_MSG_DATA
489                   ,X_RETURN_STATUS => X_RETURN_STATUS);
490 
491           WHEN OTHERS THEN
492               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
493                    P_API_NAME => L_API_NAME
494                   ,P_PKG_NAME => G_PKG_NAME
495                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
496                   ,P_SQLCODE => SQLCODE
497                   ,P_SQLERRM => SQLERRM
498                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
499                   ,X_MSG_COUNT => X_MSG_COUNT
500                   ,X_MSG_DATA => X_MSG_DATA
501                   ,X_RETURN_STATUS => X_RETURN_STATUS);
502 End Delete_strategy;
503 End IEX_STRATEGY_PVT;