46: --
47: -- Error (PRIVATE)
48: -- Print a page with an error message.
49: -- Errors are retrieved from these sources in order:
50: -- 1. wf_core errors
51: -- 2. Oracle errors
52: -- 3. Unspecified INTERNAL error
53: --
54: procedure Error
113: x_status_icons_table(G_SUSPEND).icon_file_name := 'FNDIYLWL.gif';
114:
115: EXCEPTION
116: WHEN OTHERS THEN
117: Wf_Core.Context('wf_monitor',
118: 'create_status_icons_table');
119: Error;
120:
121: END create_status_icons_table;
210:
211: begin
212:
213: -- We will check the installation type to be passed to the monitor applet.
214: l_installType := WF_CORE.Translate('WF_INSTALL');
215:
216: /*
217: ** Hide any session creation issues for now and depend on the
218: ** access key to prevent a user from running this function without
226:
227: wfa_sec.GetSession(username);
228:
229: -- Security checking
230: admin_role := wf_core.Translate('WF_ADMIN_ROLE');
231: if (admin_role <> '*') then
232: if (wf_directory.IsPerformer(username, admin_role)) then
233: admin_privilege := true;
234: if (upper(substr(x_admin_mode, 1, 1)) = 'Y') then
248: when others then
249: -- If AccessKeyCheck will return "ERROR" directly if failed
250: if (not(AccessKeyCheck(x_item_type, x_item_key, x_admin_mode,
251: x_access_key))) then
252: htp.p(wf_core.translate('WRONG_ACCESS_KEY'));
253: return;
254: else
255: dbms_session.set_nls('NLS_LANGUAGE', ''''||x_nls_lang||'''');
256: pseudo_login := TRUE;
275: and item_key = x_item_key;
276:
277: exception
278: when NO_DATA_FOUND then
279: wf_core.Context('Wf_Monitor', 'HTML', x_item_type, x_item_key);
280: wf_core.Token('TYPE', x_item_type);
281: wf_core.Token('KEY', x_item_key);
282: wf_core.Raise('WFENG_ITEM');
283: when OTHERS then
276:
277: exception
278: when NO_DATA_FOUND then
279: wf_core.Context('Wf_Monitor', 'HTML', x_item_type, x_item_key);
280: wf_core.Token('TYPE', x_item_type);
281: wf_core.Token('KEY', x_item_key);
282: wf_core.Raise('WFENG_ITEM');
283: when OTHERS then
284: htp.p(sqlerrm);
277: exception
278: when NO_DATA_FOUND then
279: wf_core.Context('Wf_Monitor', 'HTML', x_item_type, x_item_key);
280: wf_core.Token('TYPE', x_item_type);
281: wf_core.Token('KEY', x_item_key);
282: wf_core.Raise('WFENG_ITEM');
283: when OTHERS then
284: htp.p(sqlerrm);
285: return;
278: when NO_DATA_FOUND then
279: wf_core.Context('Wf_Monitor', 'HTML', x_item_type, x_item_key);
280: wf_core.Token('TYPE', x_item_type);
281: wf_core.Token('KEY', x_item_key);
282: wf_core.Raise('WFENG_ITEM');
283: when OTHERS then
284: htp.p(sqlerrm);
285: return;
286: end;
314: htp.p('');
315:
316: -- Open body and draw standard header
317: wfa_sec.header(FALSE, 'wf_monitor.find_instance" TARGET="_top',
318: wf_core.translate('WFMON_VIEW_DIAGRAM'), TRUE, pseudo_login);
319:
320: if (l_installType = 'EMBEDDED') then
321: if (instr(UPPER(owa_util.get_cgi_env('HTTP_USER_AGENT')), 'WIN') > 0) then
322: l_archive := '/OA_JAVA/oracle/apps/fnd/jar/wfmon.jar, ' ||
324: '/OA_JAVA/oracle/apps/fnd/jar/fndswing.jar, ' ||
325: '/OA_JAVA/oracle/apps/fnd/jar/fndbalishare.jar, ' ||
326: '/OA_JAVA/oracle/apps/fnd/jar/fndctx.jar';
327:
328: l_wf_plugin_download := Wf_Core.translate('WF_PLUGIN_DOWNLOAD');
329: l_wf_plugin_version := Wf_Core.translate('WF_PLUGIN_VERSION');
330: l_wf_classid := Wf_Core.translate('WF_CLASSID');
331: l_ie_plugin_ver := replace(Wf_Core.translate('WF_PLUGIN_VERSION'), '.', ',');
332:
325: '/OA_JAVA/oracle/apps/fnd/jar/fndbalishare.jar, ' ||
326: '/OA_JAVA/oracle/apps/fnd/jar/fndctx.jar';
327:
328: l_wf_plugin_download := Wf_Core.translate('WF_PLUGIN_DOWNLOAD');
329: l_wf_plugin_version := Wf_Core.translate('WF_PLUGIN_VERSION');
330: l_wf_classid := Wf_Core.translate('WF_CLASSID');
331: l_ie_plugin_ver := replace(Wf_Core.translate('WF_PLUGIN_VERSION'), '.', ',');
332:
333: htp.p('
326: '/OA_JAVA/oracle/apps/fnd/jar/fndctx.jar';
327:
328: l_wf_plugin_download := Wf_Core.translate('WF_PLUGIN_DOWNLOAD');
329: l_wf_plugin_version := Wf_Core.translate('WF_PLUGIN_VERSION');
330: l_wf_classid := Wf_Core.translate('WF_CLASSID');
331: l_ie_plugin_ver := replace(Wf_Core.translate('WF_PLUGIN_VERSION'), '.', ',');
332:
333: htp.p('
327:
328: l_wf_plugin_download := Wf_Core.translate('WF_PLUGIN_DOWNLOAD');
329: l_wf_plugin_version := Wf_Core.translate('WF_PLUGIN_VERSION');
330: l_wf_classid := Wf_Core.translate('WF_CLASSID');
331: l_ie_plugin_ver := replace(Wf_Core.translate('WF_PLUGIN_VERSION'), '.', ',');
332:
333: htp.p('
458: p.instance_label, /* activity usage */
459: '' timeout,
460: p.start_end,
461: p.default_result,
462: wf_core.activity_result(a.result_type, p.default_result)
463: activity_usage_result,
464: p.icon_geometry,
465: p.perform_role,
466: p.user_comment,
466: p.user_comment,
467: s.activity_status, /* activity status */
468: l2.meaning activity_status_disp,
469: s.activity_result_code,
470: wf_core.activity_result(a.result_type, s.activity_result_code)
471: activity_status_result,
472: s.assigned_user,
473: wf_directory.getroledisplayname(s.assigned_user) rolename,
474: s.notification_id,
539: tokenized_mesg VARCHAR2(10000);
540: tokenized_stack VARCHAR2(10000);
541: tokenized_description VARCHAR2(10000);
542: return_token VARCHAR2(9) := '@#@';
543: l_tab varchar2(30) := wf_core.tab;
544:
545: begin
546:
547: open rootproc_info;
554: end if;
555:
556: -- The htp.p proc does not handle returns well, replace them
557: -- with the value
558: -- tokenized_mesg := substr((replace (rc.error_message, wf_core.newline, return_token)), 1, 220);
559: tokenized_mesg := replace (rc.error_message, wf_core.newline,
560: return_token);
561: tokenized_stack := replace (rc.error_stack, wf_core.newline,
562: return_token);
555:
556: -- The htp.p proc does not handle returns well, replace them
557: -- with the value
558: -- tokenized_mesg := substr((replace (rc.error_message, wf_core.newline, return_token)), 1, 220);
559: tokenized_mesg := replace (rc.error_message, wf_core.newline,
560: return_token);
561: tokenized_stack := replace (rc.error_stack, wf_core.newline,
562: return_token);
563: tokenized_description := replace (rc.description, wf_core.newline,
557: -- with the value
558: -- tokenized_mesg := substr((replace (rc.error_message, wf_core.newline, return_token)), 1, 220);
559: tokenized_mesg := replace (rc.error_message, wf_core.newline,
560: return_token);
561: tokenized_stack := replace (rc.error_stack, wf_core.newline,
562: return_token);
563: tokenized_description := replace (rc.description, wf_core.newline,
564: return_token);
565:
559: tokenized_mesg := replace (rc.error_message, wf_core.newline,
560: return_token);
561: tokenized_stack := replace (rc.error_stack, wf_core.newline,
562: return_token);
563: tokenized_description := replace (rc.description, wf_core.newline,
564: return_token);
565:
566: -- The format we use is to list all the fields,
567: -- delineated by tabs (wf_core.tab). We place a space after each
563: tokenized_description := replace (rc.description, wf_core.newline,
564: return_token);
565:
566: -- The format we use is to list all the fields,
567: -- delineated by tabs (wf_core.tab). We place a space after each
568: -- field, in case the value returned is null (then the space
569: -- acts as a 'placeholder'), making sure to strip those spaces
570: -- off when we read this into our javacode.
571:
643: decode(ia.type,
644: 'NUMBER', to_char(iav.number_value),
645: 'DATE', to_char(iav.date_value, nvl(ia.format,
646: 'DD-MON-YYYY HH24:MI:SS')),
647: 'LOOKUP', wf_core.activity_result(ia.format, iav.text_value),
648: iav.text_value) value
649: from wf_item_attributes_vl ia,
650: wf_item_attribute_values iav
651: where iav.item_type = x_item_type
660: /* 05/14/01 JWSMITH BUG1708024 - CHANGED tokenized_value from */
661: /* VARCHAR2(2100) to VARCHAR2(4000) */
662: tokenized_value VARCHAR2(4000);
663: return_token VARCHAR2(9) := '@#@';
664: l_tab varchar2(30) := wf_core.tab;
665:
666: begin
667:
668: open item_info;
672: exit when item_info%notfound;
673:
674: if ( (upper(substr(x_admin_mode, 1, 1)) = 'Y') or
675: (substr(item_rec.name, 1, 1) <> '.') ) then
676: tokenized_value := replace (item_rec.value, wf_core.newline,
677: return_token);
678: appendData('ITEM_ATTRIBUTE:' || item_rec.name || ' ' || l_tab
679: || item_rec.display_name || ' ' || l_tab
680: || item_rec.type || ' ' || l_tab
726: p.instance_label, /* activity usage */
727: wf_engine_util.activity_timeout(p.instance_id) timeout,
728: p.start_end,
729: p.default_result,
730: wf_core.activity_result(pd.result_type, p.default_result)
731: activity_usage_result,
732: p.icon_geometry,
733: p.perform_role,
734: p.user_comment,
734: p.user_comment,
735: s.activity_status, /* activity status */
736: l2.meaning activity_status_disp,
737: s.activity_result_code,
738: wf_core.activity_result(a.result_type, s.activity_result_code)
739: activity_status_result,
740: s.assigned_user,
741: wf_directory.getroledisplayname(s.assigned_user) rolename,
742: s.notification_id,
809: decode(aa.type,
810: 'NUMBER', to_char(aav.number_value),
811: 'DATE', to_char(aav.date_value, nvl(aa.format,
812: 'DD-MON-YYYY HH24:MI:SS')),
813: 'LOOKUP', wf_core.activity_result(aa.format, aav.text_value),
814: aav.text_value) value
815: from wf_activity_attributes_vl aa,
816: wf_activity_attr_values aav
817: where aa.activity_item_type = act_item_type
838: decode(ma.type,
839: 'NUMBER', to_char(na.number_value),
840: 'DATE', to_char(na.date_value, nvl(ma.format,
841: 'DD-MON-YYYY HH24:MI:SS')),
842: 'LOOKUP', wf_core.activity_result(ma.format, na.text_value),
843: na.text_value) value
844: from wf_notifications n,
845: wf_notification_attributes na,
846: wf_message_attributes_vl ma
859: /* to tokenized_value VARCHAR2(4000) */
860: tokenized_value VARCHAR2(4000);
861: tokenized_description VARCHAR2(1000);
862: return_token VARCHAR2(9) := '@#@';
863: l_tab varchar2(30) := wf_core.tab;
864:
865: begin
866: open proc_info;
867:
870: exit when proc_info%notfound;
871:
872: -- The htp.p proc does not handle returns well, replace them
873: -- with the value
874: -- tokenized_mesg := substr((replace (prc.error_message, wf_core.newline, return_token)), 1, 220);
875: tokenized_mesg := replace (prc.error_message, wf_core.newline,
876: return_token);
877: tokenized_stack := replace (prc.error_stack, wf_core.newline,
878: return_token);
871:
872: -- The htp.p proc does not handle returns well, replace them
873: -- with the value
874: -- tokenized_mesg := substr((replace (prc.error_message, wf_core.newline, return_token)), 1, 220);
875: tokenized_mesg := replace (prc.error_message, wf_core.newline,
876: return_token);
877: tokenized_stack := replace (prc.error_stack, wf_core.newline,
878: return_token);
879: tokenized_description := replace (prc.description, wf_core.newline,
873: -- with the value
874: -- tokenized_mesg := substr((replace (prc.error_message, wf_core.newline, return_token)), 1, 220);
875: tokenized_mesg := replace (prc.error_message, wf_core.newline,
876: return_token);
877: tokenized_stack := replace (prc.error_stack, wf_core.newline,
878: return_token);
879: tokenized_description := replace (prc.description, wf_core.newline,
880: return_token);
881:
875: tokenized_mesg := replace (prc.error_message, wf_core.newline,
876: return_token);
877: tokenized_stack := replace (prc.error_stack, wf_core.newline,
878: return_token);
879: tokenized_description := replace (prc.description, wf_core.newline,
880: return_token);
881:
882: -- The format we use is to list all the fields,
883: -- delineated by tabs (wf_core.tab). We place a space after each
879: tokenized_description := replace (prc.description, wf_core.newline,
880: return_token);
881:
882: -- The format we use is to list all the fields,
883: -- delineated by tabs (wf_core.tab). We place a space after each
884: -- field, in case the value returned is null (then the space
885: -- acts as a 'placeholder'), making sure to strip those spaces
886: -- off when we read this into our javacode.
887:
942: -- Fetch activity attributes
943: for attr_value in act_attr(prc.item_type, prc.name, prc.version, prc.instance_id) loop
944: if ( (upper(substr(x_admin_mode, 1, 1)) = 'Y') or
945: (substr(attr_value.name, 1, 1) <> '.') ) then
946: tokenized_value := replace (attr_value.value, wf_core.newline,
947: return_token);
948:
949: appendData('ACTIVITY_ATTRIBUTE:' || attr_value.name || ' ' || l_tab
950: || attr_value.display_name || ' ' || l_tab
959: for not_attr_value in not_attr(prc.notification_id) loop
960: if ( (upper(substr(x_admin_mode, 1, 1)) = 'Y') or
961: (substr(not_attr_value.name, 1, 1) <> '.') ) then
962: tokenized_value := replace (not_attr_value.value,
963: wf_core.newline, return_token);
964: appendData('NOTIFICATION_ATTRIBUTE:'
965: || not_attr_value.notification_id || ' ' || l_tab
966: || not_attr_value.recipient_role || ' ' || l_tab
967: || not_attr_value.status || ' ' || l_tab
1001: cursor trans is
1002: select p1.icon_geometry from_icon_geometry, /* from activity */
1003: p1.instance_id from_instance_id,
1004: t.result_code, /* transition info */
1005: decode((wf_core.activity_result(a.result_type, t.result_code)),
1006: '*', wf_core.translate('DEFAULT'),
1007: '#ANY', wf_core.translate('WFMON_ANYRESULT'),
1008: wf_core.activity_result(a.result_type, t.result_code))
1009: activity_result,
1002: select p1.icon_geometry from_icon_geometry, /* from activity */
1003: p1.instance_id from_instance_id,
1004: t.result_code, /* transition info */
1005: decode((wf_core.activity_result(a.result_type, t.result_code)),
1006: '*', wf_core.translate('DEFAULT'),
1007: '#ANY', wf_core.translate('WFMON_ANYRESULT'),
1008: wf_core.activity_result(a.result_type, t.result_code))
1009: activity_result,
1010: t.arrow_geometry,
1003: p1.instance_id from_instance_id,
1004: t.result_code, /* transition info */
1005: decode((wf_core.activity_result(a.result_type, t.result_code)),
1006: '*', wf_core.translate('DEFAULT'),
1007: '#ANY', wf_core.translate('WFMON_ANYRESULT'),
1008: wf_core.activity_result(a.result_type, t.result_code))
1009: activity_result,
1010: t.arrow_geometry,
1011: s.activity_status, /* transition status */
1004: t.result_code, /* transition info */
1005: decode((wf_core.activity_result(a.result_type, t.result_code)),
1006: '*', wf_core.translate('DEFAULT'),
1007: '#ANY', wf_core.translate('WFMON_ANYRESULT'),
1008: wf_core.activity_result(a.result_type, t.result_code))
1009: activity_result,
1010: t.arrow_geometry,
1011: s.activity_status, /* transition status */
1012: s.activity_result_code,
1057: l.lookup_code = 'F')
1058: and p2.instance_id = t.to_process_activity;
1059:
1060: tr trans%rowtype;
1061: l_tab varchar2(30) := wf_core.tab;
1062:
1063: begin
1064: open trans;
1065: loop
1100: gUseClob := false;
1101: --wfa_sec.validate_only := TRUE;
1102: --wfa_sec.GetSession(username);
1103:
1104: l_tab := wf_core.tab;
1105:
1106: begin
1107:
1108: select NAME, TEXT, ID
1155: l_data := '';
1156: --wfa_sec.validate_only := TRUE;
1157: --wfa_sec.GetSession(username);
1158:
1159: l_tab := wf_core.tab;
1160:
1161: if (x_respattern is null) then
1162: pattern := '%';
1163: end if;
1218: display_name like tmpbuf2 or
1219: display_name like tmpbuf3 or
1220: display_name like tmpbuf4) and
1221: upper(display_name) like upper(P_FIND_CRITERIA) ||'%';
1222: appendData(wf_core.translate('WFMON_REASSIGN_TO'));
1223: appendData('2');
1224: appendData(to_char(cnt));
1225: appendData(wf_core.translate('WFITD_ATTR_TYPE_ROLE'));
1226: appendData('50');
1221: upper(display_name) like upper(P_FIND_CRITERIA) ||'%';
1222: appendData(wf_core.translate('WFMON_REASSIGN_TO'));
1223: appendData('2');
1224: appendData(to_char(cnt));
1225: appendData(wf_core.translate('WFITD_ATTR_TYPE_ROLE'));
1226: appendData('50');
1227: appendData(wf_core.translate('WFITD_INTERNAL_NAME'));
1228: appendData('50');
1229: if (upper(substr(p_titles_only, 1, 1)) <> 'Y') then
1223: appendData('2');
1224: appendData(to_char(cnt));
1225: appendData(wf_core.translate('WFITD_ATTR_TYPE_ROLE'));
1226: appendData('50');
1227: appendData(wf_core.translate('WFITD_INTERNAL_NAME'));
1228: appendData('50');
1229: if (upper(substr(p_titles_only, 1, 1)) <> 'Y') then
1230: for r in role(tmpbuf1, tmpbuf2, tmpbuf3, tmpbuf4) loop
1231: appendData(r.display_name);
1262: owner varchar2(320);
1263: parent_activity varchar2(30);
1264: l_tab varchar2(30);
1265: begin
1266: l_tab := wf_core.tab;
1267: l_data := '';
1268: gUseClob := false; --init for error msgs only
1269:
1270: /*
1285: -- If AccessKeyCheck will return "ERROR" directly if failed
1286: if (not(AccessKeyCheck(x_item_type, x_item_key, x_admin_mode,
1287: x_access_key))) then
1288:
1289: appendData(wf_core.translate('WRONG_ACCESS_KEY'));
1290:
1291: return l_data;
1292:
1293: end if;
1311: and item_key = x_item_key;
1312:
1313: exception
1314: when NO_DATA_FOUND then
1315: appendData(wf_core.translate('WRONG_TYPE_OR_KEY'));
1316: return l_data;
1317: when OTHERS then
1318: appendData(wf_core.translate('ERROR'));
1319: return l_data;
1314: when NO_DATA_FOUND then
1315: appendData(wf_core.translate('WRONG_TYPE_OR_KEY'));
1316: return l_data;
1317: when OTHERS then
1318: appendData(wf_core.translate('ERROR'));
1319: return l_data;
1320: end;
1321: /* Set to useClob here */
1322: gUseClob := true;
1396: -- vbhatia - 06/09/03
1397: -- check to see if the current context is APPS context or Standalone context
1398: -- if APPS, then redirect to OA Fwk page
1399: -- if Standalone, then redirect to a PL/SQL Web toolkit page (as was originally done)
1400: l_installType := WF_CORE.Translate('WF_INSTALL');
1401:
1402: if l_installType = 'EMBEDDED' then -- APPS context
1403:
1404: --
1642: -- check to see if the current context is APPS context or Standalone context
1643: -- if APPS, then redirect to OA Fwk page
1644: -- if Standalone, then redirect to a PL/SQL Web toolkit page (as was originally done)
1645:
1646: l_installType := WF_CORE.Translate('WF_INSTALL');
1647:
1648: if l_installType = 'EMBEDDED' then -- APPS context
1649:
1650: --
1730: -- check to see if the current context is APPS context or Standalone context
1731: -- if APPS, then redirect to OA Fwk page
1732: -- if Standalone, then redirect to a PL/SQL Web toolkit page (as was originally done)
1733:
1734: l_installType := WF_CORE.Translate('WF_INSTALL');
1735:
1736: if l_installType = 'EMBEDDED' then -- APPS context
1737:
1738: --
1919: '&x_sort_order='||'DESC'||
1920: '" onMouseOver="window.status='||''''||
1921: /* Token and text controlled by us */
1922: /* BINDVAR_SCAN_IGNORE[2] */
1923: wfa_html.replace_onMouseOver_quotes(wf_core.translate('WFMON_REVERSE_SORT_PROMPT'))||' '||
1924: x_column_title||''''||
1925: '; return true"'||
1926: ' TARGET="_top">'||
1927: ''||x_column_title||'*'||''||
1942: cvalue=>'
1949: ' TARGET="_top">'||
1950: ''||'*'|| x_column_title||''||
1962: htp.tableHeader(
1963: cvalue=>'
1969: ' TARGET="_top">'||
1970: ''||x_column_title||''||
1984: END IF;
1985:
1986: exception
1987: when others then
1988: Wf_Core.Context(
1989: 'Wf_Monitor',
1990: 'createenvsortlink',
1991: x_cur_sort_column ,
1992: x_cur_sort_order ,
2057: createenvsortlink(x_sort_column,
2058: x_sort_order,
2059: 'STATUS',
2060: x_advanced,
2061: wf_core.translate('WFMON_STATUS'),
2062: wf_core.translate('WFMON_DONE'),
2063: TRUE,
2064: x_standard_url);
2065:
2058: x_sort_order,
2059: 'STATUS',
2060: x_advanced,
2061: wf_core.translate('WFMON_STATUS'),
2062: wf_core.translate('WFMON_DONE'),
2063: TRUE,
2064: x_standard_url);
2065:
2066: /*
2069: createenvsortlink(x_sort_column,
2070: x_sort_order,
2071: 'WHO',
2072: x_advanced,
2073: wf_core.translate('WFMON_WHO'),
2074: wf_core.translate('WFMON_WHO'),
2075: TRUE,
2076: x_standard_url);
2077:
2070: x_sort_order,
2071: 'WHO',
2072: x_advanced,
2073: wf_core.translate('WFMON_WHO'),
2074: wf_core.translate('WFMON_WHO'),
2075: TRUE,
2076: x_standard_url);
2077:
2078: /*
2082: createenvsortlink(x_sort_column,
2083: x_sort_order,
2084: 'PARENT',
2085: x_advanced,
2086: wf_core.translate('WFMON_PARENT_ACTIVITY'),
2087: NULL,
2088: FALSE,
2089: x_standard_url);
2090:
2094: createenvsortlink(x_sort_column,
2095: x_sort_order,
2096: 'ACTIVITY',
2097: x_advanced,
2098: wf_core.translate('WFMON_ACTIVITY'),
2099: wf_core.translate('WFMON_ACTIVITY'),
2100: TRUE,
2101: x_standard_url);
2102:
2095: x_sort_order,
2096: 'ACTIVITY',
2097: x_advanced,
2098: wf_core.translate('WFMON_ACTIVITY'),
2099: wf_core.translate('WFMON_ACTIVITY'),
2100: TRUE,
2101: x_standard_url);
2102:
2103: /*
2106: createenvsortlink(x_sort_column,
2107: x_sort_order,
2108: 'STARTDATE',
2109: x_advanced,
2110: wf_core.translate('WFMON_STARTED'),
2111: wf_core.translate('WFMON_STARTED'),
2112: TRUE,
2113: x_standard_url);
2114:
2107: x_sort_order,
2108: 'STARTDATE',
2109: x_advanced,
2110: wf_core.translate('WFMON_STARTED'),
2111: wf_core.translate('WFMON_STARTED'),
2112: TRUE,
2113: x_standard_url);
2114:
2115: /*
2118: createenvsortlink(x_sort_column,
2119: x_sort_order,
2120: 'DURATION',
2121: x_advanced,
2122: wf_core.translate('WFMON_DURATION'),
2123: wf_core.translate('WFMON_DURATION'),
2124: TRUE,
2125: x_standard_url);
2126:
2119: x_sort_order,
2120: 'DURATION',
2121: x_advanced,
2122: wf_core.translate('WFMON_DURATION'),
2123: wf_core.translate('WFMON_DURATION'),
2124: TRUE,
2125: x_standard_url);
2126:
2127: /*
2130: createenvsortlink(x_sort_column,
2131: x_sort_order,
2132: 'RESULT',
2133: x_advanced,
2134: wf_core.translate('WFMON_RESULT'),
2135: wf_core.translate('WFMON_RESULT'),
2136: TRUE,
2137: x_standard_url);
2138:
2131: x_sort_order,
2132: 'RESULT',
2133: x_advanced,
2134: wf_core.translate('WFMON_RESULT'),
2135: wf_core.translate('WFMON_RESULT'),
2136: TRUE,
2137: x_standard_url);
2138:
2139: htp.tableRowClose;
2148: is
2149: begin
2150: htp.tableRowOpen(cattributes=>'BGCOLOR=#006699');
2151:
2152: htp.tableHeader(''||wf_core.translate('ITEMTYPE')||'', 'Center');
2153: htp.tableHeader(''||wf_core.translate('ITEMKEY')||'', 'Center');
2154: htp.tableHeader(''||wf_core.translate('USER_ITEMKEY')||'', 'Center');
2155: htp.tableHeader(''||wf_core.translate('PROCESS_NAME')||'', 'Center');
2156: htp.tableHeader(''||wf_core.translate('COMPLETE')||'', 'Center');
2149: begin
2150: htp.tableRowOpen(cattributes=>'BGCOLOR=#006699');
2151:
2152: htp.tableHeader(''||wf_core.translate('ITEMTYPE')||'', 'Center');
2153: htp.tableHeader(''||wf_core.translate('ITEMKEY')||'', 'Center');
2154: htp.tableHeader(''||wf_core.translate('USER_ITEMKEY')||'', 'Center');
2155: htp.tableHeader(''||wf_core.translate('PROCESS_NAME')||'', 'Center');
2156: htp.tableHeader(''||wf_core.translate('COMPLETE')||'', 'Center');
2157: htp.tableHeader(''||wf_core.translate('IN_ERROR')||'', 'Center');
2150: htp.tableRowOpen(cattributes=>'BGCOLOR=#006699');
2151:
2152: htp.tableHeader(''||wf_core.translate('ITEMTYPE')||'', 'Center');
2153: htp.tableHeader(''||wf_core.translate('ITEMKEY')||'', 'Center');
2154: htp.tableHeader(''||wf_core.translate('USER_ITEMKEY')||'', 'Center');
2155: htp.tableHeader(''||wf_core.translate('PROCESS_NAME')||'', 'Center');
2156: htp.tableHeader(''||wf_core.translate('COMPLETE')||'', 'Center');
2157: htp.tableHeader(''||wf_core.translate('IN_ERROR')||'', 'Center');
2158: htp.tableHeader(''||wf_core.translate('SUSPENDED')||'', 'Center');
2151:
2152: htp.tableHeader(''||wf_core.translate('ITEMTYPE')||'', 'Center');
2153: htp.tableHeader(''||wf_core.translate('ITEMKEY')||'', 'Center');
2154: htp.tableHeader(''||wf_core.translate('USER_ITEMKEY')||'', 'Center');
2155: htp.tableHeader(''||wf_core.translate('PROCESS_NAME')||'', 'Center');
2156: htp.tableHeader(''||wf_core.translate('COMPLETE')||'', 'Center');
2157: htp.tableHeader(''||wf_core.translate('IN_ERROR')||'', 'Center');
2158: htp.tableHeader(''||wf_core.translate('SUSPENDED')||'', 'Center');
2159: htp.tableHeader(''||wf_core.translate('WFENG_BEGINDATE')||'', 'Center');
2152: htp.tableHeader(''||wf_core.translate('ITEMTYPE')||'', 'Center');
2153: htp.tableHeader(''||wf_core.translate('ITEMKEY')||'', 'Center');
2154: htp.tableHeader(''||wf_core.translate('USER_ITEMKEY')||'', 'Center');
2155: htp.tableHeader(''||wf_core.translate('PROCESS_NAME')||'', 'Center');
2156: htp.tableHeader(''||wf_core.translate('COMPLETE')||'', 'Center');
2157: htp.tableHeader(''||wf_core.translate('IN_ERROR')||'', 'Center');
2158: htp.tableHeader(''||wf_core.translate('SUSPENDED')||'', 'Center');
2159: htp.tableHeader(''||wf_core.translate('WFENG_BEGINDATE')||'', 'Center');
2160:
2153: htp.tableHeader(''||wf_core.translate('ITEMKEY')||'', 'Center');
2154: htp.tableHeader(''||wf_core.translate('USER_ITEMKEY')||'', 'Center');
2155: htp.tableHeader(''||wf_core.translate('PROCESS_NAME')||'', 'Center');
2156: htp.tableHeader(''||wf_core.translate('COMPLETE')||'', 'Center');
2157: htp.tableHeader(''||wf_core.translate('IN_ERROR')||'', 'Center');
2158: htp.tableHeader(''||wf_core.translate('SUSPENDED')||'', 'Center');
2159: htp.tableHeader(''||wf_core.translate('WFENG_BEGINDATE')||'', 'Center');
2160:
2161: htp.tableRowClose;
2154: htp.tableHeader(''||wf_core.translate('USER_ITEMKEY')||'', 'Center');
2155: htp.tableHeader(''||wf_core.translate('PROCESS_NAME')||'', 'Center');
2156: htp.tableHeader(''||wf_core.translate('COMPLETE')||'', 'Center');
2157: htp.tableHeader(''||wf_core.translate('IN_ERROR')||'', 'Center');
2158: htp.tableHeader(''||wf_core.translate('SUSPENDED')||'', 'Center');
2159: htp.tableHeader(''||wf_core.translate('WFENG_BEGINDATE')||'', 'Center');
2160:
2161: htp.tableRowClose;
2162:
2155: htp.tableHeader(''||wf_core.translate('PROCESS_NAME')||'', 'Center');
2156: htp.tableHeader(''||wf_core.translate('COMPLETE')||'', 'Center');
2157: htp.tableHeader(''||wf_core.translate('IN_ERROR')||'', 'Center');
2158: htp.tableHeader(''||wf_core.translate('SUSPENDED')||'', 'Center');
2159: htp.tableHeader(''||wf_core.translate('WFENG_BEGINDATE')||'', 'Center');
2160:
2161: htp.tableRowClose;
2162:
2163: exception
2161: htp.tableRowClose;
2162:
2163: exception
2164: when others then
2165: Wf_Core.Context('Wf_Monitor', 'ShowColumnHeaders');
2166: raise;
2167: end showColumnHeaders;
2168:
2169: --
2216: if (active) then
2217: htp.tableData(htf.br,cattributes=>'id=""');
2218: else
2219: htp.tableData(cvalue=>htf.img(curl=>wfa_html.image_loc||'FNDIDONE.gif',
2220: calt=>wf_core.translate('COMPLETE'),
2221: cattributes=>'border=no height=26'),
2222: calign=>'center',
2223: cattributes=>'id=""');
2224: end if;
2225:
2226: -- Error icon if error
2227: if (error) then
2228: htp.tableData(cvalue=>htf.img(curl=>wfa_html.image_loc||'FNDIREDL.gif',
2229: calt=>wf_core.translate('IN_ERROR'),
2230: cattributes=>'border=no height=26'),
2231: calign=>'center',
2232: cattributes=>'id=""');
2233: else
2236:
2237: -- Suspend icon if suspended
2238: if (suspend) then
2239: htp.tableData(cvalue=>htf.img(curl=>wfa_html.image_loc||'FNDIYLWL.gif',
2240: calt=>wf_core.translate('SUSPEND'),
2241: cattributes=>'border=no height=26'),
2242: calign=>'center', cattributes=>'id=""');
2243: else
2244: htp.tableData(htf.br,cattributes=>'id=""');
2248: htp.tableRowClose;
2249:
2250: exception
2251: when others then
2252: Wf_Core.Context('Wf_Monitor', 'TableRow', itemtype, itemkey, process,
2253: url, startdate);
2254: raise;
2255: end TableRow;
2256:
2368:
2369: -- Window title
2370: htp.htmlOpen;
2371: htp.headOpen;
2372: htp.title(wf_core.translate('WFMON_LISTTITLE'));
2373: wfa_html.create_help_function('wf/links/pro.htm?PROLIST');
2374: htp.headClose;
2375:
2376: -- Open body and draw standard header
2374: htp.headClose;
2375:
2376: -- Open body and draw standard header
2377: wfa_sec.header(FALSE, 'wf_monitor.find_instance" TARGET="_top',
2378: wf_core.translate('WFMON_LISTTITLE'), TRUE);
2379:
2380: htp.tableOpen(cattributes=>'border=1 cellpadding=3 bgcolor=WHITE
2381: width=100% summary=""');
2382:
2383: showColumnHeaders;
2384:
2385: -- Security checking 1364970
2386:
2387: admin_role := wf_core.Translate('WF_ADMIN_ROLE');
2388: if (admin_role <> '*') then
2389: if not (wf_directory.IsPerformer(username, admin_role)) then
2390: l_process_owner := username;
2391: end if;
2433: wfa_sec.footer;
2434: htp.htmlClose;
2435: exception
2436: when others then
2437: Wf_Core.Context('Wf_Monitor', 'Instance_List', x_active, x_itemtype,
2438: x_ident, x_process, x_status);
2439: Error;
2440: end Instance_List;
2441:
2478: /*
2479: ** Skip a line
2480: */
2481: wf_item_definition_util_pub.draw_summary_section_title (
2482: wf_core.translate('WFMON_STATUS_OPTIONS'),
2483: 0);
2484:
2485: /*
2486: ** Open a new table for the list of checkboxes that show what
2508: wf_item_definition_util_pub.create_checkbox(
2509: 'x_active',
2510: 'ACTIVE',
2511: x_active,
2512: wf_core.translate ('ACTIVE'),
2513: l_status_icons_table(G_ACTIVE).icon_file_name,
2514: FALSE);
2515:
2516:
2520: wf_item_definition_util_pub.create_checkbox(
2521: 'x_complete',
2522: 'COMPLETE',
2523: x_complete,
2524: wf_core.translate ('COMPLETE'),
2525: l_status_icons_table(G_COMPLETE).icon_file_name,
2526: FALSE);
2527:
2528: /*
2531: wf_item_definition_util_pub.create_checkbox(
2532: 'x_error',
2533: 'ERROR',
2534: x_error,
2535: wf_core.translate ('ERROR'),
2536: l_status_icons_table(G_ERROR).icon_file_name,
2537: FALSE);
2538:
2539: /*
2542: wf_item_definition_util_pub.create_checkbox(
2543: 'x_suspend',
2544: 'SUSPEND',
2545: x_suspend,
2546: wf_core.translate ('SUSPENDED'),
2547: l_status_icons_table(G_SUSPEND).icon_file_name,
2548: FALSE);
2549:
2550: /*
2565: /*
2566: ** Show the Processes activity options header
2567: */
2568: wf_item_definition_util_pub.draw_summary_section_title (
2569: wf_core.translate('WFMON_ACTIVITY_TYPE'),
2570: 0);
2571:
2572: /*
2573: ** Open a new table for the list of checkboxes that show what
2590: wf_item_definition_util_pub.create_checkbox(
2591: 'x_note_resp',
2592: 'Y',
2593: x_note_resp,
2594: wf_core.translate('WFMON_NOTIF_RESPONSE'),
2595: null,
2596: FALSE);
2597:
2598: /*
2601: wf_item_definition_util_pub.create_checkbox(
2602: 'x_note_noresp',
2603: 'Y',
2604: x_note_noresp,
2605: wf_core.translate('WFMON_NOTIF_NO_RESPONSE'),
2606: null,
2607: FALSE);
2608:
2609: /*
2612: wf_item_definition_util_pub.create_checkbox(
2613: 'x_proc_func',
2614: 'Y',
2615: x_proc_func,
2616: wf_core.translate('WFMON_PROCESS_FUNCTION'),
2617: null,
2618: FALSE);
2619:
2620: /*
2623: wf_item_definition_util_pub.create_checkbox(
2624: 'x_func_std',
2625: 'Y',
2626: x_func_std,
2627: wf_core.translate('WFMON_FUNCTION_STANDARD'),
2628: null,
2629: FALSE);
2630:
2631:
2635: wf_item_definition_util_pub.create_checkbox(
2636: 'x_event',
2637: 'Y',
2638: x_event,
2639: wf_core.translate('WFMON_EVENT')||
2640: ' ',
2641: null,
2642: FALSE);
2643:
2643:
2644: htp.p('
2646: wfa_html.create_reg_button ('javascript:document.controls.submit()',
2647: wf_core.translate ('WFMON_REQUERY'),
2648: wfa_html.image_loc,
2649: 'fndfind.gif',
2650: wf_core.translate ('WFMON_REQUERY'));
2651:
2652: htp.p('
2673: htp.formClose;
2674:
2675: EXCEPTION
2676: WHEN OTHERS THEN
2677: Wf_Core.Context('wf_monitor',
2678: 'draw_advanced_controls',
2679: x_advanced);
2680:
2681: error;
2713: -- If AccessKeyCheck will return "ERROR" directly if failed
2714: if (not(AccessKeyCheck(x_item_type, x_item_key, x_admin_mode,
2715: x_access_key))) then
2716:
2717: htp.p(wf_core.translate('WRONG_ACCESS_KEY'));
2718:
2719: return;
2720:
2721: else
2734: ** standard Notifications List. Otherwise make it Activities List
2735: */
2736: IF (x_advanced = 'FALSE') THEN
2737:
2738: htp.title(wf_core.translate('WFMON_ENVELOPE_LIST'));
2739: wfa_html.create_help_function('wf/links/nfl.htm?NFLIST');
2740:
2741: ELSE
2742:
2739: wfa_html.create_help_function('wf/links/nfl.htm?NFLIST');
2740:
2741: ELSE
2742:
2743: htp.title(wf_core.translate('WFMON_ACTIVITIES_LIST'));
2744: wfa_html.create_help_function('wf/links/aal.htm?AALIST');
2745:
2746: END IF;
2747:
2749:
2750: -- Open body and draw standard header
2751: IF (x_advanced = 'FALSE') THEN
2752:
2753: wfa_sec.header(FALSE, 'wf_monitor.find_instance" TARGET="_top', wf_core.translate('WFMON_ENVELOPE_LIST'), TRUE, pseudo_login);
2754:
2755: else
2756:
2757: wfa_sec.header(FALSE, 'wf_monitor.find_instance" TARGET="_top', wf_core.translate('WFMON_ACTIVITIES_LIST'), TRUE, pseudo_login);
2753: wfa_sec.header(FALSE, 'wf_monitor.find_instance" TARGET="_top', wf_core.translate('WFMON_ENVELOPE_LIST'), TRUE, pseudo_login);
2754:
2755: else
2756:
2757: wfa_sec.header(FALSE, 'wf_monitor.find_instance" TARGET="_top', wf_core.translate('WFMON_ACTIVITIES_LIST'), TRUE, pseudo_login);
2758:
2759: end if;
2760:
2761: exception
2759: end if;
2760:
2761: exception
2762: when others then
2763: Wf_Core.Context('wf_monitor',
2764: 'draw_header',
2765: x_item_type,
2766: x_item_key,
2767: x_admin_mode,
2815: -- If AccessKeyCheck will return "ERROR" directly if failed
2816: if (not(AccessKeyCheck(x_item_type, x_item_key, x_admin_mode,
2817: x_access_key))) then
2818:
2819: htp.p(wf_core.translate('WRONG_ACCESS_KEY'));
2820:
2821: return;
2822:
2823: else
2834: /*
2835: ** If you are not in advanced mode then make the window title the
2836: ** standard Notifications List. Otherwise make it Activities List
2837: */
2838: htp.title(wf_core.translate('WFMON_ENVELOPE_LIST'));
2839:
2840: wfa_html.create_help_function('wf/links/nfl.htm?NFLIST');
2841:
2842: htp.headClose;
2845:
2846:
2847: -- Open frameset
2848: htp.p('