DBA Data[Home] [Help]

PACKAGE BODY: APPS.ECX_WORKFLOW_HTML

Source


1 package body ECX_WORKFLOW_HTML as
2 /* $Header: ECXWHTMB.pls 120.9 2006/03/16 02:04:55 gsingh ship $ */
3 
4 -- ListECXMSGQueueMessages
5 --   Lists Queue Messages for ECXMSG ADT
6 --   in P_QUEUE_NAME       Queue Name
7 --   in P_TRANSACTION_TYPE ECX Transaction Type
8 --   in P_DOCUMENT_NUMBER  ECX Document Number
9 --   in P_PARTY_SITE_ID    ECX Party Site Id
10 --   in P_MESSAGE_STATUS   Queue Message Status
11 --   in P_MESSAGE_ID       Queue Message Id
12 
13 procedure ListECXMSGQueueMessages (
14   P_QUEUE_NAME        in varchar2 ,
15   P_TRANSACTION_TYPE  in varchar2 ,
16   P_DOCUMENT_NUMBER   in varchar2 ,
17   P_PARTY_SITE_ID     in varchar2 ,
18   P_MESSAGE_STATUS    in varchar2 ,
19   P_MESSAGE_ID        in varchar2
20 ) is
21   username                 varchar2(30);   -- Username to query
22   admin_role               varchar2(30); -- Role for admin mode
23   realname                 varchar2(240);   -- Display name of username
24   s0                       varchar2(2000);       -- Dummy
25   admin_mode               varchar2(1) := 'N';
26   l_media                  varchar2(240) := wfa_html.image_loc;
27   l_icon                   varchar2(40) := 'FNDILOV.gif';
28   l_text                   varchar2(240) := '';
29   l_onmouseover            varchar2(240) := wf_core.translate ('WFPREF_LOV');
30   l_url                    varchar2(4000);
31   l_error_msg              varchar2(240);
32   l_more_data              BOOLEAN := TRUE;
33   l_queue_table             varchar2(30);
34   i                        binary_integer;
35   /*
36   ** Added to display Queue Table USER_DATA field
37   */
38   TYPE queue_contents_t IS REF CURSOR;
39   l_qcontents              queue_contents_t;
40   l_msgstate               number;
41   l_charmsgstate           varchar2(240);
42   l_msg_id                 RAW(16);
43   l_payload                clob;
44   l_state                  number;
45   l_qtable                 varchar2(240);
46   l_liketranstype          varchar2(240);
47   l_likedocnumber          varchar2(240);
48   l_likepartysiteid        varchar2(240);
49   l_message                system.ecxmsg;
50   l_sqlstmt                varchar2(32000);
51 
52 begin
53   -- Check current user has admin authority
54   wfa_sec.GetSession(username);
55   username := upper(username);
56   wf_directory.GetRoleInfo(username, realname, s0, s0, s0, s0);
57 
58   admin_role := wf_core.translate('WF_ADMIN_ROLE');
59   if (admin_role = '*' or
60      Wf_Directory.IsPerformer(username, admin_role)) then
61          admin_mode := 'Y';
62   else
63 
64      l_error_msg := wf_core.translate('WFPREF_INVALID_ADMIN');
65 
66   end if;
67 
68   -- Check if Accessible
69   wf_event_html.isAccessible('AGENTS');
70 
71   -- Set page title
72   htp.htmlOpen;
73   htp.headOpen;
74   htp.p('<BASE TARGET="_top">');
75   htp.title(wf_core.translate('WFQUEUE_MESSAGE_TITLE'));
76   wfa_html.create_help_function('wf/links/t_l.htm?T_LQUEM');
77   htp.headClose;
78   wfa_sec.Header(FALSE,  owa_util.get_owa_service_path ||'wf_event_html.FindECXMSGQueue
79 Message?p_queue_name='||p_queue_name||'&'||'p_type=ECXMSG', wf_core.translate('WFQUEUE_MESSAGE_TITLE'), TRUE);
80   htp.br;
81 
82   IF (admin_mode = 'N') THEN
83      htp.center(htf.bold(l_error_msg));
84      return;
85   END IF;
86 
87    -- Column headers
88   htp.tableOpen('border=1 cellpadding=3 bgcolor=white width="100%"
89       summary="' || wf_core.translate('WFQUEUE_MESSAGE_TITLE') || '"');
90   htp.tableRowOpen(cattributes=>'bgcolor=#006699');
91 
92 
93   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
94                   wf_core.translate('MESSAGETYPE')||'</font>',
95                   calign=>'Center',
96                   cattributes=>'id="' ||
97                     wf_core.translate('MESSAGETYPE') || '"');
98   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
99                   wf_core.translate('MESSAGESTANDARD')||'</font>',
100                   calign=>'Center',
101                   cattributes=>'id="' ||
102                     wf_core.translate('MESSAGESTANDARD') || '"');
103   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
104                   wf_core.translate('TRANSACTIONTYPE')||'</font>',
105                   calign=>'Center',
106                   cattributes=>'id="' ||
107                     wf_core.translate('TRANSACTIONTYPE') || '"');
108   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
109                   wf_core.translate('TRANSACTIONSUBTYPE')||'</font>',
110                   calign=>'Center',
111                   cattributes=>'id="' ||
112                     wf_core.translate('TRANSACTIONSUBTYPE') || '"');
113   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
114                   wf_core.translate('DOCUMENTNUMBER')||'</font>',
115                   calign=>'Center',
116                   cattributes=>'id="' ||
117                     wf_core.translate('DOCUMENTNUMBER') || '"');
118   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
119                   wf_core.translate('PARTYID')||'</font>',
120                   calign=>'Center',
121                   cattributes=>'id="' ||
122                     wf_core.translate('PARTYID') || '"');
123   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
124                   wf_core.translate('PARTYSITEID')||'</font>',
125                   calign=>'Center',
126                   cattributes=>'id="' ||
127                     wf_core.translate('PARTYSITEID') || '"');
128   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
129                   wf_core.translate('PARTYTYPE')||'</font>',
130                   calign=>'Center',
131                   cattributes=>'id="' ||
132                     wf_core.translate('PARTYTYPE') || '"');
133   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
134                   wf_core.translate('PROTOCOLTYPE')||'</font>',
135                   calign=>'Center',
136                   cattributes=>'id="' ||
137                     wf_core.translate('PROTOCOLTYPE') || '"');
138   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
139                   wf_core.translate('PROTOCOLADDRESS')||'</font>',
140                   calign=>'Center',
141                   cattributes=>'id="' ||
142                     wf_core.translate('PROTOCOLADDRESS') || '"');
143   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
144                   wf_core.translate('ATTRIBUTE1')||'</font>',
145                   calign=>'Center',
146                   cattributes=>'id="' ||
147                     wf_core.translate('ATTRIBUTE1') || '"');
148   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
149                   wf_core.translate('ATTRIBUTE2')||'</font>',
150                   calign=>'Center',
151                   cattributes=>'id="' ||
152                     wf_core.translate('ATTRIBUTE2') || '"');
153   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
154                   wf_core.translate('ATTRIBUTE3')||'</font>',
155                   calign=>'Center',
156                   cattributes=>'id="' ||
157                     wf_core.translate('ATTRIBUTE3') || '"');
158   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
159                   wf_core.translate('ATTRIBUTE4')||'</font>',
160                   calign=>'Center',
161                   cattributes=>'id="' ||
162                     wf_core.translate('ATTRIBUTE4') || '"');
163   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
164                   wf_core.translate('ATTRIBUTE5')||'</font>',
165                   calign=>'Center',
166                   cattributes=>'id="' ||
167                     wf_core.translate('ATTRIBUTE5') || '"');
168   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
169                   wf_core.translate('MESSAGESTATE')||'</font>',
170                   calign=>'Center',
171                   cattributes=>'id="' ||
172                     wf_core.translate('MESSAGESTATE') || '"');
173   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
174                   wf_core.translate('XMLEVENTDATA')||'</font>',
175                   calign=>'Center',
176                   cattributes=>'id="' ||
177                   wf_core.translate('XMLEVENTDATA') || '"');
178 
179   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
180                   wf_core.translate('TXTEVENTDATA')||'</font>',
181                   calign=>'Center',
182                   cattributes=>'id="' ||
183                     wf_core.translate('TXTEVENTDATA') || '"');
184   htp.tableRowClose;
185   htp.tableRowOpen;
186   htp.tableRowClose;
187 
188   -- Determine the Queue Table based on the Queue Name
189   SELECT queue_table INTO l_qtable
190   FROM all_queues
191   WHERE name = p_queue_name
192 AND owner IN ('APPS');
193 
194   -- Convert the character message state to numbers
195   IF p_message_status = 'READY' THEN
196     l_state := 0;
197   ELSIF p_message_status = 'WAIT' THEN
198     l_state := 1;
199   ELSIF p_message_status = 'PROCESSED' THEN
200     l_state := 2;
201   ELSIF p_message_status = 'EXPIRED' THEN
202     l_state := 3;
203   ELSIF p_message_status = 'ANY' THEN
204     l_state := 100;
205   END IF;
206 
207   -- Create Filters for Event Name and Event Key
208   IF p_transaction_type IS NULL THEN
209       l_liketranstype := '%';
210   ELSE
211       l_liketranstype := '%'||upper(p_transaction_type)||'%';
212   END IF;
213 
214   IF p_document_number IS NULL THEN
215       l_likedocnumber := '%';
216   ELSE
217       l_likedocnumber := '%'||upper(p_document_number)||'%';
218   END IF;
219 
220 
221   IF p_party_site_id IS NULL THEN
222       l_likepartysiteid := '%';
223   ELSE
224       l_likepartysiteid := '%'||upper(p_party_site_id)||'%';
225   END IF;
226 
227   -- Show rows that match our criteria
228   if l_state = 100 then
229     l_sqlstmt := 'SELECT msgid, state, user_data FROM '||l_qtable||
230                 ' WHERE 100 = :b AND q_name = :c';
231   else
232     l_sqlstmt := 'SELECT msgid, state, user_data FROM '||l_qtable||
233                  ' WHERE STATE = :b AND q_name = :c';
234   end if;
235 
236   OPEN l_qcontents FOR l_sqlstmt USING l_state, p_queue_name;
237   LOOP
238     FETCH l_qcontents INTO l_msg_id,
239                                 l_msgstate,
240                                 l_message;
241 
242     EXIT WHEN l_qcontents%NOTFOUND;
243 
244     -- Convert Numeric Message State to characters
245     IF l_msgstate = 0 THEN
246       l_charmsgstate := (wf_core.translate('READY'));
247     ELSIF l_msgstate = 1 THEN
248       l_charmsgstate := (wf_core.translate('WAIT'));
249     ELSIF l_msgstate = 2 THEN
250       l_charmsgstate := (wf_core.translate('PROCESSED'));
251     ELSIF l_msgstate = 3 THEN
252       l_charmsgstate := (wf_core.translate('EXPIRED'));
253     ELSE
254       l_charmsgstate := (wf_core.translate('UNKNOWN'));
255     END IF;
256 
257 
258     IF (upper(l_message.transaction_type) LIKE l_liketranstype
259         OR l_message.transaction_type IS NULL)
260     AND ( upper(l_message.document_number) LIKE l_likedocnumber
261          OR l_message.document_number IS NULL )
262     AND ( upper(l_message.party_site_id) LIKE l_likepartysiteid
263          OR l_message.party_site_id IS NULL ) THEN
264 
265       htp.tableRowOpen(null, 'TOP');
266 
267       htp.p('<!-- Msg Id '||l_msg_id||' -->');
268 
269       if l_message.message_type is not null then
270       htp.tableData(l_message.message_type, 'left', cattributes=>'headers="' ||
271               wf_core.translate('MESSAGETYPE') || '"');
272       else
273         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
274       end if;
275 
276       if l_message.message_standard is not null then
277       htp.tableData(l_message.message_standard, 'left', cattributes=>'headers="'
278  ||
279               wf_core.translate('MESSAGESTANDARD') || '"');
280       else
281         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
282       end if;
283 
284       if l_message.transaction_type is not null then
285       htp.tableData(l_message.transaction_type, 'left', cattributes=>'headers="'
286  ||
287               wf_core.translate('TRANSACTIONTYPE') || '"');
288       else
289         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
290       end if;
291 
292       if l_message.transaction_subtype is not null then
293       htp.tableData(l_message.transaction_subtype, 'left', cattributes=>'headers
294 ="' ||
295               wf_core.translate('TRANSACTIONSUBTYPE') || '"');
296       else
297         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
298       end if;
299 
300       if l_message.document_number is not null then
301       htp.tableData(l_message.document_number, 'left', cattributes=>'headers="'
302 ||
303               wf_core.translate('DOCUMENTNUMBER') || '"');
304       else
305         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
306       end if;
307 
308       if l_message.partyid is not null then
309       htp.tableData(l_message.partyid, 'left', cattributes=>'headers="' ||
310               wf_core.translate('PARTYID') || '"');
311       else
312         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
313       end if;
314 
315       if l_message.party_site_id is not null then
316       htp.tableData(l_message.party_site_id, 'left', cattributes=>'headers="' ||
317               wf_core.translate('PARTYSITEID') || '"');
318       else
319         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
320       end if;
321 
322       if l_message.party_type is not null then
323       htp.tableData(l_message.party_type, 'left', cattributes=>'headers="' ||
324               wf_core.translate('PARTYTYPE') || '"');
325       else
326         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
327       end if;
328 
329       if l_message.protocol_type is not null then
330       htp.tableData(l_message.protocol_type, 'left', cattributes=>'headers="' ||
331               wf_core.translate('PROTOCOLTYPE') || '"');
332       else
333         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
334       end if;
335 
336       if l_message.protocol_address is not null then
337       htp.tableData(l_message.protocol_address, 'left', cattributes=>'headers="'
338  ||
339               wf_core.translate('PROTOCOLADDRESS') || '"');
340       else
341         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
342       end if;
343 
344       if l_message.attribute1 is not null then
345         htp.tableData(l_message.attribute1,'left', cattributes=>'headers
346 ="' || wf_core.translate('ATTRIBUTE1') || '"');
347       else
348         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
349       end if;
350 
351       if l_message.attribute2 is not null then
352         htp.tableData(l_message.attribute2,'left', cattributes=>'headers
353 ="' || wf_core.translate('ATTRIBUTE2') || '"');
354       else
355         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
356       end if;
357 
358       if l_message.attribute3 is not null then
359         htp.tableData(l_message.attribute3,'left', cattributes=>'headers
360 ="' || wf_core.translate('ATTRIBUTE3') || '"');
361       else
362         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
363       end if;
364 
365       if l_message.attribute4 is not null then
366         htp.tableData(l_message.attribute4,'left', cattributes=>'headers
367 ="' || wf_core.translate('ATTRIBUTE4') || '"');
368       else
369         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
370       end if;
371 
372       if l_message.attribute5 is not null then
373         htp.tableData(l_message.attribute5,'left', cattributes=>'headers
374 ="' || wf_core.translate('ATTRIBUTE5') || '"');
375       else
376         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
377       end if;
378 
379       htp.tableData(l_charmsgstate,'center', cattributes=>'headers="' ||
380           wf_core.translate('MESSAGESTATE') || '"');
381 
385 ||'&'||'p_queue_table='||'APPS.'||l_qtable||'&'||'p_mimetype=text/xml',
382       htp.tableData(htf.anchor2(curl=>wfa_html.base_url||
383                                   '/wf_event_html.EventDataContents?p_message_id
384 ='||l_msg_id
386                  ctext=>'<IMG SRC="'||wfa_html.image_loc||'affind.gif"
387                           alt="' || wf_core.translate('FIND') || '"
388                               BORDER=0>'),
389                               'center', cattributes=>'valign="MIDDLE"
390                  headers="' || wf_core.translate('XMLEVENTDATA') || '"');
391       htp.tableData(htf.anchor2(curl=>wfa_html.base_url||
392                                   '/wf_event_html.EventDataContents?p_message_id
393 ='||l_msg_id
394 ||'&'||'p_queue_table='||'APPS.'||l_qtable||'&'||'p_mimetype=text',
395                  ctext=>'<IMG SRC="'||wfa_html.image_loc||'affind.gif"
396                           alt="' || wf_core.translate('FIND') || '"
397                               BORDER=0>'),
398                               'center', cattributes=>'valign="MIDDLE"
399                  headers="' || wf_core.translate('TXTEVENTDATA') || '"');
400   END IF;
401 
402   END LOOP;
403   CLOSE l_qcontents;
404 
405   htp.tableclose;
406 
407   htp.br;
408 
409   wfa_sec.Footer;
410 
411   htp.htmlClose;
412 
413 exception
414   when others then
415     rollback;
416     Wf_Core.Context('ECX_WORKFLOW_HTML', 'ListECXMSGQueueMessages',
417                     p_queue_name);
418     wfe_html_util.Error;
419     --raise;
420 end ListECXMSGQueueMessages;
421 
422 
423 -- ListECX_INENGOBJQueueMessages
424 --   Lists Queue Messages for ECX_INENGOBJ ADT
425 --   in P_QUEUE_NAME   Queue Name
426 --   in P_MESSAGE_STATUS Queue Message Status
427 --   in P_MESSAGE_ID   ECX Message Id
428 
429 procedure ListECX_INENGOBJQueueMessages (
430   P_QUEUE_NAME        in varchar2 ,
431   P_MESSAGE_STATUS    in   varchar2 ,
432   P_MESSAGE_ID        in      varchar2
433 ) is
434   username                 varchar2(30);   -- Username to query
435   admin_role               varchar2(30); -- Role for admin mode
436   realname                 varchar2(240);   -- Display name of username
437   s0                       varchar2(2000);       -- Dummy
438   admin_mode               varchar2(1) := 'N';
439   l_media                  varchar2(240) := wfa_html.image_loc;
440   l_icon                   varchar2(40) := 'FNDILOV.gif';
441   l_text                   varchar2(240) := '';
442   l_onmouseover            varchar2(240) := wf_core.translate ('WFPREF_LOV');
443   l_url                    varchar2(4000);
444   l_error_msg              varchar2(240);
445   l_more_data              BOOLEAN := TRUE;
446   l_queue_table             varchar2(30);
447   i                        binary_integer;
448   /*
449   ** Added to display Queue Table USER_DATA field
450   */
451   TYPE queue_contents_t IS REF CURSOR;
452   l_qcontents              queue_contents_t;
453   l_msgstate               number;
454   l_charmsgstate           varchar2(240);
455   l_msg_id                 RAW(16);
456   l_payload                clob;
457   l_state                  number;
458   l_qtable                 varchar2(240);
459   l_likemsgid              varchar2(240);
460   l_message                system.ecx_inengobj;
461   l_sqlstmt                varchar2(32000);
462 
463 begin
464   -- Check current user has admin authority
465   wfa_sec.GetSession(username);
466   username := upper(username);
467   wf_directory.GetRoleInfo(username, realname, s0, s0, s0, s0);
468 
469   admin_role := wf_core.translate('WF_ADMIN_ROLE');
470   if (admin_role = '*' or
471      Wf_Directory.IsPerformer(username, admin_role)) then
472          admin_mode := 'Y';
473   else
474 
475      l_error_msg := wf_core.translate('WFPREF_INVALID_ADMIN');
476 
477   end if;
478 
479   -- Check if Accessible
480   wf_event_html.isAccessible('AGENTS');
481 
482   -- Set page title
483   htp.htmlOpen;
484   htp.headOpen;
485   htp.p('<BASE TARGET="_top">');
486   htp.title(wf_core.translate('WFQUEUE_MESSAGE_TITLE'));
487   wfa_html.create_help_function('wf/links/t_l.htm?T_LQUEM');
488   htp.headClose;
489   wfa_sec.Header(FALSE,  owa_util.get_owa_service_path ||'wf_event_html.FindECX_INENGOBJQueue
490 Message?p_queue_name='||p_queue_name||'&'||'p_type=INENGOBJ', wf_core.translate('WFQUEUE_MESSAGE_TITLE'), TRUE)
491 ;
492   htp.br;
493 
494   IF (admin_mode = 'N') THEN
495      htp.center(htf.bold(l_error_msg));
496      return;
497   END IF;
498 
499    -- Column headers
500   htp.tableOpen('border=1 cellpadding=3 bgcolor=white width="100%"
501       summary="' || wf_core.translate('WFQUEUE_MESSAGE_TITLE') || '"');
502   htp.tableRowOpen(cattributes=>'bgcolor=#006699');
503   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
504                   wf_core.translate('MESSAGEID')||'</font>',
505                   calign=>'Center',
506                   cattributes=>'id="' ||
507                     wf_core.translate('MESSAGEID') || '"');
508   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
509                   wf_core.translate('DEBUGMODE')||'</font>',
510                   calign=>'Center',
511                   cattributes=>'id="' ||
512                     wf_core.translate('DEBUGMODE') || '"');
516                   cattributes=>'id="' ||
513   htp.tableHeader(cvalue=>'<font color=#FFFFFF>'||
514                   wf_core.translate('MESSAGESTATE')||'</font>',
515                   calign=>'Center',
517                     wf_core.translate('MESSAGESTATE') || '"');
518   htp.tableRowClose;
519   htp.tableRowOpen;
520   htp.tableRowClose;
521 
522   -- Determine the Queue Table based on the Queue Name
523   SELECT queue_table INTO l_qtable
524   FROM all_queues
525   WHERE name = p_queue_name
526  AND owner IN ('APPS');
527 
528   -- Convert the character message state to numbers
529   IF p_message_status = 'READY' THEN
530     l_state := 0;
531   ELSIF p_message_status = 'WAIT' THEN
532     l_state := 1;
533   ELSIF p_message_status = 'PROCESSED' THEN
534     l_state := 2;
535   ELSIF p_message_status = 'EXPIRED' THEN
536     l_state := 3;
537   ELSIF p_message_status = 'ANY' THEN
538     l_state := 100;
539   END IF;
540 
541   -- Create Filters for Event Name and Event Key
542   IF p_message_id IS NULL THEN
543       l_likemsgid := '%';
544   ELSE
545       l_likemsgid := '%'||upper(p_message_id)||'%';
546   END IF;
547 
548   -- Show rows that match our criteria
549   if l_state = 100 then
550     l_sqlstmt := 'SELECT msgid, state, user_data FROM '||l_qtable||
551                 ' WHERE 100 = :b AND q_name = :c';
552   else
553     l_sqlstmt := 'SELECT msgid, state, user_data FROM '||l_qtable||
554                  ' WHERE STATE = :b AND q_name = :c';
555   end if;
556 
557   OPEN l_qcontents FOR l_sqlstmt USING l_state, p_queue_name;
558   LOOP
559     FETCH l_qcontents INTO l_msg_id,
560                                 l_msgstate,
561                                 l_message;
562 
563     EXIT WHEN l_qcontents%NOTFOUND;
564 
565     -- Convert Numeric Message State to characters
566     IF l_msgstate = 0 THEN
567       l_charmsgstate := (wf_core.translate('READY'));
568     ELSIF l_msgstate = 1 THEN
569       l_charmsgstate := (wf_core.translate('WAIT'));
570     ELSIF l_msgstate = 2 THEN
571       l_charmsgstate := (wf_core.translate('PROCESSED'));
572     ELSIF l_msgstate = 3 THEN
573       l_charmsgstate := (wf_core.translate('EXPIRED'));
574     ELSE
575       l_charmsgstate := (wf_core.translate('UNKNOWN'));
576     END IF;
577 
578 
579     IF (upper(l_message.msgid) LIKE l_likemsgid
580         OR l_message.msgid IS NULL) THEN
581 
582       htp.tableRowOpen(null, 'TOP');
583 
584       htp.p('<!-- Msg Id '||l_msg_id||' -->');
585 
586       if l_message.msgid is not null then
587       htp.tableData(l_message.msgid, 'left', cattributes=>'headers="' ||
588               wf_core.translate('MESSAGEID') || '"');
589       else
590        htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
591       end if;
592 
593       if l_message.debug_mode is not null then
594       htp.tableData(l_message.debug_mode, 'left', cattributes=>'headers="'
595  ||
596               wf_core.translate('DEBUGMODE') || '"');
597       else
598         htp.tableData('&'||'nbsp','left',cattributes=>'headers=""');
599       end if;
600 
601      htp.tableData(l_charmsgstate,'center', cattributes=>'headers="' ||
602           wf_core.translate('MESSAGESTATE') || '"');
603   END IF;
604 
605   END LOOP;
606   CLOSE l_qcontents;
607 
608   htp.tableclose;
609 
610   htp.br;
611 
612   wfa_sec.Footer;
613 
614   htp.htmlClose;
615 
616 exception
617   when others then
618     rollback;
619     Wf_Core.Context('ECX_WORKFLOW_HTML', 'ListECX_INENGOBJQueueMessages',
620                     p_queue_name);
621     wfe_html_util.Error;
622     --raise;
623 end ListECX_INENGOBJQueueMessages;
624 
625 end ECX_WORKFLOW_HTML;