[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;