DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSP_ERD_INS

Source


1 Package Body psp_erd_ins as
2 /* $Header: PSPEDRHB.pls 120.2 2006/01/25 01:49 dpaudel noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  psp_erd_ins.';  -- Global package name
9 --
10 -- The following global variables are only to be used by
11 -- the set_base_key_value and pre_insert procedures.
12 --
13 g_effort_report_detail_id_i  number   default null;
14 --
15 -- ----------------------------------------------------------------------------
16 -- |------------------------< set_base_key_value >----------------------------|
17 -- ----------------------------------------------------------------------------
18 procedure set_base_key_value
19   (p_effort_report_detail_id  in  number) is
20 --
21   l_proc       varchar2(72) := g_package||'set_base_key_value';
22 --
23 Begin
24   hr_utility.set_location('Entering:'||l_proc, 10);
25   --
26   psp_erd_ins.g_effort_report_detail_id_i := p_effort_report_detail_id;
27   --
28   hr_utility.set_location(' Leaving:'||l_proc, 20);
29 End set_base_key_value;
30 --
31 --
32 -- ----------------------------------------------------------------------------
33 -- |------------------------------< insert_dml >------------------------------|
34 -- ----------------------------------------------------------------------------
35 -- {Start Of Comments}
36 --
37 -- Description:
38 --   This procedure controls the actual dml insert logic. The processing of
39 --   this procedure are as follows:
40 --   1) Initialise the object_version_number to 1 if the object_version_number
41 --      is defined as an attribute for this entity.
42 --   2) To set and unset the g_api_dml status as required (as we are about to
43 --      perform dml).
44 --   3) To insert the row into the schema.
45 --   4) To trap any constraint violations that may have occurred.
46 --   5) To raise any other errors.
47 --
48 -- Prerequisites:
49 --   This is an internal private procedure which must be called from the ins
50 --   procedure and must have all mandatory attributes set (except the
51 --   object_version_number which is initialised within this procedure).
52 --
53 -- In Parameters:
54 --   A Pl/Sql record structre.
55 --
56 -- Post Success:
57 --   The specified row will be inserted into the schema.
58 --
59 -- Post Failure:
60 --   On the insert dml failure it is important to note that we always reset the
61 --   g_api_dml status to false.
62 --   If a check, unique or parent integrity constraint violation is raised the
63 --   constraint_error procedure will be called.
64 --   If any other error is reported, the error will be raised after the
65 --   g_api_dml status is reset.
66 --
67 -- Developer Implementation Notes:
68 --   None.
69 --
70 -- Access Status:
71 --   Internal Row Handler Use Only.
72 --
73 -- {End Of Comments}
74 -- ----------------------------------------------------------------------------
75 Procedure insert_dml
76   (p_rec in out nocopy psp_erd_shd.g_rec_type
77   ) is
78 --
79   l_proc  varchar2(72) := g_package||'insert_dml';
80 --
81 Begin
82   hr_utility.set_location('Entering:'||l_proc, 5);
83   p_rec.object_version_number := 1;  -- Initialise the object version
84   --
85   --
86   --
87   -- Insert the row into: psp_eff_report_details
88   --
89   insert into psp_eff_report_details
90       (effort_report_detail_id
91       ,effort_report_id
92       ,object_version_number
93       ,assignment_id
94       ,assignment_number
95       ,gl_sum_criteria_segment_name
96       ,gl_segment1
97       ,gl_segment2
98       ,gl_segment3
99       ,gl_segment4
100       ,gl_segment5
101       ,gl_segment6
102       ,gl_segment7
103       ,gl_segment8
104       ,gl_segment9
105       ,gl_segment10
106       ,gl_segment11
107       ,gl_segment12
108       ,gl_segment13
109       ,gl_segment14
110       ,gl_segment15
111       ,gl_segment16
112       ,gl_segment17
113       ,gl_segment18
114       ,gl_segment19
115       ,gl_segment20
116       ,gl_segment21
117       ,gl_segment22
118       ,gl_segment23
119       ,gl_segment24
120       ,gl_segment25
121       ,gl_segment26
122       ,gl_segment27
123       ,gl_segment28
124       ,gl_segment29
125       ,gl_segment30
126       ,project_id
127       ,project_number
128       ,project_name
129       ,expenditure_organization_id
130       ,exp_org_name
131       ,expenditure_type
132       ,task_id
133       ,task_number
134       ,task_name
135       ,award_id
136       ,award_number
137       ,award_short_name
138       ,actual_salary_amt
139       ,payroll_percent
140       ,proposed_salary_amt
141       ,proposed_effort_percent
142       ,committed_cost_share
143       ,schedule_start_date
144       ,schedule_end_date
145       ,ame_transaction_id
146       ,investigator_name
147       ,investigator_person_id
148       ,investigator_org_name
149       ,investigator_primary_org_id
150       ,value1
151       ,value2
152       ,value3
153       ,value4
154       ,value5
155       ,value6
156       ,value7
157       ,value8
158       ,value9
159       ,value10
160       ,attribute1
161       ,attribute2
162       ,attribute3
163       ,attribute4
164       ,attribute5
165       ,attribute6
166       ,attribute7
167       ,attribute8
168       ,attribute9
169       ,attribute10
170       ,grouping_category
171       )
172   Values
173     (p_rec.effort_report_detail_id
174     ,p_rec.effort_report_id
175     ,p_rec.object_version_number
176     ,p_rec.assignment_id
177     ,p_rec.assignment_number
178     ,p_rec.gl_sum_criteria_segment_name
179     ,p_rec.gl_segment1
180     ,p_rec.gl_segment2
181     ,p_rec.gl_segment3
182     ,p_rec.gl_segment4
183     ,p_rec.gl_segment5
184     ,p_rec.gl_segment6
185     ,p_rec.gl_segment7
186     ,p_rec.gl_segment8
187     ,p_rec.gl_segment9
188     ,p_rec.gl_segment10
189     ,p_rec.gl_segment11
190     ,p_rec.gl_segment12
191     ,p_rec.gl_segment13
192     ,p_rec.gl_segment14
193     ,p_rec.gl_segment15
194     ,p_rec.gl_segment16
195     ,p_rec.gl_segment17
196     ,p_rec.gl_segment18
197     ,p_rec.gl_segment19
198     ,p_rec.gl_segment20
199     ,p_rec.gl_segment21
200     ,p_rec.gl_segment22
201     ,p_rec.gl_segment23
202     ,p_rec.gl_segment24
203     ,p_rec.gl_segment25
204     ,p_rec.gl_segment26
205     ,p_rec.gl_segment27
206     ,p_rec.gl_segment28
207     ,p_rec.gl_segment29
208     ,p_rec.gl_segment30
209     ,p_rec.project_id
210     ,p_rec.project_number
211     ,p_rec.project_name
212     ,p_rec.expenditure_organization_id
213     ,p_rec.exp_org_name
214     ,p_rec.expenditure_type
215     ,p_rec.task_id
216     ,p_rec.task_number
217     ,p_rec.task_name
218     ,p_rec.award_id
219     ,p_rec.award_number
220     ,p_rec.award_short_name
221     ,p_rec.actual_salary_amt
222     ,p_rec.payroll_percent
223     ,p_rec.proposed_salary_amt
224     ,p_rec.proposed_effort_percent
225     ,p_rec.committed_cost_share
226     ,p_rec.schedule_start_date
227     ,p_rec.schedule_end_date
228     ,p_rec.ame_transaction_id
229     ,p_rec.investigator_name
230     ,p_rec.investigator_person_id
231     ,p_rec.investigator_org_name
232     ,p_rec.investigator_primary_org_id
233     ,p_rec.value1
234     ,p_rec.value2
235     ,p_rec.value3
236     ,p_rec.value4
237     ,p_rec.value5
238     ,p_rec.value6
239     ,p_rec.value7
240     ,p_rec.value8
241     ,p_rec.value9
242     ,p_rec.value10
243     ,p_rec.attribute1
244     ,p_rec.attribute2
245     ,p_rec.attribute3
246     ,p_rec.attribute4
247     ,p_rec.attribute5
248     ,p_rec.attribute6
249     ,p_rec.attribute7
250     ,p_rec.attribute8
251     ,p_rec.attribute9
252     ,p_rec.attribute10
253     ,p_rec.grouping_category
254     );
255   --
256   --
257   --
258   hr_utility.set_location(' Leaving:'||l_proc, 10);
259 Exception
260   When hr_api.check_integrity_violated Then
261     -- A check constraint has been violated
262     --
263     psp_erd_shd.constraint_error
264       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
265   When hr_api.parent_integrity_violated Then
266     -- Parent integrity has been violated
267     --
268     psp_erd_shd.constraint_error
269       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
270   When hr_api.unique_integrity_violated Then
271     -- Unique integrity has been violated
272     --
273     psp_erd_shd.constraint_error
274       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
275   When Others Then
276     --
277     Raise;
278 End insert_dml;
279 --
280 -- ----------------------------------------------------------------------------
281 -- |------------------------------< pre_insert >------------------------------|
282 -- ----------------------------------------------------------------------------
283 -- {Start Of Comments}
284 --
285 -- Description:
286 --   This private procedure contains any processing which is required before
287 --   the insert dml. Presently, if the entity has a corresponding primary
288 --   key which is maintained by an associating sequence, the primary key for
289 --   the entity will be populated with the next sequence value in
290 --   preparation for the insert dml.
291 --
292 -- Prerequisites:
293 --   This is an internal procedure which is called from the ins procedure.
294 --
295 -- In Parameters:
296 --   A Pl/Sql record structure.
297 --
298 -- Post Success:
299 --   Processing continues.
300 --
301 -- Post Failure:
302 --   If an error has occurred, an error message and exception will be raised
303 --   but not handled.
304 --
305 -- Developer Implementation Notes:
306 --   Any pre-processing required before the insert dml is issued should be
307 --   coded within this procedure. As stated above, a good example is the
308 --   generation of a primary key number via a corresponding sequence.
309 --   It is important to note that any 3rd party maintenance should be reviewed
310 --   before placing in this procedure.
311 --
312 -- Access Status:
313 --   Internal Row Handler Use Only.
314 --
315 -- {End Of Comments}
316 -- ----------------------------------------------------------------------------
317 Procedure pre_insert
318   (p_rec  in out nocopy psp_erd_shd.g_rec_type
319   ) is
320 --
321   Cursor C_Sel1 is select psp_eff_report_details_s.nextval from sys.dual;
322 --
323   Cursor C_Sel2 is
324     Select null
325       from psp_eff_report_details
326      where effort_report_detail_id =
327              psp_erd_ins.g_effort_report_detail_id_i;
328 --
329   l_proc   varchar2(72) := g_package||'pre_insert';
330   l_exists varchar2(1);
331 --
332 Begin
333   hr_utility.set_location('Entering:'||l_proc, 5);
334   --
335   If (psp_erd_ins.g_effort_report_detail_id_i is not null) Then
336     --
337     -- Verify registered primary key values not already in use
338     --
339     Open C_Sel2;
340     Fetch C_Sel2 into l_exists;
341     If C_Sel2%found Then
342        Close C_Sel2;
343        --
344        -- The primary key values are already in use.
345        --
346        fnd_message.set_name('PER','PER_289391_KEY_ALREADY_USED');
347        fnd_message.set_token('TABLE_NAME','psp_eff_report_details');
348        fnd_message.raise_error;
349     End If;
350     Close C_Sel2;
351     --
352     -- Use registered key values and clear globals
353     --
354     p_rec.effort_report_detail_id :=
355       psp_erd_ins.g_effort_report_detail_id_i;
356     psp_erd_ins.g_effort_report_detail_id_i := null;
357   Else
358     --
359     -- No registerd key values, so select the next sequence number
360     --
361     --
362     -- Select the next sequence number
363     --
364     Open C_Sel1;
365     Fetch C_Sel1 Into p_rec.effort_report_detail_id;
366     Close C_Sel1;
367   End If;
368   --
369   hr_utility.set_location(' Leaving:'||l_proc, 10);
370 End pre_insert;
371 --
372 -- ----------------------------------------------------------------------------
373 -- |-----------------------------< post_insert >------------------------------|
374 -- ----------------------------------------------------------------------------
375 -- {Start Of Comments}
376 --
377 -- Description:
378 --   This private procedure contains any processing which is required after
379 --   the insert dml.
380 --
381 -- Prerequisites:
382 --   This is an internal procedure which is called from the ins procedure.
383 --
384 -- In Parameters:
385 --   A Pl/Sql record structre.
386 --
387 -- Post Success:
388 --   Processing continues.
389 --
390 -- Post Failure:
391 --   If an error has occurred, an error message and exception will be raised
392 --   but not handled.
393 --
394 -- Developer Implementation Notes:
395 --   Any post-processing required after the insert dml is issued should be
396 --   coded within this procedure. It is important to note that any 3rd party
397 --   maintenance should be reviewed before placing in this procedure.
398 --
399 -- Access Status:
400 --   Internal Row Handler Use Only.
401 --
402 -- {End Of Comments}
403 -- ----------------------------------------------------------------------------
404 Procedure post_insert
405   (p_rec                          in psp_erd_shd.g_rec_type
406   ) is
407 --
408   l_proc  varchar2(72) := g_package||'post_insert';
409 --
410 Begin
411   hr_utility.set_location('Entering:'||l_proc, 5);
412   begin
413     --
414     psp_erd_rki.after_insert
415       (p_effort_report_detail_id
416       => p_rec.effort_report_detail_id
417       ,p_effort_report_id
418       => p_rec.effort_report_id
419       ,p_object_version_number
420       => p_rec.object_version_number
421       ,p_assignment_id
422       => p_rec.assignment_id
423       ,p_assignment_number
424       => p_rec.assignment_number
425       ,p_gl_sum_criteria_segment_name
426       => p_rec.gl_sum_criteria_segment_name
427       ,p_gl_segment1
428       => p_rec.gl_segment1
429       ,p_gl_segment2
430       => p_rec.gl_segment2
431       ,p_gl_segment3
432       => p_rec.gl_segment3
433       ,p_gl_segment4
434       => p_rec.gl_segment4
435       ,p_gl_segment5
436       => p_rec.gl_segment5
437       ,p_gl_segment6
438       => p_rec.gl_segment6
439       ,p_gl_segment7
440       => p_rec.gl_segment7
441       ,p_gl_segment8
442       => p_rec.gl_segment8
443       ,p_gl_segment9
444       => p_rec.gl_segment9
445       ,p_gl_segment10
446       => p_rec.gl_segment10
447       ,p_gl_segment11
448       => p_rec.gl_segment11
449       ,p_gl_segment12
450       => p_rec.gl_segment12
451       ,p_gl_segment13
452       => p_rec.gl_segment13
453       ,p_gl_segment14
454       => p_rec.gl_segment14
455       ,p_gl_segment15
456       => p_rec.gl_segment15
457       ,p_gl_segment16
458       => p_rec.gl_segment16
459       ,p_gl_segment17
460       => p_rec.gl_segment17
461       ,p_gl_segment18
462       => p_rec.gl_segment18
463       ,p_gl_segment19
464       => p_rec.gl_segment19
465       ,p_gl_segment20
466       => p_rec.gl_segment20
467       ,p_gl_segment21
468       => p_rec.gl_segment21
469       ,p_gl_segment22
470       => p_rec.gl_segment22
471       ,p_gl_segment23
472       => p_rec.gl_segment23
473       ,p_gl_segment24
474       => p_rec.gl_segment24
475       ,p_gl_segment25
476       => p_rec.gl_segment25
477       ,p_gl_segment26
478       => p_rec.gl_segment26
479       ,p_gl_segment27
480       => p_rec.gl_segment27
481       ,p_gl_segment28
482       => p_rec.gl_segment28
483       ,p_gl_segment29
484       => p_rec.gl_segment29
485       ,p_gl_segment30
486       => p_rec.gl_segment30
487       ,p_project_id
488       => p_rec.project_id
489       ,p_project_number
490       => p_rec.project_number
491       ,p_project_name
492       => p_rec.project_name
493       ,p_expenditure_organization_id
494       => p_rec.expenditure_organization_id
495       ,p_exp_org_name
496       => p_rec.exp_org_name
497       ,p_expenditure_type
498       => p_rec.expenditure_type
499       ,p_task_id
500       => p_rec.task_id
501       ,p_task_number
502       => p_rec.task_number
503       ,p_task_name
504       => p_rec.task_name
505       ,p_award_id
506       => p_rec.award_id
507       ,p_award_number
508       => p_rec.award_number
509       ,p_award_short_name
510       => p_rec.award_short_name
511       ,p_actual_salary_amt
512       => p_rec.actual_salary_amt
513       ,p_payroll_percent
514       => p_rec.payroll_percent
515       ,p_proposed_salary_amt
516       => p_rec.proposed_salary_amt
517       ,p_proposed_effort_percent
518       => p_rec.proposed_effort_percent
519       ,p_committed_cost_share
520       => p_rec.committed_cost_share
521       ,p_schedule_start_date
522       => p_rec.schedule_start_date
523       ,p_schedule_end_date
524       => p_rec.schedule_end_date
525       ,p_ame_transaction_id
526       => p_rec.ame_transaction_id
527       ,p_investigator_name
528       => p_rec.investigator_name
529       ,p_investigator_person_id
530       => p_rec.investigator_person_id
531       ,p_investigator_org_name
532       => p_rec.investigator_org_name
533       ,p_investigator_primary_org_id
534       => p_rec.investigator_primary_org_id
535       ,p_value1
536       => p_rec.value1
537       ,p_value2
538       => p_rec.value2
539       ,p_value3
540       => p_rec.value3
541       ,p_value4
542       => p_rec.value4
543       ,p_value5
544       => p_rec.value5
545       ,p_value6
546       => p_rec.value6
547       ,p_value7
548       => p_rec.value7
549       ,p_value8
550       => p_rec.value8
551       ,p_value9
552       => p_rec.value9
553       ,p_value10
554       => p_rec.value10
555       ,p_attribute1
556       => p_rec.attribute1
557       ,p_attribute2
558       => p_rec.attribute2
559       ,p_attribute3
560       => p_rec.attribute3
561       ,p_attribute4
562       => p_rec.attribute4
563       ,p_attribute5
564       => p_rec.attribute5
565       ,p_attribute6
566       => p_rec.attribute6
567       ,p_attribute7
568       => p_rec.attribute7
569       ,p_attribute8
570       => p_rec.attribute8
571       ,p_attribute9
572       => p_rec.attribute9
573       ,p_attribute10
574       => p_rec.attribute10
575       ,p_grouping_category
576       => p_rec.grouping_category
577       );
578     --
579   exception
580     --
581     when hr_api.cannot_find_prog_unit then
582       --
583       hr_api.cannot_find_prog_unit_error
584         (p_module_name => 'PSP_EFF_REPORT_DETAILS'
585         ,p_hook_type   => 'AI');
586       --
587   end;
588   --
589   hr_utility.set_location(' Leaving:'||l_proc, 10);
590 End post_insert;
591 --
592 -- ----------------------------------------------------------------------------
593 -- |---------------------------------< ins >----------------------------------|
594 -- ----------------------------------------------------------------------------
595 Procedure ins
596   (p_rec                          in out nocopy psp_erd_shd.g_rec_type
597   ) is
598 --
599   l_proc  varchar2(72) := g_package||'ins';
600 --
601 Begin
602   hr_utility.set_location('Entering:'||l_proc, 5);
603   --
604   -- Call the supporting insert validate operations
605   --
606   psp_erd_bus.insert_validate
607      (p_rec
608      );
609   --
610   -- Call to raise any errors on multi-message list
611   hr_multi_message.end_validation_set;
612   --
613   -- Call the supporting pre-insert operation
614   --
615   psp_erd_ins.pre_insert(p_rec);
616   --
617   -- Insert the row
618   --
619   psp_erd_ins.insert_dml(p_rec);
620   --
621   -- Call the supporting post-insert operation
622   --
623   psp_erd_ins.post_insert
624      (p_rec
625      );
626   --
627   -- Call to raise any errors on multi-message list
628   hr_multi_message.end_validation_set;
629   --
630   hr_utility.set_location('Leaving:'||l_proc, 20);
631 end ins;
632 --
633 -- ----------------------------------------------------------------------------
634 -- |---------------------------------< ins >----------------------------------|
635 -- ----------------------------------------------------------------------------
636 Procedure ins
637   (p_effort_report_id               in     number
638   ,p_actual_salary_amt              in     number
639   ,p_payroll_percent                in     number
640   ,p_assignment_id                  in     number   default null
641   ,p_assignment_number              in     varchar2 default null
642   ,p_gl_sum_criteria_segment_name   in     varchar2 default null
643   ,p_gl_segment1                    in     varchar2 default null
644   ,p_gl_segment2                    in     varchar2 default null
645   ,p_gl_segment3                    in     varchar2 default null
646   ,p_gl_segment4                    in     varchar2 default null
647   ,p_gl_segment5                    in     varchar2 default null
648   ,p_gl_segment6                    in     varchar2 default null
649   ,p_gl_segment7                    in     varchar2 default null
650   ,p_gl_segment8                    in     varchar2 default null
651   ,p_gl_segment9                    in     varchar2 default null
652   ,p_gl_segment10                   in     varchar2 default null
653   ,p_gl_segment11                   in     varchar2 default null
654   ,p_gl_segment12                   in     varchar2 default null
655   ,p_gl_segment13                   in     varchar2 default null
656   ,p_gl_segment14                   in     varchar2 default null
657   ,p_gl_segment15                   in     varchar2 default null
658   ,p_gl_segment16                   in     varchar2 default null
659   ,p_gl_segment17                   in     varchar2 default null
660   ,p_gl_segment18                   in     varchar2 default null
661   ,p_gl_segment19                   in     varchar2 default null
662   ,p_gl_segment20                   in     varchar2 default null
663   ,p_gl_segment21                   in     varchar2 default null
664   ,p_gl_segment22                   in     varchar2 default null
665   ,p_gl_segment23                   in     varchar2 default null
666   ,p_gl_segment24                   in     varchar2 default null
667   ,p_gl_segment25                   in     varchar2 default null
668   ,p_gl_segment26                   in     varchar2 default null
669   ,p_gl_segment27                   in     varchar2 default null
670   ,p_gl_segment28                   in     varchar2 default null
671   ,p_gl_segment29                   in     varchar2 default null
672   ,p_gl_segment30                   in     varchar2 default null
673   ,p_project_id                     in     number   default null
674   ,p_project_number                 in     varchar2 default null
675   ,p_project_name                   in     varchar2 default null
676   ,p_expenditure_organization_id    in     number   default null
677   ,p_exp_org_name                   in     varchar2 default null
678   ,p_expenditure_type               in     varchar2 default null
679   ,p_task_id                        in     number   default null
680   ,p_task_number                    in     varchar2 default null
681   ,p_task_name                      in     varchar2 default null
682   ,p_award_id                       in     number   default null
683   ,p_award_number                   in     varchar2 default null
684   ,p_award_short_name               in     varchar2 default null
685   ,p_proposed_salary_amt            in     number   default null
686   ,p_proposed_effort_percent        in     number   default null
687   ,p_committed_cost_share           in     number   default null
688   ,p_schedule_start_date            in     date     default null
689   ,p_schedule_end_date              in     date     default null
690   ,p_ame_transaction_id             in     varchar2 default null
691   ,p_investigator_name              in     varchar2 default null
692   ,p_investigator_person_id         in     number   default null
693   ,p_investigator_org_name          in     varchar2 default null
694   ,p_investigator_primary_org_id    in     number   default null
695   ,p_value1                         in     number   default null
696   ,p_value2                         in     number   default null
697   ,p_value3                         in     number   default null
698   ,p_value4                         in     number   default null
699   ,p_value5                         in     number   default null
700   ,p_value6                         in     number   default null
701   ,p_value7                         in     number   default null
702   ,p_value8                         in     number   default null
703   ,p_value9                         in     number   default null
704   ,p_value10                        in     number   default null
705   ,p_attribute1                     in     varchar2 default null
706   ,p_attribute2                     in     varchar2 default null
707   ,p_attribute3                     in     varchar2 default null
708   ,p_attribute4                     in     varchar2 default null
709   ,p_attribute5                     in     varchar2 default null
710   ,p_attribute6                     in     varchar2 default null
711   ,p_attribute7                     in     varchar2 default null
712   ,p_attribute8                     in     varchar2 default null
713   ,p_attribute9                     in     varchar2 default null
714   ,p_attribute10                    in     varchar2 default null
715   ,p_grouping_category              in     varchar2 default null
716   ,p_effort_report_detail_id           out nocopy number
717   ,p_object_version_number             out nocopy number
718   ) is
719 --
720   l_rec   psp_erd_shd.g_rec_type;
721   l_proc  varchar2(72) := g_package||'ins';
722 --
723 Begin
724   hr_utility.set_location('Entering:'||l_proc, 5);
725   --
726   -- Call conversion function to turn arguments into the
727   -- p_rec structure.
728   --
729   l_rec :=
730   psp_erd_shd.convert_args
731     (null
732     ,p_effort_report_id
733     ,null
734     ,p_assignment_id
735     ,p_assignment_number
736     ,p_gl_sum_criteria_segment_name
737     ,p_gl_segment1
738     ,p_gl_segment2
739     ,p_gl_segment3
740     ,p_gl_segment4
741     ,p_gl_segment5
742     ,p_gl_segment6
743     ,p_gl_segment7
744     ,p_gl_segment8
745     ,p_gl_segment9
746     ,p_gl_segment10
747     ,p_gl_segment11
748     ,p_gl_segment12
749     ,p_gl_segment13
750     ,p_gl_segment14
751     ,p_gl_segment15
752     ,p_gl_segment16
753     ,p_gl_segment17
754     ,p_gl_segment18
755     ,p_gl_segment19
756     ,p_gl_segment20
757     ,p_gl_segment21
758     ,p_gl_segment22
759     ,p_gl_segment23
760     ,p_gl_segment24
761     ,p_gl_segment25
762     ,p_gl_segment26
763     ,p_gl_segment27
764     ,p_gl_segment28
765     ,p_gl_segment29
766     ,p_gl_segment30
767     ,p_project_id
768     ,p_project_number
769     ,p_project_name
770     ,p_expenditure_organization_id
771     ,p_exp_org_name
772     ,p_expenditure_type
773     ,p_task_id
774     ,p_task_number
775     ,p_task_name
776     ,p_award_id
777     ,p_award_number
778     ,p_award_short_name
779     ,p_actual_salary_amt
780     ,p_payroll_percent
781     ,p_proposed_salary_amt
782     ,p_proposed_effort_percent
783     ,p_committed_cost_share
784     ,p_schedule_start_date
785     ,p_schedule_end_date
786     ,p_ame_transaction_id
787     ,p_investigator_name
788     ,p_investigator_person_id
789     ,p_investigator_org_name
790     ,p_investigator_primary_org_id
791     ,p_value1
792     ,p_value2
793     ,p_value3
794     ,p_value4
795     ,p_value5
796     ,p_value6
797     ,p_value7
798     ,p_value8
799     ,p_value9
800     ,p_value10
801     ,p_attribute1
802     ,p_attribute2
803     ,p_attribute3
804     ,p_attribute4
805     ,p_attribute5
806     ,p_attribute6
807     ,p_attribute7
808     ,p_attribute8
809     ,p_attribute9
810     ,p_attribute10
811     ,p_grouping_category
812     );
813   --
814   -- Having converted the arguments into the psp_erd_rec
815   -- plsql record structure we call the corresponding record business process.
816   --
817   psp_erd_ins.ins
818      (l_rec
819      );
820   --
821   -- As the primary key argument(s)
822   -- are specified as an OUT's we must set these values.
823   --
824   p_effort_report_detail_id := l_rec.effort_report_detail_id;
825   p_object_version_number := l_rec.object_version_number;
826   --
827   hr_utility.set_location(' Leaving:'||l_proc, 10);
828 End ins;
829 --
830 end psp_erd_ins;