DBA Data[Home] [Help]

PACKAGE: APPS.AMV_CONTENT_TYPE_PVT

Source


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;