92: if(l_debug_procedure >= l_debug_runtime) then
93: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'Entered '||G_PKG_NAME||'.'||l_api_name);
94: end if;
95:
96: save_threshold := wf_engine.threshold;
97: l_event_name := p_event.getEventName();
98: -- Detect the event raised and determine necessary parameters depending on the event.
99:
100: if(l_debug_procedure >= l_debug_runtime) then
112: -- Construct the unique item key
113: SELECT l_incident_id ||'-'|| to_char(asp_wf_alerts_s.nextval) INTO l_item_key FROM DUAL;
114:
115: -- Start the ASP Alert Manager Process (ASP_ALERT_PROCESS) with the following info:
116: wf_engine.threshold := -1;
117: wf_engine.CreateProcess( itemtype => 'ASPALERT', itemkey => l_item_key, process => 'ASP_ALERT_PROCESS',user_key=>l_item_key);
118: if(l_debug_procedure >= l_debug_runtime) then
119: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'l_item_key='||l_item_key);
120: end if;
113: SELECT l_incident_id ||'-'|| to_char(asp_wf_alerts_s.nextval) INTO l_item_key FROM DUAL;
114:
115: -- Start the ASP Alert Manager Process (ASP_ALERT_PROCESS) with the following info:
116: wf_engine.threshold := -1;
117: wf_engine.CreateProcess( itemtype => 'ASPALERT', itemkey => l_item_key, process => 'ASP_ALERT_PROCESS',user_key=>l_item_key);
118: if(l_debug_procedure >= l_debug_runtime) then
119: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'l_item_key='||l_item_key);
120: end if;
121:
118: if(l_debug_procedure >= l_debug_runtime) then
119: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'l_item_key='||l_item_key);
120: end if;
121:
122: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_NAME', 'SVCREQUEST_ESCALATED_ALERT');
123: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_CODE', 'SERVICE_REQUEST');
124: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_ID', l_incident_id);
125: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_TASK_ID', l_event_key);
126: if(l_debug_procedure >= l_debug_runtime) then
119: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'l_item_key='||l_item_key);
120: end if;
121:
122: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_NAME', 'SVCREQUEST_ESCALATED_ALERT');
123: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_CODE', 'SERVICE_REQUEST');
124: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_ID', l_incident_id);
125: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_TASK_ID', l_event_key);
126: if(l_debug_procedure >= l_debug_runtime) then
127: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'Before wf_engine.StartProcess');
120: end if;
121:
122: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_NAME', 'SVCREQUEST_ESCALATED_ALERT');
123: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_CODE', 'SERVICE_REQUEST');
124: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_ID', l_incident_id);
125: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_TASK_ID', l_event_key);
126: if(l_debug_procedure >= l_debug_runtime) then
127: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'Before wf_engine.StartProcess');
128: end if;
121:
122: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_NAME', 'SVCREQUEST_ESCALATED_ALERT');
123: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_CODE', 'SERVICE_REQUEST');
124: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_ID', l_incident_id);
125: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_TASK_ID', l_event_key);
126: if(l_debug_procedure >= l_debug_runtime) then
127: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'Before wf_engine.StartProcess');
128: end if;
129: wf_engine.StartProcess(itemtype => 'ASPALERT', itemkey => l_item_key);
123: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_CODE', 'SERVICE_REQUEST');
124: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_ID', l_incident_id);
125: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_TASK_ID', l_event_key);
126: if(l_debug_procedure >= l_debug_runtime) then
127: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'Before wf_engine.StartProcess');
128: end if;
129: wf_engine.StartProcess(itemtype => 'ASPALERT', itemkey => l_item_key);
130: if(l_debug_procedure >= l_debug_runtime) then
131: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'After wf_engine.StartProcess');
125: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_TASK_ID', l_event_key);
126: if(l_debug_procedure >= l_debug_runtime) then
127: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'Before wf_engine.StartProcess');
128: end if;
129: wf_engine.StartProcess(itemtype => 'ASPALERT', itemkey => l_item_key);
130: if(l_debug_procedure >= l_debug_runtime) then
131: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'After wf_engine.StartProcess');
132: end if;
133: commit;
127: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'Before wf_engine.StartProcess');
128: end if;
129: wf_engine.StartProcess(itemtype => 'ASPALERT', itemkey => l_item_key);
130: if(l_debug_procedure >= l_debug_runtime) then
131: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'After wf_engine.StartProcess');
132: end if;
133: commit;
134:
135: END LOOP;
141: end if;
142: SELECT to_char(asp_wf_alerts_s.nextval) INTO l_item_key FROM DUAL;
143:
144: -- Start the ASP Alert Manager Process (ASP_ALERT_PROCESS) with the following info:
145: wf_engine.threshold := -1;
146: wf_engine.CreateProcess( itemtype => 'ASPALERT', itemkey => l_item_key, process => 'ASP_ALERT_PROCESS',user_key=>l_item_key);
147: if(l_debug_procedure >= l_debug_runtime) then
148: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'l_item_key='||l_item_key);
149: end if;
142: SELECT to_char(asp_wf_alerts_s.nextval) INTO l_item_key FROM DUAL;
143:
144: -- Start the ASP Alert Manager Process (ASP_ALERT_PROCESS) with the following info:
145: wf_engine.threshold := -1;
146: wf_engine.CreateProcess( itemtype => 'ASPALERT', itemkey => l_item_key, process => 'ASP_ALERT_PROCESS',user_key=>l_item_key);
147: if(l_debug_procedure >= l_debug_runtime) then
148: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'l_item_key='||l_item_key);
149: end if;
150:
147: if(l_debug_procedure >= l_debug_runtime) then
148: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'l_item_key='||l_item_key);
149: end if;
150:
151: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_NAME', l_event_name);
152: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_CODE', 'CUSTOM');
153:
154: myList := P_event.getParameterList();
155: if (myList is not null) then
148: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'l_item_key='||l_item_key);
149: end if;
150:
151: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_NAME', l_event_name);
152: wf_engine.SetItemAttrText('ASPALERT', l_item_key, 'ALERT_SOURCE_OBJECT_CODE', 'CUSTOM');
153:
154: myList := P_event.getParameterList();
155: if (myList is not null) then
156: pos := myList.LAST;
159: pName := myList(pos).getName();
160: pValue := myList(pos).getValue();
161: pName := upper(pName);
162: pos := myList.PRIOR(pos);
163: wf_engine.SetItemAttrText('ASPALERT', l_item_key, pName, pValue);
164: exception when others then
165: null;
166: end;
167: end loop;
167: end loop;
168: end if;
169:
170: if(l_debug_procedure >= l_debug_runtime) then
171: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'Before wf_engine.StartProcess');
172: end if;
173: wf_engine.StartProcess(itemtype => 'ASPALERT', itemkey => l_item_key);
174: if(l_debug_procedure >= l_debug_runtime) then
175: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'After wf_engine.StartProcess');
169:
170: if(l_debug_procedure >= l_debug_runtime) then
171: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'Before wf_engine.StartProcess');
172: end if;
173: wf_engine.StartProcess(itemtype => 'ASPALERT', itemkey => l_item_key);
174: if(l_debug_procedure >= l_debug_runtime) then
175: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'After wf_engine.StartProcess');
176: end if;
177: commit;
171: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'Before wf_engine.StartProcess');
172: end if;
173: wf_engine.StartProcess(itemtype => 'ASPALERT', itemkey => l_item_key);
174: if(l_debug_procedure >= l_debug_runtime) then
175: fnd_log.string(l_debug_procedure, G_MODULE||l_api_name, 'After wf_engine.StartProcess');
176: end if;
177: commit;
178:
179: END IF;
176: end if;
177: commit;
178:
179: END IF;
180: wf_engine.threshold := save_threshold;
181: RETURN 'SUCCESS';
182:
183: EXCEPTION
184: WHEN others THEN
183: EXCEPTION
184: WHEN others THEN
185: WF_CORE.CONTEXT(G_PKG_NAME, l_api_name, l_event_name, p_subscription_guid);
186: WF_EVENT.setErrorInfo(p_event, 'WARNING');
187: wf_engine.threshold := save_threshold;
188: if(l_debug_exception >= l_debug_runtime) then
189: fnd_log.string(l_debug_exception, G_MODULE||l_api_name,
190: 'Leaving '||G_PKG_NAME||'.'||l_api_name||'with exceptions' ||
191: to_char(SQLCODE)||':'||substr(SQLERRM,1,500));