DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQP_RIW_GRADE_WRAPPER

Source


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