1 PACKAGE amv_content_type_pvt AUTHID CURRENT_USER AS
2 /* $Header: amvvctps.pls 120.1 2005/06/22 17:35:14 appldev ship $ */
3 --
4 -- Start of Comments
5 --
6 -- NAME
7 -- AMV_CONTENT_TYPE_PVT
8 --
9 -- PURPOSE
10 -- This package is a private API managing content type
11 -- and their related attributes in AMV. It defines global variables.
12 -- It is part of the Item Block API
13 --
14 -- PROCEDURES:
15 --
16 -- Add_ContentType;
17 -- Delete_ContentType;
18 -- Update_ContentType;
19 -- Get_ContentType;
20 -- Find_ContentTypes;
21 --
22 -- NOTES
23 --
24 --
25 -- HISTORY
26 -- 08/06/1999 PWU created
27 -- End of Comments
28 --
29 --
30 -- The following constants are to be finalized.
31 --
32 G_VERSION CONSTANT NUMBER := 1.0;
33 --
34 --Type definitions
35
36 TYPE amv_return_obj_type IS RECORD(
37 returned_record_count NUMBER,
38 next_record_position NUMBER,
39 total_record_count NUMBER
40 );
41
42 TYPE amv_request_obj_type IS RECORD(
43 records_requested NUMBER,
44 start_record_position NUMBER,
45 return_total_count_flag VARCHAR2(1)
46 );
47
48 TYPE amv_content_type_obj_type IS RECORD(
49 content_type_id NUMBER,
50 object_version_number NUMBER,
51 content_type_name VARCHAR2(80),
52 description VARCHAR2(2000),
53 language VARCHAR2(4),
54 source_lang VARCHAR2(4),
55 creation_date DATE,
56 created_by NUMBER,
57 last_update_date DATE,
58 last_updated_by NUMBER,
59 last_update_login NUMBER
60 );
61
62 TYPE amv_content_type_obj_varray IS TABLE of amv_content_type_obj_type;
63 --INDEX BY BINARY_INTEGER;
64
65 --
66 -- This package contains the following procedure
67 --
68 --------------------------------------------------------------------------------
69 -- Start of comments
70 -- API name : Add_ContentType
71 -- Type : Private
72 -- Pre-reqs : None
73 -- Function : Create a new content type in MES,
74 -- given the content type record.
75 -- Parameters :
76 -- IN p_api_version NUMBER Required
77 -- p_init_msg_list VARCHAR2 Optional
78 -- Default = FND_API.G_FALSE
79 -- p_commit VARCHAR2 Optional
80 -- Default = FND_API.G_FALSE
81 -- p_validation_level NUMBER Optional
82 -- Default = FND_API.G_VALID_LEVEL_FULL
83 -- p_check_login_user VARCHAR2 Optional
84 -- Default = FND_API.G_TRUE
85 -- Flag for checking user privilege and if user is login.
86 -- p_content_type_name VARCHAR2 Required
87 -- content type name are required to be unique.
88 -- p_cnt_type_description VARCHAR2 Optional
89 -- Default = FND_API.G_MISS_CHAR
90 -- OUT : x_return_status VARCHAR2
91 -- x_msg_count NUMBER
92 -- x_msg_data VARCHAR2
93 -- x_content_type_id NUMBER
94 -- content type id will be generated from sequence number.
95 -- Notes :
96 --
97 -- End of comments
98 --
99 PROCEDURE Add_ContentType
100 (
101 p_api_version IN NUMBER,
102 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
103 p_commit IN VARCHAR2 := FND_API.G_FALSE,
104 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
105 x_return_status OUT NOCOPY VARCHAR2,
106 x_msg_count OUT NOCOPY NUMBER,
107 x_msg_data OUT NOCOPY VARCHAR2,
108 p_check_login_user IN VARCHAR2 := FND_API.G_TRUE,
109 p_content_type_name IN VARCHAR2,
110 p_cnt_type_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
111 x_content_type_id OUT NOCOPY NUMBER
112 );
113 --
114 -- Algorithm:
115 -- BEGIN
116 -- Verify API version compatibility
117 -- Check that login user's status is active
118 -- IF user not active THEN
119 -- Return error 'user account currently suspended'
120 -- ENDIF
121 -- Check that user has administrative privileges
122 -- IF user not privileged THEN
123 -- Return error 'Administrative privileges required to perform'
124 -- ENDIF
125 -- check if this content type name has been used in MES
126 -- IF so THEN
127 -- return error 'duplicated content type name';
128 -- ELSE
129 -- Set rollback SAVEPOINT
130 -- call content type handler to insert a new content type record.
131 -- Commit transaction if requested
132 -- ENDIF
133 -- END
134 --
135 --------------------------------------------------------------------------------
136 -- Start of comments
137 -- API name : Delete_ContentType
138 -- Type : Private
139 -- Pre-reqs : None
140 -- Function : Delete the content type specified by its id or name
141 -- Parameters :
142 -- IN p_api_version NUMBER Required
143 -- p_init_msg_list VARCHAR2 Optional
144 -- Default = FND_API.G_FALSE
145 -- p_commit VARCHAR2 Optional
146 -- Default = FND_API.G_FALSE
147 -- p_validation_level NUMBER Optional
148 -- Default = FND_API.G_VALID_LEVEL_FULL
149 -- p_check_login_user VARCHAR2 Optional
150 -- Default = FND_API.G_TRUE
151 -- Flag for checking user privilege and if user is login.
152 -- p_content_type_id NUMBER Optional
153 -- Default = FND_API.G_MISS_NUM
154 -- p_content_type_name VARCHAR2 Optional
155 -- Default = FND_API.G_MISS_CHAR
156 -- Either pass the content type id (preferred) or
157 -- content type name to identify the content type.
158 -- OUT : x_return_status VARCHAR2
159 -- x_msg_count NUMBER
160 -- x_msg_data VARCHAR2
161 -- Notes :
162 --
163 -- End of comments
164 --
165 PROCEDURE Delete_ContentType
166 (
167 p_api_version IN NUMBER,
168 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
169 p_commit IN VARCHAR2 := FND_API.G_FALSE,
170 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
171 x_return_status OUT NOCOPY VARCHAR2,
172 x_msg_count OUT NOCOPY NUMBER,
173 x_msg_data OUT NOCOPY VARCHAR2,
174 p_check_login_user IN VARCHAR2 := FND_API.G_TRUE,
175 p_content_type_id IN NUMBER := FND_API.G_MISS_NUM,
176 p_content_type_name IN VARCHAR2 := FND_API.G_MISS_CHAR
177 );
178 --
179 -- Algorithm:
180 -- BEGIN
181 -- Verify API version compatibility
182 -- Check that login user's status is active
183 -- IF user not active THEN
184 -- Return error 'user account currently suspended'
185 -- ENDIF
186 -- Check that user has administrative privileges
187 -- IF user not privileged THEN
188 -- Return error 'Administrative privileges required to perform'
189 -- ENDIF
190 -- check if this content type id (if passed) is in MES
191 -- IF not THEN
192 -- return error 'invalid content type id';
193 -- END IF
194 -- check if this content type name (if passed) is in MES
195 -- IF not THEN
196 -- return error 'invalid content type name';
197 -- ELSE
198 -- Set rollback SAVEPOINT
199 -- Delete all other table records which refers this content type record.
200 -- Call content type handler to delete the content type record.
201 -- Commit transaction if requested
202 -- ENDIF
203 -- END
204 --
205 --------------------------------------------------------------------------------
206 -- Start of comments
207 -- API name : Update_ContentType
208 -- Type : Private
209 -- Pre-reqs : None
210 -- Function : Change the content type name
211 -- Parameters :
212 -- IN p_api_version NUMBER Required
213 -- p_init_msg_list VARCHAR2 Optional
214 -- Default = FND_API.G_FALSE
215 -- p_commit VARCHAR2 Optional
216 -- Default = FND_API.G_FALSE
217 -- p_validation_level NUMBER Optional
218 -- Default = FND_API.G_VALID_LEVEL_FULL
219 -- p_check_login_user VARCHAR2 Optional
220 -- Default = FND_API.G_TRUE
221 -- Flag for checking user privilege and if user is login.
222 -- p_content_type_id NUMBER Optional
223 -- Default = FND_API.G_MISS_NUM
224 -- p_content_type_name VARCHAR2 Optional
225 -- Default = FND_API.G_MISS_CHAR
226 -- Either pass the content type id (preferred) or
227 -- content type name to identify the content type.
228 -- p_content_type_new_name VARCHAR2 Optional
229 -- Default = FND_API.G_MISS_CHAR
230 -- p_cnt_type_description VARCHAR2 Optional
231 -- Default = FND_API.G_MISS_CHAR
232 -- OUT : x_return_status VARCHAR2
233 -- x_msg_count NUMBER
234 -- x_msg_data VARCHAR2
235 -- Notes :
236 --
237 -- End of comments
238 --
239 PROCEDURE Update_ContentType
240 (
241 p_api_version IN NUMBER,
242 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
243 p_commit IN VARCHAR2 := FND_API.G_FALSE,
244 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
245 x_return_status OUT NOCOPY VARCHAR2,
246 x_msg_count OUT NOCOPY NUMBER,
247 x_msg_data OUT NOCOPY VARCHAR2,
248 p_check_login_user IN VARCHAR2 := FND_API.G_TRUE,
249 p_content_type_id IN NUMBER := FND_API.G_MISS_NUM,
250 p_content_type_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
251 p_content_type_new_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
252 p_cnt_type_description IN VARCHAR2 := FND_API.G_MISS_CHAR
253 );
254 --
255 --
256 -- Algorithm:
257 -- BEGIN
258 -- Verify API version compatibility
259 -- Check that login user's status is active
260 -- IF user not active THEN
261 -- Return error 'user account currently suspended'
262 -- ENDIF
263 -- Check that user has administrative privileges
264 -- IF user not privileged THEN
265 -- Return error 'Administrative privileges required to perform'
266 -- ENDIF
267 -- check if this content type id (if passed) is in MES
268 -- IF not THEN
269 -- return error 'invalid content type id';
270 -- END IF
271 -- check if this content type name (if passed) is in MES
272 -- IF not THEN
273 -- return error 'invalid content type name';
274 -- ELSE
275 -- Set rollback SAVEPOINT
276 -- Call content type handler to update the content type record.
277 -- Commit transaction if requested
278 -- ENDIF
279 -- END
280 --
281 --------------------------------------------------------------------------------
282 -- Start of comments
283 -- API name : Get_ContentType
284 -- Type : Private
285 -- Pre-reqs : None
286 -- Function : Get content type record based on its id (preferred) or name.
287 -- Parameters :
288 -- IN p_api_version NUMBER Required
289 -- p_init_msg_list VARCHAR2 Optional
290 -- Default = FND_API.G_FALSE
291 -- p_validation_level NUMBER Optional
292 -- Default = FND_API.G_VALID_LEVEL_FULL
293 -- p_check_login_user VARCHAR2 Optional
294 -- Default = FND_API.G_TRUE
295 -- Flag for checking user privilege and if user is login.
296 -- p_content_type_id NUMBER Optional
297 -- Default = FND_API.G_MISS_NUM
298 -- p_content_type_name VARCHAR2 Optional
299 -- Default = FND_API.G_MISS_CHAR
300 -- Either pass the content type id (preferred) or
301 -- content type name to identify the content type record.
302 -- OUT : x_return_status VARCHAR2
303 -- x_msg_count NUMBER
304 -- x_msg_data VARCHAR2
305 -- x_content_type_obj AMV_CONTENT_TYPE_OBJ_TYPE
306 -- The requested content type obj.
307 -- Notes : Should we add an option of locking?
308 --
309 -- End of comments
310 --
311 PROCEDURE Get_ContentType
312 (
313 p_api_version IN NUMBER,
314 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
315 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
316 x_return_status OUT NOCOPY VARCHAR2,
317 x_msg_count OUT NOCOPY NUMBER,
318 x_msg_data OUT NOCOPY VARCHAR2,
319 p_check_login_user IN VARCHAR2 := FND_API.G_TRUE,
320 p_content_type_id IN NUMBER := FND_API.G_MISS_NUM,
321 p_content_type_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
322 x_content_type_obj OUT NOCOPY AMV_CONTENT_TYPE_OBJ_TYPE
323 );
324 -- Algorithm:
325 -- BEGIN
326 -- Verify API version compatibility
327 -- Check that login user's status is active
328 -- IF user not active THEN
329 -- Return error 'user account currently suspended'
330 -- ENDIF
331 -- check if this content type id (if passed) is in MES
332 -- IF not THEN
333 -- return error 'invalid content type id';
334 -- END IF
335 -- check if this content type name (if passed) is in MES
336 -- Query and return the content type record.
337 -- ENDIF
338 -- END
339 --
340 --------------------------------------------------------------------------------
341 -- Start of comments
342 -- API name : Find_ContentType
343 -- Type : Private
344 -- Pre-reqs : None
345 -- Function : Find content type records based on its name or description.
346 -- Parameters :
347 -- IN p_api_version NUMBER Required
348 -- p_init_msg_list VARCHAR2 Optional
349 -- Default = FND_API.G_FALSE
350 -- p_validation_level NUMBER Optional
351 -- Default = FND_API.G_VALID_LEVEL_FULL
352 -- p_check_login_user VARCHAR2 Optional
353 -- Default = FND_API.G_TRUE
354 -- Flag for checking user privilege and if user is login.
355 -- p_content_type_name VARCHAR2 Optional
356 -- The search criteria on name
357 -- Default = FND_API.G_MISS_CHAR
358 -- p_cnt_type_description VARCHAR2 Optional
359 -- The search criteria on description
360 -- Default = FND_API.G_MISS_CHAR
361 -- p_subset_request_obj AMV_REQUEST_OBJ_TYPE,
362 -- Required.
363 -- OUT : x_return_status VARCHAR2
364 -- x_msg_count NUMBER
365 -- x_msg_data VARCHAR2
366 -- x_subset_return_obj AMV_RETURN_OBJ_TYPE,
367 -- x_content_type_obj_varray AMV_CONTENT_TYPE_OBJ_VARRAY
368 -- The varray of found content type records.
369 -- Notes :
370 --
371 -- End of comments
372 --
373 PROCEDURE Find_ContentType
374 (
375 p_api_version IN NUMBER,
376 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
377 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
378 x_return_status OUT NOCOPY VARCHAR2,
379 x_msg_count OUT NOCOPY NUMBER,
380 x_msg_data OUT NOCOPY VARCHAR2,
381 p_check_login_user IN VARCHAR2 := FND_API.G_TRUE,
382 p_content_type_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
383 p_cnt_type_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
384 p_subset_request_obj IN AMV_REQUEST_OBJ_TYPE,
385 x_subset_return_obj OUT NOCOPY AMV_RETURN_OBJ_TYPE,
386 x_content_type_obj_varray OUT NOCOPY AMV_CONTENT_TYPE_OBJ_VARRAY
387 );
388 -- Algorithm:
389 -- BEGIN
390 -- Verify API version compatibility
391 -- Check that login user's status is active
392 -- IF user not active THEN
393 -- Return error 'user account currently suspended'
394 -- ENDIF
395 -- Base on the search criteria (content type name or description),
396 -- create sql statement and execute it to get the results.
397 -- END
398 --
399 --------------------------------------------------------------------------------
400 --
401 --
402 END amv_content_type_pvt;