DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQP_RIW_JOB_WRAPPER

Source


1 package body PQP_RIW_JOB_WRAPPER  as
2 /* $Header: pqpriwjbwr.pkb 120.3 2010/09/20 07:58:57 prasashe noship $ */
3 -- =============================================================================
4 -- ~ Package Body Global variables:
5 -- =============================================================================
6 g_package  varchar2(33) := 'PQP_RIW_JOB_WRAPPER';
7 g_interface_code              varchar2(150);
8 
9 type job_record is record
10 (
11 business_group_id                 number(15)
12 ,date_from                         date
13 ,comments                          long
14 ,date_to                           date
15 ,approval_authority                number(38)
16 ,benchmark_job_flag                varchar2(30)
17 ,benchmark_job_id                  number(15)
18 ,emp_rights_flag                   varchar2(30)
19 ,job_group_id                      number(15)
20 ,attribute_category                varchar2(30)
21 ,attribute1                        varchar2(150)
22 ,attribute2                        varchar2(150)
23 ,attribute3                        varchar2(150)
24 ,attribute4                        varchar2(150)
25 ,attribute5                        varchar2(150)
26 ,attribute6                        varchar2(150)
27 ,attribute7                        varchar2(150)
28 ,attribute8                        varchar2(150)
29 ,attribute9                        varchar2(150)
30 ,attribute10                       varchar2(150)
31 ,attribute11                       varchar2(150)
32 ,attribute12                       varchar2(150)
33 ,attribute13                       varchar2(150)
34 ,attribute14                       varchar2(150)
35 ,attribute15                       varchar2(150)
36 ,attribute16                       varchar2(150)
37 ,attribute17                       varchar2(150)
38 ,attribute18                       varchar2(150)
39 ,attribute19                       varchar2(150)
40 ,attribute20                       varchar2(150)
41 ,job_information_category          varchar2(30)
42 ,job_information1                  varchar2(150)
43 ,job_information2                  varchar2(150)
44 ,job_information3                  varchar2(150)
45 ,job_information4                  varchar2(150)
46 ,job_information5                  varchar2(150)
47 ,job_information6                  varchar2(150)
48 ,job_information7                  varchar2(150)
49 ,job_information8                  varchar2(150)
50 ,job_information9                  varchar2(150)
51 ,job_information10                 varchar2(150)
52 ,job_information11                 varchar2(150)
53 ,job_information12                 varchar2(150)
54 ,job_information13                 varchar2(150)
55 ,job_information14                 varchar2(150)
56 ,job_information15                 varchar2(150)
57 ,job_information16                 varchar2(150)
58 ,job_information17                 varchar2(150)
59 ,job_information18                 varchar2(150)
60 ,job_information19                 varchar2(150)
61 ,job_information20                 varchar2(150)
62 ,segment1                          varchar2(60)
63 ,segment2                          varchar2(60)
64 ,segment3                          varchar2(60)
65 ,segment4                          varchar2(60)
66 ,segment5                          varchar2(60)
67 ,segment6                          varchar2(60)
68 ,segment7                          varchar2(60)
69 ,segment8                          varchar2(60)
70 ,segment9                          varchar2(60)
71 ,segment10                         varchar2(60)
72 ,segment11                         varchar2(60)
73 ,segment12                         varchar2(60)
74 ,segment13                         varchar2(60)
75 ,segment14                         varchar2(60)
76 ,segment15                         varchar2(60)
77 ,segment16                         varchar2(60)
78 ,segment17                         varchar2(60)
79 ,segment18                         varchar2(60)
80 ,segment19                         varchar2(60)
81 ,segment20                         varchar2(60)
82 ,segment21                         varchar2(60)
83 ,segment22                         varchar2(60)
84 ,segment23                         varchar2(60)
85 ,segment24                         varchar2(60)
86 ,segment25                         varchar2(60)
87 ,segment26                         varchar2(60)
88 ,segment27                         varchar2(60)
89 ,segment28                         varchar2(60)
90 ,segment29                         varchar2(60)
91 ,segment30                         varchar2(60)
92 ,concat_segments                   varchar2(2000)
93 ,language_code                     varchar2(10)
94 ,job_id                            number(15)
95 ,job_definition_id                 number(15));
96 
97 
98 g_job_rec job_record;
99 
100 -- =============================================================================
101 -- Default_Record_Values:
102 -- =============================================================================
103 
104 function get_default_job_rec
105 return job_record is
106   l_proc_name    constant varchar2(150) := g_package||'get_default_job_rec';
107   l_job_rec     job_record;
108 begin
109   Hr_Utility.set_location(' Entering: '||l_proc_name, 5);
110   /*
111    ==========================================================================
112    g_varchar2  constant varchar2(9) := '$Sys_Def$';
113    g_number  constant number        := -987123654;
114    g_date  constant date            := to_date('01-01-4712', 'DD-MM-SYYYY');
115    ==========================================================================
116   */
117 l_job_rec.business_group_id             :=  hr_api.g_number;
118 l_job_rec.date_from                     :=  hr_api.g_date;
119 l_job_rec.comments                      :=  hr_api.g_varchar2;
120 l_job_rec.date_to                       :=  hr_api.g_date;
121 l_job_rec.approval_authority            :=  hr_api.g_number;
122 l_job_rec.benchmark_job_flag            :=  hr_api.g_varchar2;
123 l_job_rec.benchmark_job_id              :=  hr_api.g_number;
124 l_job_rec.emp_rights_flag               :=  hr_api.g_varchar2;
125 l_job_rec.job_group_id                  :=  hr_api.g_number;
126 l_job_rec.attribute_category            :=  hr_api.g_varchar2;
127 l_job_rec.attribute1                    :=  hr_api.g_varchar2;
128 l_job_rec.attribute2                    :=  hr_api.g_varchar2;
129 l_job_rec.attribute3                    :=  hr_api.g_varchar2;
130 l_job_rec.attribute4                    :=  hr_api.g_varchar2;
131 l_job_rec.attribute5                    :=  hr_api.g_varchar2;
132 l_job_rec.attribute6                    :=  hr_api.g_varchar2;
133 l_job_rec.attribute7                    :=  hr_api.g_varchar2;
134 l_job_rec.attribute8                    :=  hr_api.g_varchar2;
135 l_job_rec.attribute9                    :=  hr_api.g_varchar2;
136 l_job_rec.attribute10                   :=  hr_api.g_varchar2;
137 l_job_rec.attribute11                   :=  hr_api.g_varchar2;
138 l_job_rec.attribute12                   :=  hr_api.g_varchar2;
139 l_job_rec.attribute13                   :=  hr_api.g_varchar2;
140 l_job_rec.attribute14                   :=  hr_api.g_varchar2;
141 l_job_rec.attribute15                   :=  hr_api.g_varchar2;
142 l_job_rec.attribute16                   :=  hr_api.g_varchar2;
143 l_job_rec.attribute17                   :=  hr_api.g_varchar2;
144 l_job_rec.attribute18                   :=  hr_api.g_varchar2;
145 l_job_rec.attribute19                   :=  hr_api.g_varchar2;
146 l_job_rec.attribute20                   :=  hr_api.g_varchar2;
147 l_job_rec.job_information_category      :=  hr_api.g_varchar2;
148 l_job_rec.job_information1              :=  hr_api.g_varchar2;
149 l_job_rec.job_information2              :=  hr_api.g_varchar2;
150 l_job_rec.job_information3              :=  hr_api.g_varchar2;
151 l_job_rec.job_information4              :=  hr_api.g_varchar2;
152 l_job_rec.job_information5              :=  hr_api.g_varchar2;
153 l_job_rec.job_information6              :=  hr_api.g_varchar2;
154 l_job_rec.job_information7              :=  hr_api.g_varchar2;
155 l_job_rec.job_information8              :=  hr_api.g_varchar2;
156 l_job_rec.job_information9              :=  hr_api.g_varchar2;
157 l_job_rec.job_information10             :=  hr_api.g_varchar2;
158 l_job_rec.job_information11             :=  hr_api.g_varchar2;
159 l_job_rec.job_information12             :=  hr_api.g_varchar2;
160 l_job_rec.job_information13             :=  hr_api.g_varchar2;
161 l_job_rec.job_information14             :=  hr_api.g_varchar2;
162 l_job_rec.job_information15             :=  hr_api.g_varchar2;
163 l_job_rec.job_information16             :=  hr_api.g_varchar2;
164 l_job_rec.job_information17             :=  hr_api.g_varchar2;
165 l_job_rec.job_information18             :=  hr_api.g_varchar2;
166 l_job_rec.job_information19             :=  hr_api.g_varchar2;
167 l_job_rec.job_information20             :=  hr_api.g_varchar2;
168 l_job_rec.segment1              := hr_api.g_varchar2;
169 l_job_rec.segment2              := hr_api.g_varchar2;
170 l_job_rec.segment3              := hr_api.g_varchar2;
171 l_job_rec.segment4              := hr_api.g_varchar2;
172 l_job_rec.segment5              := hr_api.g_varchar2;
173 l_job_rec.segment6              := hr_api.g_varchar2;
174 l_job_rec.segment7              := hr_api.g_varchar2;
175 l_job_rec.segment8              := hr_api.g_varchar2;
176 l_job_rec.segment9              := hr_api.g_varchar2;
177 l_job_rec.segment10             := hr_api.g_varchar2;
178 l_job_rec.segment11             := hr_api.g_varchar2;
179 l_job_rec.segment12             := hr_api.g_varchar2;
180 l_job_rec.segment13             := hr_api.g_varchar2;
181 l_job_rec.segment14             := hr_api.g_varchar2;
182 l_job_rec.segment15             := hr_api.g_varchar2;
183 l_job_rec.segment16             := hr_api.g_varchar2;
184 l_job_rec.segment17             := hr_api.g_varchar2;
185 l_job_rec.segment18             := hr_api.g_varchar2;
186 l_job_rec.segment19             := hr_api.g_varchar2;
187 l_job_rec.segment20             := hr_api.g_varchar2;
188 l_job_rec.segment21             := hr_api.g_varchar2;
189 l_job_rec.segment22             := hr_api.g_varchar2;
190 l_job_rec.segment23             := hr_api.g_varchar2;
191 l_job_rec.segment24             := hr_api.g_varchar2;
192 l_job_rec.segment25             := hr_api.g_varchar2;
193 l_job_rec.segment26             := hr_api.g_varchar2;
194 l_job_rec.segment27             := hr_api.g_varchar2;
195 l_job_rec.segment28             := hr_api.g_varchar2;
196 l_job_rec.segment29             := hr_api.g_varchar2;
197 l_job_rec.segment30             := hr_api.g_varchar2;
198 l_job_rec.concat_segments       := hr_api.g_varchar2;
199 l_job_rec.job_id                :=  hr_api.g_number;
200 l_job_rec.job_definition_id     :=  hr_api.g_number;
201 
202 return l_job_rec;
203 
204 exception
205   when others then
206   Hr_Utility.set_location('Leaving: '||l_proc_name, 90);
207   raise;
208 end get_default_job_rec;
209 
210 
211 -- =============================================================================
212 -- Get_Record_Values:
213 -- =============================================================================
214 function Get_Job_Record_Values
215         (p_interface_code in varchar2 default null)
216          return job_record is
217 
218   cursor bne_cols(c_interface_code in varchar2) is
219   select lower(bic.interface_col_name) interface_col_name
220     from bne_interface_cols_b  bic
221    where bic.interface_code = c_interface_code
222      and bic.display_flag ='Y';
223 
224   -- To query cols which are not displayed (DFF segments)
225    cursor bne_cols_no_disp(c_interface_code in varchar2) is
226   select lower(bic.interface_col_name) interface_col_name
227     from bne_interface_cols_b  bic
228    where bic.interface_code = c_interface_code
229      and bic.display_flag ='N';
230 
231   l_job_rec            job_record;
232   col_name             varchar2(150);
233   l_proc_name constant varchar2(150) := g_package||'.Get_Job_Record_Values';
234 begin
235   Hr_Utility.set_location(' Entering: '||l_proc_name, 5);
236   l_job_rec := get_default_job_rec;
237   for col_rec in bne_cols (g_interface_code)
238   loop
239   hr_utility.set_location(' col_rec.interface_col_name : ' || col_rec.interface_col_name, 15);
240    case col_rec.interface_col_name
241 
242     when 'p_business_group_id' then
243           l_job_rec.business_group_id := g_job_rec.business_group_id;
244     when 'p_date_from' then
245           l_job_rec.date_from := g_job_rec.date_from;
246     when 'p_comments' then
247           l_job_rec.comments := g_job_rec.comments;
248     when 'p_date_to' then
249           l_job_rec.date_to := g_job_rec.date_to;
250     when 'p_approval_authority' then
251           l_job_rec.approval_authority := g_job_rec.approval_authority;
252     when 'p_benchmark_job_flag' then
253           l_job_rec.benchmark_job_flag := g_job_rec.benchmark_job_flag;
254     when 'p_benchmark_job_id' then
255           l_job_rec.benchmark_job_id := g_job_rec.benchmark_job_id;
256     when 'p_emp_rights_flag' then
257           l_job_rec.emp_rights_flag := g_job_rec.emp_rights_flag;
258     when 'p_job_group_id' then
259           l_job_rec.job_group_id := g_job_rec.job_group_id;
260     when 'p_attribute_category' then
261           l_job_rec.attribute_category := g_job_rec.attribute_category;
262 
263          if l_job_rec.attribute_category is not null then
264           for col_rec1 in bne_cols_no_disp(g_interface_code) loop
265 
266              case col_rec1.interface_col_name
267     when 'p_attribute1' then
268           l_job_rec.attribute1 := g_job_rec.attribute1;
269     when 'p_attribute2' then
270           l_job_rec.attribute2 := g_job_rec.attribute2;
271     when 'p_attribute3' then
272           l_job_rec.attribute3 := g_job_rec.attribute3;
273     when 'p_attribute4' then
274           l_job_rec.attribute4 := g_job_rec.attribute4;
275     when 'p_attribute5' then
276           l_job_rec.attribute5 := g_job_rec.attribute5;
277     when 'p_attribute6' then
278           l_job_rec.attribute6 := g_job_rec.attribute6;
279     when 'p_attribute7' then
280           l_job_rec.attribute7 := g_job_rec.attribute7;
281     when 'p_attribute8' then
282           l_job_rec.attribute8 := g_job_rec.attribute8;
283     when 'p_attribute9' then
284           l_job_rec.attribute9 := g_job_rec.attribute9;
285     when 'p_attribute10' then
286           l_job_rec.attribute10 := g_job_rec.attribute10;
287     when 'p_attribute1' then
288           l_job_rec.attribute11 := g_job_rec.attribute11;
289     when 'p_attribute12' then
290           l_job_rec.attribute12 := g_job_rec.attribute12;
291     when 'p_attribute13' then
292           l_job_rec.attribute13 := g_job_rec.attribute13;
293     when 'p_attribute14' then
294           l_job_rec.attribute14 := g_job_rec.attribute14;
295     when 'p_attribute15' then
296           l_job_rec.attribute15 := g_job_rec.attribute15;
297     when 'p_attribute16' then
298           l_job_rec.attribute16 := g_job_rec.attribute16;
299     when 'p_attribute17' then
300           l_job_rec.attribute17 := g_job_rec.attribute17;
301     when 'p_attribute18' then
302           l_job_rec.attribute18 := g_job_rec.attribute18;
303     when 'p_attribute19' then
304           l_job_rec.attribute19 := g_job_rec.attribute19;
305     when 'p_attribute20' then
306           l_job_rec.attribute20 := g_job_rec.attribute20;
307     else
308           null;
309     end case;
310           end loop;
311           end if;
312 
313 
314     when 'job_information_category' then
315           l_job_rec.job_information_category := g_job_rec.job_information_category;
316 
317          if l_job_rec.job_information_category is not null then
318           for col_rec1 in bne_cols_no_disp(g_interface_code) loop
319 
320              case col_rec1.interface_col_name
321 
322     when 'job_information1' then
323           l_job_rec.job_information1 := g_job_rec.job_information1;
324     when 'job_information2' then
325           l_job_rec.job_information2 := g_job_rec.job_information2;
326     when 'job_information3' then
327           l_job_rec.job_information3 := g_job_rec.job_information3;
328     when 'job_information4' then
329           l_job_rec.job_information4 := g_job_rec.job_information4;
330     when 'job_information5' then
331           l_job_rec.job_information5 := g_job_rec.job_information5;
332     when 'job_information6' then
333           l_job_rec.job_information6 := g_job_rec.job_information6;
334     when 'job_information7' then
335           l_job_rec.job_information7 := g_job_rec.job_information7;
336     when 'job_information8' then
337           l_job_rec.job_information8 := g_job_rec.job_information8;
338     when 'job_information9' then
339           l_job_rec.job_information9 := g_job_rec.job_information9;
340     when 'job_information10' then
341           l_job_rec.job_information10 := g_job_rec.job_information10;
342     when 'job_information11' then
343           l_job_rec.job_information11 := g_job_rec.job_information11;
344     when 'job_information12' then
345           l_job_rec.job_information12 := g_job_rec.job_information12;
346     when 'job_information13' then
347           l_job_rec.job_information13 := g_job_rec.job_information13;
348     when 'job_information14' then
349           l_job_rec.job_information14 := g_job_rec.job_information14;
350     when 'job_information15' then
351           l_job_rec.job_information15 := g_job_rec.job_information15;
352     when 'job_information16' then
353           l_job_rec.job_information16 := g_job_rec.job_information16;
354     when 'job_information17' then
355           l_job_rec.job_information17 := g_job_rec.job_information17;
356     when 'job_information18' then
357           l_job_rec.job_information18 := g_job_rec.job_information18;
358     when 'job_information19' then
359           l_job_rec.job_information19 := g_job_rec.job_information19;
360     when 'job_information20' then
361           l_job_rec.job_information20 := g_job_rec.job_information20;
362     else
363           null;
364 
365           end case;
366 
367         end loop;
368       end if;
369 
370     when 'p_concat_segments' then
371           l_job_rec.concat_segments := g_job_rec.concat_segments;
372 
373    for col_rec1 in bne_cols_no_disp(g_interface_code) loop
374    case col_rec1.interface_col_name
375 
376     when 'segment1' then
377           l_job_rec.segment1 := g_job_rec.segment1;
378     when 'segment2' then
379           l_job_rec.segment2 := g_job_rec.segment2;
380     when 'segment3' then
381           l_job_rec.segment3 := g_job_rec.segment3;
382     when 'segment4' then
383           l_job_rec.segment4 := g_job_rec.segment4;
384     when 'segment5' then
385           l_job_rec.segment5 := g_job_rec.segment5;
386     when 'segment6' then
387           l_job_rec.segment6 := g_job_rec.segment6;
388     when 'segment7' then
389           l_job_rec.segment7 := g_job_rec.segment7;
390     when 'segment8' then
391           l_job_rec.segment8 := g_job_rec.segment8;
392     when 'segment9' then
393           l_job_rec.segment9 := g_job_rec.segment9;
394     when 'segment10' then
395           l_job_rec.segment10 := g_job_rec.segment10;
396     when 'segment11' then
397           l_job_rec.segment11 := g_job_rec.segment11;
398     when 'segment12' then
399           l_job_rec.segment12 := g_job_rec.segment12;
400     when 'segment13' then
401           l_job_rec.segment13 := g_job_rec.segment13;
402     when 'segment14' then
403           l_job_rec.segment14 := g_job_rec.segment14;
404     when 'segment15' then
405           l_job_rec.segment15 := g_job_rec.segment15;
406     when 'segment16' then
407           l_job_rec.segment16 := g_job_rec.segment16;
408     when 'segment17' then
409           l_job_rec.segment17 := g_job_rec.segment17;
410     when 'segment18' then
411           l_job_rec.segment18 := g_job_rec.segment18;
412     when 'segment19' then
413           l_job_rec.segment19 := g_job_rec.segment19;
414     when 'segment20' then
415           l_job_rec.segment20 := g_job_rec.segment20;
416     when 'segment21' then
417           l_job_rec.segment21 := g_job_rec.segment21;
418     when 'segment22' then
419           l_job_rec.segment22 := g_job_rec.segment22;
420     when 'segment23' then
421           l_job_rec.segment23 := g_job_rec.segment23;
422     when 'segment24' then
423           l_job_rec.segment24 := g_job_rec.segment24;
424     when 'segment25' then
425           l_job_rec.segment25 := g_job_rec.segment25;
426     when 'segment26' then
427           l_job_rec.segment26 := g_job_rec.segment26;
428     when 'segment27' then
429           l_job_rec.segment27 := g_job_rec.segment27;
430     when 'segment28' then
431           l_job_rec.segment28 := g_job_rec.segment28;
432     when 'segment29' then
433           l_job_rec.segment29 := g_job_rec.segment29;
434     when 'segment30' then
435           l_job_rec.segment30 := g_job_rec.segment30;
436     else
437           null;
438 
439           end case;
440 
441         end loop;
442 
443     when 'p_job_id' then
444           l_job_rec.job_id := g_job_rec.job_id;
445     when 'p_job_definition_id' then
446           l_job_rec.job_definition_id := g_job_rec.job_definition_id;
447     else
448           null;
449     end case;
450   end loop;
451 
452   Hr_Utility.set_location(' Leaving: '||l_proc_name, 20);
453   return l_job_rec;
454 end Get_Job_Record_Values;
455 
456 procedure Set_Current_Job_record_Values
457     (p_business_group_id             in     number
458     ,p_date_from                     in     date
459     ,p_comments                      in     varchar2
460     ,p_date_to                       in     date
461     ,p_approval_authority            in     number
462     ,p_benchmark_job_flag            in     varchar2
463     ,p_benchmark_job_id              in     number
464     ,p_emp_rights_flag               in     varchar2
465     ,p_job_group_id                  in     number
466     ,p_attribute_category            in     varchar2
467     ,p_attribute1                    in     varchar2
468     ,p_attribute2                    in     varchar2
469     ,p_attribute3                    in     varchar2
470     ,p_attribute4                    in     varchar2
471     ,p_attribute5                    in     varchar2
472     ,p_attribute6                    in     varchar2
473     ,p_attribute7                    in     varchar2
474     ,p_attribute8                    in     varchar2
475     ,p_attribute9                    in     varchar2
476     ,p_attribute10                   in     varchar2
477     ,p_attribute11                   in     varchar2
478     ,p_attribute12                   in     varchar2
479     ,p_attribute13                   in     varchar2
480     ,p_attribute14                   in     varchar2
481     ,p_attribute15                   in     varchar2
482     ,p_attribute16                   in     varchar2
483     ,p_attribute17                   in     varchar2
484     ,p_attribute18                   in     varchar2
485     ,p_attribute19                   in     varchar2
486     ,p_attribute20                   in     varchar2
487     ,p_job_information_category      in     varchar2
488     ,p_job_information1              in     varchar2
489     ,p_job_information2              in     varchar2
490     ,p_job_information3              in     varchar2
491     ,p_job_information4              in     varchar2
492     ,p_job_information5              in     varchar2
493     ,p_job_information6              in     varchar2
494     ,p_job_information7              in     varchar2
495     ,p_job_information8              in     varchar2
496     ,p_job_information9              in     varchar2
497     ,p_job_information10             in     varchar2
498     ,p_job_information11             in     varchar2
499     ,p_job_information12             in     varchar2
500     ,p_job_information13             in     varchar2
501     ,p_job_information14             in     varchar2
502     ,p_job_information15             in     varchar2
503     ,p_job_information16             in     varchar2
504     ,p_job_information17             in     varchar2
505     ,p_job_information18             in     varchar2
506     ,p_job_information19             in     varchar2
507     ,p_job_information20             in     varchar2
508     ,p_segment1                      in     varchar2
509     ,p_segment2                      in     varchar2
510     ,p_segment3                      in     varchar2
511     ,p_segment4                      in     varchar2
512     ,p_segment5                      in     varchar2
513     ,p_segment6                      in     varchar2
514     ,p_segment7                      in     varchar2
515     ,p_segment8                      in     varchar2
516     ,p_segment9                      in     varchar2
517     ,p_segment10                     in     varchar2
518     ,p_segment11                     in     varchar2
519     ,p_segment12                     in     varchar2
520     ,p_segment13                     in     varchar2
521     ,p_segment14                     in     varchar2
522     ,p_segment15                     in     varchar2
523     ,p_segment16                     in     varchar2
524     ,p_segment17                     in     varchar2
525     ,p_segment18                     in     varchar2
526     ,p_segment19                     in     varchar2
527     ,p_segment20                     in     varchar2
528     ,p_segment21                     in     varchar2
529     ,p_segment22                     in     varchar2
530     ,p_segment23                     in     varchar2
531     ,p_segment24                     in     varchar2
532     ,p_segment25                     in     varchar2
533     ,p_segment26                     in     varchar2
534     ,p_segment27                     in     varchar2
535     ,p_segment28                     in     varchar2
536     ,p_segment29                     in     varchar2
537     ,p_segment30                     in     varchar2
538     ,p_concat_segments               in     varchar2
539     ,p_language_code                 in     varchar2
540     ,p_job_id                        in     number
541     ,p_job_definition_id             in     number
542     ,p_interface_code                in     varchar2
543     ) is
544 begin
545 hr_utility.trace('job id set in set current is : ' || p_job_id);
546 g_interface_code := nvl(p_interface_code,'PQP_RIW_JOB_INTF');
547 g_job_rec.business_group_id             := p_business_group_id;
548 g_job_rec.date_from                     := p_date_from;
549 g_job_rec.comments                      := p_comments;
550 g_job_rec.date_to                       := p_date_to;
551 g_job_rec.approval_authority            := p_approval_authority;
552 g_job_rec.benchmark_job_flag            := p_benchmark_job_flag;
553 g_job_rec.benchmark_job_id              := p_benchmark_job_id;
554 g_job_rec.emp_rights_flag               := p_emp_rights_flag;
555 g_job_rec.job_group_id                  := p_job_group_id;
556 g_job_rec.attribute_category            := p_attribute_category;
557 g_job_rec.attribute1                    := p_attribute1;
558 g_job_rec.attribute2                    := p_attribute2;
559 g_job_rec.attribute3                    := p_attribute3;
560 g_job_rec.attribute4                    := p_attribute4;
561 g_job_rec.attribute5                    := p_attribute5;
562 g_job_rec.attribute6                    := p_attribute6;
563 g_job_rec.attribute7                    := p_attribute7;
564 g_job_rec.attribute8                    := p_attribute8;
565 g_job_rec.attribute9                    := p_attribute9;
566 g_job_rec.attribute10                   := p_attribute10;
567 g_job_rec.attribute11                   := p_attribute11;
568 g_job_rec.attribute12                   := p_attribute12;
569 g_job_rec.attribute13                   := p_attribute13;
570 g_job_rec.attribute14                   := p_attribute14;
571 g_job_rec.attribute15                   := p_attribute15;
572 g_job_rec.attribute16                   := p_attribute16;
573 g_job_rec.attribute17                   := p_attribute17;
574 g_job_rec.attribute18                   := p_attribute18;
575 g_job_rec.attribute19                   := p_attribute19;
576 g_job_rec.attribute20                   := p_attribute20;
577 g_job_rec.job_information_category      := p_job_information_category;
578 g_job_rec.job_information1              := p_job_information1;
579 g_job_rec.job_information2              := p_job_information2;
580 g_job_rec.job_information3              := p_job_information3;
581 g_job_rec.job_information4              := p_job_information4;
582 g_job_rec.job_information5              := p_job_information5;
583 g_job_rec.job_information6              := p_job_information6;
584 g_job_rec.job_information7              := p_job_information7;
585 g_job_rec.job_information8              := p_job_information8;
586 g_job_rec.job_information9              := p_job_information9;
587 g_job_rec.job_information10             := p_job_information10;
588 g_job_rec.job_information11             := p_job_information11;
589 g_job_rec.job_information12             := p_job_information12;
590 g_job_rec.job_information13             := p_job_information13;
591 g_job_rec.job_information14             := p_job_information14;
592 g_job_rec.job_information15             := p_job_information15;
593 g_job_rec.job_information16             := p_job_information16;
594 g_job_rec.job_information17             := p_job_information17;
595 g_job_rec.job_information18             := p_job_information18;
596 g_job_rec.job_information19             := p_job_information19;
597 g_job_rec.job_information20             := p_job_information20;
598 g_job_rec.job_id                        := p_job_id;
599 g_job_rec.job_definition_id             := p_job_definition_id;
600 g_job_rec.segment1              := p_segment1;
601 g_job_rec.segment2              := p_segment2;
602 g_job_rec.segment3              := p_segment3;
603 g_job_rec.segment4              := p_segment4;
604 g_job_rec.segment5              := p_segment5;
605 g_job_rec.segment6              := p_segment6;
606 g_job_rec.segment7              := p_segment7;
607 g_job_rec.segment8              := p_segment8;
608 g_job_rec.segment9              := p_segment9;
609 g_job_rec.segment10             := p_segment10;
610 g_job_rec.segment11             := p_segment11;
611 g_job_rec.segment12             := p_segment12;
612 g_job_rec.segment13             := p_segment13;
613 g_job_rec.segment14             := p_segment14;
614 g_job_rec.segment15             := p_segment15;
615 g_job_rec.segment16             := p_segment16;
616 g_job_rec.segment17             := p_segment17;
617 g_job_rec.segment18             := p_segment18;
618 g_job_rec.segment19             := p_segment19;
619 g_job_rec.segment20             := p_segment20;
620 g_job_rec.segment21            := p_segment21;
621 g_job_rec.segment22            := p_segment22;
622 g_job_rec.segment23            := p_segment23;
623 g_job_rec.segment24            := p_segment24;
624 g_job_rec.segment25            := p_segment25;
625 g_job_rec.segment26            := p_segment26;
626 g_job_rec.segment27            := p_segment27;
627 g_job_rec.segment28            := p_segment28;
628 g_job_rec.segment29            := p_segment29;
629 g_job_rec.segment30            := p_segment30;
630 g_job_rec.concat_segments      := p_concat_segments;
631 end Set_Current_Job_record_Values;
632 
633 
634 
635 procedure update_job
636     (p_date_from                     in     date
637     ,p_comments                      in     varchar2 default null
638     ,p_date_to                       in     date     default null
639     ,p_approval_authority            in     number   default null
640     ,p_benchmark_job_flag            in     varchar2 default 'N'
641     ,p_benchmark_job_id              in     number   default null
642     ,p_emp_rights_flag               in     varchar2 default 'N'
643     ,p_attribute_category            in     varchar2 default null
644     ,p_attribute1                    in     varchar2 default null
645     ,p_attribute2                    in     varchar2 default null
646     ,p_attribute3                    in     varchar2 default null
647     ,p_attribute4                    in     varchar2 default null
648     ,p_attribute5                    in     varchar2 default null
649     ,p_attribute6                    in     varchar2 default null
650     ,p_attribute7                    in     varchar2 default null
651     ,p_attribute8                    in     varchar2 default null
652     ,p_attribute9                    in     varchar2 default null
653     ,p_attribute10                   in     varchar2 default null
654     ,p_attribute11                   in     varchar2 default null
655     ,p_attribute12                   in     varchar2 default null
656     ,p_attribute13                   in     varchar2 default null
657     ,p_attribute14                   in     varchar2 default null
658     ,p_attribute15                   in     varchar2 default null
659     ,p_attribute16                   in     varchar2 default null
660     ,p_attribute17                   in     varchar2 default null
661     ,p_attribute18                   in     varchar2 default null
662     ,p_attribute19                   in     varchar2 default null
663     ,p_attribute20                   in     varchar2 default null
664     ,p_job_information_category      in     varchar2 default null
665     ,p_job_information1              in     varchar2 default null
666     ,p_job_information2              in     varchar2 default null
667     ,p_job_information3              in     varchar2 default null
668     ,p_job_information4              in     varchar2 default null
669     ,p_job_information5              in     varchar2 default null
670     ,p_job_information6              in     varchar2 default null
671     ,p_job_information7              in     varchar2 default null
672     ,p_job_information8              in     varchar2 default null
673     ,p_job_information9              in     varchar2 default null
674     ,p_job_information10             in     varchar2 default null
675     ,p_job_information11             in     varchar2 default null
676     ,p_job_information12             in     varchar2 default null
677     ,p_job_information13             in     varchar2 default null
678     ,p_job_information14             in     varchar2 default null
679     ,p_job_information15             in     varchar2 default null
680     ,p_job_information16             in     varchar2 default null
681     ,p_job_information17             in     varchar2 default null
682     ,p_job_information18             in     varchar2 default null
683     ,p_job_information19             in     varchar2 default null
684     ,p_job_information20             in     varchar2 default null
685     ,p_segment1                      in     varchar2 default null
686     ,p_segment2                      in     varchar2 default null
687     ,p_segment3                      in     varchar2 default null
688     ,p_segment4                      in     varchar2 default null
689     ,p_segment5                      in     varchar2 default null
690     ,p_segment6                      in     varchar2 default null
691     ,p_segment7                      in     varchar2 default null
692     ,p_segment8                      in     varchar2 default null
693     ,p_segment9                      in     varchar2 default null
694     ,p_segment10                     in     varchar2 default null
695     ,p_segment11                     in     varchar2 default null
696     ,p_segment12                     in     varchar2 default null
697     ,p_segment13                     in     varchar2 default null
698     ,p_segment14                     in     varchar2 default null
699     ,p_segment15                     in     varchar2 default null
700     ,p_segment16                     in     varchar2 default null
701     ,p_segment17                     in     varchar2 default null
702     ,p_segment18                     in     varchar2 default null
703     ,p_segment19                     in     varchar2 default null
704     ,p_segment20                     in     varchar2 default null
705     ,p_segment21                     in     varchar2 default null
706     ,p_segment22                     in     varchar2 default null
707     ,p_segment23                     in     varchar2 default null
708     ,p_segment24                     in     varchar2 default null
709     ,p_segment25                     in     varchar2 default null
710     ,p_segment26                     in     varchar2 default null
711     ,p_segment27                     in     varchar2 default null
712     ,p_segment28                     in     varchar2 default null
713     ,p_segment29                     in     varchar2 default null
714     ,p_segment30                     in     varchar2 default null
715     ,p_concat_segments               in     varchar2 default null
716     ,p_language_code                 in     varchar2 default hr_api.userenv_lang
717     ,p_job_id                        in     number default null
718     ,p_job_definition_id          in out nocopy number
719     ) is
720 
721    l_validate boolean := false;
722    l_obj_ver_num    number(3);
723    l_name           per_jobs.name%TYPE;
724    l_valid_grades_changed_warning boolean;
725 begin
726   hr_utility.trace('job id : ' || p_job_id);
727   select object_version_number into l_obj_ver_num from per_jobs
728     where JOB_ID=p_job_id;
729 hr_job_api.update_job
730     (p_validate                     => l_validate
731     ,p_job_id                       => p_job_id
732     ,p_object_version_number        => l_obj_ver_num
733     ,p_date_from                    => p_date_from
734     ,p_comments                     => p_comments
735     ,p_date_to                      => p_date_to
736     ,p_benchmark_job_flag           => p_benchmark_job_flag
737     ,p_benchmark_job_id             => p_benchmark_job_id
738     ,p_emp_rights_flag              => p_emp_rights_flag
739     ,p_attribute_category           => p_attribute_category
740     ,p_attribute1                   => p_attribute1
741     ,p_attribute2                   => p_attribute2
742     ,p_attribute3                   => p_attribute3
743     ,p_attribute4                   => p_attribute4
744     ,p_attribute5                   => p_attribute5
745     ,p_attribute6                   => p_attribute6
746     ,p_attribute7                   => p_attribute7
747     ,p_attribute8                   => p_attribute8
748     ,p_attribute9                   => p_attribute9
749     ,p_attribute10                  => p_attribute10
750     ,p_attribute11                  => p_attribute11
751     ,p_attribute12                  => p_attribute12
752     ,p_attribute13                  => p_attribute13
753     ,p_attribute14                  => p_attribute14
754     ,p_attribute15                  => p_attribute15
755     ,p_attribute16                  => p_attribute16
756     ,p_attribute17                  => p_attribute17
757     ,p_attribute18                  => p_attribute18
758     ,p_attribute19                  => p_attribute19
759     ,p_attribute20                  => p_attribute20
760     ,p_job_information_category     => p_job_information_category
761     ,p_job_information1             => p_job_information1
762     ,p_job_information2             => p_job_information2
763     ,p_job_information3             => p_job_information3
764     ,p_job_information4             => p_job_information4
765     ,p_job_information5             => p_job_information5
766     ,p_job_information6             => p_job_information6
767     ,p_job_information7             => p_job_information7
768     ,p_job_information8             => p_job_information8
769     ,p_job_information9             => p_job_information9
770     ,p_job_information10            => p_job_information10
771     ,p_job_information11            => p_job_information11
772     ,p_job_information12            => p_job_information12
773     ,p_job_information13            => p_job_information13
774     ,p_job_information14            => p_job_information14
775     ,p_job_information15            => p_job_information15
776     ,p_job_information16            => p_job_information16
777     ,p_job_information17            => p_job_information17
778     ,p_job_information18            => p_job_information18
779     ,p_job_information19            => p_job_information19
780     ,p_job_information20            => p_job_information20
781     ,p_segment1                     => p_segment1
782     ,p_segment2                     => p_segment2
783     ,p_segment3                     => p_segment3
784     ,p_segment4                     => p_segment4
785     ,p_segment5                     => p_segment5
786     ,p_segment6                     => p_segment6
787     ,p_segment7                     => p_segment7
788     ,p_segment8                     => p_segment8
789     ,p_segment9                     => p_segment9
790     ,p_segment10                    => p_segment10
791     ,p_segment11                    => p_segment11
792     ,p_segment12                    => p_segment12
793     ,p_segment13                    => p_segment13
794     ,p_segment14                    => p_segment14
795     ,p_segment15                    => p_segment15
796     ,p_segment16                    => p_segment16
797     ,p_segment17                    => p_segment17
798     ,p_segment18                    => p_segment18
799     ,p_segment19                    => p_segment19
800     ,p_segment20                    => p_segment20
801     ,p_segment21                    => p_segment21
802     ,p_segment22                    => p_segment22
803     ,p_segment23                    => p_segment23
804     ,p_segment24                    => p_segment24
805     ,p_segment25                    => p_segment25
806     ,p_segment26                    => p_segment26
807     ,p_segment27                    => p_segment27
808     ,p_segment28                    => p_segment28
809     ,p_segment29                    => p_segment29
810     ,p_segment30                    => p_segment30
811     ,p_concat_segments              => p_concat_segments
812     ,p_approval_authority           => p_approval_authority
813     ,p_job_definition_id            => p_job_definition_id
814     ,p_name                         => l_name
815     ,p_valid_grades_changed_warning => l_valid_grades_changed_warning
816     ,p_effective_date		    => sysdate
817     );
818 end update_job;
819 
820 procedure check_job_exists
821     (p_business_group_id in number
822     ,p_segment1                      in     varchar2 default null
823     ,p_segment2                      in     varchar2 default null
824     ,p_segment3                      in     varchar2 default null
825     ,p_segment4                      in     varchar2 default null
826     ,p_segment5                      in     varchar2 default null
827     ,p_segment6                      in     varchar2 default null
828     ,p_segment7                      in     varchar2 default null
829     ,p_segment8                      in     varchar2 default null
830     ,p_segment9                      in     varchar2 default null
831     ,p_segment10                     in     varchar2 default null
832     ,p_segment11                     in     varchar2 default null
833     ,p_segment12                     in     varchar2 default null
834     ,p_segment13                     in     varchar2 default null
835     ,p_segment14                     in     varchar2 default null
836     ,p_segment15                     in     varchar2 default null
837     ,p_segment16                     in     varchar2 default null
838     ,p_segment17                     in     varchar2 default null
839     ,p_segment18                     in     varchar2 default null
840     ,p_segment19                     in     varchar2 default null
841     ,p_segment20                     in     varchar2 default null
842     ,p_segment21                     in     varchar2 default null
843     ,p_segment22                     in     varchar2 default null
844     ,p_segment23                     in     varchar2 default null
845     ,p_segment24                     in     varchar2 default null
846     ,p_segment25                     in     varchar2 default null
847     ,p_segment26                     in     varchar2 default null
848     ,p_segment27                     in     varchar2 default null
849     ,p_segment28                     in     varchar2 default null
850     ,p_segment29                     in     varchar2 default null
851     ,p_segment30                     in     varchar2 default null
852     ,p_concat_segments               in     varchar2 default null
853     ,p_job_id                        out nocopy number
854     ,p_job_definition_id          in out nocopy number
855     ,p_job_group_id                  in     number
856     ) is
857 
858   l_proc    varchar2(72) := g_package ||'.check_job_exists';
859   l_name                    per_jobs.name%TYPE;
860   l_flex_num                number;
861    cursor idsel is
862        select pjg.ID_FLEX_NUM
863        from per_job_groups pjg
864        where pjg.job_group_id = p_job_group_id;
865 
866 begin
867   hr_utility.trace('entering ' || l_proc);
868   open idsel;
869   fetch idsel into l_flex_num;
870   if idsel%notfound
871   then
872      close idsel;
873      --
874      -- the flex structure has not been found
875      --
876      hr_utility.set_message(801, 'HR_6039_ALL_CANT_GET_FFIELD');
877      hr_utility.raise_error;
878   end if;
879   close idsel;
880 
881      hr_kflex_utility.ins_or_sel_keyflex_comb
882        (p_appl_short_name       => 'PER'
883        ,p_flex_code             => 'JOB'
884        ,p_flex_num              => l_flex_num
885        ,p_segment1              => p_segment1
886        ,p_segment2              => p_segment2
887        ,p_segment3              => p_segment3
888        ,p_segment4              => p_segment4
889        ,p_segment5              => p_segment5
890        ,p_segment6              => p_segment6
891        ,p_segment7              => p_segment7
892        ,p_segment8              => p_segment8
893        ,p_segment9              => p_segment9
894        ,p_segment10             => p_segment10
895        ,p_segment11             => p_segment11
896        ,p_segment12             => p_segment12
897        ,p_segment13             => p_segment13
898        ,p_segment14             => p_segment14
899        ,p_segment15             => p_segment15
900        ,p_segment16             => p_segment16
901        ,p_segment17             => p_segment17
902        ,p_segment18             => p_segment18
903        ,p_segment19             => p_segment19
904        ,p_segment20             => p_segment20
905        ,p_segment21             => p_segment21
906        ,p_segment22             => p_segment22
907        ,p_segment23             => p_segment23
908        ,p_segment24             => p_segment24
909        ,p_segment25             => p_segment25
910        ,p_segment26             => p_segment26
911        ,p_segment27             => p_segment27
912        ,p_segment28             => p_segment28
913        ,p_segment29             => p_segment29
914        ,p_segment30             => p_segment30
915        ,p_concat_segments_in    => p_concat_segments
916        ,p_ccid                  => p_job_definition_id
917        ,p_concat_segments_out   => l_name
918        );
919 
920     select job_id into p_job_id
921     from per_jobs
922     where business_group_id = p_business_group_id
923     and   name = l_name;
924 
925 Exception
926 When others then
927 p_job_id := null;
928 end check_job_exists;
929 
930 
931 procedure insupd_job
932     (p_business_group_id             in     number
933     ,p_date_from                     in     date
934     ,p_comments                      in     varchar2 default null
935     ,p_date_to                       in     date     default null
936     ,p_approval_authority            in     number   default null
937     ,p_benchmark_job_flag            in     varchar2 default 'N'
938     ,p_benchmark_job_id              in     number   default null
939     ,p_emp_rights_flag               in     varchar2 default 'N'
940     ,p_job_group_id                  in     number
941     ,p_attribute_category            in     varchar2 default null
942     ,p_attribute1                    in     varchar2 default null
943     ,p_attribute2                    in     varchar2 default null
944     ,p_attribute3                    in     varchar2 default null
945     ,p_attribute4                    in     varchar2 default null
946     ,p_attribute5                    in     varchar2 default null
947     ,p_attribute6                    in     varchar2 default null
948     ,p_attribute7                    in     varchar2 default null
949     ,p_attribute8                    in     varchar2 default null
950     ,p_attribute9                    in     varchar2 default null
951     ,p_attribute10                   in     varchar2 default null
952     ,p_attribute11                   in     varchar2 default null
953     ,p_attribute12                   in     varchar2 default null
954     ,p_attribute13                   in     varchar2 default null
955     ,p_attribute14                   in     varchar2 default null
956     ,p_attribute15                   in     varchar2 default null
957     ,p_attribute16                   in     varchar2 default null
958     ,p_attribute17                   in     varchar2 default null
959     ,p_attribute18                   in     varchar2 default null
960     ,p_attribute19                   in     varchar2 default null
961     ,p_attribute20                   in     varchar2 default null
962     ,p_job_information_category      in     varchar2 default null
963     ,p_job_information1              in     varchar2 default null
964     ,p_job_information2              in     varchar2 default null
965     ,p_job_information3              in     varchar2 default null
966     ,p_job_information4              in     varchar2 default null
967     ,p_job_information5              in     varchar2 default null
968     ,p_job_information6              in     varchar2 default null
969     ,p_job_information7              in     varchar2 default null
970     ,p_job_information8              in     varchar2 default null
971     ,p_job_information9              in     varchar2 default null
972     ,p_job_information10             in     varchar2 default null
973     ,p_job_information11             in     varchar2 default null
974     ,p_job_information12             in     varchar2 default null
975     ,p_job_information13             in     varchar2 default null
976     ,p_job_information14             in     varchar2 default null
977     ,p_job_information15             in     varchar2 default null
978     ,p_job_information16             in     varchar2 default null
979     ,p_job_information17             in     varchar2 default null
980     ,p_job_information18             in     varchar2 default null
981     ,p_job_information19             in     varchar2 default null
982     ,p_job_information20             in     varchar2 default null
983     ,p_segment1                      in     varchar2 default null
984     ,p_segment2                      in     varchar2 default null
985     ,p_segment3                      in     varchar2 default null
986     ,p_segment4                      in     varchar2 default null
987     ,p_segment5                      in     varchar2 default null
988     ,p_segment6                      in     varchar2 default null
989     ,p_segment7                      in     varchar2 default null
990     ,p_segment8                      in     varchar2 default null
991     ,p_segment9                      in     varchar2 default null
992     ,p_segment10                     in     varchar2 default null
993     ,p_segment11                     in     varchar2 default null
994     ,p_segment12                     in     varchar2 default null
995     ,p_segment13                     in     varchar2 default null
996     ,p_segment14                     in     varchar2 default null
997     ,p_segment15                     in     varchar2 default null
998     ,p_segment16                     in     varchar2 default null
999     ,p_segment17                     in     varchar2 default null
1000     ,p_segment18                     in     varchar2 default null
1001     ,p_segment19                     in     varchar2 default null
1002     ,p_segment20                     in     varchar2 default null
1003     ,p_segment21                     in     varchar2 default null
1004     ,p_segment22                     in     varchar2 default null
1005     ,p_segment23                     in     varchar2 default null
1006     ,p_segment24                     in     varchar2 default null
1007     ,p_segment25                     in     varchar2 default null
1008     ,p_segment26                     in     varchar2 default null
1009     ,p_segment27                     in     varchar2 default null
1010     ,p_segment28                     in     varchar2 default null
1011     ,p_segment29                     in     varchar2 default null
1012     ,p_segment30                     in     varchar2 default null
1013     ,p_concat_segments               in     varchar2 default null
1014     ,p_language_code                 in     varchar2 default hr_api.userenv_lang
1015     ,p_job_id                        in     number default null
1016     ,p_job_definition_id          in out nocopy number
1017     ,P_CRT_UPD			  in 	 varchar2   default null
1018     ,p_migration_flag                in     varchar2
1019     ,p_interface_code                in     varchar2
1020      ) is
1021 
1022    l_validate boolean := false;
1023    l_job_id                   per_jobs.job_id%TYPE;
1024    l_job_definition_id        per_jobs.job_definition_id%TYPE                      := p_job_definition_id;
1025    l_name                     per_jobs.name%TYPE;
1026    l_object_version_number    per_jobs.object_version_number%TYPE;
1027    l_job_rec                  job_record;
1028 
1029 
1030   l_proc    varchar2(72) := g_package ||'.insupd_job';
1031 
1032 
1033   l_error_msg              varchar2(4000);
1034   l_create_flag    number(2) := 1;
1035   e_upl_not_allowed exception; -- when mode is 'View Only'
1036   e_crt_not_allowed exception; -- when mode is 'Update Only'
1037   g_upl_err_msg varchar2(100) := 'Upload NOT allowed.';
1038   g_crt_err_msg varchar2(100) := 'Creating NOT allowed.';
1039   g_crt_upd                 varchar2 (1):= 'D'; -- By default 'Download only'
1040   l_migration_allowed      varchar2(1) := 'Y';
1041   l_crt_upd                varchar2(1);
1042 
1043 
1044   Begin
1045 
1046   --l_migration_allowed := SUBSTR(p_crt_upd,3,1);
1047   l_migration_allowed := p_migration_flag;
1048   l_crt_upd := SUBSTR(p_crt_upd,1,1);
1049 		if (l_crt_upd is not null) then
1050 			  g_crt_upd      := l_crt_upd;
1051 		end if;
1052   check_job_exists
1053     (p_business_group_id
1054     ,p_segment1
1055     ,p_segment2
1056     ,p_segment3
1057     ,p_segment4
1058     ,p_segment5
1059     ,p_segment6
1060     ,p_segment7
1061     ,p_segment8
1062     ,p_segment9
1063     ,p_segment10
1064     ,p_segment11
1065     ,p_segment12
1066     ,p_segment13
1067     ,p_segment14
1068     ,p_segment15
1069     ,p_segment16
1070     ,p_segment17
1071     ,p_segment18
1072     ,p_segment19
1073     ,p_segment20
1074     ,p_segment21
1075     ,p_segment22
1076     ,p_segment23
1077     ,p_segment24
1078     ,p_segment25
1079     ,p_segment26
1080     ,p_segment27
1081     ,p_segment28
1082     ,p_segment29
1083     ,p_segment30
1084     ,p_concat_segments
1085     ,l_job_id
1086     ,p_job_definition_id
1087     ,p_job_group_id
1088     );
1089   if l_migration_allowed = 'Y' or p_job_id is null then
1090       if l_job_id is not null then
1091         l_create_flag := 2; --$ Update Mode
1092       else
1093         l_create_flag := 1; --$ Create Mode
1094       end if;
1095   elsif p_job_id is not null then
1096       if l_job_id is null then
1097         l_job_id := p_job_id;
1098       end if;
1099       l_create_flag := 2; --$ update Mode
1100   end if;
1101 
1102   Set_Current_Job_Record_Values
1103     (p_business_group_id            => p_business_group_id
1104     ,p_date_from                    => p_date_from
1105     ,p_comments                     => p_comments
1106     ,p_date_to                      => p_date_to
1107     ,p_approval_authority           => p_approval_authority
1108     ,p_benchmark_job_flag           => p_benchmark_job_flag
1109     ,p_benchmark_job_id             => p_benchmark_job_id
1110     ,p_emp_rights_flag              => p_emp_rights_flag
1111     ,p_job_group_id                 => p_job_group_id
1112     ,p_attribute_category           => p_attribute_category
1113     ,p_attribute1                   => p_attribute1
1114     ,p_attribute2                   => p_attribute2
1115     ,p_attribute3                   => p_attribute3
1116     ,p_attribute4                   => p_attribute4
1117     ,p_attribute5                   => p_attribute5
1118     ,p_attribute6                   => p_attribute6
1119     ,p_attribute7                   => p_attribute7
1120     ,p_attribute8                   => p_attribute8
1121     ,p_attribute9                   => p_attribute9
1122     ,p_attribute10                  => p_attribute10
1123     ,p_attribute11                  => p_attribute11
1124     ,p_attribute12                  => p_attribute12
1125     ,p_attribute13                  => p_attribute13
1126     ,p_attribute14                  => p_attribute14
1127     ,p_attribute15                  => p_attribute15
1128     ,p_attribute16                  => p_attribute16
1129     ,p_attribute17                  => p_attribute17
1130     ,p_attribute18                  => p_attribute18
1131     ,p_attribute19                  => p_attribute19
1132     ,p_attribute20                  => p_attribute20
1133     ,p_job_information_category     => p_job_information_category
1134     ,p_job_information1             => p_job_information1
1135     ,p_job_information2             => p_job_information2
1136     ,p_job_information3             => p_job_information3
1137     ,p_job_information4             => p_job_information4
1138     ,p_job_information5             => p_job_information5
1139     ,p_job_information6             => p_job_information6
1140     ,p_job_information7             => p_job_information7
1141     ,p_job_information8             => p_job_information8
1142     ,p_job_information9             => p_job_information9
1143     ,p_job_information10            => p_job_information10
1144     ,p_job_information11            => p_job_information11
1145     ,p_job_information12            => p_job_information12
1146     ,p_job_information13            => p_job_information13
1147     ,p_job_information14            => p_job_information14
1148     ,p_job_information15            => p_job_information15
1149     ,p_job_information16            => p_job_information16
1150     ,p_job_information17            => p_job_information17
1151     ,p_job_information18            => p_job_information18
1152     ,p_job_information19            => p_job_information19
1153     ,p_job_information20            => p_job_information20
1154     ,p_segment1                     => p_segment1
1155     ,p_segment2                     => p_segment2
1156     ,p_segment3                     => p_segment3
1157     ,p_segment4                     => p_segment4
1158     ,p_segment5                     => p_segment5
1159     ,p_segment6                     => p_segment6
1160     ,p_segment7                     => p_segment7
1161     ,p_segment8                     => p_segment8
1162     ,p_segment9                     => p_segment9
1163     ,p_segment10                    => p_segment10
1164     ,p_segment11                    => p_segment11
1165     ,p_segment12                    => p_segment12
1166     ,p_segment13                    => p_segment13
1167     ,p_segment14                    => p_segment14
1168     ,p_segment15                    => p_segment15
1169     ,p_segment16                    => p_segment16
1170     ,p_segment17                    => p_segment17
1171     ,p_segment18                    => p_segment18
1172     ,p_segment19                    => p_segment19
1173     ,p_segment20                    => p_segment20
1174     ,p_segment21                    => p_segment21
1175     ,p_segment22                    => p_segment22
1176     ,p_segment23                    => p_segment23
1177     ,p_segment24                    => p_segment24
1178     ,p_segment25                    => p_segment25
1179     ,p_segment26                    => p_segment26
1180     ,p_segment27                    => p_segment27
1181     ,p_segment28                    => p_segment28
1182     ,p_segment29                    => p_segment29
1183     ,p_segment30                    => p_segment30
1184     ,p_concat_segments              => p_concat_segments
1185     ,p_language_code                => p_language_code
1186     ,p_job_id                       => l_job_id
1187     ,p_job_definition_id            => p_job_definition_id
1188     ,p_interface_code               => p_interface_code
1189     );
1190 
1191 
1192 
1193 
1194   if (g_crt_upd = 'D') then
1195    raise e_upl_not_allowed;  -- View only flag is enabled but Trying to Upload
1196   end if;
1197   if (g_crt_upd = 'U' and l_create_flag = 1) then
1198    raise e_crt_not_allowed;  -- Update only flag is enabled but Trying to Create
1199   end if;
1200 
1201      if l_create_flag = 1 then
1202      hr_job_api.create_job
1203     (p_validate                      => l_validate
1204     ,p_business_group_id             => p_business_group_id
1205     ,p_date_from                     => p_date_from
1206     ,p_comments                      => p_comments
1207     ,p_date_to                       => p_date_to
1208     ,p_approval_authority            => p_approval_authority
1209     ,p_benchmark_job_flag            => p_benchmark_job_flag
1210     ,p_benchmark_job_id              => p_benchmark_job_id
1211     ,p_emp_rights_flag               => p_emp_rights_flag
1212     ,p_job_group_id                  => p_job_group_id
1213     ,p_attribute_category            => p_attribute_category
1214     ,p_attribute1                    => p_attribute1
1215     ,p_attribute2		    						 => p_attribute2
1216     ,p_attribute3                    => p_attribute3
1217     ,p_attribute4                    => p_attribute4
1218     ,p_attribute5                    => p_attribute5
1219     ,p_attribute6                    => p_attribute6
1220     ,p_attribute7                    => p_attribute7
1221     ,p_attribute8                    => p_attribute8
1222     ,p_attribute9                    => p_attribute9
1223     ,p_attribute10                   => p_attribute10
1224     ,p_attribute11                   => p_attribute11
1225     ,p_attribute12                   => p_attribute12
1226     ,p_attribute13                   => p_attribute13
1227     ,p_attribute14                   => p_attribute14
1228     ,p_attribute15                   => p_attribute15
1229     ,p_attribute16                   => p_attribute16
1230     ,p_attribute17                   => p_attribute17
1231     ,p_attribute18                   => p_attribute18
1232     ,p_attribute19                   => p_attribute19
1233     ,p_attribute20                   => p_attribute20
1234     ,p_job_information_category      => p_job_information_category
1235     ,p_job_information1              => p_job_information1
1236     ,p_job_information2              => p_job_information2
1237     ,p_job_information3              => p_job_information3
1238     ,p_job_information4              => p_job_information4
1239     ,p_job_information5              => p_job_information5
1240     ,p_job_information6              => p_job_information6
1241     ,p_job_information7              => p_job_information7
1242     ,p_job_information8              => p_job_information8
1243     ,p_job_information9              => p_job_information9
1244     ,p_job_information10             => p_job_information10
1245     ,p_job_information11             => p_job_information11
1246     ,p_job_information12             => p_job_information12
1247     ,p_job_information13             => p_job_information13
1248     ,p_job_information14             => p_job_information14
1249     ,p_job_information15             => p_job_information15
1250     ,p_job_information16             => p_job_information16
1251     ,p_job_information17             => p_job_information17
1252     ,p_job_information18             => p_job_information18
1253     ,p_job_information19             => p_job_information19
1254     ,p_job_information20             => p_job_information20
1255     ,p_segment1                      => p_segment1
1256     ,p_segment2                      => p_segment2
1257     ,p_segment3                      => p_segment3
1258     ,p_segment4                      => p_segment4
1259     ,p_segment5                      => p_segment5
1260     ,p_segment6                      => p_segment6
1261     ,p_segment7                      => p_segment7
1262     ,p_segment8                      => p_segment8
1263     ,p_segment9                      => p_segment9
1264     ,p_segment10                     => p_segment10
1265     ,p_segment11                     => p_segment11
1266     ,p_segment12                     => p_segment12
1267     ,p_segment13                     => p_segment13
1268     ,p_segment14                     => p_segment14
1269     ,p_segment15                     => p_segment15
1270     ,p_segment16                     => p_segment16
1271     ,p_segment17                     => p_segment17
1272     ,p_segment18                     => p_segment18
1273     ,p_segment19                     => p_segment19
1274     ,p_segment20                     => p_segment20
1275     ,p_segment21                     => p_segment21
1276     ,p_segment22                     => p_segment22
1277     ,p_segment23                     => p_segment23
1278     ,p_segment24                     => p_segment24
1279     ,p_segment25                     => p_segment25
1280     ,p_segment26                     => p_segment26
1281     ,p_segment27                     => p_segment27
1282     ,p_segment28                     => p_segment28
1283     ,p_segment29                     => p_segment29
1284     ,p_segment30                     => p_segment30
1285     ,p_concat_segments               => p_concat_segments
1286     ,p_language_code                 => p_language_code
1287     ,p_job_id                        => l_job_id
1288     ,p_object_version_number         => l_object_version_number
1289     ,p_job_definition_id             => l_job_definition_id
1290     ,p_name                          => l_name);
1291     end if;
1292 
1293 if l_create_flag = 2 then
1294     l_job_rec := Get_Job_Record_Values(p_interface_code);
1295 update_job
1296     (p_job_id                       => l_job_rec.job_id
1297     ,p_date_from                    => l_job_rec.date_from
1298     ,p_comments                     => l_job_rec.comments
1299     ,p_date_to                      => l_job_rec.date_to
1300     ,p_benchmark_job_flag           => l_job_rec.benchmark_job_flag
1301     ,p_benchmark_job_id             => l_job_rec.benchmark_job_id
1302     ,p_emp_rights_flag              => l_job_rec.emp_rights_flag
1303     ,p_attribute_category           => l_job_rec.attribute_category
1304     ,p_attribute1                   => l_job_rec.attribute1
1305     ,p_attribute2                   => l_job_rec.attribute2
1306     ,p_attribute3                   => l_job_rec.attribute3
1307     ,p_attribute4                   => l_job_rec.attribute4
1308     ,p_attribute5                   => l_job_rec.attribute5
1309     ,p_attribute6                   => l_job_rec.attribute6
1310     ,p_attribute7                   => l_job_rec.attribute7
1311     ,p_attribute8                   => l_job_rec.attribute8
1312     ,p_attribute9                   => l_job_rec.attribute9
1313     ,p_attribute10                  => l_job_rec.attribute10
1314     ,p_attribute11                  => l_job_rec.attribute11
1315     ,p_attribute12                  => l_job_rec.attribute12
1316     ,p_attribute13                  => l_job_rec.attribute13
1317     ,p_attribute14                  => l_job_rec.attribute14
1318     ,p_attribute15                  => l_job_rec.attribute15
1319     ,p_attribute16                  => l_job_rec.attribute16
1320     ,p_attribute17                  => l_job_rec.attribute17
1321     ,p_attribute18                  => l_job_rec.attribute18
1322     ,p_attribute19                  => l_job_rec.attribute19
1323     ,p_attribute20                  => l_job_rec.attribute20
1324     ,p_job_information_category     => l_job_rec.job_information_category
1325     ,p_job_information1             => l_job_rec.job_information1
1326     ,p_job_information2             => l_job_rec.job_information2
1327     ,p_job_information3             => l_job_rec.job_information3
1328     ,p_job_information4             => l_job_rec.job_information4
1329     ,p_job_information5             => l_job_rec.job_information5
1330     ,p_job_information6             => l_job_rec.job_information6
1331     ,p_job_information7             => l_job_rec.job_information7
1332     ,p_job_information8             => l_job_rec.job_information8
1333     ,p_job_information9             => l_job_rec.job_information9
1334     ,p_job_information10            => l_job_rec.job_information10
1335     ,p_job_information11            => l_job_rec.job_information11
1336     ,p_job_information12            => l_job_rec.job_information12
1337     ,p_job_information13            => l_job_rec.job_information13
1338     ,p_job_information14            => l_job_rec.job_information14
1339     ,p_job_information15            => l_job_rec.job_information15
1340     ,p_job_information16            => l_job_rec.job_information16
1341     ,p_job_information17            => l_job_rec.job_information17
1342     ,p_job_information18            => l_job_rec.job_information18
1343     ,p_job_information19            => l_job_rec.job_information19
1344     ,p_job_information20            => l_job_rec.job_information20
1345     ,p_segment1                     => l_job_rec.segment1
1346     ,p_segment2                     => l_job_rec.segment2
1347     ,p_segment3                     => l_job_rec.segment3
1348     ,p_segment4                     => l_job_rec.segment4
1349     ,p_segment5                     => l_job_rec.segment5
1350     ,p_segment6                     => l_job_rec.segment6
1351     ,p_segment7                     => l_job_rec.segment7
1352     ,p_segment8                     => l_job_rec.segment8
1353     ,p_segment9                     => l_job_rec.segment9
1354     ,p_segment10                    => l_job_rec.segment10
1355     ,p_segment11                    => l_job_rec.segment11
1356     ,p_segment12                    => l_job_rec.segment12
1357     ,p_segment13                    => l_job_rec.segment13
1358     ,p_segment14                    => l_job_rec.segment14
1359     ,p_segment15                    => l_job_rec.segment15
1360     ,p_segment16                    => l_job_rec.segment16
1361     ,p_segment17                    => l_job_rec.segment17
1362     ,p_segment18                    => l_job_rec.segment18
1363     ,p_segment19                    => l_job_rec.segment19
1364     ,p_segment20                    => l_job_rec.segment20
1365     ,p_segment21                    => l_job_rec.segment21
1366     ,p_segment22                    => l_job_rec.segment22
1367     ,p_segment23                    => l_job_rec.segment23
1368     ,p_segment24                    => l_job_rec.segment24
1369     ,p_segment25                    => l_job_rec.segment25
1370     ,p_segment26                    => l_job_rec.segment26
1371     ,p_segment27                    => l_job_rec.segment27
1372     ,p_segment28                    => l_job_rec.segment28
1373     ,p_segment29                    => l_job_rec.segment29
1374     ,p_segment30                    => l_job_rec.segment30
1375     ,p_concat_segments              => l_job_rec.concat_segments
1376     ,p_approval_authority           => l_job_rec.approval_authority
1377     ,p_job_definition_id            => l_job_definition_id
1378     );
1379 end if;
1380 Exception
1381 
1382   when e_upl_not_allowed then
1383     hr_utility.set_message(8303, 'PQP_230500_HROSS_GENERIC_ERR');
1384     hr_utility.set_message_token('GENERIC_TOKEN',g_upl_err_msg);
1385     hr_utility.set_location('Leaving: ' || l_proc, 90);
1386     hr_utility.raise_error;
1387   when e_crt_not_allowed then
1388     hr_utility.set_message(8303, 'PQP_230500_HROSS_GENERIC_ERR');
1389     hr_utility.set_message_token('GENERIC_TOKEN',g_crt_err_msg);
1390     hr_utility.set_location('Leaving: ' || l_proc, 100);
1391     hr_utility.raise_error;
1392   when others then
1393    --l_error_msg := Substr(SQLERRM,1,2000);
1394    hr_utility.set_location('SQLCODE :' || SQLCODE,90);
1395    hr_utility.set_location('SQLERRM :' || SQLERRM,90);
1396    --hr_utility.set_message(8303, 'PQP_230500_HROSS_GENERIC_ERR');
1397    --hr_utility.set_message_token('GENERIC_TOKEN',substr(l_error_msg,1,50) );
1398    hr_utility.set_location(' Leaving:' || l_proc,50);
1399    hr_utility.raise_error;
1400 
1401 
1402 
1403 end INSUPD_JOB;
1404 
1405 
1406 end PQP_RIW_JOB_WRAPPER;