1 Package ghr_position_api AUTHID CURRENT_USER as
2 /* $Header: ghposapi.pkh 120.2.12020000.4 2012/10/22 10:06:56 utokachi ship $ */
3 /*#
4 * This package contains the procedures for creating, updating a
5 * Federal Position.
6 * @rep:scope public
7 * @rep:product per
8 * @rep:displayname Position
9 */
10 --
11 -- Package Variables
12 --
13 -- ---------------------------------------------------------------------------
14 -- |--------------------------< create_position >-----------------------------|
15 -- ---------------------------------------------------------------------------
16 --
17 -- {Start Of Comments}
18 /*#
19 * This API creates a position which is a copy of given position.
20 *
21 * Based on the position definition segments which are passed a position
22 * definition id is selected for the position, or a new position definition
23 * record is created.
24 *
25 * <p><b>Licensing</b><br>
26 * This API is licensed for use with Federal HR Foundation.
27 *
28 * <p><b>Prerequisites</b><br>
29 * A valid organization and job must be passed to the API. Also
30 * segments for position definition must have a values.
31 *
32 * <p><b>Restricted Usage Notes</b><br>
33 * You can use all of the parameters in the version of this API that is
34 * specifically for HR Foundation users.
35 *
36 * <p><b>Post Success</b><br>
37 * The API creates the position successfully in the database.
38 *
39 * <p><b>Post Failure</b><br>
40 * The position is not created in the database and an error is raised.
41 *
42 * @param p_validate If true, then validation alone will be performed and the
43 * database will remain unchanged. If false and all validation checks pass,
44 * then the database will be modified.
45 * @param p_job_id The job for the position.
46 * @param p_organization_id The organization for which the position belongs.
47 * @param p_date_effective The date on which the position becomes active.
48 * @param p_successor_position_id Identifies the successor position.
49 * @param p_relief_position_id Identifies the relief position.
50 * @param p_location_id The location of the position.
51 * @param p_comments Comment text.
52 * @param p_date_end The date on which the position is no longer active.
53 * This parameter always pass null value.
54 * @param p_frequency Frequency of working hours. Valid values are defined by
55 * 'FREQUENCY' lookup_type.
56 * @param p_probation_period Length of probation period.
57 * @param p_probation_period_units Units that the probation period is measured
58 * in. Valid values are defined by 'QUALIFYING_UNITS' lookup_type.
59 * @param p_replacement_required_flag Identifies if a replacement is required
60 * when person assigned is absent. Valid values are defined by 'YES_NO' lookup
61 * type.
62 * @param p_time_normal_finish Normal end time.
63 * @param p_time_normal_start Normal start time.
64 * @param p_status Position status. Valid values are defined by
65 * 'POSITION_STATUS' lookup type.
66 * @param p_working_hours Number of normal working hours.
67 * @param p_attribute_category This context value determines which flexfield
68 * structure to use with the descriptive flexfield segments.
69 * @param p_attribute1 Descriptive flexfield segment.
70 * @param p_attribute2 Descriptive flexfield segment.
71 * @param p_attribute3 Descriptive flexfield segment.
72 * @param p_attribute4 Descriptive flexfield segment.
73 * @param p_attribute5 Descriptive flexfield segment.
74 * @param p_attribute6 Descriptive flexfield segment.
75 * @param p_attribute7 Descriptive flexfield segment.
76 * @param p_attribute8 Descriptive flexfield segment.
77 * @param p_attribute9 Descriptive flexfield segment.
78 * @param p_attribute10 Descriptive flexfield segment.
79 * @param p_attribute11 Descriptive flexfield segment.
80 * @param p_attribute12 Descriptive flexfield segment.
81 * @param p_attribute13 Descriptive flexfield segment.
82 * @param p_attribute14 Descriptive flexfield segment.
83 * @param p_attribute15 Descriptive flexfield segment.
84 * @param p_attribute16 Descriptive flexfield segment.
85 * @param p_attribute17 Descriptive flexfield segment.
86 * @param p_attribute18 Descriptive flexfield segment.
87 * @param p_attribute19 Descriptive flexfield segment.
88 * @param p_attribute20 Descriptive flexfield segment.
89 * @param p_segment1 Key flexfield segment.
90 * @param p_segment2 Key flexfield segment.
91 * @param p_segment3 Key flexfield segment.
92 * @param p_segment4 Key flexfield segment.
93 * @param p_segment5 Key flexfield segment.
94 * @param p_segment6 Key flexfield segment.
95 * @param p_segment7 Key flexfield segment.
96 * @param p_segment8 Key flexfield segment.
97 * @param p_segment9 Key flexfield segment.
98 * @param p_segment10 Key flexfield segment.
99 * @param p_segment11 Key flexfield segment.
100 * @param p_segment12 Key flexfield segment.
101 * @param p_segment13 Key flexfield segment.
102 * @param p_segment14 Key flexfield segment.
103 * @param p_segment15 Key flexfield segment.
104 * @param p_segment16 Key flexfield segment.
105 * @param p_segment17 Key flexfield segment.
106 * @param p_segment18 Key flexfield segment.
107 * @param p_segment19 Key flexfield segment.
108 * @param p_segment20 Key flexfield segment.
109 * @param p_segment21 Key flexfield segment.
110 * @param p_segment22 Key flexfield segment.
111 * @param p_segment23 Key flexfield segment.
112 * @param p_segment24 Key flexfield segment.
113 * @param p_segment25 Key flexfield segment.
114 * @param p_segment26 Key flexfield segment.
115 * @param p_segment27 Key flexfield segment.
116 * @param p_segment28 Key flexfield segment.
117 * @param p_segment29 Key flexfield segment.
118 * @param p_segment30 Key flexfield segment.
119 * @param p_concat_segments Concatenated string of segment values
120 * @param p_position_id If p_validate is false, then this uniquely identifies
121 * the position created. If p_validate is true, then set to null.
122 * @param p_object_version_number If p_validate is false, then set to the
123 * version number of the created position. If p_validate is true, then the
124 * value will be null.
125 * @param p_position_definition_id If p_validate is false, then this uniquely
126 * identifies the combination of position segments created. If p_validate is
127 * true, then set to null.
128 * @param p_name If p_validate is false, then this identifies concatenation of
129 * all name segments. If p_validate is true, then set to null.
130 * @rep:displayname Create Position
131 * @rep:category BUSINESS_ENTITY PER_POSITION
132 * @rep:lifecycle active
133 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
134 * @rep:scope public
135 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
136 */
137 --
138 -- {End Of Comments}
139 --
140
141 procedure create_position
142 (p_validate in boolean default false
143 ,p_job_id in number
144 ,p_organization_id in number
145 ,p_date_effective in date
146 ,p_successor_position_id in number default null
147 ,p_relief_position_id in number default null
148 ,p_location_id in number default null
152 ,p_probation_period in number default null
149 ,p_comments in varchar2 default null
150 ,p_date_end in date default null
151 ,p_frequency in varchar2 default null
153 ,p_probation_period_units in varchar2 default null
154 ,p_replacement_required_flag in varchar2 default null
155 ,p_time_normal_finish in varchar2 default null
156 ,p_time_normal_start in varchar2 default null
157 ,p_status in varchar2 default null
158 ,p_working_hours in number default null
159 ,p_attribute_category in varchar2 default null
160 ,p_attribute1 in varchar2 default null
161 ,p_attribute2 in varchar2 default null
162 ,p_attribute3 in varchar2 default null
163 ,p_attribute4 in varchar2 default null
164 ,p_attribute5 in varchar2 default null
165 ,p_attribute6 in varchar2 default null
166 ,p_attribute7 in varchar2 default null
167 ,p_attribute8 in varchar2 default null
168 ,p_attribute9 in varchar2 default null
169 ,p_attribute10 in varchar2 default null
170 ,p_attribute11 in varchar2 default null
171 ,p_attribute12 in varchar2 default null
172 ,p_attribute13 in varchar2 default null
173 ,p_attribute14 in varchar2 default null
174 ,p_attribute15 in varchar2 default null
175 ,p_attribute16 in varchar2 default null
176 ,p_attribute17 in varchar2 default null
177 ,p_attribute18 in varchar2 default null
178 ,p_attribute19 in varchar2 default null
179 ,p_attribute20 in varchar2 default null
180 ,p_segment1 in varchar2 default null
181 ,p_segment2 in varchar2 default null
182 ,p_segment3 in varchar2 default null
183 ,p_segment4 in varchar2 default null
184 ,p_segment5 in varchar2 default null
185 ,p_segment6 in varchar2 default null
186 ,p_segment7 in varchar2 default null
187 ,p_segment8 in varchar2 default null
188 ,p_segment9 in varchar2 default null
189 ,p_segment10 in varchar2 default null
190 ,p_segment11 in varchar2 default null
191 ,p_segment12 in varchar2 default null
192 ,p_segment13 in varchar2 default null
193 ,p_segment14 in varchar2 default null
194 ,p_segment15 in varchar2 default null
195 ,p_segment16 in varchar2 default null
196 ,p_segment17 in varchar2 default null
197 ,p_segment18 in varchar2 default null
198 ,p_segment19 in varchar2 default null
199 ,p_segment20 in varchar2 default null
200 ,p_segment21 in varchar2 default null
201 ,p_segment22 in varchar2 default null
202 ,p_segment23 in varchar2 default null
203 ,p_segment24 in varchar2 default null
204 ,p_segment25 in varchar2 default null
205 ,p_segment26 in varchar2 default null
206 ,p_segment27 in varchar2 default null
207 ,p_segment28 in varchar2 default null
208 ,p_segment29 in varchar2 default null
209 ,p_segment30 in varchar2 default null
210 ,p_concat_segments in varchar2 default null
211 ,p_position_id out NOCOPY number
212 ,p_object_version_number out NOCOPY number
213 ,p_position_definition_id out NOCOPY number
214 ,p_name out NOCOPY varchar2
215 );
216 --
217 -- ---------------------------------------------------------------------------
218 -- |--------------------------< update_position >-----------------------------|
219 -- ---------------------------------------------------------------------------
220 --
221 -- {Start Of Comments}
222 /*#
223 * This API updates a position
224 *
225 * The position to be updated is identified by the in parameter p_position_id
226 * and the in out parameter p_object_version_number.
227 *
228 * <p><b>Licensing</b><br>
229 * This API is licensed for use with Federal HR Foundation.
230 *
231 * <p><b>Prerequisites</b><br>
232 * The position that is to be updated must already exist.
233 *
234 * <p><b>Post Success</b><br>
235 * The position is updated successfully in the database.
236 *
237 * <p><b>Post Failure</b><br>
238 * The position is not updated in the database and an error is raised.
239 *
240 * @param p_validate If true, then validation alone will be performed and the
241 * database will remain unchanged. If false and all validation checks pass,
242 * then the database will be modified.
243 * @param p_position_id Identifies the position to be modified.
244 * @param p_object_version_number Pass in the current version number of the
245 * position to be updated. When the API completes if p_validate is false, will
246 * be set to the new version number of the updated position. If p_validate is
247 * true will be set to the same value which was passed in.
248 * @param p_successor_position_id Identifies the successor position.
249 * @param p_relief_position_id Identifies the relief position.
250 * @param p_location_id The location of the position.
251 * @param p_date_effective The date on which the position becomes active.
252 * @param p_comments Comment text.
253 * @param p_date_end The date on which the position is no longer active.
254 * @param p_frequency Frequency of working hours. Valid values are defined by
255 * 'FREQUENCY' lookup_type.
256 * @param p_probation_period Length of probation period.
257 * @param p_probation_period_units Units that the probation period is measured
258 * in. Valid values are defined by 'QUALIFYING_UNITS' lookup_type.
259 * @param p_replacement_required_flag Identifies if a replacement is required
260 * when person assigned is absent. Valid values are defined by 'YES_NO' lookup
261 * type.
262 * @param p_time_normal_finish Normal end time.
263 * @param p_time_normal_start Normal start time.
264 * @param p_status Position status. Valid values are defined by
265 * 'POSITION_STATUS' lookup type.
266 * @param p_working_hours Number of normal working hours.
267 * @param p_attribute_category This context value determines which flexfield
268 * structure to use with the descriptive flexfield segments.
269 * @param p_attribute1 Descriptive flexfield segment.
270 * @param p_attribute2 Descriptive flexfield segment.
271 * @param p_attribute3 Descriptive flexfield segment.
272 * @param p_attribute4 Descriptive flexfield segment.
273 * @param p_attribute5 Descriptive flexfield segment.
274 * @param p_attribute6 Descriptive flexfield segment.
275 * @param p_attribute7 Descriptive flexfield segment.
276 * @param p_attribute8 Descriptive flexfield segment.
277 * @param p_attribute9 Descriptive flexfield segment.
278 * @param p_attribute10 Descriptive flexfield segment.
279 * @param p_attribute11 Descriptive flexfield segment.
280 * @param p_attribute12 Descriptive flexfield segment.
281 * @param p_attribute13 Descriptive flexfield segment.
282 * @param p_attribute14 Descriptive flexfield segment.
283 * @param p_attribute15 Descriptive flexfield segment.
284 * @param p_attribute16 Descriptive flexfield segment.
285 * @param p_attribute17 Descriptive flexfield segment.
286 * @param p_attribute18 Descriptive flexfield segment.
287 * @param p_attribute19 Descriptive flexfield segment.
288 * @param p_attribute20 Descriptive flexfield segment.
289 * @param p_segment1 Key flexfield segment.
290 * @param p_segment2 Key flexfield segment.
291 * @param p_segment3 Key flexfield segment.
292 * @param p_segment4 Key flexfield segment.
293 * @param p_segment5 Key flexfield segment.
294 * @param p_segment6 Key flexfield segment.
295 * @param p_segment7 Key flexfield segment.
296 * @param p_segment8 Key flexfield segment.
297 * @param p_segment9 Key flexfield segment.
298 * @param p_segment10 Key flexfield segment.
299 * @param p_segment11 Key flexfield segment.
300 * @param p_segment12 Key flexfield segment.
301 * @param p_segment13 Key flexfield segment.
302 * @param p_segment14 Key flexfield segment.
303 * @param p_segment15 Key flexfield segment.
304 * @param p_segment16 Key flexfield segment.
305 * @param p_segment17 Key flexfield segment.
306 * @param p_segment18 Key flexfield segment.
307 * @param p_segment19 Key flexfield segment.
308 * @param p_segment20 Key flexfield segment.
309 * @param p_segment21 Key flexfield segment.
310 * @param p_segment22 Key flexfield segment.
311 * @param p_segment23 Key flexfield segment.
312 * @param p_segment24 Key flexfield segment.
313 * @param p_segment25 Key flexfield segment.
314 * @param p_segment26 Key flexfield segment.
315 * @param p_segment27 Key flexfield segment.
316 * @param p_segment28 Key flexfield segment.
317 * @param p_segment29 Key flexfield segment.
318 * @param p_segment30 Key flexfield segment.
319 * @param p_concat_segments Concatenated string of segment values
320 * @param p_position_definition_id If p_validate is false, then this uniquely
321 * identifies the combination of position segments created. If p_validate is
322 * true, then set to null.
323 * @param p_name If p_validate is false, then this identifies concatenation of
324 * all name segments. If p_validate is true, then set to null.
325 * @param p_valid_grades_changed_warning Set to true when either the position
326 * date effective or date end have been modified and at least one valid grade
327 * has been updated or deleted. Set to false when neither the position date
328 * effective or date end have been modified, or either of them has been
329 * modified but no valid grades were altered.
330 * @rep:displayname Update Position
331 * @rep:category BUSINESS_ENTITY PER_POSITION
332 * @rep:lifecycle active
333 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
334 * @rep:scope public
335 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
336 */
337 --
338 -- {End Of Comments}
339 --
340
341 procedure update_position
342 (p_validate in boolean default false
343 ,p_position_id in number
344 ,p_object_version_number in out NOCOPY number
345 ,p_successor_position_id in number default hr_api.g_number
346 ,p_relief_position_id in number default hr_api.g_number
347 ,p_location_id in number default hr_api.g_number
348 ,p_date_effective in date default hr_api.g_date
349 ,p_comments in varchar2 default hr_api.g_varchar2
350 ,p_date_end in date default hr_api.g_date
351 ,p_frequency in varchar2 default hr_api.g_varchar2
352 ,p_probation_period in number default hr_api.g_number
353 ,p_probation_period_units in varchar2 default hr_api.g_varchar2
354 ,p_replacement_required_flag in varchar2 default hr_api.g_varchar2
355 ,p_time_normal_finish in varchar2 default hr_api.g_varchar2
356 ,p_time_normal_start in varchar2 default hr_api.g_varchar2
357 ,p_status in varchar2 default hr_api.g_varchar2
358 ,p_working_hours in number default hr_api.g_number
359 ,p_attribute_category in varchar2 default hr_api.g_varchar2
360 ,p_attribute1 in varchar2 default hr_api.g_varchar2
361 ,p_attribute2 in varchar2 default hr_api.g_varchar2
362 ,p_attribute3 in varchar2 default hr_api.g_varchar2
363 ,p_attribute4 in varchar2 default hr_api.g_varchar2
364 ,p_attribute5 in varchar2 default hr_api.g_varchar2
365 ,p_attribute6 in varchar2 default hr_api.g_varchar2
366 ,p_attribute7 in varchar2 default hr_api.g_varchar2
367 ,p_attribute8 in varchar2 default hr_api.g_varchar2
368 ,p_attribute9 in varchar2 default hr_api.g_varchar2
369 ,p_attribute10 in varchar2 default hr_api.g_varchar2
370 ,p_attribute11 in varchar2 default hr_api.g_varchar2
371 ,p_attribute12 in varchar2 default hr_api.g_varchar2
372 ,p_attribute13 in varchar2 default hr_api.g_varchar2
373 ,p_attribute14 in varchar2 default hr_api.g_varchar2
374 ,p_attribute15 in varchar2 default hr_api.g_varchar2
375 ,p_attribute16 in varchar2 default hr_api.g_varchar2
376 ,p_attribute17 in varchar2 default hr_api.g_varchar2
377 ,p_attribute18 in varchar2 default hr_api.g_varchar2
378 ,p_attribute19 in varchar2 default hr_api.g_varchar2
379 ,p_attribute20 in varchar2 default hr_api.g_varchar2
380 ,p_segment1 in varchar2 default hr_api.g_varchar2
381 ,p_segment2 in varchar2 default hr_api.g_varchar2
382 ,p_segment3 in varchar2 default hr_api.g_varchar2
383 ,p_segment4 in varchar2 default hr_api.g_varchar2
384 ,p_segment5 in varchar2 default hr_api.g_varchar2
385 ,p_segment6 in varchar2 default hr_api.g_varchar2
386 ,p_segment7 in varchar2 default hr_api.g_varchar2
387 ,p_segment8 in varchar2 default hr_api.g_varchar2
388 ,p_segment9 in varchar2 default hr_api.g_varchar2
389 ,p_segment10 in varchar2 default hr_api.g_varchar2
390 ,p_segment11 in varchar2 default hr_api.g_varchar2
391 ,p_segment12 in varchar2 default hr_api.g_varchar2
392 ,p_segment13 in varchar2 default hr_api.g_varchar2
393 ,p_segment14 in varchar2 default hr_api.g_varchar2
394 ,p_segment15 in varchar2 default hr_api.g_varchar2
395 ,p_segment16 in varchar2 default hr_api.g_varchar2
396 ,p_segment17 in varchar2 default hr_api.g_varchar2
397 ,p_segment18 in varchar2 default hr_api.g_varchar2
398 ,p_segment19 in varchar2 default hr_api.g_varchar2
399 ,p_segment20 in varchar2 default hr_api.g_varchar2
400 ,p_segment21 in varchar2 default hr_api.g_varchar2
401 ,p_segment22 in varchar2 default hr_api.g_varchar2
402 ,p_segment23 in varchar2 default hr_api.g_varchar2
403 ,p_segment24 in varchar2 default hr_api.g_varchar2
404 ,p_segment25 in varchar2 default hr_api.g_varchar2
405 ,p_segment26 in varchar2 default hr_api.g_varchar2
406 ,p_segment27 in varchar2 default hr_api.g_varchar2
407 ,p_segment28 in varchar2 default hr_api.g_varchar2
408 ,p_segment29 in varchar2 default hr_api.g_varchar2
409 ,p_segment30 in varchar2 default hr_api.g_varchar2
410 ,p_concat_segments in varchar2 default hr_api.g_varchar2
411 ,p_position_definition_id out NOCOPY number
412 ,p_name out NOCOPY varchar2
413 ,p_valid_grades_changed_warning out NOCOPY boolean
414 );
415
416 end ghr_position_api;