DBA Data[Home] [Help]

PACKAGE BODY: APPS.IRC_DOCUMENT_BE4

Source


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