66: SELECT legislation_code
67: FROM per_business_groups
68: WHERE business_group_id = v_bg_id;
69: BEGIN
70: --hr_utility.trace_on(null,'KTBEN');
71: hr_utility.set_location ( 'Entering:'
72: || l_proc, 10);
73: OPEN csr_leg (p_business_group_id);
74: FETCH csr_leg INTO p_legislation_code;
67: FROM per_business_groups
68: WHERE business_group_id = v_bg_id;
69: BEGIN
70: --hr_utility.trace_on(null,'KTBEN');
71: hr_utility.set_location ( 'Entering:'
72: || l_proc, 10);
73: OPEN csr_leg (p_business_group_id);
74: FETCH csr_leg INTO p_legislation_code;
75: CLOSE csr_leg;
72: || l_proc, 10);
73: OPEN csr_leg (p_business_group_id);
74: FETCH csr_leg INTO p_legislation_code;
75: CLOSE csr_leg;
76: hr_utility.set_location ( 'Legislation = '
77: || p_legislation_code, 20);
78: l_filename := p_file_name;
79: fnd_profile.get (c_data_exchange_dir, l_location);
80: hr_utility.set_location ( 'directory = '
76: hr_utility.set_location ( 'Legislation = '
77: || p_legislation_code, 20);
78: l_filename := p_file_name;
79: fnd_profile.get (c_data_exchange_dir, l_location);
80: hr_utility.set_location ( 'directory = '
81: || l_location, 30);
82:
83: IF l_location IS NULL
84: THEN
124: THEN
125: UTL_FILE.fclose (l_file_handle);
126: END IF;
127:
128: hr_utility.set_location (l_proc, 180);
129: retcode := c_error;
130: -- The error will mean batch_seq doesn't get upped so add 1 when
131: -- reporting line
132: errbuf := 'Input line (line nr = '
140: THEN
141: EXIT;
142: END;
143:
144: hr_utility.set_location (
145: 'line read: '
146: || SUBSTR (l_line_read, 1, 40),
147: 30
148: );
178: THEN
179: -- Set retcode to 1, indicating a WARNING to the ConcMgr
180: retcode := c_warning;
181: -- Set the application error
182: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
183: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Invalid date');
184: --hr_utility.set_message (800, 'HR_78041_NO_MATCHING_TYPE');
185: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
186: -- hr_utility.set_message_token (800, 'LINE', l_line_read);
179: -- Set retcode to 1, indicating a WARNING to the ConcMgr
180: retcode := c_warning;
181: -- Set the application error
182: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
183: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Invalid date');
184: --hr_utility.set_message (800, 'HR_78041_NO_MATCHING_TYPE');
185: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
186: -- hr_utility.set_message_token (800, 'LINE', l_line_read);
187: -- Write the message to log file, do not raise an application error but continue
180: retcode := c_warning;
181: -- Set the application error
182: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
183: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Invalid date');
184: --hr_utility.set_message (800, 'HR_78041_NO_MATCHING_TYPE');
185: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
186: -- hr_utility.set_message_token (800, 'LINE', l_line_read);
187: -- Write the message to log file, do not raise an application error but continue
188: -- (with next line)
181: -- Set the application error
182: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
183: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Invalid date');
184: --hr_utility.set_message (800, 'HR_78041_NO_MATCHING_TYPE');
185: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
186: -- hr_utility.set_message_token (800, 'LINE', l_line_read);
187: -- Write the message to log file, do not raise an application error but continue
188: -- (with next line)
189: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
182: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
183: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Invalid date');
184: --hr_utility.set_message (800, 'HR_78041_NO_MATCHING_TYPE');
185: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
186: -- hr_utility.set_message_token (800, 'LINE', l_line_read);
187: -- Write the message to log file, do not raise an application error but continue
188: -- (with next line)
189: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
190: WHEN e_no_matching_element
185: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
186: -- hr_utility.set_message_token (800, 'LINE', l_line_read);
187: -- Write the message to log file, do not raise an application error but continue
188: -- (with next line)
189: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
190: WHEN e_no_matching_element
191: -- The element_name or element_id provided does not match an element in the database
192: THEN
193: -- Set retcode to 1, indicating a WARNING to the ConcMgr
192: THEN
193: -- Set retcode to 1, indicating a WARNING to the ConcMgr
194: retcode := c_warning;
195: -- Set the application error
196: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
197: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Non matching element');
198: --hr_utility.set_message (800, 'HR_78042_NO_MATCHING_ELEMENT');
199: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
200: --hr_utility.set_message_token (800, 'LINE', l_line_read);
193: -- Set retcode to 1, indicating a WARNING to the ConcMgr
194: retcode := c_warning;
195: -- Set the application error
196: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
197: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Non matching element');
198: --hr_utility.set_message (800, 'HR_78042_NO_MATCHING_ELEMENT');
199: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
200: --hr_utility.set_message_token (800, 'LINE', l_line_read);
201: -- Write the message to log file, do not raise an application error but continue
194: retcode := c_warning;
195: -- Set the application error
196: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
197: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Non matching element');
198: --hr_utility.set_message (800, 'HR_78042_NO_MATCHING_ELEMENT');
199: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
200: --hr_utility.set_message_token (800, 'LINE', l_line_read);
201: -- Write the message to log file, do not raise an application error but continue
202: -- (with next line)
195: -- Set the application error
196: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
197: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Non matching element');
198: --hr_utility.set_message (800, 'HR_78042_NO_MATCHING_ELEMENT');
199: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
200: --hr_utility.set_message_token (800, 'LINE', l_line_read);
201: -- Write the message to log file, do not raise an application error but continue
202: -- (with next line)
203: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
196: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
197: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Non matching element');
198: --hr_utility.set_message (800, 'HR_78042_NO_MATCHING_ELEMENT');
199: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
200: --hr_utility.set_message_token (800, 'LINE', l_line_read);
201: -- Write the message to log file, do not raise an application error but continue
202: -- (with next line)
203: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
204: WHEN e_no_matching_assignment
199: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
200: --hr_utility.set_message_token (800, 'LINE', l_line_read);
201: -- Write the message to log file, do not raise an application error but continue
202: -- (with next line)
203: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
204: WHEN e_no_matching_assignment
205: -- The assignment id or assignment number provided do not match an assignment in the database
206: THEN
207: -- Set retcode to 1, indicating a WARNING to the ConcMgr
206: THEN
207: -- Set retcode to 1, indicating a WARNING to the ConcMgr
208: retcode := c_warning;
209: -- Set the application error
210: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
211: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Non matching ID');
212: --hr_utility.set_message (800, 'HR_78044_NO_MATCHING_ASSG'); -- name too long
213: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
214: --hr_utility.set_message_token (800, 'LINE', l_line_read);
207: -- Set retcode to 1, indicating a WARNING to the ConcMgr
208: retcode := c_warning;
209: -- Set the application error
210: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
211: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Non matching ID');
212: --hr_utility.set_message (800, 'HR_78044_NO_MATCHING_ASSG'); -- name too long
213: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
214: --hr_utility.set_message_token (800, 'LINE', l_line_read);
215: -- Write the message to log file, do not raise an application error but continue
208: retcode := c_warning;
209: -- Set the application error
210: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
211: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Non matching ID');
212: --hr_utility.set_message (800, 'HR_78044_NO_MATCHING_ASSG'); -- name too long
213: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
214: --hr_utility.set_message_token (800, 'LINE', l_line_read);
215: -- Write the message to log file, do not raise an application error but continue
216: -- (with next line)
209: -- Set the application error
210: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
211: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Non matching ID');
212: --hr_utility.set_message (800, 'HR_78044_NO_MATCHING_ASSG'); -- name too long
213: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
214: --hr_utility.set_message_token (800, 'LINE', l_line_read);
215: -- Write the message to log file, do not raise an application error but continue
216: -- (with next line)
217: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
210: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
211: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Non matching ID');
212: --hr_utility.set_message (800, 'HR_78044_NO_MATCHING_ASSG'); -- name too long
213: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
214: --hr_utility.set_message_token (800, 'LINE', l_line_read);
215: -- Write the message to log file, do not raise an application error but continue
216: -- (with next line)
217: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
218: WHEN e_wrong_id_type
213: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
214: --hr_utility.set_message_token (800, 'LINE', l_line_read);
215: -- Write the message to log file, do not raise an application error but continue
216: -- (with next line)
217: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
218: WHEN e_wrong_id_type
219: -- The id type provided provided does not match P(erson), N(ational Identifier),
220: -- E(mployee number or A(ssignment). Currently these are the only id's accepted.
221: THEN
221: THEN
222: -- Set retcode to 1, indicating a WARNING to the ConcMgr
223: retcode := c_warning;
224: -- Set the application error
225: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
226: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Invalid ID type');
227: --hr_utility.set_message (800, 'HR_78043_WRONG_ID_TYPE');
228: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
229: --hr_utility.set_message_token (800, 'LINE', l_line_read);
222: -- Set retcode to 1, indicating a WARNING to the ConcMgr
223: retcode := c_warning;
224: -- Set the application error
225: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
226: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Invalid ID type');
227: --hr_utility.set_message (800, 'HR_78043_WRONG_ID_TYPE');
228: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
229: --hr_utility.set_message_token (800, 'LINE', l_line_read);
230: -- Write the message to log file, do not raise an application error but continue
223: retcode := c_warning;
224: -- Set the application error
225: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
226: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Invalid ID type');
227: --hr_utility.set_message (800, 'HR_78043_WRONG_ID_TYPE');
228: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
229: --hr_utility.set_message_token (800, 'LINE', l_line_read);
230: -- Write the message to log file, do not raise an application error but continue
231: -- (with next line)
224: -- Set the application error
225: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
226: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Invalid ID type');
227: --hr_utility.set_message (800, 'HR_78043_WRONG_ID_TYPE');
228: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
229: --hr_utility.set_message_token (800, 'LINE', l_line_read);
230: -- Write the message to log file, do not raise an application error but continue
231: -- (with next line)
232: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
225: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
226: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Invalid ID type');
227: --hr_utility.set_message (800, 'HR_78043_WRONG_ID_TYPE');
228: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
229: --hr_utility.set_message_token (800, 'LINE', l_line_read);
230: -- Write the message to log file, do not raise an application error but continue
231: -- (with next line)
232: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
233: WHEN e_effective_date_issue
228: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
229: --hr_utility.set_message_token (800, 'LINE', l_line_read);
230: -- Write the message to log file, do not raise an application error but continue
231: -- (with next line)
232: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
233: WHEN e_effective_date_issue
234: -- The dates provided for the effective date fields are not in the correct format
235: THEN
236: -- Set retcode to 1, indicating a WARNING to the ConcMgr
235: THEN
236: -- Set retcode to 1, indicating a WARNING to the ConcMgr
237: retcode := c_warning;
238: -- Set the application error
239: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
240: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Wrong date format');
241: --hr_utility.set_message (800, 'HR_78036_WRONG_DATE_FORMAT');
242: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
243: --hr_utility.set_message_token (800,'FORMAT',fnd_date.user_mask);
236: -- Set retcode to 1, indicating a WARNING to the ConcMgr
237: retcode := c_warning;
238: -- Set the application error
239: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
240: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Wrong date format');
241: --hr_utility.set_message (800, 'HR_78036_WRONG_DATE_FORMAT');
242: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
243: --hr_utility.set_message_token (800,'FORMAT',fnd_date.user_mask);
244: --hr_utility.set_message_token (800, 'LINE', l_line_read);
237: retcode := c_warning;
238: -- Set the application error
239: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
240: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Wrong date format');
241: --hr_utility.set_message (800, 'HR_78036_WRONG_DATE_FORMAT');
242: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
243: --hr_utility.set_message_token (800,'FORMAT',fnd_date.user_mask);
244: --hr_utility.set_message_token (800, 'LINE', l_line_read);
245: -- Write the message to log file, do not raise an application error but continue
238: -- Set the application error
239: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
240: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Wrong date format');
241: --hr_utility.set_message (800, 'HR_78036_WRONG_DATE_FORMAT');
242: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
243: --hr_utility.set_message_token (800,'FORMAT',fnd_date.user_mask);
244: --hr_utility.set_message_token (800, 'LINE', l_line_read);
245: -- Write the message to log file, do not raise an application error but continue
246: -- (with next line)
239: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
240: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Wrong date format');
241: --hr_utility.set_message (800, 'HR_78036_WRONG_DATE_FORMAT');
242: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
243: --hr_utility.set_message_token (800,'FORMAT',fnd_date.user_mask);
244: --hr_utility.set_message_token (800, 'LINE', l_line_read);
245: -- Write the message to log file, do not raise an application error but continue
246: -- (with next line)
247: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
240: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Wrong date format');
241: --hr_utility.set_message (800, 'HR_78036_WRONG_DATE_FORMAT');
242: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
243: --hr_utility.set_message_token (800,'FORMAT',fnd_date.user_mask);
244: --hr_utility.set_message_token (800, 'LINE', l_line_read);
245: -- Write the message to log file, do not raise an application error but continue
246: -- (with next line)
247: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
248: WHEN VALUE_ERROR
243: --hr_utility.set_message_token (800,'FORMAT',fnd_date.user_mask);
244: --hr_utility.set_message_token (800, 'LINE', l_line_read);
245: -- Write the message to log file, do not raise an application error but continue
246: -- (with next line)
247: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
248: WHEN VALUE_ERROR
249: -- A field in the file does not match type with the field in the BEE table or the field
250: -- is to long
251: THEN
251: THEN
252: -- Set retcode to 1, indicating a WARNING to the ConcMgr
253: retcode := c_warning;
254: -- Set the application error
255: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
256: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Entry line too long');
257: --hr_utility.set_message (800, 'HR_78035_VALUE_ERROR');
258: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
259: --hr_utility.set_message_token (800, 'LINE', l_line_read);
252: -- Set retcode to 1, indicating a WARNING to the ConcMgr
253: retcode := c_warning;
254: -- Set the application error
255: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
256: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Entry line too long');
257: --hr_utility.set_message (800, 'HR_78035_VALUE_ERROR');
258: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
259: --hr_utility.set_message_token (800, 'LINE', l_line_read);
260: -- Write the message to log file, do not raise an application error but continue
253: retcode := c_warning;
254: -- Set the application error
255: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
256: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Entry line too long');
257: --hr_utility.set_message (800, 'HR_78035_VALUE_ERROR');
258: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
259: --hr_utility.set_message_token (800, 'LINE', l_line_read);
260: -- Write the message to log file, do not raise an application error but continue
261: -- (with next line)
254: -- Set the application error
255: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
256: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Entry line too long');
257: --hr_utility.set_message (800, 'HR_78035_VALUE_ERROR');
258: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
259: --hr_utility.set_message_token (800, 'LINE', l_line_read);
260: -- Write the message to log file, do not raise an application error but continue
261: -- (with next line)
262: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
255: hr_utility.set_message (800, 'PER_GB_P11D_78058_ASG_ERR_MSG');
256: hr_utility.set_message_token (800, 'TEXT', 'Error at line' || l_batch_seq || ' : Entry line too long');
257: --hr_utility.set_message (800, 'HR_78035_VALUE_ERROR');
258: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
259: --hr_utility.set_message_token (800, 'LINE', l_line_read);
260: -- Write the message to log file, do not raise an application error but continue
261: -- (with next line)
262: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
263: END;
258: --hr_utility.set_message_token (800, 'LINE_NR', l_batch_seq);
259: --hr_utility.set_message_token (800, 'LINE', l_line_read);
260: -- Write the message to log file, do not raise an application error but continue
261: -- (with next line)
262: fnd_file.put_line (fnd_file.LOG, hr_utility.get_message);
263: END;
264: END LOOP read_lines_in_file;
265:
266: -- Commit the outstanding records
265:
266: -- Commit the outstanding records
267: COMMIT;
268: UTL_FILE.fclose (l_file_handle);
269: hr_utility.set_location ( 'Leaving:'
270: || l_proc, 50);
271: -- hr_utility.trace_off;
272: -- Most off these exceptions are not translated as they should not happen normally
273: -- If they do happen, something is seriously wrong and SysAdmin interference will be necessary.
267: COMMIT;
268: UTL_FILE.fclose (l_file_handle);
269: hr_utility.set_location ( 'Leaving:'
270: || l_proc, 50);
271: -- hr_utility.trace_off;
272: -- Most off these exceptions are not translated as they should not happen normally
273: -- If they do happen, something is seriously wrong and SysAdmin interference will be necessary.
274: EXCEPTION
275: WHEN e_fatal_error
280: THEN
281: UTL_FILE.fclose (l_file_handle);
282: END IF;
283:
284: hr_utility.set_location (l_proc, 100);
285: -- Set retcode to 2, indicating an ERROR to the ConcMgr
286: retcode := c_error;
287: -- Set the application error
288: hr_utility.set_message (800, 'HR_78040_DATA_EXCHANGE_DIR_MIS');
284: hr_utility.set_location (l_proc, 100);
285: -- Set retcode to 2, indicating an ERROR to the ConcMgr
286: retcode := c_error;
287: -- Set the application error
288: hr_utility.set_message (800, 'HR_78040_DATA_EXCHANGE_DIR_MIS');
289: -- Return the message to the ConcMgr (This msg will appear in the log file)
290: errbuf := hr_utility.get_message;
291: WHEN UTL_FILE.invalid_operation
292: -- File could not be opened as requested, perhaps because of operating system permissions
286: retcode := c_error;
287: -- Set the application error
288: hr_utility.set_message (800, 'HR_78040_DATA_EXCHANGE_DIR_MIS');
289: -- Return the message to the ConcMgr (This msg will appear in the log file)
290: errbuf := hr_utility.get_message;
291: WHEN UTL_FILE.invalid_operation
292: -- File could not be opened as requested, perhaps because of operating system permissions
293: -- Also raised when attempting a write operation on a file opened for read, or a read operation
294: -- on a file opened for write.
297: THEN
298: UTL_FILE.fclose (l_file_handle);
299: END IF;
300:
301: hr_utility.set_location (l_proc, 110);
302: retcode := c_error;
303: errbuf := 'Reading Taxable Benefits File ('
304: || l_location
305: || ' -> '
312: THEN
313: UTL_FILE.fclose (l_file_handle);
314: END IF;
315:
316: hr_utility.set_location (l_proc, 120);
317: retcode := c_error;
318: errbuf := 'Reading Taxable Benefits File ('
319: || l_location
320: || ' -> '
327: THEN
328: UTL_FILE.fclose (l_file_handle);
329: END IF;
330:
331: hr_utility.set_location (l_proc, 130);
332: retcode := c_error;
333: errbuf := 'Reading Taxable Benefits File ('
334: || l_location
335: || ' -> '
348: || l_location
349: || ' -> '
350: || l_filename
351: || ') - Invalid Path or Filename.';
352: hr_utility.set_location (l_proc, 140);
353: WHEN UTL_FILE.invalid_filehandle
354: -- File handle does not specify an open file
355: THEN
356: IF UTL_FILE.is_open (l_file_handle)
357: THEN
358: UTL_FILE.fclose (l_file_handle);
359: END IF;
360:
361: hr_utility.set_location (l_proc, 150);
362: retcode := c_error;
363: errbuf := 'Reading Taxable Benefits File ('
364: || l_location
365: || ' -> '
372: THEN
373: UTL_FILE.fclose (l_file_handle);
374: END IF;
375:
376: hr_utility.set_location (l_proc, 160);
377: retcode := c_error;
378: errbuf := 'Reading Taxable Benefits File ('
379: || l_location
380: || ' -> '
422: l_start_date per_periods_of_service.date_start%TYPE := NULL;
423: l_final_process_date per_periods_of_service.final_process_date%TYPE
424: := NULL;
425: BEGIN
426: hr_utility.set_location ( 'Entering:'
427: || l_proc, 10);
428: /* MS excel does not let the first two columns to be blank, this meant the
429: input file created for P11D had to be edited edited manually to enter ',,' in
430: the first two columns of each line . This was not acceptable
821: p_batch_line.entry_information29 :=
822: get_field (p_line => l_line, p_delimiter => p_delimiter);
823: p_batch_line.entry_information30 :=
824: get_field (p_line => l_line, p_delimiter => p_delimiter);
825: hr_utility.set_location ( 'Leaving:'
826: || l_proc, 1000);
827: END break_up_line;
828:
829: -- This function will take a string in which fields are delimited and return the field that is identified
853: IF (l_position > 0)
854: THEN
855: l_field := SUBSTR (p_line, 1, l_position
856: - 1);
857: hr_utility.set_location (
858: RPAD ('Field', 31)
859: || RPAD (LPAD (l_position, 3), 4)
860: || l_field,
861: 70
905: c_batch_source CONSTANT VARCHAR2 (30) := 'Created by TaxBen Upload';
906: c_comments CONSTANT VARCHAR2 (4000)
907: := 'Use this batch to upload the Taxable Benefits into the Taxable Benefits Element Entries.';
908: BEGIN
909: hr_utility.set_location ( 'Entering:'
910: || l_proc, 10);
911:
912: -- CREATE_BATCH_HEADER definition
913: /****************************************************************
952: p_comments=> c_comments,
953: p_batch_id=> p_batch_id, -- out
954: p_object_version_number=> p_ovn -- out
955: );
956: hr_utility.set_location ( 'Leaving:'
957: || l_proc, 20);
958: END create_tax_ben_batch_header;
959:
960: PROCEDURE create_tax_ben_batch_line (
1076: := g_package
1077: || 'create_tax_ben_batch_line';
1078: c_element_entry CONSTANT VARCHAR2 (30) := 'E';
1079: BEGIN
1080: hr_utility.set_location ( 'Entering:'
1081: || l_proc, 10);
1082: -- CREATE_BATCH_LINE definition
1083: /****************************************************************
1084: procedure create_batch_line
1225: p_entry_information30=> p_entry_information20,
1226: p_batch_line_id=> p_bl_id, -- out
1227: p_object_version_number=> p_ovn -- out
1228: );
1229: hr_utility.set_location ( 'Leaving:'
1230: || l_proc, 20);
1231: END create_tax_ben_batch_line;
1232:
1233: -- OVERLOADING PROCEDURE
1240: l_proc CONSTANT VARCHAR2 (72)
1241: := g_package
1242: || 'create_tax_ben_batch_line';
1243: BEGIN
1244: hr_utility.set_location ( 'Entering:'
1245: || l_proc, 10);
1246: create_tax_ben_batch_line (
1247: p_session_date=> p_batch_line.session_date,
1248: p_batch_id=> p_batch_line.batch_id,
1356: p_entry_information30=> p_batch_line.entry_information30,
1357: p_bl_id=> p_bline_id,
1358: p_ovn => p_obj_vn
1359: );
1360: hr_utility.set_location ( 'Leaving:'
1361: || l_proc, 20);
1362: END create_tax_ben_batch_line;
1363:
1364: FUNCTION correct_type_id (p_id_type VARCHAR2)
1403: l_proc CONSTANT VARCHAR2 (72)
1404: := g_package
1405: || 'validate_tax_ben_element';
1406: BEGIN
1407: hr_utility.set_location ( 'Entering:'
1408: || l_proc, 10);
1409: OPEN csr_p11d_elements (p_element_name, p_leg_cd);
1410: FETCH csr_p11d_elements INTO l_dummy;
1411:
1415: ELSE
1416: l_tax_ben_el := FALSE;
1417: END IF;
1418:
1419: hr_utility.set_location ( 'Leaving:'
1420: || l_proc, 20);
1421: RETURN l_tax_ben_el;
1422: END validate_tax_ben_element;
1423:
1529: l_dt_start per_periods_of_service.date_start%TYPE := NULL;
1530: l_finproc_dt per_periods_of_service.final_process_date%TYPE
1531: := NULL;
1532: BEGIN
1533: hr_utility.set_location ( 'Entering:'
1534: || l_proc, 10);
1535: hr_utility.set_location (
1536: 'Effective Date used:'
1537: || p_effective_date,
1531: := NULL;
1532: BEGIN
1533: hr_utility.set_location ( 'Entering:'
1534: || l_proc, 10);
1535: hr_utility.set_location (
1536: 'Effective Date used:'
1537: || p_effective_date,
1538: 20
1539: );
1618: p_assg_nr := NULL;
1619: p_assg_id := NULL;
1620: END IF;
1621:
1622: hr_utility.set_location ( 'Leaving:'
1623: || l_proc, 100);
1624: END get_assignment_info;
1625:
1626: PROCEDURE get_element_info (
1645: --
1646: l_element_type_id pay_element_types_f.element_type_id%TYPE;
1647: l_element_name pay_element_types_f.element_name%TYPE;
1648: BEGIN
1649: hr_utility.set_location ( 'Entering:'
1650: || l_proc, 10);
1651: OPEN csr_el (p_element_type_id, p_element_name, p_leg_cd);
1652: FETCH csr_el INTO l_element_name, l_element_type_id;
1653:
1661: p_element_name := NULL;
1662: END IF;
1663:
1664: CLOSE csr_el;
1665: hr_utility.set_location ( 'Leaving:'
1666: || l_proc, 100);
1667: END get_element_info;
1668:
1669: END per_gb_tax_ben_pkg;