DBA Data[Home] [Help]

PACKAGE BODY: APPS.IRC_DOCUMENT_BE1

Source


1 package body irc_document_be1 as 
2 --Code generated on 30/03/2009 04:31:22
3 /* $Header: hrapiwfe.pkb 120.4.12010000.2 2008/09/29 12:54:07 srgnanas ship $*/
4 procedure create_document_a (
5 p_effective_date               date,
6 p_type                         varchar2,
7 p_mime_type                    varchar2,
8 p_person_id                    number,
9 p_assignment_id                number,
10 p_file_name                    varchar2,
11 p_description                  varchar2,
12 p_document_id                  number,
13 p_object_version_number        number,
14 p_end_date                     date) is
15   l_event_key number;
16   l_event_data clob;
17   l_event_name varchar2(250);
18   l_text varchar2(2000);
19   l_message varchar2(10);
20   --
21   cursor get_seq is
22   select per_wf_events_s.nextval from dual;
23   --
24   l_proc varchar2(72):='  irc_document_be1.create_document_a';
25 begin
26   hr_utility.set_location('Entering: '||l_proc,10);
27   -- check the status of the business event
28   l_event_name:='oracle.apps.per.irc.api.document.create_document';
29   l_message:=wf_event.test(l_event_name);
30   --
31   if (l_message='MESSAGE') then
32     hr_utility.set_location(l_proc,20);
33     --
34     -- get a key for the event
35     --
36     open get_seq;
37     fetch get_seq into l_event_key;
38     close get_seq;
39     --
40     -- build the xml data for the event
41     --
42     dbms_lob.createTemporary(l_event_data,false,dbms_lob.call);
43     l_text:='<?xml version =''1.0'' encoding =''ASCII''?>';
44     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
45     l_text:='<document>';
46     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
47     --
48     l_text:='<effective_date>';
49     l_text:=l_text||fnd_date.date_to_canonical(p_effective_date);
50     l_text:=l_text||'</effective_date>';
51     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
52     l_text:='<type>';
53     l_text:=l_text||irc_utilities_pkg.removeTags(p_type);
54     l_text:=l_text||'</type>';
55     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
56     l_text:='<mime_type>';
57     l_text:=l_text||irc_utilities_pkg.removeTags(p_mime_type);
58     l_text:=l_text||'</mime_type>';
59     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
60     l_text:='<person_id>';
61     l_text:=l_text||fnd_number.number_to_canonical(p_person_id);
62     l_text:=l_text||'</person_id>';
63     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
64     l_text:='<assignment_id>';
65     l_text:=l_text||fnd_number.number_to_canonical(p_assignment_id);
66     l_text:=l_text||'</assignment_id>';
67     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
68     l_text:='<file_name>';
69     l_text:=l_text||irc_utilities_pkg.removeTags(p_file_name);
70     l_text:=l_text||'</file_name>';
71     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
72     l_text:='<description>';
73     l_text:=l_text||irc_utilities_pkg.removeTags(p_description);
74     l_text:=l_text||'</description>';
75     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
76     l_text:='<document_id>';
77     l_text:=l_text||fnd_number.number_to_canonical(p_document_id);
78     l_text:=l_text||'</document_id>';
79     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
80     l_text:='<object_version_number>';
81     l_text:=l_text||fnd_number.number_to_canonical(p_object_version_number);
82     l_text:=l_text||'</object_version_number>';
83     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
84     l_text:='<end_date>';
85     l_text:=l_text||fnd_date.date_to_canonical(p_end_date);
86     l_text:=l_text||'</end_date>';
87     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
88     l_text:='</document>';
89     --
90     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
91     --
92     -- raise the event with the event data
93     wf_event.raise(p_event_name=>l_event_name
94                   ,p_event_key=>l_event_key
95                   ,p_event_data=>l_event_data);
96   elsif (l_message='KEY') then
97     hr_utility.set_location(l_proc,30);
98     -- get a key for the event
99     open get_seq;
100     fetch get_seq into l_event_key;
101     close get_seq;
102     -- this is a key event, so just raise the event
103     -- without the event data
104     wf_event.raise(p_event_name=>l_event_name
105                   ,p_event_key=>l_event_key);
106   elsif (l_message='NONE') then
107     hr_utility.set_location(l_proc,40);
108     -- no event is required, so do nothing
109     null;
110   end if;
111     hr_utility.set_location('Leaving: '||l_proc,50);
112 end create_document_a;
113 end irc_document_be1;