[Home] [Help]
PACKAGE BODY: APPS.MSC_EVENT
Source
1 package body msc_event as
2 /* $Header: MSCEVNTB.pls 120.1 2005/07/05 12:36:32 vpillari noship $ */
3
4 function user_name_changed ( p_subscription_guid in raw
5 , p_event in out nocopy wf_event_t
6 ) return varchar2 is
7 cursor dblink is
8 select trim(a2m_dblink)
9 from mrp_ap_apps_instances;
10 db varchar2(2000);
11 updsql varchar2(32000);
12 key varchar2(401);
13 newVal varchar2(200);
14 oldVal varchar2(200);
15
16 begin
17 log('start');
18 open dblink;
19 fetch dblink into db;
20 close dblink;
21 key := p_event.getEventKey();
22 newVal := substr(key,1,instr(key,':')-1);
23 oldVal := substr(key,instr(key,':')+1);
24 if db is not null then
25 updsql := 'update msc_planners'||'@'||db;
26 else
27 updsql := 'update msc_planners ';
28 end if;
29 updsql := updsql||' set user_name = '''||newVal||
30 ''' where '||' user_name = '''||oldVal||'''';
31 execute immediate updsql;
32 log('after update ');
33 return SUCCESS;
34 exception
35 when others then
36 return ( handleError ( PKG_NAME
37 , 'user_name_changed'
38 , p_event
39 , p_subscription_guid
40 , ERROR
41 ));
42
43 end user_name_changed;
44
45 function handleError ( p_pkg_name in varchar2
46 , p_function_name in varchar2
47 , p_event in out nocopy wf_event_t
48 , p_subscription_guid in raw
49 , p_error_type in varchar2
50 ) return varchar2 is
51
52 l_error_type varchar2(100);
53
54 begin
55 if p_error_type in (ERROR,WARNING) then
56 l_error_type := p_error_type;
57 else
58 l_error_type := p_error_type;
59 end if;
60 if l_error_type = WARNING then
61 wf_core.context ( p_pkg_name
62 , p_function_name
63 , p_event.getEventName()
64 , p_subscription_guid
65 );
66 wf_event.setErrorInfo (p_event, WARNING);
67 return WARNING;
68 else
69 wf_core.context ( p_pkg_name
70 , p_function_name
71 , p_event.getEventName()
72 , p_subscription_guid
73 );
74 wf_event.setErrorInfo (p_event, ERROR);
75 return ERROR;
76 end if;
77 end handleError;
78
79
80 procedure log (msg in varchar2) is
81 begin
82 if (fnd_log.level_statement >= fnd_log.g_current_runtime_level ) then
83 fnd_log.string ( fnd_log.level_statement
84 , PKG_NAME
85 , msg
86 );
87 end if;
88 end log;
89
90 end msc_event;