DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSM_TASK_PURGE_PKG

Source


1 PACKAGE BODY CSM_TASK_PURGE_PKG as
2 /* $Header: csmtkprb.pls 120.1 2005/08/26 01:46:51 skotikal noship $ */
3 G_PKG_NAME     CONSTANT VARCHAR2(30):= 'CSM_TASK_PURGE_PKG';
4 
5 PROCEDURE VALIDATE_MFS_TASKS(
6       P_API_VERSION                IN        NUMBER,
7       P_INIT_MSG_LIST              IN   VARCHAR2     := FND_API.G_FALSE,
8       P_COMMIT                     IN   VARCHAR2     := FND_API.G_FALSE,
9       P_PROCESSING_SET_ID          IN        NUMBER,
10       P_OBJECT_TYPE                IN  VARCHAR2,
11       X_RETURN_STATUS              IN   OUT NOCOPY  VARCHAR2,
12       X_MSG_COUNT                  IN OUT NOCOPY   NUMBER,
13       X_MSG_DATA                  IN OUT NOCOPY VARCHAR2)
14   IS
15 l_api_name                CONSTANT VARCHAR2(30) := 'VALIDATE_MFS_TASKS';
16 l_api_version_number      CONSTANT NUMBER   := 1.0;
17 BEGIN
18 
19   CSM_UTIL_PKG.LOG('Entering CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS ',
20       'CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS',FND_LOG.LEVEL_PROCEDURE);
21 
22   SAVEPOINT VALIDATE_MFS_TASKS;
23   -- Standard call to check for call compatibility.
24   IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
25                                        p_api_version,
26                                        l_api_name,
27                                        G_PKG_NAME) THEN
28     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
29   END IF;
30 
31   -- Initialize message list
32   FND_MSG_PUB.initialize;
33   -- Initialize API return status to SUCCESS
34   x_return_status := FND_API.G_RET_STS_SUCCESS;
35 
36    /*VALIDATION logic
37    -----------------
38     1) Check if the TASK ids associated to the processing set id
39        (i/p parameter) has incident links to Mobile objects. If so then
40        Mark the TASK as Not Purgeable else Make it Purgeable. */
41 
42   IF (nvl(P_OBJECT_TYPE,  'TASK') = 'TASK') THEN
43  	UPDATE JTF_OBJECT_PURGE_PARAM_TMP
44 	SET	   purge_status = 'E',
45      	   purge_error_message = 'CSM:CSM_TASK_PURGE_FAILED'
46 	WHERE  processing_set_id = P_PROCESSING_SET_ID AND
47            object_id IN
48         		   (
49              	   SELECT	 DISTINCT acc.TASK_ID
50 				   FROM		 CSM_TASKS_ACC acc,
51 				   			 JTF_OBJECT_PURGE_PARAM_TMP tmp
52 			       WHERE	 tmp.object_id = acc.TASK_ID AND
53                              nvl(tmp.purge_status, 'S') <> 'E' AND
54                              tmp.processing_set_id = P_PROCESSING_SET_ID
55         	      ) AND
56             nvl(purge_status, 'S') <> 'E';
57 
58   END IF ;
59 
60   CSM_UTIL_PKG.LOG('Leaving CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS ',
61           'CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS',FND_LOG.LEVEL_PROCEDURE);
62 
63  EXCEPTION
64     WHEN fnd_api.g_exc_error THEN
65       ROLLBACK TO VALIDATE_MFS_TASKS;
66       x_return_status := fnd_api.g_ret_sts_error;
67       fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
68 	  CSM_UTIL_PKG.LOG('Error in CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS',
69           'CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS',FND_LOG.LEVEL_EXCEPTION);
70     WHEN fnd_api.g_exc_unexpected_error THEN
71       ROLLBACK TO VALIDATE_MFS_TASKS;
72       x_return_status := fnd_api.g_ret_sts_unexp_error;
73       fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
74 	  CSM_UTIL_PKG.LOG('Error in CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS',
75           'CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS',FND_LOG.LEVEL_EXCEPTION);
76     WHEN OTHERS THEN
77       x_return_status := fnd_api.g_ret_sts_unexp_error;
78       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
79         fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
80       END IF;
81       ROLLBACK TO VALIDATE_MFS_TASKS;
82       CSM_UTIL_PKG.LOG('Error in CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS',
83           'CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS',FND_LOG.LEVEL_EXCEPTION);
84 END VALIDATE_MFS_TASKS;
85 
86 
87 -- Procedure to delete MFS Tasks. No-op right now
88 
89   PROCEDURE DELETE_MFS_TASKS(
90       P_API_VERSION                IN	   NUMBER  ,
91       P_INIT_MSG_LIST              IN      VARCHAR2     := FND_API.G_FALSE,
92       P_COMMIT                     IN      VARCHAR2     := FND_API.G_FALSE,
93       P_PROCESSING_SET_ID          IN      NUMBER  ,
94       P_OBJECT_TYPE                IN  	   VARCHAR2 ,
95       X_RETURN_STATUS              IN      OUT NOCOPY  VARCHAR2,
96       X_MSG_COUNT                  IN 	   OUT NOCOPY   NUMBER,
97       X_MSG_DATA                   IN	   OUT NOCOPY VARCHAR2)
98    IS
99 l_api_name                CONSTANT VARCHAR2(30) := 'DELETE_MFS_TASKS';
100 l_api_version_number      CONSTANT NUMBER   := 1.0;
101 l_sqlerrno                NUMBER;
102 l_sqlerrmsg               VARCHAR2(256);
103 BEGIN
104    CSM_UTIL_PKG.LOG('Entering CSM_TASK_PURGE_PKG.DELETE_MFS_TASKS',
105      'CSM_TASK_PURGE_PKG.DELETE_MFS_TASKS',FND_LOG.LEVEL_PROCEDURE);
106 
107    -- Standard call to check for call compatibility.
108    IF NOT FND_API.Compatible_API_Call ( l_api_version_number,p_api_version,
109                                            l_api_name,G_PKG_NAME) THEN
110      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
111    END IF;
112 
113    -- Initialize API return status to SUCCESS
114    x_return_status := FND_API.G_RET_STS_SUCCESS;
115 
116    CSM_UTIL_PKG.LOG('Leaving CSM_TASK_PURGE_PKG.DELETE_MFS_TASKS',
117  	'CSM_TASK_PURGE_PKG.DELETE_MFS_TASKS',FND_LOG.LEVEL_PROCEDURE);
118  EXCEPTION
119   WHEN others THEN
120      l_sqlerrno := to_char(SQLCODE);
121      l_sqlerrmsg := substr(SQLERRM, 1,256);
122      csm_util_pkg.log('CSM_TASK_PURGE_PKG.DELETE_MFS_TASKS ERROR : ' ||
123                   l_sqlerrno || ':' || l_sqlerrmsg, FND_LOG.LEVEL_EXCEPTION);
124 END DELETE_MFS_TASKS;
125 
126 END CSM_TASK_PURGE_PKG;