1 package hr_input_values AUTHID CURRENT_USER as
2 /* $Header: pyinpval.pkh 115.0 99/07/17 06:09:25 porting ship $ */
3 --
4 /*
5 /*
6 ******************************************************************
7 * *
8 * Copyright (C) 1989 Oracle Corporation UK Ltd., *
9 * Richmond, England. *
10 * *
11 * All rights reserved. *
12 * *
13 * This material has been provided pursuant to an agreement *
14 * containing restrictions on its use. The material is also *
15 * protected by copyright law. No part of this material may *
16 * be copied or distributed, transmitted or transcribed, in *
17 * any form or by any means, electronic, mechanical, magnetic, *
18 * manual, or otherwise, or disclosed to third parties without *
19 * the express written permission of Oracle Corporation UK Ltd, *
20 * Oracle Park, Bittams Lane, Guildford Road, Chertsey, Surrey, *
21 * England. *
22 * *
23 ******************************************************************
24 --
25 Name : hr_input_values
26 --
27 Description : This package holds procedures and functions related to the
28 following tables :
29 --
30 PAY_INPUT_VALUES_F
31 --
32 Uses : hr_input_values
33 : hr_balances
34 Used By : db_elements
35 : hr_elements
36 --
37 Test List
38 ---------
39 Procedure Name Date Test Id Status
40 +----------------------------+----------+-----------+-------+--------------+
41 chk_input_values M Dyer 27-Nov-1992 1 Completed
42 chk_input_values M Dyer 09-Dec-1992 2 Completed
43 +--------------------------------------------------------------------------+
44 chk_max_and_min M Dyer 27-Nov-1992 1 Completed
45 +--------------------------------------------------------------------------+
46 chk_hot_defaults M Dyer 08-Dec-1992 1 Not complete
47 +--------------------------------------------------------------------------+
48 chk_entry_default (function) M Dyer 08-Dec-1992 1 Not complete
49 +--------------------------------------------------------------------------+
50 ins_3p_input_values M Dyer 08-Dec-1992 1 Complete
51 +--------------------------------------------------------------------------+
52 chk_del_input_values M Dyer 08-Dec-1992 1 Not complete
53 +--------------------------------------------------------------------------+
54 create_link_input_value M Dyer 08-Dec-1992 1 Complete
55 +--------------------------------------------------------------------------+
56 chk_upd_input_values M Dyer 08-Dec-1992 1 Not complete
57 +--------------------------------------------------------------------------+
58 del_3p_input_values M Dyer 08-Dec-1992 1 Not complete
59
60
61 Change List
62 -----------
63 Date Name Vers Bug No Description
64 +-----------+-------------+-------+----------+-----------------------------+ 27-Nov-92 M Dyer 30.0 Created with chk_input_values and chk_max_and_min
65 08-Dec-92 M Dyer 30.0 Created other input value
66 procedures.
67 09-Dec-92 M Dyer 30.1 Added standard link conditions
68 to chk_input_values.
69 11-MAR-93 N Khan 30.2 Added 'exit' to the end
70
71 +-----------+-------------+-------+----------+-----------------------------+*/
72 --
73 /*
74 NAME
75 chk_input_value
76 DESCRIPTION
77 Checks attributes of inserted and update input values for concurrence
78 with business rules.
79 */
80 --
81 PROCEDURE chk_input_value(p_element_type_id in number,
82 p_legislation_code in varchar2,
83 p_val_start_date in date,
84 p_val_end_date in date,
85 p_insert_update_flag in varchar2,
86 p_input_value_id in number,
87 p_rowid in varchar2,
88 p_recurring_flag in varchar2,
89 p_mandatory_flag in varchar2,
90 p_hot_default_flag in varchar2,
91 p_standard_link_flag in varchar2,
92 p_classification_type in varchar2,
93 p_name in varchar2,
94 p_uom in varchar2,
95 p_min_value in varchar2,
96 p_max_value in varchar2,
97 p_default_value in varchar2,
98 p_lookup_type in varchar2,
99 p_formula_id in number,
100 p_generate_db_items_flag in varchar2,
101 p_warning_or_error in varchar2);
102 --
103 /*
104 NAME
105 chk_entry_default
106 DESCRIPTION
107 This function will check if all entries for an element link and an input
108 value have a default value. This is called in situations where we need to
109 check for defaults because of hot defaulting. This function will return TRUE
110 if any nulls are found in the selected entries.
111 */
112 --
113 FUNCTION chk_entry_default(f_input_value_id in number,
114 f_element_link_id in number,
115 f_val_start_date in date,
116 f_val_end_date in date) return BOOLEAN;
117 --
118 --
119 /*
120 NAME
121 chk_link_hot_defaults
122 DESCRIPTION
123 This procedure checks whether all link_input_values and entry values have
124 defaults if a hot defaulted default value is made null. It calls the function chk_entry_default
128 p_val_start_date in date,
125 */
126 --
127 PROCEDURE chk_link_hot_defaults(p_update_mode in varchar2,
129 p_val_end_date in date,
130 p_input_value_id in number,
131 p_element_link_id in number,
132 p_default_delete in varchar2,
133 p_min_delete in varchar2,
134 p_max_delete in varchar2);
135 /*
136 NAME
137 chk_hot_defaults
138 DESCRIPTION
139 This procedure checks whether all link_input_values and entry values have
140 defaults if a hot defaulted default value is made null. It calls the function
141 chk_entry_default
142 */
143 --
144 PROCEDURE chk_hot_defaults(p_update_mode in varchar2,
145 p_val_start_date in date,
146 p_val_end_date in date,
147 p_input_value_id in number,
148 p_element_type_id in number,
149 p_default_deleted in varchar2,
150 p_min_deleted in varchar2,
151 p_max_deleted in varchar2);
152 --
153 /*
154 NAME
155 chk_del_input_value
156 DESCRIPTION
157 Checks whether an input value can be deleted. This consists of checking
158 if various child records exist for this input value.
159 */
160 --
161 PROCEDURE chk_del_input_values(p_delete_mode in varchar2,
162 p_val_start_date in date,
163 p_val_end_date in date,
164 p_input_value_id in number);
165 --
166 /*
167 NAME
168 chk_field_update
169 DESCRIPTION
170 A general function for input values that forces correction for a particular
171 field over the lifetime of a complete input value. It should be called after
172 the postfield datetrack trigger.
173 */
174 FUNCTION chk_field_update(
175 p_input_value_id in number,
176 p_val_start_date in date,
177 p_val_end_date in date,
178 p_update_mode in varchar2) return BOOLEAN;
179 --
180 --
181 /*
182 NAME
183 get_pay_value_name
184 DESCRIPTION
185 gets pay value from translation table.
186 */
187 --
188 FUNCTION get_pay_value_name(p_legislation_code varchar2)
189 return varchar2;
190 --
191 /*
192 NAME
193 chk_upd_input_value
194 DESCRIPTION
195 Checks whether an input value can be updated. Some values can be updated
196 under any circumstances and others can only be updated if certain conditions
197 exist. For instance if there are no links in existence. This procedure calls
198 chk_hot_defaults.
199 */
200 --
201 PROCEDURE chk_upd_input_values( p_update_mode in varchar2,
202 p_val_start_date in date,
203 p_val_end_date in date,
204 p_classification_type in varchar2,
205 p_old_name in varchar2,
206 p_name in varchar2,
207 p_input_value_id in number,
208 p_element_type_id in number,
209 p_old_uom in varchar2,
210 p_uom in varchar2,
211 p_old_db_items_flag in varchar2,
212 p_db_items_flag in varchar2,
213 p_old_default_value in varchar2,
214 p_default_value in varchar2,
215 p_old_min_value in varchar2,
216 p_min_value in varchar2,
217 p_old_max_value in varchar2,
218 p_max_value in varchar2,
219 p_old_error_flag in varchar2,
220 p_error_flag in varchar2,
221 p_old_mandatory_flag in varchar2,
222 p_mandatory_flag in varchar2,
223 p_old_formula_id in number,
224 p_formula_id in number,
225 p_old_lookup_type in varchar2,
226 p_lookup_type in varchar2,
227 p_business_group_id in number,
228 p_legislation_code in varchar2);
229 --
230 /*
231 NAME
235 1. When a new link has been created.
232 create_link_input_value
233 DESCRIPTION
234 This procedure creates links under two circumstances.
236 2. When a new input value is created and there are already existing links
237 This behaviour is controlled by the p_insert_type parameter which can take the
238 values 'INSERT_LINK' or 'INSERT_INPUT_VALUE'.
239 */
240 --
241 PROCEDURE
242 create_link_input_value(p_insert_type varchar2,
243 p_element_link_id number,
244 p_input_value_id number,
245 p_input_value_name varchar2,
246 p_costable_type varchar2,
247 p_validation_start_date date,
248 p_validation_end_date date,
249 p_default_value varchar2,
250 p_max_value varchar2,
251 p_min_value varchar2,
252 p_warning_or_error_flag varchar2,
253 p_hot_default_flag varchar2,
254 p_legislation_code varchar2,
255 p_pay_value_name varchar2,
256 p_element_type_id number);
257 --
258 /*
259 NAME
260 ins_3p_input_values
261 DESCRIPTION
262 This procedure controls the third party inserts when an input value is
263 created manually. (Rather than being created at the same time as an element
264 type.) It calls the procedures create_link_input_value and
265 hr_balances.ins_balance_feed.
266 */
267 --
268 PROCEDURE ins_3p_input_values(p_val_start_date in date,
269 p_val_end_date in date,
270 p_element_type_id in number,
271 p_primary_classification_id in number,
272 p_input_value_id in number,
273 p_default_value in varchar2,
274 p_max_value in varchar2,
275 p_min_value in varchar2,
276 p_warning_or_error_flag in varchar2,
277 p_input_value_name in varchar2,
278 p_db_items_flag in varchar2,
279 p_costable_type in varchar2,
280 p_hot_default_flag in varchar2,
281 p_business_group_id in number,
282 p_legislation_code in varchar2,
283 p_startup_mode in varchar2);
284 --
285 /*
286 NAME
287 upd_3p_input_values
288 DESCRIPTION
289 This procedure should be called on post delete. When the name has been
290 updated and create database items is set to Yes then the database items
291 will be dropped and recreated. This will fail if it is unable to drop the
292 database items.
293 */
294 PROCEDURE upd_3p_input_values(p_input_value_id in number,
295 p_val_start_date in date,
296 p_old_name in varchar2,
297 p_name in varchar2,
298 p_db_items_flag in varchar2,
299 p_old_db_items_flag in varchar2);
300 --
301 --
302 /*
303 NAME
304 del_3p_input_values
305 DESCRIPTION
306 This procedure does the necessary cascade deletes when deleting an input
307 value. This only deletes balance feeds. It calls the procedure -
308 hr.balances.del_balance_feed.
309 */
310 --
311 PROCEDURE del_3p_input_values(p_delete_mode in varchar2,
312 p_input_value_id in number,
313 p_db_items_flag in varchar2,
314 p_val_end_date in date,
315 p_session_date in date,
316 p_startup_mode in varchar2);
317 --
318 end hr_input_values;