DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_API

Source


1 PACKAGE BODY OKE_API AS
2 /* $Header: OKEPAPIB.pls 115.7 2002/11/19 21:00:27 jxtang ship $ */
3 
4 -- MESSAGE CONSTANTS
5 
6 G_MSG_LEVEL_THRESHOLD    CONSTANT NUMBER := OKE_API.G_MISS_NUM;
7 
8 PROCEDURE init_msg_list (
9   p_init_msg_list   IN VARCHAR2
10 ) IS
11 BEGIN
12   IF (FND_API.to_boolean(p_init_msg_list)) THEN
13     FND_MSG_PUB.initialize;
14   END IF;
15 EXCEPTION
16   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
17     RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
18 END init_msg_list;
19 
20 FUNCTION start_activity
21 ( p_api_name        IN  VARCHAR2
22 , p_pkg_name        IN  VARCHAR2
23 , p_init_msg_list   IN  VARCHAR2
24 , l_api_version     IN  NUMBER
25 , p_api_version     IN  NUMBER
26 , p_api_type        IN  VARCHAR2
27 , x_return_status   OUT NOCOPY VARCHAR2
28 ) RETURN VARCHAR2 IS
29 
30 BEGIN
31   --
32   -- Standard START OF API SAVEPOINT
33   --
34   DBMS_TRANSACTION.SAVEPOINT(p_api_name || p_api_type);
35 
36   IF NOT FND_API.compatible_API_Call
37          ( l_api_version
38          , p_api_version
39          , p_api_name
40          , p_pkg_name) THEN
41 
42     RETURN(OKE_API.G_RET_STS_UNEXP_ERROR);
43 
44   END IF;
45 
46   OKE_API.init_msg_list(p_init_msg_list);
47 
48   x_return_status := OKE_API.G_RET_STS_SUCCESS;
49 
50   RETURN(OKE_API.G_RET_STS_SUCCESS);
51 
52 END start_activity;
53 
54 
55 FUNCTION start_activity
56 ( p_api_name        IN  VARCHAR2
57 , p_init_msg_list   IN  VARCHAR2
58 , p_api_type        IN  VARCHAR2
59 , x_return_status   OUT NOCOPY VARCHAR2
60 ) RETURN VARCHAR2 IS
61 
62 BEGIN
63   --
64   -- Standard START OF API SAVEPOINT
65   --
66   DBMS_TRANSACTION.SAVEPOINT(p_api_name || p_api_type);
67 
68   OKE_API.init_msg_list(p_init_msg_list);
69 
70   x_return_status := OKE_API.G_RET_STS_SUCCESS;
71 
72   RETURN(OKE_API.G_RET_STS_SUCCESS);
73 
74 END start_activity;
75 
76 
77 FUNCTION Handle_Exceptions
78 ( p_api_name        IN  VARCHAR2
79 , p_pkg_name        IN  VARCHAR2
80 , p_exc_name        IN  VARCHAR2
81 , x_msg_count       OUT NOCOPY NUMBER
82 , x_msg_data        OUT NOCOPY VARCHAR2
83 , p_api_type        IN  VARCHAR2
84 ) RETURN VARCHAR2 IS
85 
86 l_return_value    VARCHAR2(200) := OKE_API.G_RET_STS_UNEXP_ERROR;
87 
88 BEGIN
89 
90   DBMS_TRANSACTION.ROLLBACK_SAVEPOINT(p_api_name || p_api_type);
91 
92   IF p_exc_name = 'OKE_API.G_RET_STS_ERROR'  THEN
93 
94     FND_MSG_PUB.Count_And_Get
95     ( p_count  => x_msg_count
96     , p_data   => x_msg_data
97     );
98 
99     l_return_value := OKE_API.G_RET_STS_ERROR;
100 
101   ELSIF p_exc_name = 'OKE_API.G_RET_STS_UNEXP_ERROR'  THEN
102 
103     FND_MSG_PUB.Count_And_Get
104     ( p_count  => x_msg_count
105     , p_data   => x_msg_data
106     );
107 
108   ELSE -- WHEN OTHERS EXCEPTION
109 
110     IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
111 
112       FND_MSG_PUB.Add_Exc_Msg ( p_pkg_name , p_api_name );
113     END IF;
114 
115     FND_MSG_PUB.Count_And_Get
116     ( p_count  => x_msg_count
117     , p_data   => x_msg_data
118     );
119    END IF;
120 
121   RETURN(l_return_value);
122 
123 END Handle_Exceptions;
124 
125 
126 PROCEDURE End_Activity
127 ( x_msg_count       OUT NOCOPY NUMBER
128 , x_msg_data        OUT NOCOPY VARCHAR2
129 ) IS
130 BEGIN
131   -- Standard call to get message count and if count is 1, get message info
132   FND_MSG_PUB.Count_And_Get
133   ( p_count  => x_msg_count
134   , p_data   => x_msg_data
135   );
136 
137 END End_Activity;
138 
139 -- Added translation flag by syho on 11-may-01
140 PROCEDURE set_message
141 ( p_app_name		IN VARCHAR2
142 , p_msg_name		IN VARCHAR2
143 , p_token1		IN VARCHAR2
144 , p_token1_value	IN VARCHAR2
145 , p_token1_translate	IN VARCHAR2
146 , p_token2		IN VARCHAR2
147 , p_token2_value	IN VARCHAR2
148 , p_token2_translate	IN VARCHAR2
149 , p_token3		IN VARCHAR2
150 , p_token3_value	IN VARCHAR2
151 , p_token3_translate	IN VARCHAR2
152 , p_token4		IN VARCHAR2
153 , p_token4_value	IN VARCHAR2
154 , p_token4_translate	IN VARCHAR2
155 , p_token5		IN VARCHAR2
156 , p_token5_value	IN VARCHAR2
157 , p_token5_translate	IN VARCHAR2
158 , p_token6		IN VARCHAR2
159 , p_token6_value	IN VARCHAR2
160 , p_token6_translate	IN VARCHAR2
161 , p_token7		IN VARCHAR2
162 , p_token7_value	IN VARCHAR2
163 , p_token7_translate	IN VARCHAR2
164 , p_token8		IN VARCHAR2
165 , p_token8_value	IN VARCHAR2
166 , p_token8_translate	IN VARCHAR2
167 , p_token9		IN VARCHAR2
168 , p_token9_value	IN VARCHAR2
169 , p_token9_translate	IN VARCHAR2
170 , p_token10		IN VARCHAR2
171 , p_token10_value	IN VARCHAR2
172 , p_token10_translate	IN VARCHAR2
173 ) IS
174 
175 BEGIN
176 
177   FND_MESSAGE.SET_NAME( P_APP_NAME, P_MSG_NAME );
178 
179   IF (p_token1 IS NOT NULL) AND (p_token1_value IS NOT NULL) THEN
180     FND_MESSAGE.SET_TOKEN( TOKEN => p_token1 , VALUE => p_token1_value, TRANSLATE => FND_API.TO_BOOLEAN(p_token1_translate));
181   END IF;
182   IF (p_token2 IS NOT NULL) AND (p_token2_value IS NOT NULL) THEN
183     FND_MESSAGE.SET_TOKEN( TOKEN => p_token2 , VALUE => p_token2_value, TRANSLATE => FND_API.TO_BOOLEAN(p_token2_translate));
184   END IF;
185   IF (p_token3 IS NOT NULL) AND (p_token3_value IS NOT NULL) THEN
186     FND_MESSAGE.SET_TOKEN( TOKEN => p_token3 , VALUE => p_token3_value, TRANSLATE => FND_API.TO_BOOLEAN(p_token3_translate));
187   END IF;
188   IF (p_token4 IS NOT NULL) AND (p_token4_value IS NOT NULL) THEN
189     FND_MESSAGE.SET_TOKEN( TOKEN => p_token4 , VALUE => p_token4_value, TRANSLATE => FND_API.TO_BOOLEAN(p_token4_translate));
190   END IF;
191   IF (p_token5 IS NOT NULL) AND (p_token5_value IS NOT NULL) THEN
192     FND_MESSAGE.SET_TOKEN( TOKEN => p_token5 , VALUE => p_token5_value, TRANSLATE => FND_API.TO_BOOLEAN(p_token5_translate));
193   END IF;
194   IF (p_token6 IS NOT NULL) AND (p_token6_value IS NOT NULL) THEN
195     FND_MESSAGE.SET_TOKEN( TOKEN => p_token6 , VALUE => p_token6_value, TRANSLATE => FND_API.TO_BOOLEAN(p_token6_translate));
196   END IF;
197   IF (p_token7 IS NOT NULL) AND (p_token7_value IS NOT NULL) THEN
198     FND_MESSAGE.SET_TOKEN( TOKEN => p_token7 , VALUE => p_token7_value, TRANSLATE => FND_API.TO_BOOLEAN(p_token7_translate));
199   END IF;
200   IF (p_token8 IS NOT NULL) AND (p_token8_value IS NOT NULL) THEN
201     FND_MESSAGE.SET_TOKEN( TOKEN => p_token8 , VALUE => p_token8_value, TRANSLATE => FND_API.TO_BOOLEAN(p_token8_translate));
202   END IF;
203   IF (p_token9 IS NOT NULL) AND (p_token9_value IS NOT NULL) THEN
204     FND_MESSAGE.SET_TOKEN( TOKEN => p_token9 , VALUE => p_token9_value, TRANSLATE => FND_API.TO_BOOLEAN(p_token9_translate));
205   END IF;
206   IF (p_token10 IS NOT NULL) AND (p_token10_value IS NOT NULL) THEN
207     FND_MESSAGE.SET_TOKEN( TOKEN => p_token10 , VALUE => p_token10_value, TRANSLATE => FND_API.TO_BOOLEAN(p_token10_translate));
208   END IF;
209 
210   FND_MSG_PUB.add;
211 
212 END Set_Message;
213 
214 END OKE_API;