DBA Data[Home] [Help]

PACKAGE BODY: APPS.EGO_OBJ_TYPE_LIFECYCLES_PUB

Source


1 PACKAGE BODY EGO_OBJ_TYPE_LIFECYCLES_PUB AS
2 /* $Header: EGOPOTLB.pls 115.2 2002/12/19 08:34:15 wwahid noship $ */
3 
4 -- ------------------------------------------------------------
5 -- -------------- Global variables and constants --------------
6 -- ------------------------------------------------------------
7 
8    g_pkg_name                VARCHAR2(30) := 'EGO_OBJ_TYPE_LIFECYCLES_PUB';
9    g_current_user_id         NUMBER       := EGO_SCTX.Get_User_Id();
10    g_current_login_id        NUMBER       := FND_GLOBAL.Login_Id;
11 
12    G_DUPLICATE_EXCEPTION             EXCEPTION;
13    -- Character-set independent NEWLINE, TAB and WHITESPACE
14    --
15    NEWLINE                   CONSTANT VARCHAR2(4) := fnd_global.newline;
16    MAX_SEG_SIZE              CONSTANT NUMBER      := 200;
17 
18 
19 
20 ----------------------------------------------------------------------
21 PROCEDURE Create_Obj_Type_Lifecycle(
22           p_api_version                 IN   NUMBER
23         , p_object_id                   IN   NUMBER
24         , p_object_classification_code  IN   VARCHAR2
25         , p_lifecycle_id                IN   NUMBER
26         , p_init_msg_list               IN   VARCHAR2   := fnd_api.g_FALSE
27         , p_commit                      IN   VARCHAR2   := fnd_api.g_FALSE
28         , x_return_status               OUT  NOCOPY VARCHAR2
29         , x_errorcode                   OUT  NOCOPY NUMBER
30         , x_msg_count                   OUT  NOCOPY NUMBER
31         , x_msg_data                    OUT  NOCOPY VARCHAR2
32 ) IS
33 
34     l_api_name          CONSTANT VARCHAR2(30)   := 'Create_Lifecycle';
35     l_api_version CONSTANT NUMBER         := 1.0;
36     l_object_id         fnd_objects.object_id%TYPE;
37 
38     -- General variables
39 
40     l_Sysdate           DATE                    := Sysdate;
41     l_language          VARCHAR2(4)             := userenv('LANG');
42     l_count             NUMBER;
43 
44 --------------------------------------------------
45 
46     BEGIN
47 
48     -- Standard Start of API savepoint
49     SAVEPOINT   Create_Obj_Type_Lifecycle_PUB;
50 
51     IF NOT FND_API.Compatible_API_Call (l_api_version,
52                                       p_api_version,
53                                       l_api_name,
54                                       G_PKG_NAME)
55     THEN
56         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
57      END IF;
58     -- Initialize API message list if necessary.
59     -- Initialize message list if p_init_msg_list is set to TRUE.
60     IF FND_API.to_Boolean(p_init_msg_list) THEN
61         FND_MSG_PUB.initialize;
62     END IF;
63 
64 ------------------------------
65 
66   -- Check if the obj_type_lifecycle already exists
67 
68     SELECT COUNT (*) INTO l_count
69     FROM
70       EGO_OBJ_TYPE_LIFECYCLES
71     WHERE
72       OBJECT_ID = p_object_id
73       AND OBJECT_CLASSIFICATION_CODE = p_object_classification_code
74       AND LIFECYCLE_ID = p_lifecycle_id;
75 
76     IF (l_count > 0)
77     THEN
78       RAISE G_DUPLICATE_EXCEPTION;
79     END IF;
80 
81     INSERT INTO EGO_OBJ_TYPE_LIFECYCLES
82     (
83           OBJECT_ID
84         , OBJECT_CLASSIFICATION_CODE
85         , LIFECYCLE_ID
86         , CREATED_BY
87         , CREATION_DATE
88         , LAST_UPDATED_BY
89         , LAST_UPDATE_DATE
90         , LAST_UPDATE_LOGIN
91     )
92     VALUES
93     (
94           p_object_id
95         , p_object_classification_code
96         , p_lifecycle_id
97         , g_current_user_id
98         , l_Sysdate
99         , g_current_user_id
100         , l_Sysdate
101         , g_current_login_id
102     );
103 
104 ------------------------------
105 
106     -- Standard check of p_commit
107     IF FND_API.To_Boolean(p_commit) THEN
108         COMMIT WORK;
109     END IF;
110 
111     x_return_status := FND_API.G_RET_STS_SUCCESS;
112 
113 ------------------------------
114 
115     -- Standard call to get message count and if count is 1,
116     -- get message info.
117     -- The client will directly display the x_msg_data (which is already
118     -- translated) if the x_msg_count = 1;
119     -- Else i.e if  x_msg_count > 1, client will call the FND_MSG_PUB.Get
120     -- Server-side procedure to access the messages, and consolidate them
121     -- and display (or) to display one message after another.
122 
123     FND_MSG_PUB.Count_And_Get
124         (   p_count        =>      x_msg_count,
125             p_data         =>      x_msg_data
126         );
127 
128 --------------------------------------------------
129 
130     EXCEPTION
131        WHEN FND_API.G_EXC_ERROR THEN
132          ROLLBACK TO Create_Obj_Type_Lifecycle_PUB;
133          x_return_status := FND_API.G_RET_STS_ERROR;
134          FND_MSG_PUB.Count_And_Get
135                 (   p_count        =>      x_msg_count,
136                     p_data         =>      x_msg_data
137                 );
138 
139          x_msg_data := 'Executing - ' || G_PKG_NAME || '.' || l_api_name || ' ' || SQLERRM;
140 
141         WHEN G_DUPLICATE_EXCEPTION THEN
142             ROLLBACK TO Create_Obj_Type_Lifecycle_PUB;
143             x_return_status := FND_API.G_RET_STS_ERROR;
144             FND_MSG_PUB.Count_And_Get
145                 (   p_count        =>      x_msg_count,
146                     p_data         =>      x_msg_data
147                 );
148 
149          x_msg_data := 'EGO_DUP_OBJ_TYPE_LIFECYCLE';
150 
151        WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
152          ROLLBACK TO Create_Obj_Type_Lifecycle_PUB;
153          x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
154          FND_MSG_PUB.Count_And_Get
155             (   p_count        =>      x_msg_count,
156                 p_data         =>      x_msg_data
157             );
158          x_msg_data := 'Executing - '||G_PKG_NAME||'.'||l_api_name||' '||SQLERRM;
159        WHEN OTHERS THEN
160          ROLLBACK TO Create_Obj_Type_Lifecycle_PUB;
161          x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
162          IF  FND_MSG_PUB.Check_Msg_Level
163              (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
164          THEN
165              FND_MSG_PUB.Add_Exc_Msg
166                  (   G_PKG_NAME,
167                      l_api_name
168                  );
169          END IF;
170          FND_MSG_PUB.Count_And_Get
171              (   p_count        =>      x_msg_count,
172                  p_data         =>      x_msg_data
173              );
174          x_msg_data := 'Executing - '||G_PKG_NAME||'.'||l_api_name||' '||SQLERRM;
175 
176 END Create_Obj_Type_Lifecycle;
177 
178 ----------------------------------------------------------------------
179 
180 PROCEDURE Delete_Obj_Type_Lifecycle(
181           p_api_version                 IN   NUMBER
182         , p_object_id                   IN   NUMBER
183         , p_object_classification_code  IN   VARCHAR2
184         , p_lifecycle_id                IN   NUMBER
185         , p_init_msg_list               IN   VARCHAR2   := fnd_api.g_FALSE
186         , p_commit                      IN   VARCHAR2   := fnd_api.g_FALSE
187         , x_return_status               OUT  NOCOPY VARCHAR2
188         , x_errorcode                   OUT  NOCOPY NUMBER
189         , x_msg_count                   OUT  NOCOPY NUMBER
190         , x_msg_data                    OUT  NOCOPY VARCHAR2
191 ) IS
192 
193   l_api_name           CONSTANT VARCHAR2(30)   := 'Delete_Obj_Type_Lifecycle';
194   -- In addition to any Required parameters the major version needs
195   -- to change i.e. for eg. 1.X to 2.X.
196   -- In addition to any Optional parameters the minor version needs
197   -- to change i.e. for eg. X.6 to X.7.
198 
199   l_api_version        CONSTANT NUMBER         := 1.0;
200 
201   -- General variables
202 
203   l_Sysdate            DATE                    := Sysdate;
204   l_language           VARCHAR2(4)             := userenv('LANG');
205 
206 BEGIN
207   -- Standard Start of API savepoint
208   SAVEPOINT   Delete_Obj_Type_Lifecycle_PUB;
209 
210   IF NOT FND_API.Compatible_API_Call (l_api_version,
211                                       p_api_version,
212                                       l_api_name,
213                                       G_PKG_NAME)
214   THEN
215     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
216   END IF;
217   -- Initialize API message list if necessary.
218   -- Initialize message list if p_init_msg_list is set to TRUE.
219   IF FND_API.To_Boolean(p_init_msg_list) THEN
220     FND_MSG_PUB.Initialize;
221   END IF;
222 
223 -----------------------------------
224 
225 
226   DELETE FROM EGO_OBJ_TYPE_LIFECYCLES
227   WHERE
228     OBJECT_ID = p_object_id
229     AND OBJECT_CLASSIFICATION_CODE = p_object_classification_code
230     AND LIFECYCLE_ID = p_lifecycle_id;
231 
232   -- Standard check of p_commit.
233   IF FND_API.To_Boolean(p_commit) THEN
234     COMMIT WORK;
235   END IF;
236 
237   x_return_status := FND_API.G_RET_STS_SUCCESS;
238 
239 -----------------------------------
240   -- Make a standard call to get message count and if count is 1,
241   -- get message info.
242   -- The client will directly display the x_msg_data (which is already
243   -- translated) if the x_msg_count = 1;
244   -- Else, i.e. if x_msg_count > 1, client will call the FND_MSG_PUB.Get
245   -- Server-side procedure to access the messages, and consolidate them
246   -- and display them all at once or display one message after another.
247 
248   FND_MSG_PUB.Count_And_Get
249   (   p_count        =>      x_msg_count,
250       p_data         =>      x_msg_data
251   );
252 
253   EXCEPTION
254     WHEN OTHERS THEN
255       ROLLBACK TO Delete_Obj_Type_Lifecycle_PUB;
256       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
257       IF  FND_MSG_PUB.Check_Msg_Level
258         (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
259       THEN
260         FND_MSG_PUB.Add_Exc_Msg
261         (   G_PKG_NAME,
262             l_api_name
263         );
264       END IF;
265       FND_MSG_PUB.Count_And_Get
266       (   p_count        =>      x_msg_count,
267           p_data         =>      x_msg_data
268       );
269       x_msg_data := 'Executing - '||G_PKG_NAME||'.'||l_api_name||' '||SQLERRM;
270 END Delete_Obj_Type_Lifecycle;
271 
272 ----------------------------------------------------------------------
273 
274 END EGO_OBJ_TYPE_LIFECYCLES_PUB;