[Home] [Help]
PACKAGE BODY: APPS.ASO_SUP_TEMPLATE_DATA_PVT
Source
1 PACKAGE BODY ASO_SUP_TEMPLATE_DATA_PVT as
2 /* $Header: asovstmb.pls 120.1 2005/06/29 12:45:12 appldev ship $ */
3 -- Start of Comments
4 -- Package name : ASO_SUP_TEMPLATE_DATA_PVT
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10
11 G_PKG_NAME CONSTANT VARCHAR2(100):= 'ASO_SUP_TEMPLATE_DATA_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asovstmb.pls';
13
14 FUNCTION Validate_Template(
15 p_template_context IN VARCHAR2,
16 p_template_level IN VARCHAR2)
17 RETURN VARCHAR2
18 IS
19
20
21 x_return_status VARCHAR2(1);
22 l_context_count VARCHAR2(1);
23 l_level_count VARCHAR2(1);
24 l_lookup_code VARCHAR2(240);
25
26
27 CURSOR c_template_context (p_templ_context VARCHAR2) IS
28
29 SELECT LOOKUP_CODE
30 from ASO_LOOKUPS
31 where LOOKUP_TYPE = 'ASO_SUP_TEMPLATE_CONTEXT'
32 AND lookup_code = p_templ_context
33 and enabled_flag = 'Y'
34 and sysdate between nvl(start_date_active, sysdate)
35 and nvl(end_date_active,sysdate);
36
37 /*
38 SELECT lookup_code
39 FROM fnd_lookup_values
40 WHERE lookup_type = 'ASO_SUP_TEMPLATE_CONTEXT'
41 AND lookup_code = p_templ_context
42 AND view_application_id = 697
43 AND LANGUAGE = userenv('LANG')
44 and ENABLED_FLAG = 'Y';
45 */
46
47 CURSOR c_template_level (p_lookup_type VARCHAR2,p_templ_level VARCHAR2) IS
48 SELECT 'X'
49 FROM fnd_lookup_values
50 WHERE lookup_type = p_lookup_type
51 AND lookup_code = p_templ_level
52 AND view_application_id = 697
53 AND LANGUAGE = userenv('LANG')
54 and ENABLED_FLAG = 'Y';
55
56 BEGIN
57 -- Initialize API return status to success
58 x_return_status := FND_API.G_RET_STS_SUCCESS;
59
60 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
61 aso_debug_pub.add('Validate_Template: p_template_context :'||p_template_context, 1, 'N');
62 aso_debug_pub.add('Validate_Template: p_template_level :'||p_template_level, 1, 'N');
63 END IF;
64
65 -- Validate the template context
66 OPEN c_template_context(p_template_context);
67
68 FETCH c_template_context INTO l_lookup_code;
69 IF c_template_context%NOTFOUND THEN
70
71 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_ERROR ) THEN
72 FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
73 FND_MESSAGE.Set_Token ('COLUMN' , 'TEMPLATE CONTEXT', FALSE );
74 FND_MESSAGE.Set_Token ('VALUE' ,p_template_context, FALSE );
75 FND_MSG_PUB.ADD;
76 END IF;
77 x_return_status := FND_API.G_RET_STS_ERROR;
78 RETURN x_return_status;
79 END IF;
80
81 CLOSE c_template_context;
82
83 -- Validate the template level
84 OPEN c_template_level(l_lookup_code,p_template_level);
85
86 FETCH c_template_level INTO l_level_count;
87
88 IF c_template_level%NOTFOUND THEN
89
90 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_ERROR ) THEN
91 FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
92 FND_MESSAGE.Set_Token ('COLUMN' , 'TEMPLATE LEVEL', FALSE );
93 FND_MESSAGE.Set_Token ('VALUE' ,p_template_level, FALSE );
94 FND_MSG_PUB.ADD;
95 END IF;
96 x_return_status := FND_API.G_RET_STS_ERROR;
97 RETURN x_return_status;
98
99 END IF;
100
101 CLOSE c_template_level;
102
103 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
104 aso_debug_pub.add('Validate_Template: x_return_status: '||x_return_status, 1, 'N');
105 END IF;
106
107 RETURN x_return_status;
108
109 END Validate_Template;
110
111 PROCEDURE CREATE_TEMPLATE
112 (
113 P_Api_Version_Number IN NUMBER,
114 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
115 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
116 P_TEMPLATE_REC IN ASO_SUP_TEMPLATE_DATA_PVT.TEMPLATE_REC_TYPE,
117 X_Template_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
118 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
119 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
120 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2 )
121
122 IS
123
124 l_api_name VARCHAR2 ( 150 ) := 'CREATE_TEMPLATE';
125 l_api_version_number CONSTANT NUMBER := 1.0;
126 row_id varchar2(64);
127 l_TEMPLATE_id NUMBER;
128 l_return_status VARCHAR2(1);
129
130 BEGIN
131
132
133 -- Establish a standard save point
134 SAVEPOINT CREATE_TEMPLATE_PVT;
135
136 -- Standard call to check for call compatability
137 IF NOT FND_API.Compatible_API_Call (
138 l_api_version_number
139 , p_api_version_number
140 , l_api_name
141 , G_PKG_NAME
142 ) THEN
143 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
144 END IF;
145
146 -- Initialize message list if p_init_msg_list is set to TRUE.
147 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
148 FND_MSG_PUB.initialize;
149 END IF;
150
151
152 -- Initialize API return status to success
153 x_return_status := FND_API.G_RET_STS_SUCCESS;
154
155 -- API BODY
156 IF aso_debug_pub.g_debug_flag = 'Y' THEN
157 aso_debug_pub.ADD ('CREATE_TEMPLATE : Begin' , 1, 'N' );
158 aso_debug_pub.add('CREATE_TEMPLATE : p_template_context :'||P_TEMPLATE_REC.TEMPLATE_CONTEXT, 1, 'N');
159 aso_debug_pub.add('CREATE_TEMPLATE : p_template_level :'||P_TEMPLATE_REC.TEMPLATE_LEVEL, 1, 'N');
160 END IF;
161
162 l_return_status :=
163 Validate_Template(
164 p_template_context =>P_TEMPLATE_REC.TEMPLATE_CONTEXT,
165 p_template_level => P_TEMPLATE_REC.TEMPLATE_LEVEL);
166
167 IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
168 x_return_status := l_return_status;
169 RAISE FND_API.G_EXC_ERROR;
170 END IF;
171
172 ASO_SUP_TEMPLATE_PKG.INSERT_ROW (
173 PX_ROWID => row_id,
174 PX_TEMPLATE_ID => L_TEMPLATE_ID,
175 P_CREATION_DATE => P_TEMPLATE_REC.CREATION_DATE ,
176 P_CREATED_BY => P_TEMPLATE_REC.CREATED_BY ,
177 P_LAST_UPDATE_DATE => P_TEMPLATE_REC.LAST_UPDATE_DATE ,
178 P_LAST_UPDATED_BY => P_TEMPLATE_REC.LAST_UPDATED_BY ,
179 P_LAST_UPDATE_LOGIN => P_TEMPLATE_REC.LAST_UPDATE_LOGIN ,
180 P_TEMPLATE_NAME => P_TEMPLATE_REC.TEMPLATE_NAME,
181 P_DESCRIPTION => P_TEMPLATE_REC.DESCRIPTION,
182 P_TEMPLATE_LEVEL => P_TEMPLATE_REC.TEMPLATE_LEVEL,
183 P_TEMPLATE_CONTEXT => P_TEMPLATE_REC.TEMPLATE_CONTEXT,
184 p_context => P_TEMPLATE_REC.context,
185 P_ATTRIBUTE1 => P_TEMPLATE_REC.ATTRIBUTE1,
186 P_ATTRIBUTE2 => P_TEMPLATE_REC.ATTRIBUTE2,
187 P_ATTRIBUTE3 => P_TEMPLATE_REC.ATTRIBUTE3,
188 P_ATTRIBUTE4 => P_TEMPLATE_REC.ATTRIBUTE4,
189 P_ATTRIBUTE5 => P_TEMPLATE_REC.ATTRIBUTE5,
190 P_ATTRIBUTE6 => P_TEMPLATE_REC.ATTRIBUTE6,
191 P_ATTRIBUTE7 => P_TEMPLATE_REC.ATTRIBUTE7,
192 P_ATTRIBUTE8 => P_TEMPLATE_REC.ATTRIBUTE8,
193 P_ATTRIBUTE9 => P_TEMPLATE_REC.ATTRIBUTE9,
194 P_ATTRIBUTE10 => P_TEMPLATE_REC.ATTRIBUTE10,
195 P_ATTRIBUTE11 => P_TEMPLATE_REC.ATTRIBUTE11,
196 P_ATTRIBUTE12 => P_TEMPLATE_REC.ATTRIBUTE12,
197 P_ATTRIBUTE13 => P_TEMPLATE_REC.ATTRIBUTE13,
198 P_ATTRIBUTE14 => P_TEMPLATE_REC.ATTRIBUTE14,
199 P_ATTRIBUTE15 => P_TEMPLATE_REC.ATTRIBUTE15,
200 P_ATTRIBUTE16 => P_TEMPLATE_REC.ATTRIBUTE16,
201 P_ATTRIBUTE17 => P_TEMPLATE_REC.ATTRIBUTE17,
202 P_ATTRIBUTE18 => P_TEMPLATE_REC.ATTRIBUTE18,
203 P_ATTRIBUTE19 => P_TEMPLATE_REC.ATTRIBUTE19,
204 P_ATTRIBUTE20 => P_TEMPLATE_REC.ATTRIBUTE20
205 );
206
207 X_Template_id := l_template_id;
208
209
210 -- Standard check for p_commit
211 IF FND_API.to_Boolean ( p_commit ) THEN
212 COMMIT WORK;
213 END IF;
214
215
216 IF aso_debug_pub.g_debug_flag = 'Y' THEN
217 aso_debug_pub.ADD ( 'CREATE_TEMPLATE: end' , 1 , 'N' );
218 END IF;
219
220 EXCEPTION
221
222 WHEN FND_API.G_EXC_ERROR THEN
223 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS (
224 P_API_NAME => L_API_NAME
225 , P_PKG_NAME => G_PKG_NAME
226 , P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
227 , P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
228 , X_MSG_COUNT => X_MSG_COUNT
229 , X_MSG_DATA => X_MSG_DATA
230 , X_RETURN_STATUS => X_RETURN_STATUS
231 );
232
233 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
234 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS (
235 P_API_NAME => L_API_NAME
236 , P_PKG_NAME => G_PKG_NAME
237 , P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
238 , P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
239 , X_MSG_COUNT => X_MSG_COUNT
240 , X_MSG_DATA => X_MSG_DATA
241 , X_RETURN_STATUS => X_RETURN_STATUS
242 );
243 WHEN OTHERS THEN
244 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS (
245 P_API_NAME => L_API_NAME
246 , P_PKG_NAME => G_PKG_NAME
247 , P_SQLCODE => SQLCODE
248 , P_SQLERRM => SQLERRM
249 , P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
250 , P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
251 , X_MSG_COUNT => X_MSG_COUNT
252 , X_MSG_DATA => X_MSG_DATA
253 , X_RETURN_STATUS => X_RETURN_STATUS
254 );
255
256
257 END CREATE_TEMPLATE;
258
259
260 PROCEDURE Update_Template
261 (
262 P_Api_Version_Number IN NUMBER,
263 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
264 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
265 P_TEMPLATE_REC IN ASO_SUP_TEMPLATE_DATA_PVT.TEMPLATE_REC_TYPE,
266 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
267 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
268 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2 )
269
270 IS
271
272 l_api_name VARCHAR2 ( 150 ) := 'UPDATE_TEMPLATE';
273 l_api_version_number CONSTANT NUMBER := 1.0;
274 row_id varchar2(64);
275 l_TEMPLATE_id NUMBER;
276 l_return_status VARCHAR2(1);
277
278 BEGIN
279 -- Establish a standard save point
280 SAVEPOINT UPDATE_TEMPLATE_PVT;
281
282 -- Standard call to check for call compatability
283 IF NOT FND_API.Compatible_API_Call (
284 l_api_version_number
285 , p_api_version_number
286 , l_api_name
287 , G_PKG_NAME
288 ) THEN
289 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
290 END IF;
291
292 -- Initialize message list if p_init_msg_list is set to TRUE.
293 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
294 FND_MSG_PUB.initialize;
295 END IF;
296
297
298 -- Initialize API return status to success
299 x_return_status := FND_API.G_RET_STS_SUCCESS;
300
301 -- API BODY
302 IF aso_debug_pub.g_debug_flag = 'Y' THEN
303 aso_debug_pub.ADD ('UPDATE_TEMPLATE : Begin' , 1, 'N' );
304 aso_debug_pub.add('UPDATE_TEMPLATE : p_template_context :'||P_TEMPLATE_REC.TEMPLATE_CONTEXT, 1, 'N');
305 aso_debug_pub.add('UPDATE_TEMPLATE : p_template_level :'||P_TEMPLATE_REC.TEMPLATE_LEVEL, 1, 'N');
306 END IF;
307
308 l_return_status :=
309 Validate_Template(
310 p_template_context =>P_TEMPLATE_REC.TEMPLATE_CONTEXT,
311 p_template_level => P_TEMPLATE_REC.TEMPLATE_LEVEL);
312
313 IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
314 x_return_status := l_return_status;
315 RAISE FND_API.G_EXC_ERROR;
316 END IF;
317
318
319 ASO_SUP_TEMPLATE_PKG.UPDATE_ROW (
320 P_TEMPLATE_ID => P_TEMPLATE_REC.TEMPLATE_ID,
321 P_LAST_UPDATE_DATE => P_TEMPLATE_REC.LAST_UPDATE_DATE ,
322 P_LAST_UPDATED_BY => P_TEMPLATE_REC.LAST_UPDATED_BY ,
323 P_LAST_UPDATE_LOGIN => P_TEMPLATE_REC.LAST_UPDATE_LOGIN ,
324 P_TEMPLATE_NAME => P_TEMPLATE_REC.TEMPLATE_NAME,
325 P_DESCRIPTION => P_TEMPLATE_REC.DESCRIPTION,
326 P_TEMPLATE_LEVEL => P_TEMPLATE_REC.TEMPLATE_LEVEL,
327 P_TEMPLATE_CONTEXT => P_TEMPLATE_REC.TEMPLATE_CONTEXT,
328 p_context => P_TEMPLATE_REC.context,
329 P_ATTRIBUTE1 => P_TEMPLATE_REC.ATTRIBUTE1,
330 P_ATTRIBUTE2 => P_TEMPLATE_REC.ATTRIBUTE2,
331 P_ATTRIBUTE3 => P_TEMPLATE_REC.ATTRIBUTE3,
332 P_ATTRIBUTE4 => P_TEMPLATE_REC.ATTRIBUTE4,
333 P_ATTRIBUTE5 => P_TEMPLATE_REC.ATTRIBUTE5,
334 P_ATTRIBUTE6 => P_TEMPLATE_REC.ATTRIBUTE6,
335 P_ATTRIBUTE7 => P_TEMPLATE_REC.ATTRIBUTE7,
336 P_ATTRIBUTE8 => P_TEMPLATE_REC.ATTRIBUTE8,
337 P_ATTRIBUTE9 => P_TEMPLATE_REC.ATTRIBUTE9,
338 P_ATTRIBUTE10 => P_TEMPLATE_REC.ATTRIBUTE10,
339 P_ATTRIBUTE11 => P_TEMPLATE_REC.ATTRIBUTE11,
340 P_ATTRIBUTE12 => P_TEMPLATE_REC.ATTRIBUTE12,
341 P_ATTRIBUTE13 => P_TEMPLATE_REC.ATTRIBUTE13,
342 P_ATTRIBUTE14 => P_TEMPLATE_REC.ATTRIBUTE14,
343 P_ATTRIBUTE15 => P_TEMPLATE_REC.ATTRIBUTE15,
344 P_ATTRIBUTE16 => P_TEMPLATE_REC.ATTRIBUTE16,
345 P_ATTRIBUTE17 => P_TEMPLATE_REC.ATTRIBUTE17,
346 P_ATTRIBUTE18 => P_TEMPLATE_REC.ATTRIBUTE18,
347 P_ATTRIBUTE19 => P_TEMPLATE_REC.ATTRIBUTE19,
348 P_ATTRIBUTE20 => P_TEMPLATE_REC.ATTRIBUTE20
349 );
350
351
352 -- Standard check for p_commit
353 IF FND_API.to_Boolean ( p_commit ) THEN
354 COMMIT WORK;
355 END IF;
356
357
358 IF aso_debug_pub.g_debug_flag = 'Y' THEN
359 aso_debug_pub.ADD ( 'UPDATE_TEMPLATE: end' , 1 , 'N' );
360 END IF;
361
362 EXCEPTION
363
364 WHEN FND_API.G_EXC_ERROR THEN
365 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS (
366 P_API_NAME => L_API_NAME
367 , P_PKG_NAME => G_PKG_NAME
368 , P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
369 , P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
370 , X_MSG_COUNT => X_MSG_COUNT
371 , X_MSG_DATA => X_MSG_DATA
372 , X_RETURN_STATUS => X_RETURN_STATUS
373 );
374
375 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
376 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS (
377 P_API_NAME => L_API_NAME
378 , P_PKG_NAME => G_PKG_NAME
379 , P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
380 , P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
381 , X_MSG_COUNT => X_MSG_COUNT
382 , X_MSG_DATA => X_MSG_DATA
383 , X_RETURN_STATUS => X_RETURN_STATUS
384 );
385 WHEN OTHERS THEN
386 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS (
387 P_API_NAME => L_API_NAME
388 , P_PKG_NAME => G_PKG_NAME
389 , P_SQLCODE => SQLCODE
390 , P_SQLERRM => SQLERRM
391 , P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
392 , P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
393 , X_MSG_COUNT => X_MSG_COUNT
394 , X_MSG_DATA => X_MSG_DATA
395 , X_RETURN_STATUS => X_RETURN_STATUS
396 );
397 END Update_Template;
398 End ASO_SUP_TEMPLATE_DATA_PVT;