1 Package AME_ITEM_CLASS_API as
2 /* $Header: amitcapi.pkh 120.3 2006/05/05 00:22 avarri noship $ */
3 /*#
4 * This package contains AME Item class APIs.
5 * @rep:scope public
6 * @rep:product AME
7 * @rep:displayname Item Class
8 */
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------< CREATE_AME_ITEM_CLASS >---------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 -- This procedure is used to create an item class.
17 --
18 -- Prerequisites:
19 -- The set_base_key_value procedure for item class must be run
20 -- before this API procedure is called.
21 --
22 -- In Parameters:
23 --
24 -- Name Reqd Type Description
25 -- P_VALIDATE N boolean If passed as true, all operations
26 -- are rolled back.Used for validating
27 -- the operation. Default false
28 -- P_NAME Y varchar2 The item class name.
29 --
30 -- Post Success:
31 -- The API creates the item class and then sets the following
32 -- OUT parameters.
33 --
34 -- Name Type Description
35 -- P_ITEM_CLASS_ID number Unique ID for the Item Class
36 -- P_OBJECT_VERSION_NUMBER number Set to 1 when record is inserted.
37 -- P_START_DATE date Date from which the item class
38 -- is effective.
39 -- P_END_DATE date Date u pto, which item class
40 -- is effective. Set to null,
41 -- upon creation.
42 --
43 -- Post Failure:
44 -- The API procedure does not create the item class.
45 --
46 -- Access Status:
47 -- Internal Development use only.
48 --
49 -- {End Of Comments}
50 --
51 Procedure create_ame_item_class
52 (p_validate in boolean default false
53 ,p_language_code in varchar2 default
54 hr_api.userenv_lang
55 ,p_name in varchar2
56 ,p_user_item_class_name in varchar2
57 ,p_item_class_id out nocopy number
58 ,p_object_version_number out nocopy number
59 ,p_start_date out nocopy date
60 ,p_end_date out nocopy date
61 );
62 --
63 -- ----------------------------------------------------------------------------
64 -- |-----------------------<UPDATE_AME_ITEM_CLASS>----------------------------|
65 -- ----------------------------------------------------------------------------
66 -- {Start Of Comments}
67 --
68 -- Description:
69 -- This API procedure is used to update a given item class
70 --
71 -- Prerequisites:
72 -- A valid item class must exist.
73 --
74 -- In Parameters:
75 --
76 -- Name Reqd Type Description
77 -- P_VALIDATE N boolean If passed as true, all operations
78 -- are rolled back.Used for validating
79 -- the operation. Default false
80 -- P_ITEM_CLASS_ID Y number The item class ID.
81 -- P_USER_ITEM_CLASS_NAME Y varchar2 The user-defined item class name.
82 -- P_OBJECT_VERSION_NUMBER Y number The Object Version Number of the
83 -- item class to be updated.
84 --
85 -- Post Success:
86 -- The API updates the item class and sets the following OUT parameters.
87 --
88 -- Name Type Description
89 -- P_OBJECT_VERSION_NUMBER number Incremented by 1 when the record
90 -- is updated.
91 -- P_START_DATE date Date from which the updated
92 -- item class is effective ,set to
93 -- present date.
94 -- P_END_DATE date Date up to, which item class is
95 -- effective.Set to null,upon update.
96 --
97 -- Post Failure:
98 -- The API procedure does not update the item class
99 --
100 -- Access Status:
101 -- Internal Development use only.
102 --
103 -- {End Of Comments}
104 --
105 procedure update_ame_item_class
106 (p_validate in boolean default false
107 ,p_language_code in varchar2 default
108 hr_api.userenv_lang
109 ,p_item_class_id in number
110 ,p_user_item_class_name in varchar2 default hr_api.g_varchar2
111 ,p_object_version_number in out nocopy number
112 ,p_start_date out nocopy date
113 ,p_end_date out nocopy date
114 );
115 --
116 -- ----------------------------------------------------------------------------
117 -- |--------------------< DELETE_AME_ITEM_CLASS >-----------------------------|
118 -- ----------------------------------------------------------------------------
119 -- {Start Of Comments}
120 --
121 -- Description:
122 -- This API procedure is used to delete a given item class
123 --
124 -- Prerequisites:
125 -- The item_class_id and object_version_number must be entered.
126 --
127 -- In Parameters:
128 --
129 -- Name Reqd Type Description
130 -- P_VALIDATE N boolean If passed as true, all operations
131 -- are rolled back.Used for validating
132 -- the operation. Default false
133 -- P_ITEM_CLASS_ID Y number The unique active item class_id
134 -- P_OBJECT_VERSION_NUMBER Y number The Object Version Number of the
135 -- item class to be deleted/end dated.
136 --
137 -- Post Success:
138 -- The API deletes the given item class
139 --
140 -- Name Type Description
141 -- P_OBJECT_VERSION_NUMBER number Incremented by 1 when the record
142 -- is deleted(end dated).
143 -- P_START_DATE date Date from which the updated
144 -- item class was effective.
145 -- P_END_DATE date Date up to, which item class
146 -- was effective.Set to present date.
147 --
148 -- Post Failure:
149 -- The API procedure does not delete the item class
150 --
151 -- Access Status:
152 -- Internal Development use only.
153 --
154 -- {End Of Comments}
155 --
156 procedure delete_ame_item_class
157 (p_validate in boolean default false
158 ,p_item_class_id in number
159 ,p_object_version_number in out nocopy number
160 ,p_start_date out nocopy date
161 ,p_end_date out nocopy date
162 );
163 --
164 -- ----------------------------------------------------------------------------
165 -- |-----------------------< create_ame_item_class_usage >--------------------|
166 -- ----------------------------------------------------------------------------
167 --
168 -- {Start Of Comments}
169 /*#
170 * This API creates an item class usage for a given transaction type.
171 *
172 * <p><b>Licensing</b><br>
173 * This API is available for use with any licensed component of the
174 * e-business suite.
175 *
176 * <p><b>Prerequisites</b><br>
177 * The transaction type should be valid.
178 *
179 * <p><b>Post Success</b><br>
180 * Item class usage is created for the given transaction type.
181 *
182 * <p><b>Post Failure</b><br>
183 * Item class usage is not created and an error is raised.
184 *
185 * @param p_validate If true, then validation alone will be performed and the
186 * database will remain unchanged. If false and all validation checks pass,
187 * then the database will be modified.
188 * @param p_item_id_query Dynamic sql query string to identify the list of
189 * items under the item class. The query may reference AME's: transactionId
190 * bind variable, and must return the item IDs in ascending order.
191 * @param p_item_class_order_number An item class usage has an order number,
192 * which is always an integer with a value of 1 to 'n'. The item class order
193 * numbers in the related item class usages order the set of all item classes
194 * used by a given transaction type. The order numbers start at one and ascend
195 * to at most the number of item classes the transaction type uses. The order
196 * numbers are not necessarily unique, so the highest order number may be lower
197 * than the number of item class usages in the transaction type. AME uses the
198 * item classes' order numbers at run time to sort items' approver lists by
199 * item class, for a given transaction.
200 * @param p_item_class_par_mode An item class usage has a parallelization mode
201 * that has one of two possible values: serial and parallel. The mode governs
202 * how AME sorts items' approver lists by item ID.
203 * @param p_item_class_sublist_mode An item class usage's sublist mode
204 * determines how AME sorts the sublists in each item's approver list.
205 * The AME_ITC_SUBLIST_MODE lookup type defines valid values.
206 * @param p_application_id This uniquely identifies the transaction type for
207 * which item class usage is to be created.
208 * @param p_item_class_id This uniquely identifies the item class.
209 * @param p_object_version_number If p_validate is false, then it is set to
210 * version number of the created item class usage. If p_validate is true, then
211 * it is set to null.
212 * @param p_start_date If p_validate is false, then it is set to the effective
213 * start date for the created transaction type. If p_validate is true, then it
214 * is set to null.
215 * @param p_end_date It is the date up to, which the item class usage is
216 * effective. If p_validate is false, then it is set to 31-Dec-4712.
217 * If p_validate is true, then it is set to null.
218 * @rep:displayname Create Ame Item Class Usage
219 * @rep:category BUSINESS_ENTITY AME_ITEM_CLASS
220 * @rep:lifecycle active
221 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
222 * @rep:scope public
223 */
224 --
225 -- {End Of Comments}
226 --
227 Procedure create_ame_item_class_usage
228 (p_validate in boolean default false
229 ,p_item_id_query in varchar2
230 ,p_item_class_order_number in number
231 ,p_item_class_par_mode in varchar2
232 ,p_item_class_sublist_mode in varchar2
233 ,p_application_id in out nocopy number
234 ,p_item_class_id in out nocopy number
235 ,p_object_version_number out nocopy number
236 ,p_start_date out nocopy date
237 ,p_end_date out nocopy date
238 );
239 --
240 -- ----------------------------------------------------------------------------
241 -- |-----------------------< update_ame_item_class_usage >--------------------|
242 -- ----------------------------------------------------------------------------
243 --
244 -- {Start Of Comments}
245 /*#
246 * This API updates an item class usage for a given transaction type.
247 *
248 * <p><b>Licensing</b><br>
249 * This API is available for use with any licensed component of the
250 * e-business suite.
251 *
252 * <p><b>Prerequisites</b><br>
253 * A valid Item class usage must exist for a given item class id and
254 * application id.
255 *
256 * <p><b>Post Success</b><br>
257 * Item class usage is updated for the given transaction type.
258 *
259 * <p><b>Post Failure</b><br>
260 * Item class usage is not updated and an error is raised.
261 *
262 * @param p_validate If true, then validation alone will be performed and the
263 * database will remain unchanged. If false and all validation checks pass,
264 * then the database will be modified.
265 * @param p_application_id This uniquely identifies the transaction type for
266 * which item class usage is to be updated.
267 * @param p_item_class_id This uniquely identifies the item class
268 * whose usage has to be updated.
269 * @param p_item_id_query Dynamic sql query string to identify the list of
270 * items under the item class. The query may reference AME's: transactionId
271 * bind variable, and must return the item IDs in ascending order.
272 * @param p_item_class_order_number An item class usage has an order number,
273 * which is always an integer with a value of 1 to 'n'. The item class order
274 * numbers in the related item class usages order the set of all item classes
275 * used by a given transaction type. The order numbers start at one and ascend
276 * to at most the number of item classes the transaction type uses. The order
277 * numbers are not necessarily unique, so the highest order number may be lower
278 * than the number of item class usages in the transaction type. AME uses the
279 * item classes' order numbers at run time to sort items' approver lists by
280 * item class, for a given transaction.
281 * @param p_item_class_par_mode An item class usage has a parallelization mode
282 * that has one of two possible values: serial and parallel. The mode governs
283 * how AME sorts items' approver lists by item ID.
284 * @param p_item_class_sublist_mode An item class usage's sublist mode
285 * determines how AME sorts the sublists in each item's approver list.
286 * The AME_ITC_SUBLIST_MODE lookup type defines valid values.
287 * @param p_object_version_number Pass in the current version number of the
288 * item class usage to be updated. When the API completes if p_validate is
289 * false, will be set to the new version number of the updated item class
290 * usage. If p_validate is true will be set to the same value which was
291 * passed in.
292 * @param p_start_date If p_validate is false, It is set to present date.
293 * If p_validate is true, it is set to null.
294 * @param p_end_date It is the date up to, which the updated item class usage
295 * is effective. If p_validate is false, it is set to 31-Dec-4712.
296 * If p_validate is true, it is set to null.
297 * @rep:displayname Update Ame Item Class Usage
298 * @rep:category BUSINESS_ENTITY AME_ITEM_CLASS
299 * @rep:lifecycle active
300 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
301 * @rep:scope public
302 */
303 --
304 -- {End Of Comments}
305 --
306 procedure update_ame_item_class_usage
307 (p_validate in boolean default false
308 ,p_application_id in number
309 ,p_item_class_id in number
310 ,p_item_id_query in varchar2 default hr_api.g_varchar2
311 ,p_item_class_order_number in number default hr_api.g_number
312 ,p_item_class_par_mode in varchar2 default hr_api.g_varchar2
313 ,p_item_class_sublist_mode in varchar2 default hr_api.g_varchar2
314 ,p_object_version_number in out nocopy number
315 ,p_start_date out nocopy date
316 ,p_end_date out nocopy date
317 );
318 --
319 -- ----------------------------------------------------------------------------
320 -- |-----------------------< delete_ame_item_class_usage >--------------------|
321 -- ----------------------------------------------------------------------------
322 --
323 -- {Start Of Comments}
324 /*#
325 * This API deletes an item class usage for a given transaction type.
326 *
327 * <p><b>Licensing</b><br>
328 * This API is available for use with any licensed component of the
329 * e-business suite.
330 *
331 * <p><b>Prerequisites</b><br>
332 * The item class id and the application id should be valid.
333 *
334 * <p><b>Post Success</b><br>
335 * Item class usage is deleted for the given transaction type.
336 *
337 * <p><b>Post Failure</b><br>
338 * Item class usage is not deleted and an error is raised.
339 *
340 * @param p_validate If true, then validation alone will be performed and the
341 * database will remain unchanged. If false and all validation checks pass,
342 * then the database will be modified.
343 * @param p_application_id This uniquely identifies the transaction type for
344 * which item class usage is to be deleted.
345 * @param p_item_class_id This uniquely identifies the item class
346 * whose usage has to be deleted.
347 * @param p_object_version_number Pass in the current version number of the
348 * item class usage to be deleted. When the API completes if p_validate
349 * is false, will be set to the new version number of the deleted item class
350 * usage. If p_validate is true will be set to the same value which was
351 * passed in.
352 * @param p_start_date If p_validate is false, it is set to the date from
353 * which the deleted transaction type was effective. If p_validate is true,
354 * it is set to null.
355 * @param p_end_date If p_validate is false, it is set to present date.
356 * If p_validate is true, it is set to null.
357 * @rep:displayname Delete Ame Item Class Usage
358 * @rep:category BUSINESS_ENTITY AME_ITEM_CLASS
359 * @rep:lifecycle active
360 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
361 * @rep:scope public
362 */
363 --
364 -- {End Of Comments}
365 --
366 procedure delete_ame_item_class_usage
367 (p_validate in boolean default false
368 ,p_application_id in number
369 ,p_item_class_id in number
370 ,p_object_version_number in out nocopy number
371 ,p_start_date out nocopy date
372 ,p_end_date out nocopy date
373 );
374 --
375 end AME_ITEM_CLASS_API;