DBA Data[Home] [Help]

PACKAGE BODY: APPS.XNP_MSG_DIAGNOSTICS$XNP_MSGS

Source


1 package body xnp_msg_diagnostics$xnp_msgs as
2 /* $Header: XNPMSG2B.pls 120.1.12010000.2 2008/09/25 05:19:13 mpathani ship $ */
3 
4 
5    procedure FormView(Z_FORM_STATUS in number);
6    function BuildSQL(
7             P_MSG_ID in varchar2 default null,
8             P_MSG_CODE in varchar2 default null,
9             P_L_MTE_MSG_TYPE in varchar2 default null,
10             P_MSG_STATUS in varchar2 default null,
11             P_REFERENCE_ID in varchar2 default null,
12             P_OPP_REFERENCE_ID in varchar2 default null,
13             P_RECIPIENT_NAME in varchar2 default null,
14             P_SENDER_NAME in varchar2 default null,
15             P_ADAPTER_NAME in varchar2 default null,
16             P_FE_NAME in varchar2 default null,
17             P_ORDER_ID in varchar2 default null,
18             P_WI_INSTANCE_ID in varchar2 default null,
19             P_FA_INSTANCE_ID in varchar2 default null) return boolean;
20    function PreQuery(
21             P_MSG_ID in varchar2 default null,
22             P_MSG_CODE in varchar2 default null,
23             P_L_MTE_MSG_TYPE in varchar2 default null,
24             P_MSG_STATUS in varchar2 default null,
25             P_REFERENCE_ID in varchar2 default null,
26             P_OPP_REFERENCE_ID in varchar2 default null,
27             P_RECIPIENT_NAME in varchar2 default null,
28             P_SENDER_NAME in varchar2 default null,
29             P_ADAPTER_NAME in varchar2 default null,
30             P_FE_NAME in varchar2 default null,
31             P_ORDER_ID in varchar2 default null,
32             P_WI_INSTANCE_ID in varchar2 default null,
33             P_FA_INSTANCE_ID in varchar2 default null) return boolean;
34    function PostQuery(Z_POST_DML in boolean) return boolean;
35    procedure CreateQueryJavaScript;
36    procedure CreateListJavaScript;
37    procedure InitialiseDomain(P_ALIAS in varchar2);
38    function MSG_CODE_TranslateFK(
39             P_MSG_CODE in varchar2 default null,
40             P_L_MTE_MSG_TYPE in varchar2 default null,
41             Z_MODE in varchar2 default 'D') return boolean;
42 
43    QF_BODY_ATTRIBUTES     constant varchar2(500) := 'BGCOLOR="CCCCCC"';
44    QF_QUERY_BUT_CAPTION   constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_FIND_BUTTON'));
45    QF_CLEAR_BUT_CAPTION   constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_CLEAR_BUTTON'));
46    QF_QUERY_BUT_ACTION    constant varchar2(10)  := 'QUERY';
47    QF_CLEAR_BUT_ACTION    constant varchar2(10)  := 'CLEAR';
48    QF_NUMBER_OF_COLUMNS   constant number(4)	 := 2;
49    VF_BODY_ATTRIBUTES     constant varchar2(500) := 'BGCOLOR="CCCCCC"';
50    VF_UPDATE_BUT_CAPTION  constant varchar2(100) := XNP_WSGL.MsgGetText(6,XNP_WSGLM.CAP006_VF_UPDATE);
51    VF_CLEAR_BUT_CAPTION   constant varchar2(100) := XNP_WSGL.MsgGetText(8,XNP_WSGLM.CAP008_VF_REVERT);
52    VF_DELETE_BUT_CAPTION  constant varchar2(100) := XNP_WSGL.MsgGetText(7,XNP_WSGLM.CAP007_VF_DELETE);
53    VF_UPDATE_BUT_ACTION   constant varchar2(10)  := 'UPDATE';
54    VF_CLEAR_BUT_ACTION    constant varchar2(10)  := 'CLEAR';
55    VF_DELETE_BUT_ACTION   constant varchar2(10)  := 'DELETE';
56    VF_VERIFIED_DELETE     constant varchar2(100) := 'VerifiedDelete';
57    VF_NUMBER_OF_COLUMNS   constant number(4)	 := 2;
58    RL_BODY_ATTRIBUTES     constant varchar2(500) := 'BGCOLOR="CCCCCC"';
59    RL_NEXT_BUT_CAPTION    constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_NEXT_BUTTON'));
60    RL_PREV_BUT_CAPTION    constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_PREVIOUS_BUTTON'));
61    RL_FIRST_BUT_CAPTION   constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_FIRST_BUTTON'));
62    RL_LAST_BUT_CAPTION    constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_LAST_BUTTON'));
63    RL_COUNT_BUT_CAPTION   constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_COUNT_BUTTON'));
64    RL_REQUERY_BUT_CAPTION constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_REFRESH_BUTTON'));
65    RL_QUERY_BUT_CAPTION  constant varchar2(100)  := htf.escape_sc(fnd_message.get_string('XNP','WEB_SEARCH_BUTTON'));
66    RL_QUERY_BUT_ACTION    constant varchar2(10)  := 'QUERY';
67    RL_NEXT_BUT_ACTION     constant varchar2(10)  := 'NEXT';
68    RL_PREV_BUT_ACTION     constant varchar2(10)  := 'PREV';
69    RL_FIRST_BUT_ACTION    constant varchar2(10)  := 'FIRST';
70    RL_LAST_BUT_ACTION     constant varchar2(10)  := 'LAST';
71    RL_COUNT_BUT_ACTION    constant varchar2(10)  := 'COUNT';
72    RL_REQUERY_BUT_ACTION  constant varchar2(10)  := 'REQUERY';
73    RL_RECORD_SET_SIZE     constant number(4)     := 10;
74    RL_TOTAL_COUNT_REQD    constant boolean       := TRUE;
75    RL_NUMBER_OF_COLUMNS   constant number(4)     := 1;
76    LOV_BODY_ATTRIBUTES    constant varchar2(500) := 'BGCOLOR="CCCCCC"';
77    LOV_FIND_BUT_CAPTION   constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_FIND_BUTTON'));
78    LOV_CLOSE_BUT_CAPTION  constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_CLOSE_BUTTON'));
79    LOV_FIND_BUT_ACTION    constant  varchar2(10) := 'FIND';
80    LOV_CLOSE_BUT_ACTION   constant varchar2(10)  := 'CLOSE';
81    LOV_BUTTON_TEXT        constant varchar2(100) := htf.italic(fnd_message.get_string('XNP','LIST_OF_VALUES'));
82    LOV_FRAME              constant varchar2(20)  := null;
83    TF_BODY_ATTRIBUTES     constant varchar2(500) := 'BGCOLOR="CCCCCC"';
84    DEF_BODY_ATTRIBUTES    constant varchar2(500) := 'BGCOLOR="CCCCCC"';
85 
86    CURR_VAL XNP_MSGS%ROWTYPE;
87 
88    -- Accomodating CLOB changes
89 
90    CURR_VAL_BODY_TEXT	CLOB ;
91    l_amount_to_read     INTEGER ;
92 
93 
94    TYPE FORM_REC IS RECORD
95         (MSG_ID              VARCHAR2(20)
96         ,XML_PAYLOAD_LINK    VARCHAR2(2000)
97         ,MSG_CODE            VARCHAR2(20)
98         ,L_MTE_MSG_TYPE      VARCHAR2(10)
99         ,MSG_STATUS          VARCHAR2(20)
100         ,DIRECTION_INDICATOR VARCHAR2(10)
101         ,REFERENCE_ID        VARCHAR2(2000)
102         ,OPP_REFERENCE_ID    VARCHAR2(2000)
103         ,VERSION             VARCHAR2(5)
104         ,MSG_CREATION_DATE   VARCHAR2(20)
105         ,SEND_RCV_DATE       VARCHAR2(12)
106         ,RECIPIENT_NAME      VARCHAR2(40)
107         ,SENDER_NAME         VARCHAR2(300) -- increased the size from 40 to 300 for the bug 6880763
108         ,ADAPTER_NAME        VARCHAR2(40)
109         ,FE_NAME             VARCHAR2(40)
110         ,ORDER_ID            VARCHAR2(40)
111         ,WI_INSTANCE_ID      VARCHAR2(40)
112         ,FA_INSTANCE_ID      VARCHAR2(40)
113         ,PRIORITY            VARCHAR2(10)
114         ,LAST_COMPILED_DATE  VARCHAR2(12)
115         ,DESCRIPTION         VARCHAR2(2000)
116         ,RESEND_LINK         VARCHAR2(2000)
117         ,BODY_TEXT           VARCHAR2(32767)
118         ,L_MTE_DEFAULT_PROCESS_LOGIC VARCHAR2(4000)
119         ,L_MTE_IN_PROCESS_LOGIC VARCHAR2(4000)
120         ,L_MTE_VALIDATE_LOGIC VARCHAR2(4000)
121         ,L_MTE_OUT_PROCESS_LOGIC VARCHAR2(4000)
122         );
123    FORM_VAL   FORM_REC;
124 
125    TYPE NBT_REC IS RECORD
126         (XML_PAYLOAD_LINK    VARCHAR2(2000)
127         ,L_MTE_MSG_TYPE      XNP_MSG_TYPES_B.MSG_TYPE%TYPE
128         ,PRIORITY            XNP_MSG_TYPES_B.PRIORITY%TYPE
129         ,LAST_COMPILED_DATE  XNP_MSG_TYPES_B.LAST_COMPILED_DATE%TYPE
130         ,RESEND_LINK         VARCHAR2(2000)
131         ,L_MTE_DEFAULT_PROCESS_LOGIC XNP_MSG_TYPES_B.DEFAULT_PROCESS_LOGIC%TYPE
132         ,L_MTE_IN_PROCESS_LOGIC XNP_MSG_TYPES_B.IN_PROCESS_LOGIC%TYPE
133         ,L_MTE_VALIDATE_LOGIC XNP_MSG_TYPES_B.VALIDATE_LOGIC%TYPE
134         ,L_MTE_OUT_PROCESS_LOGIC XNP_MSG_TYPES_B.OUT_PROCESS_LOGIC%TYPE
135         );
136    NBT_VAL    NBT_REC;
137 
138    ZONE_SQL   VARCHAR2(4500) := null;
139 
140    D_L_MTE_MSG_TYPE      XNP_WSGL.typDVRecord;
141    D_MSG_STATUS          XNP_WSGL.typDVRecord;
142    D_DIRECTION_INDICATOR XNP_WSGL.typDVRecord;
143    D_PRIORITY            XNP_WSGL.typDVRecord;
144 --------------------------------------------------------------------------------
145 -- Name:        xnp_msg_diagnostics$xnp_msgs.InitialiseDomain
146 --
147 -- Description: Initialises the Domain Record for the given Column Usage
148 --
149 -- Parameters:  P_ALIAS   The alias of the column usage
150 --
151 --------------------------------------------------------------------------------
152    procedure InitialiseDomain(P_ALIAS in varchar2) is
153    begin
154 
155       if P_ALIAS = 'L_MTE_MSG_TYPE' and not D_L_MTE_MSG_TYPE.Initialised then
156          D_L_MTE_MSG_TYPE.ColAlias := 'L_MTE_MSG_TYPE';
157          D_L_MTE_MSG_TYPE.ControlType := XNP_WSGL.DV_TEXT;
158          D_L_MTE_MSG_TYPE.DispWidth := 10;
159          D_L_MTE_MSG_TYPE.DispHeight := 1;
160          D_L_MTE_MSG_TYPE.MaxWidth := 10;
161          D_L_MTE_MSG_TYPE.UseMeanings := True;
162          D_L_MTE_MSG_TYPE.ColOptional := False;
163          XNP_WSGL.LoadDomainValues('CG_REF_CODES', 'XNP_MSG_TYPE', D_L_MTE_MSG_TYPE);
164          D_L_MTE_MSG_TYPE.Initialised := True;
165       end if;
166 
167       if P_ALIAS = 'MSG_STATUS' and not D_MSG_STATUS.Initialised then
168          D_MSG_STATUS.ColAlias := 'MSG_STATUS';
169          D_MSG_STATUS.ControlType := XNP_WSGL.DV_TEXT;
170          D_MSG_STATUS.DispWidth := 20;
171          D_MSG_STATUS.DispHeight := 1;
172          D_MSG_STATUS.MaxWidth := 20;
173          D_MSG_STATUS.UseMeanings := True;
174          D_MSG_STATUS.ColOptional := False;
175          XNP_WSGL.LoadDomainValues('CG_REF_CODES', 'XNP_MSG_STATUS', D_MSG_STATUS);
176          D_MSG_STATUS.Initialised := True;
177       end if;
178 
179       if P_ALIAS = 'DIRECTION_INDICATOR' and not D_DIRECTION_INDICATOR.Initialised then
180          D_DIRECTION_INDICATOR.ColAlias := 'DIRECTION_INDICATOR';
181          D_DIRECTION_INDICATOR.ControlType := XNP_WSGL.DV_TEXT;
182          D_DIRECTION_INDICATOR.DispWidth := 10;
183          D_DIRECTION_INDICATOR.DispHeight := 1;
184          D_DIRECTION_INDICATOR.MaxWidth := 10;
185          D_DIRECTION_INDICATOR.UseMeanings := True;
186          D_DIRECTION_INDICATOR.ColOptional := False;
187          XNP_WSGL.LoadDomainValues('CG_REF_CODES', 'XNP_DIRECTION_INDICATOR', D_DIRECTION_INDICATOR);
188          D_DIRECTION_INDICATOR.Initialised := True;
189       end if;
190 
191       if P_ALIAS = 'PRIORITY' and not D_PRIORITY.Initialised then
192          D_PRIORITY.ColAlias := 'PRIORITY';
193          D_PRIORITY.ControlType := XNP_WSGL.DV_TEXT;
194          D_PRIORITY.DispWidth := 10;
195          D_PRIORITY.DispHeight := 1;
196          D_PRIORITY.MaxWidth := 10;
197          D_PRIORITY.UseMeanings := True;
198          D_PRIORITY.ColOptional := True;
199          XNP_WSGL.LoadDomainValues('CG_REF_CODES', 'XNP_MSG_PRIORITY', D_PRIORITY);
200          D_PRIORITY.Initialised := True;
201       end if;
202 
203    exception
204       when others then
205          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
206                              DEF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.InitialseDomain');
207    end;
208 
209 --------------------------------------------------------------------------------
210 -- Name:        xnp_msg_diagnostics$xnp_msgs.MSG_CODE_TranslateFK
211 --
212 -- Description:
213 --
214 -- Parameters:
215 --
216 --------------------------------------------------------------------------------
217    function MSG_CODE_TranslateFK(
218             P_MSG_CODE in varchar2,
219             P_L_MTE_MSG_TYPE in varchar2,
220             Z_MODE in varchar2) return boolean is
221    begin
222       select L_MTE.MSG_CODE
223       into   CURR_VAL.MSG_CODE
224       from   XNP_MSG_TYPES_B L_MTE
225       where  rownum = 1
226       and   ( L_MTE.MSG_CODE = P_MSG_CODE )
227       and   ( L_MTE.MSG_TYPE = P_L_MTE_MSG_TYPE );
228       return TRUE;
229    exception
230          when no_data_found then
231             XNP_cg$errors.push('Code, Event Indicator: '||
232                            XNP_WSGL.MsgGetText(226,XNP_WSGLM.MSG226_INVALID_FK),
233                            'E', 'XNP_WSG', SQLCODE, 'xnp_msg_diagnostics$xnp_msgs.MSG_CODE_TranslateFK');
234             return FALSE;
235          when too_many_rows then
236             XNP_cg$errors.push('Code, Event Indicator: '||
237                            XNP_WSGL.MsgGetText(227,XNP_WSGLM.MSG227_TOO_MANY_FKS),
238                            'E', 'WSG', SQLCODE, 'xnp_msg_diagnostics$xnp_msgs.MSG_CODE_TranslateFK');
239             return FALSE;
240          when others then
241             XNP_cg$errors.push('Code, Event Indicator: '||SQLERRM,
242                            'E', 'WSG', SQLCODE, 'xnp_msg_diagnostics$xnp_msgs.MSG_CODE_TranslateFK');
243             return FALSE;
244    end;
245 --------------------------------------------------------------------------------
246 -- Name:        xnp_msg_diagnostics$xnp_msgs.msg_code_listofvalues
247 --
248 -- Description:
249 --
250 -- Parameters:
251 --
252 --------------------------------------------------------------------------------
253    procedure msg_code_listofvalues(
254              Z_FILTER in varchar2,
255              Z_MODE in varchar2,
256              Z_CALLER_URL in varchar2,
257              Z_ISSUE_WAIT in varchar2) is
258       L_SEARCH_STRING varchar2(1000);
259       L_ABORT boolean := FALSE;
260       L_INVALID_DEPEDANT boolean := FALSE;
261       L_ANY boolean := FALSE;
262       L_BODY_ATTRIBUTES VarChar2 (1000) := LOV_BODY_ATTRIBUTES;
263    begin
264 
265       XNP_WSGL.RegisterURL('xnp_msg_diagnostics$xnp_msgs.msg_code_listofvalues');
266       XNP_WSGL.AddURLParam('Z_FILTER', Z_FILTER);
267       XNP_WSGL.AddURLParam('Z_MODE', Z_MODE);
268       XNP_WSGL.AddURLParam('Z_CALLER_URL', Z_CALLER_URL);
269       if XNP_WSGL.NotLowerCase then
270          return;
271       end if;
272 
273       InitialiseDomain('L_MTE_MSG_TYPE');
274       InitialiseDomain('PRIORITY');
275 
276       XNP_WSGL.OpenPageHead(XNP_WSGL.MsgGetText(123,XNP_WSGLM.DSP123_LOV_CAPTION,
277                         'Code, Event Indicator'));
278 
279       if Z_ISSUE_WAIT is not null then
280 
281          htp.p ('<SCRIPT>
282 function RefreshMe()
283 {
284   location.href = location.href.substring (0, location.href.length - 1);
285 };
286 </SCRIPT>');
287 
288          L_BODY_ATTRIBUTES := L_BODY_ATTRIBUTES || ' OnLoad="RefreshMe()"';
289 
290       else
291          htp.p('<SCRIPT>
292 function PassBack(P_MSG_CODE,P_L_MTE_MSG_TYPE) {
293    if (opener.location.href != document.forms[0].Z_CALLER_URL.value) {
294       alert("'||XNP_WSGL.MsgGetText(228,XNP_WSGLM.MSG228_LOV_NOT_IN_CONTEXT)||'");
295       return;
296    }
297    opener.document.forms[0].P_MSG_CODE.value = P_MSG_CODE;
298    opener.document.forms[0].P_L_MTE_MSG_TYPE.value = P_L_MTE_MSG_TYPE;
299    opener.document.forms[0].P_MSG_CODE.focus();
300    close();
301 }
302 function Find_OnClick() {
303    document.forms[0].submit();
304 }');
305          if LOV_FRAME is null then
306             htp.p('function Close_OnClick() {
307       close();
308 }');
309          end if;
310          htp.p('</SCRIPT>');
311       end if;
312 
313       xnp_msg_diagnostics$.TemplateHeader(TRUE,0);
314 
315       XNP_WSGL.ClosePageHead;
316 
317       XNP_WSGL.OpenPageBody(FALSE, p_attributes=>L_BODY_ATTRIBUTES);
318 
319       htp.header(2, htf.italic(XNP_WSGL.MsgGetText(123,XNP_WSGLM.DSP123_LOV_CAPTION,'Code, Event Indicator')));
320 
321       if Z_ISSUE_WAIT is not null then
322          htp.p(XNP_WSGL.MsgGetText(127,XNP_WSGLM.DSP127_LOV_PLEASE_WAIT));
323          XNP_WSGL.ClosePageBody;
324          return;
325       else
326          htp.formOpen('xnp_msg_diagnostics$xnp_msgs.msg_code_listofvalues');
327          XNP_WSGL.HiddenField('Z_CALLER_URL', Z_CALLER_URL);
328          XNP_WSGL.HiddenField('Z_MODE', Z_MODE);
329       end if;
330 
331       L_SEARCH_STRING := rtrim(Z_FILTER);
332       if L_SEARCH_STRING is not null then
333          if ((instr(Z_FILTER,'%') = 0) and (instr(Z_FILTER,'_') = 0)) then
334             L_SEARCH_STRING := L_SEARCH_STRING || '%';
335          end if;
336       else
337          L_SEARCH_STRING := '%';
338       end if;
339 
340       htp.para;
341       htp.p(XNP_WSGL.MsgGetText(19,XNP_WSGLM.CAP019_LOV_FILTER_CAPTION,'Code'));
342       htp.para;
343       htp.formText('Z_FILTER', cvalue=>L_SEARCH_STRING);
344       htp.p('<input type="button" value="'||LOV_FIND_BUT_CAPTION||'" onclick="Find_OnClick()">');
345       if LOV_FRAME is null then
346          htp.p('<input type="button" value="'||LOV_CLOSE_BUT_CAPTION||'" onclick="Close_OnClick()">');
347       end if;
348       htp.formClose;
349 
350 
351       if not L_ABORT then
352 
353          XNP_WSGL.LayoutOpen(XNP_WSGL.LAYOUT_TABLE, TRUE);
354 
355          XNP_WSGL.LayoutRowStart;
356          XNP_WSGL.LayoutHeader(1, 'LEFT', 'Code');
357          XNP_WSGL.LayoutHeader(1, 'LEFT', 'Event Indicator');
358          XNP_WSGL.LayoutRowEnd;
359 
360          declare
361             cursor c1(zmode varchar2,srch varchar2) is
362                select L_MTE.MSG_CODE MSG_CODE
363                ,      L_MTE.MSG_TYPE L_MTE_MSG_TYPE
364                ,      L_MTE.PRIORITY PRIORITY
365                ,      L_MTE.LAST_COMPILED_DATE LAST_COMPILED_DATE
366                ,      L_MTE.DEFAULT_PROCESS_LOGIC L_MTE_DEFAULT_PROCESS_LOGIC
367                ,      L_MTE.IN_PROCESS_LOGIC L_MTE_IN_PROCESS_LOGIC
368                ,      L_MTE.VALIDATE_LOGIC L_MTE_VALIDATE_LOGIC
369                ,      L_MTE.OUT_PROCESS_LOGIC L_MTE_OUT_PROCESS_LOGIC
370                from   XNP_MSG_TYPES_B L_MTE
371                where  L_MTE.MSG_CODE like upper(srch)
372                order by L_MTE.MSG_CODE;
373          begin
374             for c1rec in c1(Z_MODE,L_SEARCH_STRING) loop
375                CURR_VAL.MSG_CODE := c1rec.MSG_CODE;
376                NBT_VAL.L_MTE_MSG_TYPE := c1rec.L_MTE_MSG_TYPE;
377                XNP_WSGL.LayoutRowStart('TOP');
378                XNP_WSGL.LayoutData('<a href="javascript:PassBack('''||
379                                replace(replace(c1rec.MSG_CODE,'"','"'),'''','\''')||''','''||
380                                replace(replace(XNP_WSGL.DomainMeaning(D_L_MTE_MSG_TYPE, c1rec.L_MTE_MSG_TYPE),'"','"'),'''','\''')||''')">'||CURR_VAL.MSG_CODE||'</a>');
381                XNP_WSGL.LayoutData(replace(XNP_WSGL.DomainMeaning(D_L_MTE_MSG_TYPE, NBT_VAL.L_MTE_MSG_TYPE),'"','"'));
382                XNP_WSGL.LayoutRowEnd;
383                l_any := true;
384             end loop;
385             XNP_WSGL.LayoutClose;
386             if not l_any then
387                htp.p(XNP_WSGL.MsgGetText(224,XNP_WSGLM.MSG224_LOV_NO_ROWS));
388             end if;
389          end;
390       end if;
391 
392       htp.p('<SCRIPT>document.forms[0].Z_FILTER.focus()</SCRIPT>');
393 
394       XNP_WSGL.ClosePageBody;
395 
396    exception
397       when others then
398          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics',
399                              LOV_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.msg_code_listofvalues');
400    end;
401 
402 --------------------------------------------------------------------------------
403 -- Name:        xnp_msg_diagnostics$xnp_msgs.Startup
404 --
405 -- Description: Entry point for the 'XNP_MSGS' module
406 --              component  (Message Details).
407 --
408 -- Parameters:
409 --
410 --------------------------------------------------------------------------------
411    procedure Startup(
412              Z_DIRECT_CALL in boolean,
413              Z_CHK in varchar2) is
414    begin
415 
416       XNP_WSGL.RegisterURL('xnp_msg_diagnostics$xnp_msgs.startup');
417       XNP_WSGL.AddURLParam('Z_CHK', Z_CHK);
418 
419       if not Z_DIRECT_CALL then
420          if not XNP_WSGL.ValidateChecksum('', Z_CHK) then
421             return;
422          end if;
423       end if;
424 
425       XNP_WSGL.StoreURLLink(1, 'Message Details');
426 
427 
428       FormQuery(
429       Z_DIRECT_CALL=>TRUE);
430 
431    exception
432       when others then
433          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
434                              DEF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.Startup');
435    end;
436 
437 --------------------------------------------------------------------------------
438 -- Name:        xnp_msg_diagnostics$xnp_msgs.ActionQuery
439 --
440 -- Description: Called when a Query form is subitted to action the query request.
441 --
442 -- Parameters:
443 --
444 --------------------------------------------------------------------------------
445    procedure ActionQuery(
446              P_MSG_ID in varchar2,
447              P_MSG_CODE in varchar2,
448              P_L_MTE_MSG_TYPE in varchar2,
449              P_MSG_STATUS in varchar2,
450              P_REFERENCE_ID in varchar2,
451              P_OPP_REFERENCE_ID in varchar2,
452              P_RECIPIENT_NAME in varchar2,
453              P_SENDER_NAME in varchar2,
454              P_ADAPTER_NAME in varchar2,
455              P_FE_NAME in varchar2,
456              P_ORDER_ID in varchar2,
457              P_WI_INSTANCE_ID in varchar2,
458              P_FA_INSTANCE_ID in varchar2,
459        	     Z_DIRECT_CALL in boolean default false,
460              Z_ACTION in varchar2,
461              Z_CHK in varchar2) is
462 
463      L_CHK varchar2(10) := Z_CHK;
464      L_BUTCHK varchar2(100):= null;
465    begin
466 
467     if Z_DIRECT_CALL then
468       L_CHK := to_char(XNP_WSGL.Checksum(''));
469     else
470       if not XNP_WSGL.ValidateChecksum('', L_CHK) then
471          return;
472       end if;
473     end if;
474 
475 --if on the query form and insert is allowed
476       QueryList(
477                 P_MSG_ID,
478                 P_MSG_CODE,
479                 P_L_MTE_MSG_TYPE,
480                 P_MSG_STATUS,
481                 P_REFERENCE_ID,
482                 P_OPP_REFERENCE_ID,
483                 P_RECIPIENT_NAME,
484                 P_SENDER_NAME,
485                 P_ADAPTER_NAME,
486                 P_FE_NAME,
487                 P_ORDER_ID,
488                 P_WI_INSTANCE_ID,
489                 P_FA_INSTANCE_ID,
490                 null, L_BUTCHK, Z_DIRECT_CALL=>TRUE);
491 
492    exception
493       when others then
494          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
495                              DEF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.ActionQuery');
496    end;
497 
498 --------------------------------------------------------------------------------
499 -- Name:        xnp_msg_diagnostics$xnp_msgs.QueryHits
500 --
501 -- Description: Returns the number or rows which matches the given search
502 --              criteria (if any).
503 --
504 -- Parameters:
505 --
506 --------------------------------------------------------------------------------
507    function QueryHits(
508             P_MSG_ID in varchar2,
509             P_MSG_CODE in varchar2,
510             P_L_MTE_MSG_TYPE in varchar2,
511             P_MSG_STATUS in varchar2,
512             P_REFERENCE_ID in varchar2,
513             P_OPP_REFERENCE_ID in varchar2,
514             P_RECIPIENT_NAME in varchar2,
515             P_SENDER_NAME in varchar2,
516             P_ADAPTER_NAME in varchar2,
517             P_FE_NAME in varchar2,
518             P_ORDER_ID in varchar2,
519             P_WI_INSTANCE_ID in varchar2,
520             P_FA_INSTANCE_ID in varchar2) return number is
521       I_QUERY     varchar2(2000) := '';
522       I_CURSOR    integer;
523       I_VOID      integer;
524       I_FROM_POS  integer := 0;
525       I_COUNT     number(10);
526    begin
527 
528       if not BuildSQL(P_MSG_ID,
529                       P_MSG_CODE,
530                       P_L_MTE_MSG_TYPE,
531                       P_MSG_STATUS,
532                       P_REFERENCE_ID,
533                       P_OPP_REFERENCE_ID,
534                       P_RECIPIENT_NAME,
535                       P_SENDER_NAME,
536                       P_ADAPTER_NAME,
537                       P_FE_NAME,
538                       P_ORDER_ID,
539                       P_WI_INSTANCE_ID,
540                       P_FA_INSTANCE_ID) then
541          return -1;
542       end if;
543 
544       if not PreQuery(P_MSG_ID,
545                       P_MSG_CODE,
546                       P_L_MTE_MSG_TYPE,
547                       P_MSG_STATUS,
548                       P_REFERENCE_ID,
549                       P_OPP_REFERENCE_ID,
550                       P_RECIPIENT_NAME,
551                       P_SENDER_NAME,
552                       P_ADAPTER_NAME,
553                       P_FE_NAME,
554                       P_ORDER_ID,
555                       P_WI_INSTANCE_ID,
556                       P_FA_INSTANCE_ID) then
557          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_cg$errors.GetErrors,
558                              'SFM iMessage Diagnostics'||' : '||'Message Details', DEF_BODY_ATTRIBUTES);
559          return -1;
560       end if;
561 
562       I_FROM_POS := instr(upper(ZONE_SQL), ' FROM ');
563 
564       if I_FROM_POS = 0 then
565          return -1;
566       end if;
567 
568       I_QUERY := 'SELECT count(*)' ||
569                  substr(ZONE_SQL, I_FROM_POS);
570 
571       I_CURSOR := dbms_sql.open_cursor;
572       dbms_sql.parse(I_CURSOR, I_QUERY, dbms_sql.v7);
573       dbms_sql.define_column(I_CURSOR, 1, I_COUNT);
574       I_VOID := dbms_sql.execute(I_CURSOR);
575       I_VOID := dbms_sql.fetch_rows(I_CURSOR);
576       dbms_sql.column_value(I_CURSOR, 1, I_COUNT);
577       dbms_sql.close_cursor(I_CURSOR);
578 
579       return I_COUNT;
580 
581    exception
582       when others then
583          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
584                              DEF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.QueryHits');
585          return -1;
586    end;--------------------------------------------------------------------------------
587 -- Name:        xnp_msg_diagnostics$xnp_msgs.BuildSQL
588 --
589 -- Description: Builds the SQL for the 'XNP_MSGS' module component (Message Details).
590 --              This incorporates all query criteria and Foreign key columns.
591 --
592 -- Parameters:
593 --
594 --------------------------------------------------------------------------------
595    function BuildSQL(
596             P_MSG_ID in varchar2,
597             P_MSG_CODE in varchar2,
598             P_L_MTE_MSG_TYPE in varchar2,
599             P_MSG_STATUS in varchar2,
600             P_REFERENCE_ID in varchar2,
601             P_OPP_REFERENCE_ID in varchar2,
602             P_RECIPIENT_NAME in varchar2,
603             P_SENDER_NAME in varchar2,
604             P_ADAPTER_NAME in varchar2,
605             P_FE_NAME in varchar2,
606             P_ORDER_ID in varchar2,
607             P_WI_INSTANCE_ID in varchar2,
608             P_FA_INSTANCE_ID in varchar2) return boolean is
609 
610       I_WHERE varchar2(2000);
611    begin
612 
613       InitialiseDomain('L_MTE_MSG_TYPE');
614       InitialiseDomain('MSG_STATUS');
615 
616       -- Build up the Where clause
617       I_WHERE := I_WHERE || ' where L_MTE.MSG_CODE = MSG.MSG_CODE';
618 
619       begin
620          XNP_WSGL.BuildWhere(P_MSG_ID, 'MSG.MSG_ID', XNP_WSGL.TYPE_NUMBER, I_WHERE);
621       exception
622          when others then
623             XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR_QRY, SQLERRM,
624                                 'SFM iMessage Diagnostics'||' : '||'Message Details', DEF_BODY_ATTRIBUTES, NULL,
625                                 XNP_WSGL.MsgGetText(210,XNP_WSGLM.MSG210_INVALID_QRY,'ID'));
626             return false;
627       end;
628       XNP_WSGL.BuildWhere(P_MSG_CODE, 'MSG.MSG_CODE', XNP_WSGL.TYPE_CHAR_UPPER, I_WHERE);
629       XNP_WSGL.BuildWhere(XNP_WSGL.DomainValue(D_L_MTE_MSG_TYPE, P_L_MTE_MSG_TYPE), 'L_MTE.MSG_TYPE', XNP_WSGL.TYPE_CHAR_UPPER, I_WHERE);
630       XNP_WSGL.BuildWhere(XNP_WSGL.DomainValue(D_MSG_STATUS, P_MSG_STATUS), 'MSG.MSG_STATUS', XNP_WSGL.TYPE_CHAR, I_WHERE);
631       XNP_WSGL.BuildWhere(P_REFERENCE_ID, 'MSG.REFERENCE_ID', XNP_WSGL.TYPE_CHAR, I_WHERE);
632       XNP_WSGL.BuildWhere(P_OPP_REFERENCE_ID, 'MSG.OPP_REFERENCE_ID', XNP_WSGL.TYPE_CHAR, I_WHERE);
633       XNP_WSGL.BuildWhere(P_RECIPIENT_NAME, 'MSG.RECIPIENT_NAME', XNP_WSGL.TYPE_CHAR, I_WHERE);
634       XNP_WSGL.BuildWhere(P_SENDER_NAME, 'MSG.SENDER_NAME', XNP_WSGL.TYPE_CHAR, I_WHERE);
635       XNP_WSGL.BuildWhere(P_ADAPTER_NAME, 'MSG.ADAPTER_NAME', XNP_WSGL.TYPE_CHAR, I_WHERE);
636       XNP_WSGL.BuildWhere(P_FE_NAME, 'MSG.FE_NAME', XNP_WSGL.TYPE_CHAR, I_WHERE);
637       XNP_WSGL.BuildWhere(P_ORDER_ID, 'MSG.ORDER_ID', XNP_WSGL.TYPE_CHAR, I_WHERE);
638       XNP_WSGL.BuildWhere(P_WI_INSTANCE_ID, 'MSG.WI_INSTANCE_ID', XNP_WSGL.TYPE_CHAR, I_WHERE);
639       XNP_WSGL.BuildWhere(P_FA_INSTANCE_ID, 'MSG.FA_INSTANCE_ID', XNP_WSGL.TYPE_CHAR, I_WHERE);
640 
641       ZONE_SQL := 'SELECT MSG.MSG_ID,
642                          ''xnp_web_utils.show_msg_body?p_msg_id=''||MSG.MSG_ID,
643                          MSG.MSG_CODE,
644                          MSG.MSG_STATUS,
645                          MSG.DIRECTION_INDICATOR,
646                          MSG.REFERENCE_ID,
647                          MSG.OPP_REFERENCE_ID,
648                          MSG.MSG_VERSION,
649                          MSG.MSG_CREATION_DATE,
650                          MSG.SEND_RCV_DATE,
651                          MSG.RECIPIENT_NAME,
652                          MSG.SENDER_NAME,
653                          MSG.ADAPTER_NAME,
654                          MSG.FE_NAME
655                   FROM   XNP_MSGS MSG,
656                          XNP_MSG_TYPES_B L_MTE';
657 
658       ZONE_SQL := ZONE_SQL || I_WHERE;
659       ZONE_SQL := ZONE_SQL || ' ORDER BY MSG.MSG_ID Desc ';
660       return true;
661 
662    exception
663       when others then
664          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
665                              DEF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.BuildSQL');
666          return false;
667    end;
668 
669 
670 --------------------------------------------------------------------------------
671 -- Name:        xnp_msg_diagnostics$xnp_msgs.FormQuery
672 --
673 -- Description: This procedure builds an HTML form for entry of query criteria.
674 --              The criteria entered are to restrict the query of the 'XNP_MSGS'
675 --              module component (Message Details).
676 --
677 -- Parameters:
678 --
679 --------------------------------------------------------------------------------
680    procedure FormQuery(
681              Z_DIRECT_CALL in boolean,
682              Z_CHK in varchar2) is
683    begin
684 
685       if not Z_DIRECT_CALL then
686          if not XNP_WSGL.ValidateChecksum('', Z_CHK) then
687             return;
688          end if;
689       end if;
690 
691       XNP_WSGL.OpenPageHead('SFM iMessage Diagnostics'||' : '||'Message Details');
692       CreateQueryJavaScript;
693 	  -- Added for iHelp
694 	  htp.p('<SCRIPT> ');
695 	  icx_admin_sig.help_win_script('xnpDiag_msg', null, 'XNP');
696 	  htp.p('</SCRIPT>');
697 	  -- <<
698       xnp_msg_diagnostics$.TemplateHeader(TRUE,0);
699       XNP_WSGL.ClosePageHead;
700 
701 	  -- Added for iHelp
702 	  htp.p('<A HREF="javascript:help_window()"');
703 	  htp.p('onMouseOver="window.status='||''''||'Help'||''''||';return true">');
704 	  htp.p(htf.img('/OA_MEDIA/afhelp.gif'));
705 	  htp.p('</A>');
706 	  htp.p(htf.nl);
707 	  -- <<
708 
709       XNP_WSGL.OpenPageBody(FALSE, p_attributes=>QF_BODY_ATTRIBUTES);
710 
711       htp.p(htf.bold(fnd_message.get_string('XNP','WEB_TITLE')));
712       xnp_msg_diagnostics$.FirstPage(TRUE);
713       htp.p(htf.header(1,fnd_message.get_string('XNP','WEB_XNPMSGDG_DETAILS_TITLE')));
714       htp.para;
715       htp.p(XNP_WSGL.MsgGetText(116,XNP_WSGLM.DSP116_ENTER_QRY_CAPTION,'Message Details'));
716       htp.para;
717 
718       htp.formOpen(curl => 'xnp_msg_diagnostics$xnp_msgs.actionquery', cattributes => 'NAME="frmZero"');
719 
720       XNP_WSGL.LayoutOpen(XNP_WSGL.LAYOUT_TABLE);
721 
722       XNP_WSGL.LayoutRowStart;
723       for i in 1..QF_NUMBER_OF_COLUMNS loop
724 	  XNP_WSGL.LayoutHeader(22, 'LEFT', NULL);
725 	  XNP_WSGL.LayoutHeader(20, 'LEFT', NULL);
726       end loop;
727       XNP_WSGL.LayoutRowEnd;
728 
729       XNP_WSGL.LayoutRowStart('TOP');
730       XNP_WSGL.LayoutData(htf.bold('ID:'));
731       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('MSG_ID', '20', FALSE));
732       XNP_WSGL.LayoutRowEnd;
733       XNP_WSGL.LayoutRowStart('TOP');
734       XNP_WSGL.LayoutData(htf.bold('Code:'));
735       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('MSG_CODE', '20', FALSE) || ' ' ||
736                       XNP_WSGJSL.LOVButton('MSG_CODE',LOV_BUTTON_TEXT));
737       XNP_WSGL.LayoutRowEnd;
738       XNP_WSGL.LayoutRowStart('TOP');
739       XNP_WSGL.LayoutData(htf.bold('Event Indicator:'));
740       InitialiseDomain('L_MTE_MSG_TYPE');
741       XNP_WSGL.LayoutData(XNP_WSGL.BuildDVControl(D_L_MTE_MSG_TYPE, XNP_WSGL.CTL_QUERY));
742       XNP_WSGL.LayoutRowEnd;
743       XNP_WSGL.LayoutRowStart('TOP');
744       XNP_WSGL.LayoutData(htf.bold('Status:'));
745       InitialiseDomain('MSG_STATUS');
746       XNP_WSGL.LayoutData(XNP_WSGL.BuildDVControl(D_MSG_STATUS, XNP_WSGL.CTL_QUERY));
747       XNP_WSGL.LayoutRowEnd;
748       XNP_WSGL.LayoutRowStart('TOP');
749       XNP_WSGL.LayoutData(htf.bold('Ref ID:'));
750       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('REFERENCE_ID', '20', FALSE));
751       XNP_WSGL.LayoutRowEnd;
752       XNP_WSGL.LayoutRowStart('TOP');
753       XNP_WSGL.LayoutData(htf.bold('Opp Ref ID:'));
754       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('OPP_REFERENCE_ID', '20', FALSE));
755       XNP_WSGL.LayoutRowEnd;
756       XNP_WSGL.LayoutRowStart('TOP');
757       XNP_WSGL.LayoutData(htf.bold('Receiver:'));
758       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('RECIPIENT_NAME', '20', FALSE));
759       XNP_WSGL.LayoutRowEnd;
760       XNP_WSGL.LayoutRowStart('TOP');
761       XNP_WSGL.LayoutData(htf.bold('Sender:'));
762       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('SENDER_NAME', '20', FALSE));
763       XNP_WSGL.LayoutRowEnd;
764       XNP_WSGL.LayoutRowStart('TOP');
765       XNP_WSGL.LayoutData(htf.bold('Adapter (Consumer):'));
766       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('ADAPTER_NAME', '20', FALSE));
767       XNP_WSGL.LayoutRowEnd;
768       XNP_WSGL.LayoutRowStart('TOP');
769       XNP_WSGL.LayoutData(htf.bold('Consumer FE:'));
770       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('FE_NAME', '20', FALSE));
771       XNP_WSGL.LayoutRowEnd;
772       XNP_WSGL.LayoutRowStart('TOP');
773       XNP_WSGL.LayoutData(htf.bold('Order ID:'));
774       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('ORDER_ID', '20', FALSE));
775       XNP_WSGL.LayoutRowEnd;
776       XNP_WSGL.LayoutRowStart('TOP');
777       XNP_WSGL.LayoutData(htf.bold('Work Item Instance ID:'));
778       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('WI_INSTANCE_ID', '20', FALSE));
779       XNP_WSGL.LayoutRowEnd;
780       XNP_WSGL.LayoutRowStart('TOP');
781       XNP_WSGL.LayoutData(htf.bold('FA Instance ID:'));
782       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('FA_INSTANCE_ID', '20', FALSE));
783       XNP_WSGL.LayoutRowEnd;
784 
785       XNP_WSGL.LayoutClose;
786 
787       htp.p ('<SCRIPT><!--');
788       htp.p ('document.write (''<input type=hidden name="Z_ACTION">'')');
789       htp.p ('//-->');
790       htp.p ('</SCRIPT>');
791       htp.p ('<SCRIPT><!--');
792       htp.p ('document.write (''' || htf.formSubmit('', htf.escape_sc(QF_QUERY_BUT_CAPTION), 'onClick="this.form.Z_ACTION.value=\''' || QF_QUERY_BUT_ACTION || '\''"') || ''')');
793       htp.p ('//-->');
794       htp.p ('</SCRIPT>');
795 
796       if XNP_WSGL.IsSupported ('NOSCRIPT')
797       then
798 
799         htp.p ('<NOSCRIPT>');
800         htp.formSubmit('Z_ACTION', htf.escape_sc(QF_QUERY_BUT_CAPTION));
801         htp.p ('</NOSCRIPT>');
802 
803       end if;
804       htp.formReset(htf.escape_sc(QF_CLEAR_BUT_CAPTION));
805 
806       XNP_WSGL.HiddenField('Z_CHK',
807                      to_char(XNP_WSGL.Checksum('')));
808       htp.formClose;
809 
810       htp.p(htf.img('/OA_MEDIA/FNDLOGOS.gif'));
811 
812       XNP_WSGL.ClosePageBody;
813 
814    exception
815       when others then
816          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
817                              QF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.FormQuery');
818          XNP_WSGL.ClosePageBody;
819    end;
820 
821 --------------------------------------------------------------------------------
822 -- Name:        xnp_msg_diagnostics$xnp_msgs.FormView
823 --
824 -- Description: This procedure builds an HTML form for view/update of fields in
825 --              the 'XNP_MSGS' module component (Message Details).
826 --
827 -- Parameters:  Z_FORM_STATUS  Status of the form
828 --
829 --------------------------------------------------------------------------------
830    procedure FormView(Z_FORM_STATUS in number) is
831 
832 
833     begin
834 
835       XNP_WSGL.OpenPageHead('SFM iMessage Diagnostics'||' : '||'Message Details');
836       xnp_msg_diagnostics$.TemplateHeader(TRUE,0);
837       XNP_WSGL.ClosePageHead;
838 
839       XNP_WSGL.OpenPageBody(FALSE, p_attributes=>VF_BODY_ATTRIBUTES);
840 
841       htp.p(htf.bold(fnd_message.get_string('XNP','WEB_TITLE')));
842       htp.p(htf.header(1,fnd_message.get_string('XNP','WEB_XNPMSGDG_DETAILS_TITLE')));
843       InitialiseDomain('L_MTE_MSG_TYPE');
844       InitialiseDomain('MSG_STATUS');
845       InitialiseDomain('DIRECTION_INDICATOR');
846       InitialiseDomain('PRIORITY');
847 
848 
849 
850       FORM_VAL.MSG_ID := CURR_VAL.MSG_ID;
851       FORM_VAL.XML_PAYLOAD_LINK := NBT_VAL.XML_PAYLOAD_LINK;
852       FORM_VAL.MSG_CODE := CURR_VAL.MSG_CODE;
853       FORM_VAL.L_MTE_MSG_TYPE := XNP_WSGL.DomainMeaning(D_L_MTE_MSG_TYPE, NBT_VAL.L_MTE_MSG_TYPE);
854       FORM_VAL.MSG_STATUS := XNP_WSGL.DomainMeaning(D_MSG_STATUS, CURR_VAL.MSG_STATUS);
855       FORM_VAL.DIRECTION_INDICATOR := XNP_WSGL.DomainMeaning(D_DIRECTION_INDICATOR, CURR_VAL.DIRECTION_INDICATOR);
856       FORM_VAL.REFERENCE_ID := CURR_VAL.REFERENCE_ID;
857       FORM_VAL.OPP_REFERENCE_ID := CURR_VAL.OPP_REFERENCE_ID;
858       FORM_VAL.VERSION := CURR_VAL.MSG_VERSION;
859       FORM_VAL.MSG_CREATION_DATE := ltrim(to_char(CURR_VAL.MSG_CREATION_DATE, 'DD-MON-RRRR HH24:MI:SS'));
860       FORM_VAL.SEND_RCV_DATE := ltrim(to_char(CURR_VAL.SEND_RCV_DATE, 'DD-MON-RRRR'));
861       FORM_VAL.RECIPIENT_NAME := CURR_VAL.RECIPIENT_NAME;
862       FORM_VAL.SENDER_NAME := CURR_VAL.SENDER_NAME;
863       FORM_VAL.ADAPTER_NAME := CURR_VAL.ADAPTER_NAME;
864       FORM_VAL.FE_NAME := CURR_VAL.FE_NAME;
865       FORM_VAL.ORDER_ID := CURR_VAL.ORDER_ID;
866       FORM_VAL.WI_INSTANCE_ID := CURR_VAL.WI_INSTANCE_ID;
867       FORM_VAL.FA_INSTANCE_ID := CURR_VAL.FA_INSTANCE_ID;
868       FORM_VAL.PRIORITY := XNP_WSGL.DomainMeaning(D_PRIORITY, NBT_VAL.PRIORITY);
869       FORM_VAL.LAST_COMPILED_DATE := ltrim(to_char(NBT_VAL.LAST_COMPILED_DATE, 'DD-MON-RRRR'));
870       FORM_VAL.DESCRIPTION := CURR_VAL.DESCRIPTION;
871       FORM_VAL.RESEND_LINK := NBT_VAL.RESEND_LINK;
872 
873       /*
874 
875 	Fixed Bug# 1808775 Procedure fails due to message length > 2000
876 	Now this logic will never be executed since we only display the
877 	body text directly using text/xml using a browser capable of XML
878 	rendering - rraheja 05/31/2001
879 
880 	l_amount_to_read := DBMS_LOB.GETLENGTH(CURR_VAL_BODY_TEXT) ;
881         DBMS_LOB.READ(lob_loc => CURR_VAL_BODY_TEXT,
882         amount => l_amount_to_read,
883         offset => 1,
884         buffer => FORM_VAL.BODY_TEXT ) ;
885         FORM_VAL.BODY_TEXT := CURR_VAL.BODY_TEXT;
886 
887       */
888 
889       FORM_VAL.L_MTE_DEFAULT_PROCESS_LOGIC := NBT_VAL.L_MTE_DEFAULT_PROCESS_LOGIC;
890       FORM_VAL.L_MTE_IN_PROCESS_LOGIC := NBT_VAL.L_MTE_IN_PROCESS_LOGIC;
891       FORM_VAL.L_MTE_VALIDATE_LOGIC := NBT_VAL.L_MTE_VALIDATE_LOGIC;
892       FORM_VAL.L_MTE_OUT_PROCESS_LOGIC := NBT_VAL.L_MTE_OUT_PROCESS_LOGIC;
893 
894       if Z_FORM_STATUS = XNP_WSGL.FORM_STATUS_ERROR then
895          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_cg$errors.GetErrors,
896                              'SFM iMessage Diagnostics'||' : '||'Message Details', VF_BODY_ATTRIBUTES);
897       elsif Z_FORM_STATUS = XNP_WSGL.FORM_STATUS_UPD then
898          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_SUCCESS, XNP_WSGL.MsgGetText(207, XNP_WSGLM.MSG207_ROW_UPDATED),
899                              'SFM iMessage Diagnostics'||' : '||'Message Details', VF_BODY_ATTRIBUTES);
900       elsif Z_FORM_STATUS = XNP_WSGL.FORM_STATUS_INS then
901          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_SUCCESS, XNP_WSGL.MsgGetText(208, XNP_WSGLM.MSG208_ROW_INSERTED),
902                              'SFM iMessage Diagnostics'||' : '||'Message Details', VF_BODY_ATTRIBUTES);
903       end if;
904 
905 
906       XNP_WSGL.LayoutOpen(XNP_WSGL.LAYOUT_TABLE, P_BORDER=>TRUE);
907 
908       XNP_WSGL.LayoutRowStart;
909       for i in 1..VF_NUMBER_OF_COLUMNS loop
910          XNP_WSGL.LayoutHeader(36, 'LEFT', NULL);
911          XNP_WSGL.LayoutHeader(240, 'LEFT', NULL);
912       end loop;
913       XNP_WSGL.LayoutRowEnd;
914 
915       XNP_WSGL.LayoutRowStart('TOP');
916       XNP_WSGL.LayoutData(htf.bold('ID:'));
917       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.MSG_ID));
918       XNP_WSGL.LayoutRowEnd;
919       if NBT_VAL.XML_PAYLOAD_LINK is not null then
920          XNP_WSGL.LayoutRowStart('TOP');
921          XNP_WSGL.LayoutData(htf.anchor2(FORM_VAL.XML_PAYLOAD_LINK, 'XML'));
922          XNP_WSGL.LayoutData('');
923          XNP_WSGL.LayoutRowEnd;
924       end if;
925       XNP_WSGL.LayoutRowStart('TOP');
926       XNP_WSGL.LayoutData(htf.bold('Code:'));
927       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.MSG_CODE));
928       XNP_WSGL.LayoutRowEnd;
929       XNP_WSGL.LayoutRowStart('TOP');
930       XNP_WSGL.LayoutData(htf.bold('Event Indicator:'));
931       XNP_WSGL.LayoutData(FORM_VAL.L_MTE_MSG_TYPE);
932       XNP_WSGL.LayoutRowEnd;
933       XNP_WSGL.LayoutRowStart('TOP');
934       XNP_WSGL.LayoutData(htf.bold('Status:'));
935       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.MSG_STATUS));
936       XNP_WSGL.LayoutRowEnd;
937       XNP_WSGL.LayoutRowStart('TOP');
938       XNP_WSGL.LayoutData(htf.bold('In/Out:'));
939       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.DIRECTION_INDICATOR));
940       XNP_WSGL.LayoutRowEnd;
941       XNP_WSGL.LayoutRowStart('TOP');
942       XNP_WSGL.LayoutData(htf.bold('Ref ID:'));
943       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.REFERENCE_ID));
944       XNP_WSGL.LayoutRowEnd;
945       XNP_WSGL.LayoutRowStart('TOP');
946       XNP_WSGL.LayoutData(htf.bold('Opp Ref ID:'));
947       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.OPP_REFERENCE_ID));
948       XNP_WSGL.LayoutRowEnd;
949       XNP_WSGL.LayoutRowStart('TOP');
950       XNP_WSGL.LayoutData(htf.bold('Version:'));
951       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.VERSION));
952       XNP_WSGL.LayoutRowEnd;
953       XNP_WSGL.LayoutRowStart('TOP');
954       XNP_WSGL.LayoutData(htf.bold('Created On:'));
955       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.MSG_CREATION_DATE));
956       XNP_WSGL.LayoutRowEnd;
957       XNP_WSGL.LayoutRowStart('TOP');
958       XNP_WSGL.LayoutData(htf.bold('Processed On:'));
959       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.SEND_RCV_DATE));
960       XNP_WSGL.LayoutRowEnd;
961       XNP_WSGL.LayoutRowStart('TOP');
962       XNP_WSGL.LayoutData(htf.bold('Receiver:'));
963       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.RECIPIENT_NAME));
964       XNP_WSGL.LayoutRowEnd;
965       XNP_WSGL.LayoutRowStart('TOP');
966       XNP_WSGL.LayoutData(htf.bold('Sender:'));
967       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.SENDER_NAME));
968       XNP_WSGL.LayoutRowEnd;
969       XNP_WSGL.LayoutRowStart('TOP');
970       XNP_WSGL.LayoutData(htf.bold('Adapter (Consumer):'));
971       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.ADAPTER_NAME));
972       XNP_WSGL.LayoutRowEnd;
973       XNP_WSGL.LayoutRowStart('TOP');
974       XNP_WSGL.LayoutData(htf.bold('Consumer FE:'));
975       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.FE_NAME));
976       XNP_WSGL.LayoutRowEnd;
977       XNP_WSGL.LayoutRowStart('TOP');
978       XNP_WSGL.LayoutData(htf.bold('Order ID:'));
979       XNP_WSGL.LayoutData(FORM_VAL.ORDER_ID);
980       XNP_WSGL.LayoutRowEnd;
981       XNP_WSGL.LayoutRowStart('TOP');
982       XNP_WSGL.LayoutData(htf.bold('Work Item Instance ID:'));
983       XNP_WSGL.LayoutData(FORM_VAL.WI_INSTANCE_ID);
984       XNP_WSGL.LayoutRowEnd;
985       XNP_WSGL.LayoutRowStart('TOP');
986       XNP_WSGL.LayoutData(htf.bold('FA Instance ID:'));
987       XNP_WSGL.LayoutData(FORM_VAL.FA_INSTANCE_ID);
988       XNP_WSGL.LayoutRowEnd;
989       XNP_WSGL.LayoutRowStart('TOP');
990       XNP_WSGL.LayoutData(htf.bold('Priority:'));
991       XNP_WSGL.LayoutData(FORM_VAL.PRIORITY);
992       XNP_WSGL.LayoutRowEnd;
993       XNP_WSGL.LayoutRowStart('TOP');
994       XNP_WSGL.LayoutData(htf.bold('Message Definition Last Compiled On:'));
995       XNP_WSGL.LayoutData(FORM_VAL.LAST_COMPILED_DATE);
996       XNP_WSGL.LayoutRowEnd;
997       XNP_WSGL.LayoutRowStart('TOP');
998       XNP_WSGL.LayoutData(htf.bold('Error Description:'));
999       XNP_WSGL.LayoutData(replace(FORM_VAL.DESCRIPTION, '
1000 ', '<BR>
1001 '));
1002       XNP_WSGL.LayoutRowEnd;
1003       if NBT_VAL.RESEND_LINK is not null then
1004          XNP_WSGL.LayoutRowStart('TOP');
1005          XNP_WSGL.LayoutData(htf.anchor2(FORM_VAL.RESEND_LINK, 'Retry Message'));
1006          XNP_WSGL.LayoutData('');
1007          XNP_WSGL.LayoutRowEnd;
1008       end if;
1009       XNP_WSGL.LayoutRowStart('TOP');
1010       XNP_WSGL.LayoutData(htf.bold('Default Process Logic:'));
1011       XNP_WSGL.LayoutData(replace(FORM_VAL.L_MTE_DEFAULT_PROCESS_LOGIC, '
1012 ', '<BR>
1013 '));
1014       XNP_WSGL.LayoutRowEnd;
1015       XNP_WSGL.LayoutRowStart('TOP');
1016       XNP_WSGL.LayoutData(htf.bold('Process Inbound Logic:'));
1017       XNP_WSGL.LayoutData(replace(FORM_VAL.L_MTE_IN_PROCESS_LOGIC, '
1018 ', '<BR>
1019 '));
1020       XNP_WSGL.LayoutRowEnd;
1021       XNP_WSGL.LayoutRowStart('TOP');
1022       XNP_WSGL.LayoutData(htf.bold('Validate Logic:'));
1023       XNP_WSGL.LayoutData(replace(FORM_VAL.L_MTE_VALIDATE_LOGIC, '
1024 ', '<BR>
1025 '));
1026       XNP_WSGL.LayoutRowEnd;
1027       XNP_WSGL.LayoutRowStart('TOP');
1028       XNP_WSGL.LayoutData(htf.bold('Process Outbound Logic:'));
1029       XNP_WSGL.LayoutData(replace(FORM_VAL.L_MTE_OUT_PROCESS_LOGIC, '
1030 ', '<BR>
1031 '));
1032       XNP_WSGL.LayoutRowEnd;
1033 
1034       XNP_WSGL.LayoutClose;
1035 
1036 
1037 
1038 
1039 
1040 
1041       XNP_WSGL.ReturnLinks('0.1', XNP_WSGL.MENU_LONG);
1042       XNP_WSGL.NavLinks;
1043 
1044 
1045       htp.p(htf.img('/OA_MEDIA/FNDLOGOS.gif'));
1046 
1047       XNP_WSGL.ClosePageBody;
1048 
1049    exception
1050       when others then
1051          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
1052                              VF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.FormView');
1053          XNP_WSGL.ClosePageBody;
1054    end;
1055 
1056 --------------------------------------------------------------------------------
1057 procedure retry_message
1058 is
1059 begin
1060 	htp.htmlopen;
1061     htp.bodyopen;
1062     htp.p('Please use the notification for retrying this message.') ;
1063     htp.bodyclose;
1064     htp.htmlclose;
1065 end;
1066 --------------------------------------------------------------------------------
1067 -- Name:        xnp_msg_diagnostics$xnp_msgs.QueryView
1068 --
1069 -- Description: Queries the details of a single row in preparation for display.
1070 --
1071 -- Parameters:
1072 --
1073 --------------------------------------------------------------------------------
1074    procedure QueryView(
1075              P_MSG_ID in varchar2,
1076              Z_POST_DML in boolean,
1077              Z_FORM_STATUS in number,
1078              Z_DIRECT_CALL in boolean,
1079              Z_CHK in varchar2) is
1080    begin
1081 
1082       XNP_WSGL.RegisterURL('xnp_msg_diagnostics$xnp_msgs.queryview');
1083       XNP_WSGL.AddURLParam('P_MSG_ID', P_MSG_ID);
1084       XNP_WSGL.AddURLParam('Z_CHK', Z_CHK);
1085       if not Z_DIRECT_CALL then
1086          if not XNP_WSGL.ValidateChecksum('' ||
1087                                       P_MSG_ID, Z_CHK) then
1088             return;
1089          end if;
1090       end if;
1091 
1092 
1093       if P_MSG_ID is not null then
1094          CURR_VAL.MSG_ID := P_MSG_ID;
1095       end if;
1096       if Z_POST_DML then
1097 
1098          SELECT L_MTE.MSG_TYPE,
1099                 L_MTE.PRIORITY,
1100                 L_MTE.LAST_COMPILED_DATE,
1101 --                decode (MSG.MSG_STATUS, 'FAILED',  'xnp_message.fix?p_msg_id='||MSG.MSG_ID, NULL),
1102                 decode (MSG.MSG_STATUS, 'FAILED',  ' xnp_msg_diagnostics$xnp_msgs.retry_message', NULL),
1103                 L_MTE.DEFAULT_PROCESS_LOGIC,
1104                 L_MTE.IN_PROCESS_LOGIC,
1105                 L_MTE.VALIDATE_LOGIC,
1106                 L_MTE.OUT_PROCESS_LOGIC
1107          INTO   NBT_VAL.L_MTE_MSG_TYPE,
1108                 NBT_VAL.PRIORITY,
1109                 NBT_VAL.LAST_COMPILED_DATE,
1110                 NBT_VAL.RESEND_LINK,
1111                 NBT_VAL.L_MTE_DEFAULT_PROCESS_LOGIC,
1112                 NBT_VAL.L_MTE_IN_PROCESS_LOGIC,
1113                 NBT_VAL.L_MTE_VALIDATE_LOGIC,
1114                 NBT_VAL.L_MTE_OUT_PROCESS_LOGIC
1115          FROM   XNP_MSGS MSG,
1116                 XNP_MSG_TYPES_B L_MTE
1117          WHERE  MSG.MSG_ID = CURR_VAL.MSG_ID
1118          AND    L_MTE.MSG_CODE = MSG.MSG_CODE
1119          ;
1120 
1121       else
1122 
1123          SELECT MSG.MSG_ID,
1124                 MSG.MSG_CODE,
1125                 L_MTE.MSG_TYPE,
1126                 MSG.MSG_STATUS,
1127                 MSG.DIRECTION_INDICATOR,
1128                 MSG.REFERENCE_ID,
1129                 MSG.OPP_REFERENCE_ID,
1130                 MSG.MSG_VERSION,
1131                 MSG.MSG_CREATION_DATE,
1132                 MSG.SEND_RCV_DATE,
1133                 MSG.RECIPIENT_NAME,
1134                 MSG.SENDER_NAME,
1135                 MSG.ADAPTER_NAME,
1136                 MSG.FE_NAME,
1137                 MSG.ORDER_ID,
1138                 MSG.WI_INSTANCE_ID,
1139                 MSG.FA_INSTANCE_ID,
1140                 L_MTE.PRIORITY,
1141                 L_MTE.LAST_COMPILED_DATE,
1142                 MSG.DESCRIPTION,
1143 --                decode (MSG.MSG_STATUS, 'FAILED',  'xnp_message.fix?p_msg_id='||MSG.MSG_ID, NULL),
1144                 decode (MSG.MSG_STATUS, 'FAILED',  ' xnp_msg_diagnostics$xnp_msgs.retry_message', NULL),
1145                 MSG.BODY_TEXT,
1146                 L_MTE.DEFAULT_PROCESS_LOGIC,
1147                 L_MTE.IN_PROCESS_LOGIC,
1148                 L_MTE.VALIDATE_LOGIC,
1149                 L_MTE.OUT_PROCESS_LOGIC
1150          INTO   CURR_VAL.MSG_ID,
1151                 CURR_VAL.MSG_CODE,
1152                 NBT_VAL.L_MTE_MSG_TYPE,
1153                 CURR_VAL.MSG_STATUS,
1154                 CURR_VAL.DIRECTION_INDICATOR,
1155                 CURR_VAL.REFERENCE_ID,
1156                 CURR_VAL.OPP_REFERENCE_ID,
1157                 CURR_VAL.MSG_VERSION,
1158                 CURR_VAL.MSG_CREATION_DATE,
1159                 CURR_VAL.SEND_RCV_DATE,
1160                 CURR_VAL.RECIPIENT_NAME,
1161                 CURR_VAL.SENDER_NAME,
1162                 CURR_VAL.ADAPTER_NAME,
1163                 CURR_VAL.FE_NAME,
1164                 CURR_VAL.ORDER_ID,
1165                 CURR_VAL.WI_INSTANCE_ID,
1166                 CURR_VAL.FA_INSTANCE_ID,
1167                 NBT_VAL.PRIORITY,
1168                 NBT_VAL.LAST_COMPILED_DATE,
1169                 CURR_VAL.DESCRIPTION,
1170                 NBT_VAL.RESEND_LINK,
1171                 CURR_VAL_BODY_TEXT, -- CLOB changes --
1172                 NBT_VAL.L_MTE_DEFAULT_PROCESS_LOGIC,
1173                 NBT_VAL.L_MTE_IN_PROCESS_LOGIC,
1174                 NBT_VAL.L_MTE_VALIDATE_LOGIC,
1175                 NBT_VAL.L_MTE_OUT_PROCESS_LOGIC
1176          FROM   XNP_MSGS MSG,
1177                 XNP_MSG_TYPES_B L_MTE
1178          WHERE  MSG.MSG_ID = CURR_VAL.MSG_ID
1179          AND    L_MTE.MSG_CODE = MSG.MSG_CODE
1180          ;
1181 
1182       end if;
1183 
1184       NBT_VAL.XML_PAYLOAD_LINK := 'xnp_web_utils.show_msg_body?p_msg_id='||CURR_VAL.MSG_ID;
1185 
1186       if not PostQuery(Z_POST_DML) then
1187          FormView(XNP_WSGL.FORM_STATUS_ERROR);
1188       else
1189          FormView(Z_FORM_STATUS);
1190       end if;
1191 
1192    exception
1193       when NO_DATA_FOUND then
1194          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_WSGL.MsgGetText(204, XNP_WSGLM.MSG204_ROW_DELETED),
1195                              'SFM iMessage Diagnostics'||' : '||'Message Details', VF_BODY_ATTRIBUTES);
1196       when others then
1197          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
1198                              VF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.QueryView');
1199    end;
1200 --------------------------------------------------------------------------------
1201 -- Name:        xnp_msg_diagnostics$xnp_msgs.QueryList
1202 --
1203 -- Description: This procedure builds the Record list for the 'XNP_MSGS'
1204 --              module component (Message Details).
1205 --
1206 --              The Record List displays context information for records which
1207 --              match the specified query criteria.
1208 --              Sets of records are displayed (10 records at a time)
1209 --              with Next/Previous buttons to get other record sets.
1210 --
1211 --              The first context column will be created as a link to the
1212 --              xnp_msg_diagnostics$xnp_msgs.FormView procedure for display of more details
1213 --              of that particular row.
1214 --
1215 -- Parameters:  P_MSG_ID - ID
1216 --              P_MSG_CODE - Code
1217 --              P_L_MTE_MSG_TYPE - Event Indicator
1218 --              P_MSG_STATUS - Status
1219 --              P_REFERENCE_ID - Ref ID
1220 --              P_OPP_REFERENCE_ID - Opp Ref ID
1221 --              P_RECIPIENT_NAME - Receiver
1222 --              P_SENDER_NAME - Sender
1223 --              P_ADAPTER_NAME - Adapter (Consumer)
1224 --              P_FE_NAME - Consumer FE
1225 --              P_ORDER_ID - Order ID
1226 --              P_WI_INSTANCE_ID - Work Item Instance ID
1227 --              P_FA_INSTANCE_ID - FA Instance ID
1228 --              Z_START - First record to display
1229 --              Z_ACTION - Next or Previous set
1230 --
1231 --------------------------------------------------------------------------------
1232    procedure QueryList(
1233              P_MSG_ID in varchar2,
1234              P_MSG_CODE in varchar2,
1235              P_L_MTE_MSG_TYPE in varchar2,
1236              P_MSG_STATUS in varchar2,
1237              P_REFERENCE_ID in varchar2,
1238              P_OPP_REFERENCE_ID in varchar2,
1239              P_RECIPIENT_NAME in varchar2,
1240              P_SENDER_NAME in varchar2,
1241              P_ADAPTER_NAME in varchar2,
1242              P_FE_NAME in varchar2,
1243              P_ORDER_ID in varchar2,
1244              P_WI_INSTANCE_ID in varchar2,
1245              P_FA_INSTANCE_ID in varchar2,
1246              Z_START in varchar2,
1247              Z_ACTION in varchar2,
1248              Z_DIRECT_CALL in boolean,
1249              Z_CHK in varchar2) is
1250 
1251       L_VF_FRAME          varchar2(20) := null;
1252       I_WHERE             varchar2(2000) := '';
1253       I_CURSOR            integer;
1254       I_VOID              integer;
1255       I_ROWS_FETCHED      integer := 0;
1256       I_TOTAL_ROWS        integer := 0;
1257       I_START             number(6) := to_number(Z_START);
1258       I_COUNT             number(10) := 0;
1259       I_OF_TOTAL_TEXT     varchar2(200) := '';
1260       I_NEXT_BUT          boolean;
1261       I_PREV_BUT          boolean;
1262       L_CHECKSUM          varchar2(10);
1263 
1264    begin
1265 
1266       XNP_WSGL.RegisterURL('xnp_msg_diagnostics$xnp_msgs.querylist');
1267       XNP_WSGL.AddURLParam('P_MSG_ID', P_MSG_ID);
1268       XNP_WSGL.AddURLParam('P_MSG_CODE', P_MSG_CODE);
1269       XNP_WSGL.AddURLParam('P_L_MTE_MSG_TYPE', P_L_MTE_MSG_TYPE);
1270       XNP_WSGL.AddURLParam('P_MSG_STATUS', P_MSG_STATUS);
1271       XNP_WSGL.AddURLParam('P_REFERENCE_ID', P_REFERENCE_ID);
1272       XNP_WSGL.AddURLParam('P_OPP_REFERENCE_ID', P_OPP_REFERENCE_ID);
1273       XNP_WSGL.AddURLParam('P_RECIPIENT_NAME', P_RECIPIENT_NAME);
1274       XNP_WSGL.AddURLParam('P_SENDER_NAME', P_SENDER_NAME);
1275       XNP_WSGL.AddURLParam('P_ADAPTER_NAME', P_ADAPTER_NAME);
1276       XNP_WSGL.AddURLParam('P_FE_NAME', P_FE_NAME);
1277       XNP_WSGL.AddURLParam('P_ORDER_ID', P_ORDER_ID);
1278       XNP_WSGL.AddURLParam('P_WI_INSTANCE_ID', P_WI_INSTANCE_ID);
1279       XNP_WSGL.AddURLParam('P_FA_INSTANCE_ID', P_FA_INSTANCE_ID);
1280       XNP_WSGL.AddURLParam('Z_START', Z_START);
1281       XNP_WSGL.AddURLParam('Z_ACTION', Z_ACTION);
1282       XNP_WSGL.AddURLParam('Z_CHK', Z_CHK);
1283       if not Z_DIRECT_CALL then
1284          if not XNP_WSGL.ValidateChecksum('', Z_CHK) then
1285             return;
1286          end if;
1287       end if;
1288 
1289       if (Z_ACTION = RL_QUERY_BUT_ACTION) or (Z_ACTION = RL_QUERY_BUT_CAPTION) then
1290          FormQuery(
1291          Z_DIRECT_CALL=>TRUE);
1292          return;
1293       end if;
1294 
1295       XNP_WSGL.OpenPageHead('SFM iMessage Diagnostics'||' : '||'Message Details');
1296       CreateListJavaScript;
1297       xnp_msg_diagnostics$.TemplateHeader(TRUE,0);
1298       XNP_WSGL.ClosePageHead;
1299 
1300       XNP_WSGL.OpenPageBody(FALSE, p_attributes=>RL_BODY_ATTRIBUTES);
1301 
1302       htp.p(htf.bold(fnd_message.get_string('XNP','WEB_TITLE')));
1303       htp.p(htf.header(1,fnd_message.get_string('XNP','WEB_XNPMSGDG_DETAILS_TITLE')));
1304       if (Z_ACTION = RL_LAST_BUT_ACTION) or (Z_ACTION = RL_LAST_BUT_CAPTION) or
1305          (Z_ACTION = RL_COUNT_BUT_ACTION) or (Z_ACTION = RL_COUNT_BUT_CAPTION) or
1306          (RL_TOTAL_COUNT_REQD)
1307       then
1308 
1309          I_COUNT := QueryHits(
1310                     P_MSG_ID,
1311                     P_MSG_CODE,
1312                     P_L_MTE_MSG_TYPE,
1313                     P_MSG_STATUS,
1314                     P_REFERENCE_ID,
1315                     P_OPP_REFERENCE_ID,
1316                     P_RECIPIENT_NAME,
1317                     P_SENDER_NAME,
1318                     P_ADAPTER_NAME,
1319                     P_FE_NAME,
1320                     P_ORDER_ID,
1321                     P_WI_INSTANCE_ID,
1322                     P_FA_INSTANCE_ID);
1323          if I_COUNT = -1 then
1324             XNP_WSGL.ClosePageBody;
1325             return;
1326          end if;
1327       end if;
1328 
1329       if (Z_ACTION = RL_COUNT_BUT_ACTION) or (Z_ACTION = RL_COUNT_BUT_CAPTION) or
1330          RL_TOTAL_COUNT_REQD then
1331          I_OF_TOTAL_TEXT := ' '||XNP_WSGL.MsgGetText(111,XNP_WSGLM.DSP111_OF_TOTAL, to_char(I_COUNT));
1332       end if;
1333 
1334       if Z_START IS NULL or (Z_ACTION = RL_FIRST_BUT_ACTION) or (Z_ACTION = RL_FIRST_BUT_CAPTION) then
1335          I_START := 1;
1336       elsif (Z_ACTION = RL_NEXT_BUT_ACTION) or (Z_ACTION = RL_NEXT_BUT_CAPTION) then
1337          I_START := I_START + RL_RECORD_SET_SIZE;
1338       elsif (Z_ACTION = RL_PREV_BUT_ACTION) or (Z_ACTION = RL_PREV_BUT_CAPTION) then
1339          I_START := I_START - RL_RECORD_SET_SIZE;
1340       elsif (Z_ACTION = RL_LAST_BUT_ACTION) or (Z_ACTION = RL_LAST_BUT_CAPTION) then
1341          I_START := 1 + (floor((I_COUNT-1)/RL_RECORD_SET_SIZE)*RL_RECORD_SET_SIZE);
1342       elsif Z_ACTION is null and I_START = 1 then
1343 	 null;
1344       elsif Z_ACTION IS NULL then
1345          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_WSGL.MsgGetText(215,XNP_WSGLM.MSG215_NO_MULTIPLE_SUBMITS),
1346                              'SFM iMessage Diagnostics'||' : '||'Message Details', RL_BODY_ATTRIBUTES);
1347          XNP_WSGL.ClosePageBody;
1348          return;
1349       end if;
1350 
1351       if I_START < 1 then
1352           I_START := 1;
1353       end if;
1354 
1355       I_PREV_BUT := TRUE;
1356       I_NEXT_BUT := FALSE;
1357       if I_START = 1 or Z_ACTION IS NULL then
1358          I_PREV_BUT := FALSE;
1359       end if;
1360 
1361       if nvl(Z_ACTION, 'X') <> 'DONTQUERY' then
1362 
1363          if ZONE_SQL IS NULL then
1364             if not BuildSQL(
1365                        P_MSG_ID,
1366                        P_MSG_CODE,
1367                        P_L_MTE_MSG_TYPE,
1368                        P_MSG_STATUS,
1369                        P_REFERENCE_ID,
1370                        P_OPP_REFERENCE_ID,
1371                        P_RECIPIENT_NAME,
1372                        P_SENDER_NAME,
1373                        P_ADAPTER_NAME,
1374                        P_FE_NAME,
1375                        P_ORDER_ID,
1376                        P_WI_INSTANCE_ID,
1377                        P_FA_INSTANCE_ID) then
1378                XNP_WSGL.ClosePageBody;
1379                return;
1380             end if;
1381          end if;
1382 
1383          if not PreQuery(
1384                        P_MSG_ID,
1385                        P_MSG_CODE,
1386                        P_L_MTE_MSG_TYPE,
1387                        P_MSG_STATUS,
1388                        P_REFERENCE_ID,
1389                        P_OPP_REFERENCE_ID,
1390                        P_RECIPIENT_NAME,
1391                        P_SENDER_NAME,
1392                        P_ADAPTER_NAME,
1393                        P_FE_NAME,
1394                        P_ORDER_ID,
1395                        P_WI_INSTANCE_ID,
1396                        P_FA_INSTANCE_ID) then
1397             XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_cg$errors.GetErrors,
1398                                 'SFM iMessage Diagnostics'||' : '||'Message Details', RL_BODY_ATTRIBUTES);
1399          return;
1400          end if;
1401 
1402          InitialiseDomain('MSG_STATUS');
1403          InitialiseDomain('DIRECTION_INDICATOR');
1404 
1405 
1406          I_CURSOR := dbms_sql.open_cursor;
1407          dbms_sql.parse(I_CURSOR, ZONE_SQL, dbms_sql.v7);
1408          dbms_sql.define_column(I_CURSOR, 1, CURR_VAL.MSG_ID);
1409          dbms_sql.define_column(I_CURSOR, 2, NBT_VAL.XML_PAYLOAD_LINK, 2000);
1410          dbms_sql.define_column(I_CURSOR, 3, CURR_VAL.MSG_CODE, 20);
1411          dbms_sql.define_column(I_CURSOR, 4, CURR_VAL.MSG_STATUS, 10);
1412          dbms_sql.define_column(I_CURSOR, 5, CURR_VAL.DIRECTION_INDICATOR, 1);
1413          dbms_sql.define_column(I_CURSOR, 6, CURR_VAL.REFERENCE_ID, 1024);
1414          dbms_sql.define_column(I_CURSOR, 7, CURR_VAL.OPP_REFERENCE_ID, 40);
1415          dbms_sql.define_column(I_CURSOR, 8, CURR_VAL.MSG_VERSION);
1416          dbms_sql.define_column(I_CURSOR, 9, CURR_VAL.MSG_CREATION_DATE);
1417          dbms_sql.define_column(I_CURSOR, 10, CURR_VAL.SEND_RCV_DATE);
1418          dbms_sql.define_column(I_CURSOR, 11, CURR_VAL.RECIPIENT_NAME, 40);
1419          -- dbms_sql.define_column(I_CURSOR, 12, CURR_VAL.SENDER_NAME, 40);
1420 	 dbms_sql.define_column(I_CURSOR, 12, CURR_VAL.SENDER_NAME, 60); -- increased the size from 40 to 60 for 6880763
1421          dbms_sql.define_column(I_CURSOR, 13, CURR_VAL.ADAPTER_NAME, 40);
1422          dbms_sql.define_column(I_CURSOR, 14, CURR_VAL.FE_NAME, 40);
1423 
1424          I_VOID := dbms_sql.execute(I_CURSOR);
1425          I_ROWS_FETCHED := dbms_sql.fetch_rows(I_CURSOR);
1426       else
1427          I_ROWS_FETCHED := 0;
1428       end if;
1429       I_TOTAL_ROWS := I_ROWS_FETCHED;
1430 
1431       if I_ROWS_FETCHED <> 0 then
1432 
1433          XNP_WSGL.LayoutOpen(XNP_WSGL.LAYOUT_TABLE, P_BORDER=>TRUE);
1434 
1435          XNP_WSGL.LayoutRowStart;
1436          for i in 1..RL_NUMBER_OF_COLUMNS loop
1437       	    XNP_WSGL.LayoutHeader(20, 'RIGHT', 'ID');
1438       	    XNP_WSGL.LayoutHeader(30, 'LEFT', 'XML');
1439       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Code');
1440       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Status');
1441       	    XNP_WSGL.LayoutHeader(10, 'LEFT', 'In/Out');
1442       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Ref ID');
1443       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Opp Ref ID');
1444       	    XNP_WSGL.LayoutHeader(5, 'RIGHT', 'Version');
1445       	    XNP_WSGL.LayoutHeader(12, 'LEFT', 'Created On');
1446       	    XNP_WSGL.LayoutHeader(12, 'LEFT', 'Processed On');
1447       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Receiver');
1448       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Sender');
1449       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Adapter (Consumer)');
1450       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Consumer FE');
1451          end loop;
1452          XNP_WSGL.LayoutRowEnd;
1453 
1454          while I_ROWS_FETCHED <> 0 loop
1455 
1456             if I_TOTAL_ROWS >= I_START then
1457                dbms_sql.column_value(I_CURSOR, 1, CURR_VAL.MSG_ID);
1458                dbms_sql.column_value(I_CURSOR, 2, NBT_VAL.XML_PAYLOAD_LINK);
1459                dbms_sql.column_value(I_CURSOR, 3, CURR_VAL.MSG_CODE);
1460                dbms_sql.column_value(I_CURSOR, 4, CURR_VAL.MSG_STATUS);
1461                dbms_sql.column_value(I_CURSOR, 5, CURR_VAL.DIRECTION_INDICATOR);
1462                dbms_sql.column_value(I_CURSOR, 6, CURR_VAL.REFERENCE_ID);
1463                dbms_sql.column_value(I_CURSOR, 7, CURR_VAL.OPP_REFERENCE_ID);
1464                dbms_sql.column_value(I_CURSOR, 8, CURR_VAL.MSG_VERSION);
1465                dbms_sql.column_value(I_CURSOR, 9, CURR_VAL.MSG_CREATION_DATE);
1466                dbms_sql.column_value(I_CURSOR, 10, CURR_VAL.SEND_RCV_DATE);
1467                dbms_sql.column_value(I_CURSOR, 11, CURR_VAL.RECIPIENT_NAME);
1468                dbms_sql.column_value(I_CURSOR, 12, CURR_VAL.SENDER_NAME);
1469                dbms_sql.column_value(I_CURSOR, 13, CURR_VAL.ADAPTER_NAME);
1470                dbms_sql.column_value(I_CURSOR, 14, CURR_VAL.FE_NAME);
1471                L_CHECKSUM := to_char(XNP_WSGL.Checksum(''||CURR_VAL.MSG_ID));
1472 
1473 
1474                XNP_WSGL.LayoutRowStart('TOP');
1475                XNP_WSGL.LayoutData(htf.anchor2('xnp_msg_diagnostics$xnp_msgs.queryview?P_MSG_ID='||CURR_VAL.MSG_ID||'&Z_CHK='||L_CHECKSUM, CURR_VAL.MSG_ID, ctarget=>L_VF_FRAME));
1476                XNP_WSGL.LayoutData(htf.anchor2(NBT_VAL.XML_PAYLOAD_LINK, 'XML'));
1477                XNP_WSGL.LayoutData(CURR_VAL.MSG_CODE);
1478                XNP_WSGL.LayoutData(XNP_WSGL.DomainMeaning(D_MSG_STATUS, CURR_VAL.MSG_STATUS));
1479                XNP_WSGL.LayoutData(XNP_WSGL.DomainMeaning(D_DIRECTION_INDICATOR, CURR_VAL.DIRECTION_INDICATOR));
1480                XNP_WSGL.LayoutData(CURR_VAL.REFERENCE_ID);
1481                XNP_WSGL.LayoutData(CURR_VAL.OPP_REFERENCE_ID);
1482                XNP_WSGL.LayoutData(CURR_VAL.MSG_VERSION);
1483                XNP_WSGL.LayoutData(ltrim(to_char(CURR_VAL.MSG_CREATION_DATE, 'DD-MON-RRRR HH24:MI:SS')));
1484                XNP_WSGL.LayoutData(ltrim(to_char(CURR_VAL.SEND_RCV_DATE, 'DD-MON-RRRR')));
1485                XNP_WSGL.LayoutData(CURR_VAL.RECIPIENT_NAME);
1486                XNP_WSGL.LayoutData(CURR_VAL.SENDER_NAME);
1487                XNP_WSGL.LayoutData(CURR_VAL.ADAPTER_NAME);
1488                XNP_WSGL.LayoutData(CURR_VAL.FE_NAME);
1489                XNP_WSGL.LayoutRowEnd;
1490 
1491                I_ROWS_FETCHED := dbms_sql.fetch_rows(I_CURSOR);
1492                if I_TOTAL_ROWS = I_START + RL_RECORD_SET_SIZE - 1 then
1493                   if I_ROWS_FETCHED <> 0 then
1494                      I_NEXT_BUT := TRUE;
1495                   end if;
1496                   exit;
1497                end if;
1498             else
1499                I_ROWS_FETCHED := dbms_sql.fetch_rows(I_CURSOR);
1500             end if;
1501 
1502             I_TOTAL_ROWS := I_TOTAL_ROWS + I_ROWS_FETCHED;
1503 
1504          end loop;
1505 
1506          XNP_WSGL.LayoutClose;
1507 
1508          if I_START = I_TOTAL_ROWS then
1509             htp.p(XNP_WSGL.MsgGetText(109,XNP_WSGLM.DSP109_RECORD, to_char(I_TOTAL_ROWS))||I_OF_TOTAL_TEXT);
1510          else
1511             htp.p(XNP_WSGL.MsgGetText(110,XNP_WSGLM.DSP110_RECORDS_N_M,
1512                                   to_char(I_START), to_char(I_TOTAL_ROWS))||
1513                   I_OF_TOTAL_TEXT);
1514          end if;
1515          htp.para;
1516       else
1517          htp.p(XNP_WSGL.MsgGetText(112,XNP_WSGLM.DSP112_NO_RECORDS));
1518       end if;
1519 
1520       if nvl(Z_ACTION, 'X') <> 'DONTQUERY' then
1521          dbms_sql.close_cursor(I_CURSOR);
1522       end if;
1523 
1524       htp.formOpen(curl => 'xnp_msg_diagnostics$xnp_msgs.querylist', cattributes => 'NAME="frmZero"');
1525       XNP_WSGL.HiddenField('P_MSG_ID', P_MSG_ID);
1526       XNP_WSGL.HiddenField('P_MSG_CODE', P_MSG_CODE);
1527       XNP_WSGL.HiddenField('P_L_MTE_MSG_TYPE', P_L_MTE_MSG_TYPE);
1528       XNP_WSGL.HiddenField('P_MSG_STATUS', P_MSG_STATUS);
1529       XNP_WSGL.HiddenField('P_REFERENCE_ID', P_REFERENCE_ID);
1530       XNP_WSGL.HiddenField('P_OPP_REFERENCE_ID', P_OPP_REFERENCE_ID);
1531       XNP_WSGL.HiddenField('P_RECIPIENT_NAME', P_RECIPIENT_NAME);
1532       XNP_WSGL.HiddenField('P_SENDER_NAME', P_SENDER_NAME);
1533       XNP_WSGL.HiddenField('P_ADAPTER_NAME', P_ADAPTER_NAME);
1534       XNP_WSGL.HiddenField('P_FE_NAME', P_FE_NAME);
1535       XNP_WSGL.HiddenField('P_ORDER_ID', P_ORDER_ID);
1536       XNP_WSGL.HiddenField('P_WI_INSTANCE_ID', P_WI_INSTANCE_ID);
1537       XNP_WSGL.HiddenField('P_FA_INSTANCE_ID', P_FA_INSTANCE_ID);
1538       XNP_WSGL.HiddenField('Z_START', to_char(I_START));
1539       htp.p ('<SCRIPT><!--');
1540       htp.p ('document.write (''<input type=hidden name="Z_ACTION">'')');
1541       htp.p ('//-->');
1542       htp.p ('</SCRIPT>');
1543 
1544       XNP_WSGL.RecordListButton(I_PREV_BUT, 'Z_ACTION', htf.escape_sc(RL_FIRST_BUT_CAPTION),                            XNP_WSGL.MsgGetText(213,XNP_WSGLM.MSG213_AT_FIRST),			    FALSE,
1545                             'onClick="this.form.Z_ACTION.value=\''' || RL_FIRST_BUT_ACTION || '\''"');
1546       XNP_WSGL.RecordListButton(I_PREV_BUT, 'Z_ACTION', htf.escape_sc(RL_PREV_BUT_CAPTION),                            XNP_WSGL.MsgGetText(213,XNP_WSGLM.MSG213_AT_FIRST),			    FALSE,
1547                             'onClick="this.form.Z_ACTION.value=\''' || RL_PREV_BUT_ACTION || '\''"');
1548       XNP_WSGL.RecordListButton(I_NEXT_BUT,'Z_ACTION', htf.escape_sc(RL_NEXT_BUT_CAPTION),                            XNP_WSGL.MsgGetText(214,XNP_WSGLM.MSG214_AT_LAST),			    FALSE,
1549                             'onClick="this.form.Z_ACTION.value=\''' || RL_NEXT_BUT_ACTION || '\''"');
1550       XNP_WSGL.RecordListButton(I_NEXT_BUT,'Z_ACTION', htf.escape_sc(RL_LAST_BUT_CAPTION),                            XNP_WSGL.MsgGetText(214,XNP_WSGLM.MSG214_AT_LAST),			    FALSE,
1551                             'onClick="this.form.Z_ACTION.value=\''' || RL_LAST_BUT_ACTION || '\''"');
1552 
1553       XNP_WSGL.RecordListButton(TRUE, 'Z_ACTION', htf.escape_sc(RL_REQUERY_BUT_CAPTION),p_dojs=>FALSE,
1554                             buttonJS => 'onClick="this.form.Z_ACTION.value=\''' || RL_REQUERY_BUT_ACTION || '\''"');
1555       htp.para;
1556 
1557       XNP_WSGL.RecordListButton(TRUE, 'Z_ACTION', htf.escape_sc(RL_QUERY_BUT_CAPTION),p_dojs=>FALSE,
1558                             buttonJS => 'onClick="this.form.Z_ACTION.value=\''' || RL_QUERY_BUT_ACTION || '\''"');
1559       XNP_WSGL.HiddenField('Z_CHK',
1560                      to_char(XNP_WSGL.Checksum('')));
1561       htp.formClose;
1562 
1563       XNP_WSGL.ReturnLinks('0', XNP_WSGL.MENU_LONG);
1564       XNP_WSGL.NavLinks;
1565 
1566       htp.p(htf.img('/OA_MEDIA/FNDLOGOS.gif'));
1567 
1568       XNP_WSGL.ClosePageBody;
1569 
1570    exception
1571       when others then
1572          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
1573                              RL_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.QueryList');
1574          XNP_WSGL.ClosePageBody;
1575    end;
1576 
1577 --------------------------------------------------------------------------------
1578 -- Name:        xnp_msg_diagnostics$xnp_msgs.QueryFirst
1579 --
1580 -- Description: Finds the first row which matches the given search criteria
1581 --              (if any), and calls QueryView for that row
1582 --
1583 -- Parameters:
1584 --
1585 --------------------------------------------------------------------------------
1586    procedure QueryFirst(
1587              P_MSG_ID in varchar2,
1588              P_MSG_CODE in varchar2,
1589              P_L_MTE_MSG_TYPE in varchar2,
1590              P_MSG_STATUS in varchar2,
1591              P_REFERENCE_ID in varchar2,
1592              P_OPP_REFERENCE_ID in varchar2,
1593              P_RECIPIENT_NAME in varchar2,
1594              P_SENDER_NAME in varchar2,
1595              P_ADAPTER_NAME in varchar2,
1596              P_FE_NAME in varchar2,
1597              P_ORDER_ID in varchar2,
1598              P_WI_INSTANCE_ID in varchar2,
1599              P_FA_INSTANCE_ID in varchar2,
1600              Z_ACTION in varchar2,
1601              Z_DIRECT_CALL in boolean,
1602              Z_CHK in varchar2) is
1603 
1604       I_CURSOR            integer;
1605       I_VOID              integer;
1606       I_ROWS_FETCHED      integer := 0;
1607 
1608    begin
1609 
1610       XNP_WSGL.RegisterURL('xnp_msg_diagnostics$xnp_msgs.queryfirst');
1611       XNP_WSGL.AddURLParam('P_MSG_ID', P_MSG_ID);
1612       XNP_WSGL.AddURLParam('P_MSG_CODE', P_MSG_CODE);
1613       XNP_WSGL.AddURLParam('P_L_MTE_MSG_TYPE', P_L_MTE_MSG_TYPE);
1614       XNP_WSGL.AddURLParam('P_MSG_STATUS', P_MSG_STATUS);
1615       XNP_WSGL.AddURLParam('P_REFERENCE_ID', P_REFERENCE_ID);
1616       XNP_WSGL.AddURLParam('P_OPP_REFERENCE_ID', P_OPP_REFERENCE_ID);
1617       XNP_WSGL.AddURLParam('P_RECIPIENT_NAME', P_RECIPIENT_NAME);
1618       XNP_WSGL.AddURLParam('P_SENDER_NAME', P_SENDER_NAME);
1619       XNP_WSGL.AddURLParam('P_ADAPTER_NAME', P_ADAPTER_NAME);
1620       XNP_WSGL.AddURLParam('P_FE_NAME', P_FE_NAME);
1621       XNP_WSGL.AddURLParam('P_ORDER_ID', P_ORDER_ID);
1622       XNP_WSGL.AddURLParam('P_WI_INSTANCE_ID', P_WI_INSTANCE_ID);
1623       XNP_WSGL.AddURLParam('P_FA_INSTANCE_ID', P_FA_INSTANCE_ID);
1624       XNP_WSGL.AddURLParam('Z_ACTION', Z_ACTION);
1625       XNP_WSGL.AddURLParam('Z_CHK', Z_CHK);
1626       if not Z_DIRECT_CALL then
1627          if not XNP_WSGL.ValidateChecksum('', Z_CHK) then
1628             return;
1629          end if;
1630       end if;
1631 
1632       if Z_ACTION = 'BLANK' then
1633          XNP_WSGL.EmptyPage(VF_BODY_ATTRIBUTES);
1634          return;
1635       end if;
1636 
1637 
1638       if not BuildSQL(
1639                     P_MSG_ID,
1640                     P_MSG_CODE,
1641                     P_L_MTE_MSG_TYPE,
1642                     P_MSG_STATUS,
1643                     P_REFERENCE_ID,
1644                     P_OPP_REFERENCE_ID,
1645                     P_RECIPIENT_NAME,
1646                     P_SENDER_NAME,
1647                     P_ADAPTER_NAME,
1648                     P_FE_NAME,
1649                     P_ORDER_ID,
1650                     P_WI_INSTANCE_ID,
1651                     P_FA_INSTANCE_ID) then
1652          return;
1653       end if;
1654 
1655       if not PreQuery(
1656                     P_MSG_ID,
1657                     P_MSG_CODE,
1658                     P_L_MTE_MSG_TYPE,
1659                     P_MSG_STATUS,
1660                     P_REFERENCE_ID,
1661                     P_OPP_REFERENCE_ID,
1662                     P_RECIPIENT_NAME,
1663                     P_SENDER_NAME,
1664                     P_ADAPTER_NAME,
1665                     P_FE_NAME,
1666                     P_ORDER_ID,
1667                     P_WI_INSTANCE_ID,
1668                     P_FA_INSTANCE_ID) then
1669          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_cg$errors.GetErrors,
1670                              'SFM iMessage Diagnostics'||' : '||'Message Details', VF_BODY_ATTRIBUTES);
1671          return;
1672       end if;
1673 
1674       I_CURSOR := dbms_sql.open_cursor;
1675       dbms_sql.parse(I_CURSOR, ZONE_SQL, dbms_sql.v7);
1676       dbms_sql.define_column(I_CURSOR, 1, CURR_VAL.MSG_ID);
1677       dbms_sql.define_column(I_CURSOR, 2, NBT_VAL.XML_PAYLOAD_LINK, 2000);
1678       dbms_sql.define_column(I_CURSOR, 3, CURR_VAL.MSG_CODE, 20);
1679       dbms_sql.define_column(I_CURSOR, 4, CURR_VAL.MSG_STATUS, 10);
1680       dbms_sql.define_column(I_CURSOR, 5, CURR_VAL.DIRECTION_INDICATOR, 1);
1681       dbms_sql.define_column(I_CURSOR, 6, CURR_VAL.REFERENCE_ID, 1024);
1682       dbms_sql.define_column(I_CURSOR, 7, CURR_VAL.OPP_REFERENCE_ID, 40);
1683       dbms_sql.define_column(I_CURSOR, 8, CURR_VAL.MSG_VERSION);
1684       dbms_sql.define_column(I_CURSOR, 9, CURR_VAL.MSG_CREATION_DATE);
1685       dbms_sql.define_column(I_CURSOR, 10, CURR_VAL.SEND_RCV_DATE);
1686       dbms_sql.define_column(I_CURSOR, 11, CURR_VAL.RECIPIENT_NAME, 40);
1687       -- dbms_sql.define_column(I_CURSOR, 12, CURR_VAL.SENDER_NAME, 40);
1688       dbms_sql.define_column(I_CURSOR, 12, CURR_VAL.SENDER_NAME, 60);  -- increased the size from 40 to 60 for 6880763
1689       dbms_sql.define_column(I_CURSOR, 13, CURR_VAL.ADAPTER_NAME, 40);
1690       dbms_sql.define_column(I_CURSOR, 14, CURR_VAL.FE_NAME, 40);
1691 
1692       I_VOID := dbms_sql.execute(I_CURSOR);
1693 
1694       I_ROWS_FETCHED := dbms_sql.fetch_rows(I_CURSOR);
1695 
1696       if I_ROWS_FETCHED = 0 then
1697          XNP_WSGL.EmptyPage(VF_BODY_ATTRIBUTES);
1698       else
1699          dbms_sql.column_value(I_CURSOR, 1, CURR_VAL.MSG_ID);
1700          dbms_sql.column_value(I_CURSOR, 2, NBT_VAL.XML_PAYLOAD_LINK);
1701          dbms_sql.column_value(I_CURSOR, 3, CURR_VAL.MSG_CODE);
1702          dbms_sql.column_value(I_CURSOR, 4, CURR_VAL.MSG_STATUS);
1703          dbms_sql.column_value(I_CURSOR, 5, CURR_VAL.DIRECTION_INDICATOR);
1704          dbms_sql.column_value(I_CURSOR, 6, CURR_VAL.REFERENCE_ID);
1705          dbms_sql.column_value(I_CURSOR, 7, CURR_VAL.OPP_REFERENCE_ID);
1706          dbms_sql.column_value(I_CURSOR, 8, CURR_VAL.MSG_VERSION);
1707          dbms_sql.column_value(I_CURSOR, 9, CURR_VAL.MSG_CREATION_DATE);
1708          dbms_sql.column_value(I_CURSOR, 10, CURR_VAL.SEND_RCV_DATE);
1709          dbms_sql.column_value(I_CURSOR, 11, CURR_VAL.RECIPIENT_NAME);
1710          dbms_sql.column_value(I_CURSOR, 12, CURR_VAL.SENDER_NAME);
1711          dbms_sql.column_value(I_CURSOR, 13, CURR_VAL.ADAPTER_NAME);
1712          dbms_sql.column_value(I_CURSOR, 14, CURR_VAL.FE_NAME);
1713          xnp_msg_diagnostics$xnp_msgs.QueryView(Z_DIRECT_CALL=>TRUE);
1714       end if;
1715 
1716       dbms_sql.close_cursor(I_CURSOR);
1717 
1718    exception
1719       when others then
1720          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
1721                              VF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.QueryFirst');
1722          XNP_WSGL.ClosePageBody;
1723    end;
1724 
1725 --------------------------------------------------------------------------------
1726 -- Name:        xnp_msg_diagnostics$xnp_msgs.PreQuery
1727 --
1728 -- Description: Provides place holder for code to be run prior to a query
1729 --              for the 'XNP_MSGS' module component  (Message Details).
1730 --
1731 -- Parameters:  None
1732 --
1733 -- Returns:     True           If success
1734 --              False          Otherwise
1735 --
1736 --------------------------------------------------------------------------------
1737    function PreQuery(
1738             P_MSG_ID in varchar2,
1739             P_MSG_CODE in varchar2,
1740             P_L_MTE_MSG_TYPE in varchar2,
1741             P_MSG_STATUS in varchar2,
1742             P_REFERENCE_ID in varchar2,
1743             P_OPP_REFERENCE_ID in varchar2,
1744             P_RECIPIENT_NAME in varchar2,
1745             P_SENDER_NAME in varchar2,
1746             P_ADAPTER_NAME in varchar2,
1747             P_FE_NAME in varchar2,
1748             P_ORDER_ID in varchar2,
1749             P_WI_INSTANCE_ID in varchar2,
1750             P_FA_INSTANCE_ID in varchar2) return boolean is
1751       L_RET_VAL boolean := TRUE;
1752    begin
1753       return L_RET_VAL;
1754    exception
1755       when others then
1756          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
1757                              DEF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.PreQuery');
1758          return FALSE;
1759    end;
1760 
1761 --------------------------------------------------------------------------------
1762 -- Name:        xnp_msg_diagnostics$xnp_msgs.PostQuery
1763 --
1764 -- Description: Provides place holder for code to be run after a query
1765 --              for the 'XNP_MSGS' module component  (Message Details).
1766 --
1767 -- Parameters:  Z_POST_DML  Flag indicating if Query after insert or update
1768 --
1769 -- Returns:     True           If success
1770 --              False          Otherwise
1771 --
1772 --------------------------------------------------------------------------------
1773    function PostQuery(Z_POST_DML in boolean) return boolean is
1774       L_RET_VAL boolean := TRUE;
1775    begin
1776        return L_RET_VAL;
1777    exception
1778       when others then
1779          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
1780                              DEF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.PostQuery');
1781           return FALSE;
1782    end;
1783 
1784 --------------------------------------------------------------------------------
1785 -- Name:        xnp_msg_diagnostics$xnp_msgs.CreateQueryJavaScript
1786 --
1787 -- Description:
1788 --
1789 -- Parameters:
1790 --
1791 --------------------------------------------------------------------------------
1792    procedure CreateQueryJavaScript is
1793    begin
1794       htp.p(XNP_WSGJSL.OpenScript);
1795       htp.p('var FormType = "Query";');
1796 
1797       htp.p(
1798 'function MSG_CODE_LOV() {
1799    var filter = "";
1800    var the_pathname = location.pathname;
1801    var i            = the_pathname.indexOf (''/:'');
1802    var j            = the_pathname.indexOf (''/'', ++i);
1803 
1804    if (i != -1)
1805    {
1806 
1807      // Syntactically incorrect url so it needs to be corrected
1808 
1809      the_pathname = the_pathname.substring (j, the_pathname.length);
1810 
1811    }; // (i != -1)
1812 
1813    frmLOV = open("xnp_msg_diagnostics$xnp_msgs.msg_code_listofvalues" +
1814                  "?Z_FILTER=" + escape(filter) + "&Z_MODE=Q" +
1815                  "&Z_CALLER_URL=" + escape(location.protocol + ''//'' + location.host + the_pathname + location.search) +
1816                  "&Z_ISSUE_WAIT=Y",');
1817       if LOV_FRAME is not null then
1818          htp.p('                 "'||LOV_FRAME||'");');
1819       else
1820          htp.p('                 "winLOV", "scrollbars=yes,resizable=yes,width=400,height=400");');
1821       end if;
1822       htp.p('   if (frmLOV.opener == null) {
1823       frmLOV.opener = self;
1824    }
1825 }
1826 ');
1827 
1828       htp.p(XNP_WSGJSL.CloseScript);
1829    exception
1830       when others then
1831          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
1832                              QF_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.CreateQueryJavaScript');
1833    end;
1834 
1835 --------------------------------------------------------------------------------
1836 -- Name:        xnp_msg_diagnostics$xnp_msgs.CreateListJavaScript
1837 --
1838 -- Description:
1839 --
1840 -- Parameters:
1841 --
1842 --------------------------------------------------------------------------------
1843    procedure CreateListJavaScript is
1844    begin
1845       htp.p(XNP_WSGJSL.OpenScript);
1846       htp.p('var FormType = "List";');
1847       htp.p(XNP_WSGJSL.CloseScript);
1848    exception
1849       when others then
1850          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'SFM iMessage Diagnostics'||' : '||'Message Details',
1851                              RL_BODY_ATTRIBUTES, 'xnp_msg_diagnostics$xnp_msgs.CreateListJavaScript');
1852    end;
1853 end;