1: package body WF_EVENT_PING_PKG as
2: /* $Header: WFEVPNGB.pls 120.1 2005/07/02 03:14:33 appldev ship $ */
3: ------------------------------------------------------------------------------
4: /*
5: ** launch_processes - Loops through all external agents
27: wfa.name <> 'WF_ERROR'
28: and wfa.status = 'ENABLED'
29: and wfa.direction = 'IN'
30: and wfa.system_guid = wfs.guid
31: and upper(wfa.queue_handler) = 'WF_EVENT_QH';
32:
33: l_eventname varchar2(100);
34: l_eventkey varchar2(240);
35: l_itemkey varchar2(100);
32:
33: l_eventname varchar2(100);
34: l_eventkey varchar2(240);
35: l_itemkey varchar2(100);
36: l_event_t wf_event_t;
37: l_msg varchar2(32000);
38: l_clob clob;
39:
40: begin
76: itemkey => l_itemkey,
77: aname => 'TOAGENT',
78: avalue => x.agent||'@'||x.system);
79:
80: -- Initialise the wf_event_t
81: wf_event_t.initialize(l_event_t);
82: l_event_t.setcorrelationid(l_itemkey);
83: l_msg := '
84: dbms_lob.createtemporary(l_clob, FALSE, DBMS_LOB.CALL);
77: aname => 'TOAGENT',
78: avalue => x.agent||'@'||x.system);
79:
80: -- Initialise the wf_event_t
81: wf_event_t.initialize(l_event_t);
82: l_event_t.setcorrelationid(l_itemkey);
83: l_msg := '
84: dbms_lob.createtemporary(l_clob, FALSE, DBMS_LOB.CALL);
85: dbms_lob.write(l_clob, length(l_msg), 1 , l_msg);
115: end if;
116:
117: exception
118: when others then
119: WF_CORE.CONTEXT('WF_EVENT_PING_PKG', 'LAUNCH_PROCESSES', ITEMTYPE, ITEMKEY, to_char(ACTID), FUNCMODE);
120: raise;
121: end LAUNCH_PROCESSES;
122: ------------------------------------------------------------------------------
123: function ACKNOWLEDGE (
121: end LAUNCH_PROCESSES;
122: ------------------------------------------------------------------------------
123: function ACKNOWLEDGE (
124: P_SUBSCRIPTION_GUID in raw,
125: P_EVENT in out nocopy wf_event_t
126: ) return varchar2 is
127: ------------------------------------------------------------------------------
128: l_fromagent wf_agent_t;
129: l_result varchar2(100);
142: and wfs.name = p_name
143: and wfa.name <> 'WF_ERROR'
144: and wfa.status = 'ENABLED'
145: and wfa.direction = 'IN'
146: and upper(wfa.queue_handler) = 'WF_EVENT_QH';
147:
148: begin
149:
150: l_fromagent := wf_agent_t (NULL, NULL);
156: fetch c_return_agent into l_returnagent;
157: close c_return_agent;
158:
159: /*
160: ** Null out From Agent, repackage up the event and use wf_event.send
161: **
162: */
163: if (wf_log_pkg.level_procedure >= fnd_log.g_current_runtime_level) then
164: wf_log_pkg.string(wf_log_pkg.level_procedure,
161: **
162: */
163: if (wf_log_pkg.level_procedure >= fnd_log.g_current_runtime_level) then
164: wf_log_pkg.string(wf_log_pkg.level_procedure,
165: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.Begin',
166: ' Started');
167: end if;
168:
169: p_event.to_agent.name := l_returnagent;
172: p_event.SetFromAgent(l_FromAgent);
173:
174: if (wf_log_pkg.level_statement >= fnd_log.g_current_runtime_level) then
175: wf_log_pkg.string(wf_log_pkg.level_statement,
176: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.ToAgent',
177: 'To Agent:'||p_event.to_agent.name);
178: wf_log_pkg.string(wf_log_pkg.level_statement,
179: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.ToSystem',
180: 'To System:'||p_event.to_agent.system);
175: wf_log_pkg.string(wf_log_pkg.level_statement,
176: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.ToAgent',
177: 'To Agent:'||p_event.to_agent.name);
178: wf_log_pkg.string(wf_log_pkg.level_statement,
179: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.ToSystem',
180: 'To System:'||p_event.to_agent.system);
181: wf_log_pkg.string(wf_log_pkg.level_statement,
182: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.FromAgent',
183: 'From Agent:'||p_event.from_agent.name);
178: wf_log_pkg.string(wf_log_pkg.level_statement,
179: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.ToSystem',
180: 'To System:'||p_event.to_agent.system);
181: wf_log_pkg.string(wf_log_pkg.level_statement,
182: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.FromAgent',
183: 'From Agent:'||p_event.from_agent.name);
184: wf_log_pkg.string(wf_log_pkg.level_statement,
185: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.FromSystem',
186: 'From System:'||p_event.from_agent.system);
181: wf_log_pkg.string(wf_log_pkg.level_statement,
182: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.FromAgent',
183: 'From Agent:'||p_event.from_agent.name);
184: wf_log_pkg.string(wf_log_pkg.level_statement,
185: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.FromSystem',
186: 'From System:'||p_event.from_agent.system);
187: end if;
188:
189: p_event.SetEventName('oracle.apps.wf.event.test.ack');
185: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.FromSystem',
186: 'From System:'||p_event.from_agent.system);
187: end if;
188:
189: p_event.SetEventName('oracle.apps.wf.event.test.ack');
190:
191: if (wf_log_pkg.level_statement >= fnd_log.g_current_runtime_level) then
192: wf_log_pkg.string(wf_log_pkg.level_statement,
193: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.Send',
189: p_event.SetEventName('oracle.apps.wf.event.test.ack');
190:
191: if (wf_log_pkg.level_statement >= fnd_log.g_current_runtime_level) then
192: wf_log_pkg.string(wf_log_pkg.level_statement,
193: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.Send',
194: 'Sending Event');
195: end if;
196:
197: wf_event.send(
193: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.Send',
194: 'Sending Event');
195: end if;
196:
197: wf_event.send(
198: p_event => p_event);
199:
200: if (wf_log_pkg.level_statement >= fnd_log.g_current_runtime_level) then
201: wf_log_pkg.string(wf_log_pkg.level_statement,
198: p_event => p_event);
199:
200: if (wf_log_pkg.level_statement >= fnd_log.g_current_runtime_level) then
201: wf_log_pkg.string(wf_log_pkg.level_statement,
202: 'wf.plsqlWF_EVENT_PING_PKG.ACKNOWLEDGE.Sent',
203: ' Sent');
204: end if;
205:
206: l_result := wf_rule.default_rule(p_subscription_guid, p_event);
208: return(l_result);
209:
210: exception
211: when others then
212: WF_CORE.CONTEXT('WF_EVENT_PING_PKG','ACKNOWLEDGE',p_event.event_name,p_event.event_key, p_event.correlation_id);
213: wf_event.setErrorInfo(p_event,'ERROR');
214: return('ERROR');
215: end;
216:
209:
210: exception
211: when others then
212: WF_CORE.CONTEXT('WF_EVENT_PING_PKG','ACKNOWLEDGE',p_event.event_name,p_event.event_key, p_event.correlation_id);
213: wf_event.setErrorInfo(p_event,'ERROR');
214: return('ERROR');
215: end;
216:
217: end WF_EVENT_PING_PKG;
213: wf_event.setErrorInfo(p_event,'ERROR');
214: return('ERROR');
215: end;
216:
217: end WF_EVENT_PING_PKG;