DBA Data[Home] [Help]

PACKAGE BODY: APPS.POS_ACK_SEARCH

Source


1 PACKAGE BODY POS_ACK_SEARCH AS
2 /* $Header: POSASRCB.pls 115.24 2001/12/05 15:27:19 pkm ship      $ */
3 
4 PROCEDURE veera_debug(p_debug_string	VARCHAR2)
5 IS
6 BEGIN
7 --	insert into veera_debug values(p_debug_string);
8 --	commit;
9 null;
10 END veera_debug;
11 
12 PROCEDURE SEARCH_PO (
13 		pk1	IN	varchar2 default null,
14 		pk2	IN	varchar2 default null,
15 		pk3	IN	varchar2 default null,
16 		pk4	IN	varchar2 default null,
17 		pk5	IN	varchar2 default null,
18 		pk6	IN	varchar2 default null,
19 		pk7	IN	varchar2 default null,
20 		pk8	IN	varchar2 default null,
21 		pk9	IN	varchar2 default null,
22 		pk10	IN	varchar2 default null,
23 		c_outputs1	OUT varchar2,
24 		c_outputs2	OUT varchar2,
25 		c_outputs3	OUT varchar2,
26 		c_outputs4	OUT varchar2,
27 		c_outputs5	OUT varchar2,
28 		c_outputs6	OUT varchar2,
29 		c_outputs7	OUT varchar2,
30 		c_outputs8	OUT varchar2,
31 		c_outputs9	OUT varchar2,
32 		c_outputs10	OUT varchar2
33 	)
34 IS
35   l_language    VARCHAR2(5);
36   l_script_name VARCHAR2(240);
37   l_org_id      NUMBER;
38   l_user_id     NUMBER;
39   l_session_id  NUMBER;
40   l_responsibility_id  NUMBER;
41 
42   l_po_number	varchar2(20);
43   l_supplier_contact  number;
44   l_title_message VARCHAR2(240);
45 BEGIN
46   Veera_Debug('Start Search_PO');
47   Veera_Debug('Pk1: ' || pk1 || ', Pk2: ' || pk2);
48   Veera_Debug('Pk1: ' || pk1 || ', Pk2: ' || pk2);
49 
50   IF NOT icx_sec.validatesession THEN
51     RETURN;
52   END IF;
53 
54   l_session_id := icx_sec.getID(icx_sec.PV_SESSION_ID);
55 
56   select org_id into l_org_id
57   from po_headers_all where po_header_id = to_number(pk1);
58 
59   update icx_sessions
60   set org_id = l_org_id
61   where session_id = l_session_id;
62   commit;
63 
64   select segment1 into l_po_number
65   from po_headers_all
66   where po_header_id = to_number(pk1);
67 
68   l_org_id := icx_sec.getID(icx_sec.PV_ORG_ID);
69   l_language := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
70   l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
71   l_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
72   g_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
73 
74   l_responsibility_id := icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID);
75   g_responsibility_id := icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID);
76 
77   l_supplier_contact := Get_Supplier_ID(l_user_id);
78 
79   fnd_client_info.set_org_context(l_org_id);
80   fnd_global.apps_initialize(l_user_id, l_responsibility_id, 178);
81 
82   veera_debug('Script Name: ' || l_script_name || ' Org Id: ' || to_char(l_org_id) || 'User Id: ' || to_char(l_user_id) || 'Resp ID: ' || to_char(l_responsibility_id) || 'Session Id: ' || to_char(l_session_id));
83 
84   htp.htmlOpen;
85 
86 
87   htp.title(fnd_message.get_string('ICX','ICX_POS_ACK_ENTER_ACK'));
88 
89   l_title_message := fnd_message.get_string('ICX','ICX_POS_ACK_ENTER_ACK');
90 
91   htp.headOpen;
92     icx_util.copyright;
93     htp.linkRel('STYLESHEET', '/OA_HTML/US/POSSTYLE.css');
94 
95     js.scriptOpen;
96     	pos_global_vars_sv.InitializeMessageArray;
97     	pos_global_vars_sv.InitializeOtherVars(l_script_name);
98     	icx_util.LOVscript;
99     js.scriptClose;
100 
101   htp.p('  <script src="/OA_HTML/POSCUTIL.js" language="JavaScript">');
102   htp.p('  </script>');
103   htp.p('  <script src="/OA_HTML/POSWUTIL.js" language="JavaScript">');
104   htp.p('  </script>');
105   htp.p('  <script src="/OA_HTML/POSEVENT.js" language="JavaScript">');
106   htp.p('  </script>');
107   htp.p('  <script src="/OA_HTML/POSACKEJ.js" language="JavaScript">');
108   htp.p('  </script>');
109   htp.p('<script Language=JavaScript>');
110 htp.p('top.t.renderQueue[top.t.toolbarHash["title"]]= new top.Title("' || l_title_message || '")');
111 htp.p('top.header.location.reload()');
112   htp.p('</script>');
113   htp.headClose;
114 
115 
116     		-- blue border frame
117 
118   htp.p('
119 	   <FRAMESET ROWS=" 6%, 28%, 9%, 49%, 7%, 1%" BORDER=0>
120 
121                          <FRAME SRC="' || l_script_name || '/POS_ACK_SEARCH.FIXED_FRAME?l_supplier_contact=' || l_supplier_contact || '" ' ||
122                         ' NAME="fixedframe" MARGINWIDTH="0" MARGINHEIGHT="0" frameborder=no SCROLLING=NO>
123 
124   					<FRAME SRC="' || l_script_name || '/POS_ACK_SEARCH.CRITERIA_FRAME?l_po_number=' || l_po_number || '"' ||
125   						' NAME="criteria" MARGINWIDTH="0" MARGINHEIGHT="0" NORESIZE FRAMEBORDER=NO SCROLLING=NO>
126 
127 
128 					<FRAME SRC="' || l_script_name || '/POS_ACK_SEARCH.COUNTER_FRAME"
129 						NAME="counter" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING=NO NORESIZE FRAMEBORDER=NO>
130 
131 					<FRAME SRC="' || l_script_name || '/POS_ACK_SEARCH.BLANK_FRAME"
132 						NAME="result" MARGINWIDTH="5" MARGINHEIGHT="0" NORESIZE FRAMEBORDER=NO>
133 
134 					<FRAME SRC="' || l_script_name || '/POS_ACK_SEARCH.ADD_FRAME"
135 						NAME="add" MARGINWIDTH="5" MARGINHEIGHT="5" SCROLLING=NO NORESIZE FRAMEBORDER=NO>
136 					<FRAME SRC="' || l_script_name || '/pos_lower_banner_sv.PaintLowerBanner"
137 						NAME="lowerbanner" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING=NO NORESIZE FRAMEBORDER=NO>
138 
139 				</FRAMESET>
140 
141   				');
142     		-- blue border frame
143 
144   			htp.p('</FRAMESET>');
145 
146 			htp.htmlClose;
147 
148 	Veera_Debug('End Search_PO');
149 
150 
151 END SEARCH_PO;
152 
153 PROCEDURE SEARCH_PO2(p_resp_id	IN	VARCHAR2 DEFAULT null) IS
154 
155   l_language    VARCHAR2(5);
156   l_script_name VARCHAR2(240);
157   l_org_id      NUMBER;
158   l_user_id     NUMBER;
159   l_session_id  NUMBER;
160   l_responsibility_id  NUMBER;
161   l_supplier_contact  number;
162   l_mo_profile_defined	BOOLEAN;
163 BEGIN
164 
165   POS_INIT_SESSION_PKG.InitSession(p_resp_id);
166 
167   l_session_id := icx_sec.getID(icx_sec.PV_SESSION_ID);
168   l_org_id := icx_sec.getID(icx_sec.PV_ORG_ID);
169   l_language := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
170   l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
171   l_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
172   g_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
173 
174   g_responsibility_id := icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID);
175   l_supplier_contact := Get_Supplier_ID(l_user_id);
176 
177   htp.htmlOpen;
178   htp.title(fnd_message.get_string('ICX','ICX_POS_ACK_ENTER_ACK'));
179 
180   htp.headOpen;
181     icx_util.copyright;
182     htp.linkRel('STYLESHEET', '/OA_HTML/US/POSSTYLE.css');
183 
184     js.scriptOpen;
185     	pos_global_vars_sv.InitializeMessageArray;
186     	pos_global_vars_sv.InitializeOtherVars(l_script_name);
187     	icx_util.LOVscript;
188     js.scriptClose;
189 
190   htp.p('  <script src="/OA_HTML/POSCUTIL.js" language="JavaScript">');
191   htp.p('  </script>');
192   htp.p('  <script src="/OA_HTML/POSWUTIL.js" language="JavaScript">');
193   htp.p('  </script>');
194   htp.p('  <script src="/OA_HTML/POSEVENT.js" language="JavaScript">');
195   htp.p('  </script>');
196   htp.p('  <script src="/OA_HTML/POSACKEJ.js" language="JavaScript">');
197   htp.p('  </script>');
198   htp.headClose;
199 
200   htp.p('
201 	<FRAMESET rows="10%, 80%, 10%" border=0 framespacing=0>
202 	   ');
203 		--toolbar
204 		htp.p('
205 		<FRAME SRC="' || l_script_name || '/pos_toolbar_sv.PaintToolBar?p_title=ICX_POS_ACK_ENTER_ACK"
206 			NAME="toolbar" MARGINWIDTH="0" MARGINHEIGHT="0" frameborder=no SCROLLING=NO>
207 		<FRAMESET cols="3, *, 3" border=0 framespacing=0>
208 			');
209 
210     		-- blue border frame
211     		htp.p('<FRAME src="/OA_HTML/US/POSBLBOR.htm"
212                      name=borderLeft
213                      marginwidth=0
214                      frameborder=no
215                      scrolling=no>');
216   			htp.p('
217 				<FRAMESET ROWS="5%, 6%, 28%, 9%, 44%, 7%, 1%" BORDER=0>
218   					<FRAME SRC="' || l_script_name || '/pos_upper_banner_sv.PaintUpperBanner?p_product=ICX&p_title=ICX_POS_ACK_SELECT"
219   						NAME="upperbanner" MARGINWIDTH="0" MARGINHEIGHT="0" frameborder=no SCROLLING=NO>
220 
221 
222                        <FRAME SRC="' || l_script_name || '/POS_ACK_SEARCH.FIXED_FRAME?l_supplier_contact=' || l_supplier_contact || '" ' ||
223                         ' NAME="fixedframe" MARGINWIDTH="0" MARGINHEIGHT="0" frameborder=no SCROLLING=NO>
224 
225   					<FRAME SRC="' || l_script_name || '/POS_ACK_SEARCH.CRITERIA_FRAME"
226   						NAME="criteria" MARGINWIDTH="0" MARGINHEIGHT="0" NORESIZE FRAMEBORDER=NO SCROLLING=NO>
227 
228 
229 					<FRAME SRC="' || l_script_name || '/POS_ACK_SEARCH.COUNTER_FRAME"
230 						NAME="counter" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING=NO NORESIZE FRAMEBORDER=NO>
231 
232 					<FRAME SRC="' || l_script_name || '/POS_ACK_SEARCH.BLANK_FRAME"
233 						NAME="result" MARGINWIDTH="5" MARGINHEIGHT="0" NORESIZE FRAMEBORDER=NO>
234 
235 					<FRAME SRC="' || l_script_name || '/POS_ACK_SEARCH.ADD_FRAME"
236 						NAME="add" MARGINWIDTH="5" MARGINHEIGHT="5" SCROLLING=NO NORESIZE FRAMEBORDER=NO>
237 					<FRAME SRC="' || l_script_name || '/pos_lower_banner_sv.PaintLowerBanner"
238 						NAME="lowerbanner" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING=NO NORESIZE FRAMEBORDER=NO>
239 
240 				</FRAMESET>
241 
242   				');
243     		-- blue border frame
244   			htp.p('<FRAME src="/OA_HTML/US/POSBLBOR.htm"
245                      name=borderRight
246                      marginwidth=0
247                      frameborder=no
248                      scrolling=no>');
249 
250   			htp.p('</FRAMESET>');
251 
252         htp.p('<FRAME src="/OA_HTML/US/POSBLBOR.htm"
253                      name=borderBottom
254                      marginwidth=0
255                      frameborder=no
256                      scrolling=no>');
257 
258    htp.p('</FRAMESET>');
259 
260 
261 
262   htp.htmlClose;
263 
264 	Veera_Debug('End Search_PO');
265 
266 END SEARCH_PO2;
267 
268 PROCEDURE CRITERIA_FRAME
269 (
270 	p_advance_flag	IN	VARCHAR2  DEFAULT 'N',
271 	l_po_number	IN	VARCHAR2  DEFAULT null
272 )
273 IS
274 
275   l_language    VARCHAR2(5);
276   l_script_name VARCHAR2(240);
277   l_org_id      NUMBER;
278   l_user_id     NUMBER;
279   l_session_id  NUMBER;
280   l_responsibility_id  NUMBER;
281 
282   l_supplier_id NUMBER;
283   l_advance_flag VARCHAR2(1);
284 
285 BEGIN
286 
287   Veera_Debug('Start Criteria_Frame');
288   Veera_Debug('Po Number ' || l_po_number);
289   IF NOT icx_sec.validatesession THEN
290     RETURN;
291   END IF;
292 
293   l_org_id := icx_sec.getID(icx_sec.PV_ORG_ID);
294   l_language := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
295   l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
296   l_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
297   l_session_id := icx_sec.getID(icx_sec.PV_SESSION_ID);
298   l_responsibility_id := icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID);
299 
300   veera_debug('Org Id: ' || to_char(l_org_id) || 'User Id: ' ||
301 	to_char(l_user_id) || 'Resp ID: ' || to_char(l_responsibility_id) ||
302 	'Session Id: ' || to_char(l_session_id));
303 
304   l_supplier_id := Get_Supplier_ID(l_user_id);
305   veera_debug('Supplier Id: ' || to_char(l_supplier_id));
306 
307   htp.htmlOpen;
308   htp.headOpen;
309 
310     htp.linkRel('STYLESHEET', '/OA_HTML/US/POSSTYLE.css');
311   	js.scriptOpen;
312   	icx_util.LOVscript;
313     htp.p('
314 		function call_LOV(c_attribute_code)
315 		{
316   			var c_where_clause = "";
317 			c_where_clause = escape(c_where_clause, 1);
318 
319     		LOV("178", c_attribute_code, "178", "POS_ACK_SEARCH_R",
320 					"POS_ACK_SEARCH", "criteria", "", c_where_clause);
321 	  }
322 
323 
324 	  function clearsearchfields()
325 	  {
326 	    document.POS_ACK_SEARCH.POS_ACK_SUPPLIER_SITE.value="";
327 	    document.POS_ACK_SEARCH.POS_ACK_SR_SUPPLIER_SITE_ID.value="";
328             document.POS_ACK_SEARCH.POS_ACK_SR_PO_NUMBER.value="";
329 	    document.POS_ACK_SEARCH.POS_ACK_SR_DOC_TYPE.value="";
330             document.POS_ACK_SEARCH.POS_ACK_SR_ACC_REQD_START_DATE.value="";
331             document.POS_ACK_SEARCH.POS_ACK_SR_ACC_REQD_END_DATE.value="";
332           }
333 
334   	');
335 
336   	js.scriptClose;
337 
338   htp.headClose;
339 
340   htp.p('<body bgcolor=#cccccc>');
341   -- If the frame is basic search, the switch will be advance search.  Vice Versa
342 
343   if P_advance_flag = 'Y' then
344     l_advance_flag := 'N';
345   else
346     l_advance_flag := 'Y';
347   end if;
348 
349   /* if the supplier is not set up for the user dont paint the search fields. instead
350    show a message */
351  IF l_supplier_id <> -1 THEN
352   htp.p('<FORM NAME="POS_ACK_SEARCH" ACTION="'||l_script_name||'/POS_ACK_SEARCH.RESULT_POS" TARGET="result" METHOD="POST">');
353 
354   htp.p('<INPUT NAME="p_advance_flag" TYPE="HIDDEN" VALUE="' || l_advance_flag || '">');
355 
356   Paint_Search_Fields(p_advance_flag => p_advance_flag,
357 			l_po_number => l_po_number);
358 
359   htp.p('</FORM>');
360 
361   ELSE
362   htp.p('<table width=100% bgcolor=#CCCCCC cellpadding=0 cellspacing=0 border=0>');
363   htp.p('<TABLE)<TR><TD VALIGN=CENTER ALIGN=LEFT BGCOLOR=#CCCCCC ><FONT CLASS=helptext> ' ||
364               fnd_message.get_string('ICX','ICX_POS_SUPP_NO_ACCESS') || '</FONT></TD></TR>');
365   htp.p('</TABLE>');
366  END IF;
367 
368   if l_po_number is not null then
369 	veera_debug('criteria_frame: po number not null');
370   	htp.p('<script Language=JavaScript>');
371   	htp.p('document.POS_ACK_SEARCH.submit();  ');
372   	htp.p('</script>');
373   end if;
374 
375   htp.bodyClose;
376   htp.htmlClose;
377 
378   Veera_Debug('End Criteria_Frame');
379 END CRITERIA_FRAME;
380 
381 PROCEDURE FIXED_FRAME(l_supplier_contact  in number)
382 IS
383 BEGIN
384 
385    IF NOT icx_sec.validatesession THEN
386     RETURN;
387   END IF;
388 
389   htp.htmlopen;
390   htp.headOpen;
391     htp.linkRel('STYLESHEET', '/OA_HTML/US/POSSTYLE.css');
392   htp.headClose;
393   htp.bodyOpen;
394   htp.p('<body bgcolor=#cccccc>');
395 
396   htp.p('<table width=100% bgcolor=#CCCCCC cellpadding=0 cellspacing=0 border=0>');
397 
398  /* if the supplier is not set up for the user dont show the enter criteria message. instead
399     clear the frame so that a message is shown in the criteris frame */
400   if l_supplier_contact <> -1 then
401 -- Row with 'Enter Criteria ; * means required field
402       htp.p('<TR><TD VALIGN=CENTER ALIGN=LEFT BGCOLOR=#CCCCCC NOWRAP><FONT CLASS=helptext> ' ||
403         fnd_message.get_string('ICX','ICX_POS_ACK_ENTER_CRITERIA') || '</FONT></TD></TR>');
404 
405   else
406      htp.p('<TR><TD VALIGN=CENTER ALIGN=LEFT BGCOLOR=#CCCCCC NOWRAP><FONT CLASS=helptext> ' ||
407         '</FONT></TD></TR>');
408   end if;
409 
410   htp.p('</TABLE>');
411 
412   htp.bodyClose;
413   htp.htmlClose;
414 END FIXED_FRAME;
415 
416 PROCEDURE COUNTER_FRAME (
417 						p_first		IN	NUMBER DEFAULT 0,
418 						p_last		IN	NUMBER DEFAULT 0,
419 						p_total		IN	NUMBER DEFAULT 0
420 						)
421 IS
422 
423   l_msg         VARCHAR2(2000);
424 
425 BEGIN
426 
427    IF NOT icx_sec.validatesession THEN
428     RETURN;
429    END IF;
430 
431   htp.htmlopen;
432   htp.headOpen;
433   	htp.linkRel('STYLESHEET', '/OA_HTML/US/POSSTYLE.css');
434   htp.headClose;
435   htp.bodyOpen;
436   htp.p('<body bgcolor=#cccccc>');
437   htp.p('<hr size=1 noshade width=100%>');
438   if p_total > 0 then
439     l_msg := fnd_message.get_string('ICX','ICX_POS_ACK_PO_COUNTER');
440 
441     l_msg := replace(l_msg, '&TOTAL', to_char(p_total));
442     l_msg := replace(l_msg, '&FROM', to_char(p_first));
443     l_msg := replace(l_msg, '&TO', to_char(p_last));
444 
445     --htp.p(l_msg);
446 
447 	htp.p('<table width=100% cellspacing=0 cellpadding=0 border=0>
448 			<tr>
449 			<td valign=middle align=left bgcolor=#cccccc nowrap>
450 				<font class=helptext>' ||
451 				fnd_message.get_string('ICX', 'ICX_POS_ACK_SELECT_RESULT') ||
452 				'</font> </td>
453 			<td valign=middle align=right bgcolor=#cccccc nowrap>
454 				<font class=promptblack>' ||
455 				l_msg ||
456 				'</font> </td> </tr> </table>'
457 		);
458 
459   end if;
460   htp.bodyClose;
461   htp.htmlClose;
462 END COUNTER_FRAME;
463 
464 PROCEDURE BLANK_FRAME (
465 						l_called_from	IN	NUMBER DEFAULT 0,
466 						l_rows_inserted	IN	NUMBER	DEFAULT 0
467 					)
468 IS
469   l_language    VARCHAR2(5);
470   l_script_name VARCHAR2(240);
471   l_msg			VARCHAR2(240);
472   l_org_id      NUMBER;
473   l_user_id     NUMBER;
474   l_session_id  NUMBER;
475   l_responsibility_id  NUMBER;
476 BEGIN
477 
478    IF NOT icx_sec.validatesession THEN
479     RETURN;
480    END IF;
481 
482   veera_debug('Start Blank_Frame');
483   l_org_id := icx_sec.getID(icx_sec.PV_ORG_ID);
484   l_language := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
485   l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
486   l_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
487   l_session_id := icx_sec.getID(icx_sec.PV_SESSION_ID);
488   l_responsibility_id := icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID);
489 
490   veera_debug('Org Id: ' || to_char(l_org_id) || 'User Id: ' ||
491 	to_char(l_user_id) || 'Resp ID: ' || to_char(l_responsibility_id) ||
492 	'Session Id: ' || to_char(l_session_id));
493 
494   htp.htmlOpen;
495   htp.headOpen;
496   	js.scriptOpen;
497   	icx_util.LOVscript;
498 	htp.p('
499 
500 	      function openDlg(l_rows) {
501 	      var winWidth = 400;
502 	      var winHeight = 200;
503 	      var winAttributes = "menubar=no,location=no,toolbar=no," +
504                       "width=" + winWidth + ",height=" + winHeight +
505                       ",screenX=" + (screen.width - winWidth)/2 +
506                       ",screenY=" + (screen.height - winHeight)/2 +
507                       ",resizable=yes,scrollbars=yes";
508 	       var url = parent.scriptName + "/pos_ack_window_util.dialogbox?" + "l_rows=" + l_rows;
509 	       open(url, "Cancel",winAttributes);
510 	      }
511 
512 		function SubmitDlg(p_start, p_end, p_total, p_rows_inserted, p_string)
513 		{
514 			var l_URL = parent.scriptName + "/POS_ACK_SEARCH.COUNTER_FRAME?" +
515                                 "p_first=" + p_start +
516                                 "&p_last=" + p_end +
517                                 "&p_total=" + p_total;
518 
519 	               parent.counter.location.href = l_URL;
520 
521 			var l_URL2 = parent.scriptName + "/POS_ACK_SEARCH.ADD_FRAME?" +
522                 		"p_total=" + p_total;
523 
524 			parent.add.location.href = l_URL2;
525 
526 			openDlg(p_rows_inserted);
527 		}
528 	');
529   	js.scriptClose;
530   htp.headClose;
531   htp.bodyOpen;
532   if l_called_from <> 0 then
533     l_msg := fnd_message.get_string('ICX','ICX_POS_ACK_TOTAL_PO_SUB');
534 
535     l_msg := replace(l_msg, '&TOTAL', to_char(l_rows_inserted));
536   	htp.p('<body bgcolor=#cccccc onload="javascript:SubmitDlg(0,0,0,' ||
537 		to_char(l_rows_inserted) || ', ''' || l_msg || ''')">');
538   else
539   	htp.p('<body bgcolor=#cccccc >');
540   end if;
541   htp.bodyClose;
542   htp.htmlClose;
543   veera_debug('End Blank_Frame');
544 END BLANK_FRAME;
545 
546 PROCEDURE ADD_FRAME (
547 					p_total		IN	NUMBER	default 0
548 					)
549 IS
550 
551   l_msg         VARCHAR2(2000);
552 
553 BEGIN
554 
555    -- Bug 1785297 mji
556   IF NOT icx_sec.validatesession THEN
557     RETURN;
558   END IF;
559 
560   htp.htmlOpen;
561   htp.headOpen;
562   htp.linkRel('STYLESHEET', '/OA_HTML/US/POSSTYLE.css');
563   htp.headClose;
564   htp.bodyOpen;
565 
566    -- Bug 1785297 mji
567   l_msg := fnd_message.get_string('ICX', 'ICX_POS_ACK_SUBMIT');
568 
569   htp.p('<script Language=JavaScript>
570 
571 	function cancelClicked() {
572 	      var winWidth = 400;
573 	      var winHeight = 200;
574 	      var winAttributes = "menubar=no,location=no,toolbar=no," +
575                       "width=" + winWidth + ",height=" + winHeight +
576                       ",screenX=" + (screen.width - winWidth)/2 +
577                       ",screenY=" + (screen.height - winHeight)/2 +
578                       ",resizable=yes,scrollbars=yes";
579 	       var url = parent.scriptName + "/pos_ack_window_util.dialogbox?";
580 	       open(url, "Cancel",winAttributes);
581 	      }
582 
583      function NextSet()
584      {
585 		if (top.criteria.document.POS_ACK_SEARCH.POS_ACK_SR_ROW_NUM.value== "0")
586 		{
587 			top.criteria.document.POS_ACK_SEARCH.POS_ACK_SR_ROW_NUM.value =
588 			top.criteria.document.POS_ACK_SEARCH.POS_ACK_SR_ROW_NUM.value - (-26)
589 		}
590 		else
591 		{
592 			top.criteria.document.POS_ACK_SEARCH.POS_ACK_SR_ROW_NUM.value =
593 			top.criteria.document.POS_ACK_SEARCH.POS_ACK_SR_ROW_NUM.value - (-25)
594 		}
595         top.criteria.document.POS_ACK_SEARCH.submit();
596      }
597 
598      function PreviousSet()
599      {
600 		if (top.criteria.document.POS_ACK_SEARCH.POS_ACK_SR_ROW_NUM.value != "0" || top.criteria.document.POS_ACK_SEARCH.POS_ACK_SR_ROW_NUM.value != "1")
601 		{
602 			top.criteria.document.POS_ACK_SEARCH.POS_ACK_SR_ROW_NUM.value =
603 			top.criteria.document.POS_ACK_SEARCH.POS_ACK_SR_ROW_NUM.value  - 25;
604 		}
605         	top.criteria.document.POS_ACK_SEARCH.submit();
606 		}
607 
608 
609 		function SubmitAcknowledge()
610                 {
611 		  var temp1 = confirm(''' || l_msg || ''');
612 		  if (temp1 == true)
613 		    parent.frames["result"].document.forms["POS_EDIT_POS"].submit();
614 		}
615 	 </script>
616 	');
617   htp.p('<body bgcolor=#cccccc>');
618 
619   if p_total > 0 then
620 
621   	button('javascript:SubmitAcknowledge()',
622         fnd_message.get_string('ICX', 'ICX_POS_SUBMIT'),
623         'javascript:cancelClicked()',
624         --'javascript:top.submitDlg()',
625         fnd_message.get_string('ICX', 'ICX_POS_BTN_CANCEL'));
626 
627   end if;
628 
629   htp.bodyClose;
630   htp.htmlClose;
631 END ADD_FRAME;
632 
633 FUNCTION GET_SUPPLIER_ID
634 (
635 	p_user_id IN NUMBER
636 )	RETURN NUMBER
637 
638 IS
639 
640   l_supplier_id NUMBER;
641 
642 BEGIN
643 
644   select vs.vendor_id
645     into l_supplier_id
646     from po_vendor_sites     vs,
647          po_vendor_contacts  vc,
648          fnd_user            fu
649    where fu.user_id = p_user_id
650      and fu.supplier_id = vc.vendor_contact_id
651      and vc.vendor_site_id = vs.vendor_site_id;
652 
653   return(l_supplier_id);
654 EXCEPTION
655  WHEN NO_DATA_FOUND THEN
656      l_supplier_id := -1;
657      return(l_supplier_id);
658 END GET_SUPPLIER_ID;
659 
660 
661 PROCEDURE Paint_Search_Fields
662 (
663 	p_advance_flag	IN	VARCHAR2,
664 	l_po_number	IN	VARCHAR2  DEFAULT null
665 )
666 IS
667   l_attribute_index  NUMBER;
668   l_result_index     NUMBER;
669   l_current_col      NUMBER;
670   l_current_row      NUMBER;
671   l_row		     NUMBER := 0;
672   l_session_id NUMBER := icx_sec.getID(icx_sec.PV_SESSION_ID);
673   l_where_clause     VARCHAR2(2000) := '';
674 BEGIN
675    Veera_Debug('Paint_Search: Po Number: ' || l_po_number);
676    htp.p('<table width=100% cellpadding=0 cellspacing=0 border=0>');
677 
678    htp.p('<!-- This row contains the help text -->');
679    htp.p('<tr bgcolor=#cccccc>');
680    htp.p('<td valign=top>' ||
681          '<font class=helptext> ' ||
682          ' ' ||
683          '</font></td>');
684    htp.p('</tr>');
685    htp.p('</table>');
686 
687    ak_query_pkg.exec_query(p_parent_region_appl_id   =>  178,
688                           p_parent_region_code      =>  'POS_ACK_SEARCH_R',
689                           p_where_clause            =>  l_where_clause,
690                           p_responsibility_id       =>  icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID),
691                           p_user_id                 =>  icx_sec.getID(icx_sec.PV_WEB_USER_ID),
692                           p_return_parents          =>  'F',
693                           p_return_children         =>  'F');
694 
695    l_attribute_index := ak_query_pkg.g_items_table.FIRST;
696    l_result_index    := ak_query_pkg.g_results_table.FIRST;
697 
698    htp.p('<table width=100% cellpadding=0 cellspacing=0 border=0>');
699 
700    htp.p('<tr cellspacing=5 bgcolor=#cccccc>');
701 
702    l_current_col := 0;
703 
704    WHILE (l_attribute_index IS NOT NULL) LOOP
705 
706      l_current_col := l_current_col + 1;
707 
708     IF (item_style(l_attribute_index) = 'HIDDEN') THEN
709        htp.p('<!-- ' || item_code(l_attribute_index) ||
710              ' - '   || item_style(l_attribute_index) || ' -->');
711 	   IF item_code(l_attribute_index) = 'POS_ACK_SR_ROW_NUM' then
712             htp.p('<input name="' || item_code(l_attribute_index) ||
713              '" type="HIDDEN" VALUE="' ||
714                '0'|| '">');
715 	   ELSIF item_code(l_attribute_index) = 'POS_ACK_SR_ACC_STATUS' then
716             htp.p('<input name="' || item_code(l_attribute_index) ||
717              '" type="HIDDEN" VALUE="' ||
718                'None'|| '">');
719 	   ELSE
720        		htp.p('<input name="' || item_code(l_attribute_index) ||
721              '" type="HIDDEN" VALUE="' ||
722                get_result_value(l_result_index, l_current_col) ||
723              '">');
724 	   END IF;
725     ELSIF item_displayed(l_attribute_index)  THEN
726 		IF (item_style(l_attribute_index) = 'TEXT') THEN
727 			IF item_updateable(l_attribute_index) THEN
728 				htp.p('<td nowrap bgcolor=#cccccc' || item_halign(l_attribute_index) ||
729 					item_valign(l_attribute_index) || ' WIDTH=30% ' || '>' ||
730 					item_reqd(l_attribute_index) || '<font class=promptblack>'
731 					|| item_name(l_attribute_index) || ' ' || '</font>' ||
732                     ' </td>');
733 
734 				IF item_code(l_attribute_index) = 'POS_ACK_SR_PO_NUMBER' THEN
735 				veera_debug('Inside if of pos_ack_sr_po_number');
736 				htp.p('<td nowrap ' || ' VALIGN=MIDDLE ALIGN=LEFT '||
737 					 '>' || '<B><font class=datablack>'||
738 					'<input type=text size=12 name="' ||
739 					item_code(l_attribute_index) || '"' || ' value="' ||
740 					nvl(l_po_number, '') ||
741 					'" ></font></B>');
742 				else
743 				veera_debug('Inside else of pos_ack_sr_po_number');
744 				htp.p('<td nowrap ' || ' VALIGN=MIDDLE ALIGN=LEFT '||
745 					 '>' || '<B><font class=datablack>'||
746 					'<input type=text size=12 name="' ||
747 					item_code(l_attribute_index) || '"' || ' value="' ||
748 					nvl(get_result_value(l_result_index, l_current_col), '') ||
749 					'" ></font></B>');
750 				end if;
751 	        	IF (ak_query_pkg.g_items_table(l_attribute_index).lov_region_code IS NOT NULL AND ak_query_pkg.g_items_table(l_attribute_index).lov_attribute_code IS NOT NULL) THEN
752 	            	htp.p('<A HREF="javascript:call_LOV('''||
753 						ak_query_pkg.g_items_table(l_attribute_index).attribute_code ||
754 						''')"' || '><IMG SRC="/OA_MEDIA/FNDLSTOV.gif"
755 						BORDER=0 WIDTH=23 HEIGHT=21 border=no align=absmiddle>
756 						</A>');
757         		END IF;
758 				IF item_code(l_attribute_index) = 'POS_ACK_SR_ACC_REQD_START_DATE' THEN
759 					l_attribute_index := ak_query_pkg.g_items_table.NEXT(l_attribute_index);
760 					l_current_col := l_current_col + 1;
761 					htp.p('<FONT CLASS=promptblack>' ||
762 						ak_query_pkg.g_items_table(l_attribute_index).attribute_label_long ||
763 						'</FONT> <FONT CLASS=datablack>');
764 					htp.p('<INPUT NAME="'||
765 						ak_query_pkg.g_items_table(l_attribute_index).attribute_code ||
766 						'" TYPE="text"' || ' VALUE="" SIZE=12'||
767 						' MAXLENGTH='||
768 						ak_query_pkg.g_items_table(l_attribute_index).attribute_value_length||
769 						'></FONT>');
770 				END IF;
771 				htp.p('</td>');
772 			ELSE
773 				htp.p('<td nowrap bgcolor=#cccccc ' ||
774 					item_halign(l_attribute_index) ||
775 					item_valign(l_attribute_index) || ' WIDTH=175 ' || '>' ||
776 					'<font class=promptblack>' || item_name(l_attribute_index)
777 					|| '</font>' || '</td>');
778 
779 				htp.p('<td ' || item_halign(l_attribute_index) ||
780 					item_valign(l_attribute_index) ||
781 					'>' || '<B><font class=tabledata>' ||
782 					nvl(get_result_value(l_result_index, l_current_col), '&nbs
783 p') ||
784 					'</font></B></td>');
785 
786 			END IF;
787 		ELSIF (item_style(l_attribute_index) = 'POPLIST') THEN
788 			IF item_updateable(l_attribute_index) THEN
789 				htp.p('<td bgcolor=#cccccc' || item_halign(l_attribute_index) ||
790 					item_valign(l_attribute_index) || ' WIDTH=30% ' || '>' ||
791 					'<font class=promptblack>' || item_name(l_attribute_index)
792 					|| ' ' || '</font>' || '</td>');
793 
794 				htp.p('<td nowrap ' ||  ' VALIGN=MIDDLE ALIGN=LEFT '||
795 					' WIDTH=350 ' || '>' || '<B><font class=datablack>'||
796 					'<select name="' || item_code(l_attribute_index) || '">' ||
797 					get_option_string(l_attribute_index) ||
798 					'</select> </font></B></td>');
799             ELSE
800 				htp.p('<td bgcolor=#cccccc ' ||
801 					item_halign(l_attribute_index) ||
802 					item_valign(l_attribute_index) || ' WIDTH=175 ' || '>' ||
803 					'<font class=promptblack>' || item_name(l_attribute_index)
804 					|| '</font>' || '</td>');
805 				htp.p('<td ' || item_halign(l_attribute_index) ||
806 					item_valign(l_attribute_index) || ' WIDTH=350 ' || '>' ||
807 					'<B><font class=tabledata>' ||
808 					nvl(get_result_value(l_result_index, l_current_col), ' ') ||
809 				'</font></B></td>');
810 			END IF;
811         ELSIF (item_style(l_attribute_index) = 'IMAGE') THEN
812 			null;
813 		END IF;
814       END IF;
815     l_attribute_index := ak_query_pkg.g_items_table.NEXT(l_attribute_index);
816 
817     if ((l_current_col mod 1) = 0) THEN
818 		l_row := l_row + 1;
819 	 	IF l_row = 1 THEN
820         	htp.p('<TD VALIGN=MIDDLE ALIGN=LEFT WIDTH=100 BGCOLOR=#CCCCCC>');
821 
822         	--button('javascript:top.SearchPOs()', fnd_message.get_string('ICX', 'ICX_POS_SEARCH'));
823 		button('javascript:document.POS_ACK_SEARCH.submit(); ', fnd_message.get_string('ICX', 'ICX_POS_SEARCH'));
824 
825           htp.p('</TD>');
826           htp.p('<TD VALIGN=MIDDLE ALIGN=LEFT WIDTH=100 BGCOLOR=#CCCCCC>');
827 
828           button('javascript:clearsearchfields()', fnd_message.get_string('ICX', 'ICX_POS_CLEAR'));
829 
830           htp.p('</TD>');
831 
832 
833 	 	END IF;
834         htp.p('</tr>');
835         htp.p('<tr bgcolor=#cccccc>');
836     end if;
837 
838    END LOOP;
839 
840    htp.p('</tr>');
841    htp.p('</table>');
842 
843 END Paint_Search_Fields;
844 
845 PROCEDURE RESULT_POS
846 (
847 	p_advance_flag			        IN	VARCHAR2    DEFAULT 'N',
848 	pos_ack_sr_acc_status			IN	VARCHAR2    DEFAULT null,
849 	pos_ack_sr_acc_reqd			IN	VARCHAR2    DEFAULT null,
850 	pos_ack_sr_acc_reqd_start_date   	IN	VARCHAR2    DEFAULT null,
851 	pos_ack_sr_acc_reqd_end_date	        IN	VARCHAR2    DEFAULT null,
852 	pos_ack_sr_po_number			IN	VARCHAR2    DEFAULT null,
853 	pos_ack_sr_supplier_site_id		IN	VARCHAR2    DEFAULT null,
854 	pos_ack_supplier_site			IN	VARCHAR2    DEFAULT null,
855         pos_ack_sr_doc_type                     IN      VARCHAR2    DEFAULT null,
856 	pos_ack_sr_row_num			IN	VARCHAR2    DEFAULT null
857 )
858 IS
859   l_language    VARCHAR2(5);
860   l_script_name VARCHAR2(240);
861   l_org_id      NUMBER;
862   l_user_id     NUMBER;
863   l_session_id  NUMBER;
864   l_responsibility_id  NUMBER;
865   l_start_row	NUMBER;
866   l_end_row		NUMBER;
867   l_count		NUMBER;
868 BEGIN
869 
870   veera_debug('Start Result_POS');
871 
872 /*Bug:1688799
873   Bcos the session was not validated, the org context was not set
874   appropriately and hence the query returned no rows.
875 */
876 
877   IF NOT icx_sec.validatesession THEN
878     RETURN;
879   END IF;
880 
881   l_org_id := icx_sec.getID(icx_sec.PV_ORG_ID);
882   l_language := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
883   l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
884   l_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
885   l_responsibility_id := icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID);
886   l_session_id := icx_sec.getID(icx_sec.PV_SESSION_ID);
887 
888  /* bug 1361618 :  setting the org context */
889      fnd_client_info.set_org_context(l_org_id);
890      fnd_global.apps_initialize(l_user_id, l_responsibility_id, 178);
891 
892      select responsibility_id into g_responsibility_id from ICX_SESSIONS
893      WHERE session_id = l_session_id;
894      select user_id into g_user_id from ICX_SESSIONS
895      WHERE session_id = l_session_id;
896   veera_debug('RESULT_PO: Org Id: ' || to_char(l_org_id) || 'User Id: ' ||
897 	to_char(g_user_id) || 'Resp ID: ' || to_char(g_responsibility_id) ||
898 	'Session Id: ' || to_char(l_session_id));
899 
900   if to_number(pos_ack_sr_row_num) = 0 then
901 	begin
902 		Find_Matching_Rows (
903 						l_Acceptance_Status => pos_ack_sr_acc_status,
904 						l_Acceptance_Reqd_Flag => pos_ack_sr_acc_reqd,
905 						l_Start_Date => pos_ack_sr_acc_reqd_start_date,
906 						l_End_Date => pos_ack_sr_acc_reqd_end_date,
907 						l_PO_Number => pos_ack_sr_po_number,
908 						l_Supplier_Site_Id => pos_ack_sr_supplier_site_id,
909 						l_Document_Type_Code => pos_ack_sr_doc_type
910 					 );
911 	exception
912 		when others then
913 			delete from pos_ack_select;
914 	end;
915 	l_start_row := 1;
916 	l_end_row := 99999;
917 	--l_end_row := 25;
918   else
919 	l_start_row := to_number(pos_ack_sr_row_num);
920 	l_end_row := l_start_row + 25 -1;
921   end if;
922 
923   htp.htmlOpen;
924 -- Header Start
925 
926   htp.headOpen;
927     htp.linkRel('STYLESHEET', '/OA_HTML/US/POSSTYLE.css');
928     js.scriptOpen;
929     icx_util.LOVscript;
930     htp.p('
931 
932 		function LoadCounter(p_start, p_end, p_total)
933 		{
934 			var l_URL = parent.scriptName + "/POS_ACK_SEARCH.COUNTER_FRAME?" +
935 				"p_first=" + p_start +
936 				"&p_last=" + p_end +
937 				"&p_total=" + p_total;
938 				/*
939 				"&p_total=" + result.document.POS_ACK_TEMP.POS_ACK_ACC_TOTAL_ROWS.value;
940 				*/
941 
942   			parent.counter.location.href = l_URL;
943 
944             	var l_URL2 = parent.scriptName + "/POS_ACK_SEARCH.ADD_FRAME?" +
945                 "p_total=" + p_total;
946 
947   			parent.add.location.href = l_URL2;
948 
949 		}
950 
951 			var acc_type;
952 			var acc_type_code;
953 			var r_row;
954 			var r_attribute_code;
955 			var intervalID;
956 
957 		function call_LOV(c_attribute_code, c_row, l_script)
958 		{
959   			var c_js_where_clause = "";
960   			var interval = 100;
961 
962   			if (c_attribute_code == "POS_ACK_ACC_TYPE")
963    			{
964     			if (document.POS_EDIT_POS.POS_ACK_ACC_TYPE[c_row] == null)
965      			{
966        				acc_type = document.POS_EDIT_POS.POS_ACK_ACC_TYPE;
967        				acc_type_code = document.POS_EDIT_POS.POS_ACK_ACC_TYPE_CODE;
968      			}
969     			else
970      			{
971        				acc_type = document.POS_EDIT_POS.POS_ACK_ACC_TYPE[c_row];
972        				acc_type_code = document.POS_EDIT_POS.POS_ACK_ACC_TYPE_CODE[c_row];
973      			}
974 
975     			document.POS_ACK_TEMP.POS_ACK_ACC_TYPE.value = acc_type.value;
976     			document.POS_ACK_TEMP.POS_ACK_ACC_TYPE_CODE.value = acc_type_code.value;
977    			}
978 
979   			r_row = c_row;
980   			r_attribute_code = c_attribute_code;
981 
982   			c_js_where_clause = escape(c_js_where_clause, 1);
983 
984   			lov_win = window.open(l_script + "/icx_util.LOV?c_attribute_app_id=178" +
985                          "&c_attribute_code=" + c_attribute_code +
986                          "&c_region_app_id=178" +
987                          "&c_region_code=POS_ACK_EDIT_R" +
988                          "&c_form_name=POS_ACK_TEMP"  +
989                          "&c_frame_name=result" +
990                          "&c_where_clause=" +
991                          "&c_js_where_clause=" + c_js_where_clause,"LOV",
992                          "resizable=yes,menubar=yes,scrollbars=yes,width=780,height=300");
993 
994 
995   			intervalID = window.setInterval("watchme()", interval);
996 
997 			}
998 
999 			  function changePromisedDate(resp_id,po_num)
1000 			  {
1001 			  var winWidth = 800;
1002 			var winHeight = 600;
1003 			var winAttributes = "menubar=no,location=no,toolbar=no," +
1004                       "width=" + winWidth + ",height=" + winHeight +
1005                       ",screenX=" + (screen.width - winWidth)/2 +
1006                       ",screenY=" + (screen.height - winHeight)/2 +
1007                       ",resizable=yes,scrollbars=yes";
1008 
1009 			var scriptName = parent.scriptName;
1010 			var url = scriptName + "/POS_UPD_DATE.SEARCH_PO?l_po_number="+ po_num +"&p_resp_id="+resp_id;
1011                         open(url, "test", winAttributes);
1012 			}
1013 
1014 		function watchme()
1015 		{
1016   			if (lov_win.closed)
1017   			{
1018    				if (r_attribute_code == "POS_ACK_ACC_TYPE")
1019     			{
1020 					acc_type.value = document.POS_ACK_TEMP.POS_ACK_ACC_TYPE.value;
1021 					acc_type_code.value = document.POS_ACK_TEMP.POS_ACK_ACC_TYPE_CODE.value;
1022     			}
1023    				clearInterval(intervalID);
1024    				return;
1025   			}
1026 		}
1027 
1028 
1029   	');
1030     js.scriptClose;
1031   htp.headClose;
1032 
1033 -- Header End
1034 /*
1035   select count(*) into  l_count
1036   from pos_ack_select;
1037 */
1038   ak_query_pkg.exec_query(p_parent_region_appl_id   =>  178,
1039                           p_parent_region_code      =>  'POS_ACK_EDIT_R',
1040                           p_where_clause            =>  '',
1041                           p_responsibility_id       =>  g_responsibility_id,
1042                           p_user_id                 =>  g_user_id,
1043                           p_return_parents          =>  'T',
1044                           p_return_children         =>  'F');
1045   l_count := ak_query_pkg.g_results_table.count;
1046   veera_debug('SearchPO: no of rows: ' || to_char(l_count));
1047 
1048   htp.p('<body bgcolor=#cccccc onLoad="javascript:LoadCounter(' ||
1049 		'1, ' || to_char(l_count) || ',' || to_char(l_count) ||
1050 		')">');
1051 
1052 
1053   if l_count > 0 then
1054   	htp.p('<form name="POS_ACK_TEMP">' ||
1055         '<input name="POS_ACK_ACC_TYPE" type="HIDDEN" VALUE="">' ||
1056         '<input name="POS_ACK_ACC_TYPE_CODE" type="HIDDEN" VALUE="">' ||
1057         '<input name="POS_ACK_ACC_TOTAL_ROWS" type="HIDDEN" VALUE="">' ||
1058         '</form>');
1059   	htp.p('<form name="POS_EDIT_POS" ACTION="' || l_script_name ||
1060         '/POS_ACK_SEARCH.ACKNOWLEDGE_POS" target="result" method="POST">');
1061 
1062 
1063   	veera_debug('Row num in result pos: ' || pos_ack_sr_row_num);
1064   	paint_edit_pos(to_number(pos_ack_sr_row_num));
1065   	htp.p('</form>');
1066   else
1067 	htp.p('<B>');
1068 	htp.p(fnd_message.get_string('ICX','ICX_POS_NO_RECORDS'));
1069 	htp.p('</B>');
1070   end if;
1071 
1072   htp.p('</body>');
1073   htp.htmlClose;
1074 END RESULT_POS;
1075 
1076 PROCEDURE SHOW_POS(
1077 					pos_ack_sr_row_num IN VARCHAR2 default '0',
1078 					l_rows_inserted		IN NUMBER	default 0
1079 					)
1080 IS
1081 	l_count	NUMBER	:= 0;
1082 	l_script_name VARCHAR2(240);
1083 	l_msg1		  VARCHAR2(240);
1084 	l_msg2		  VARCHAR2(240);
1085 BEGIN
1086   l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
1087   htp.htmlOpen;
1088 
1089   htp.headOpen;
1090     htp.linkRel('STYLESHEET', '/OA_HTML/US/POSSTYLE.css');
1091     js.scriptOpen;
1092     icx_util.LOVscript;
1093     htp.p('
1094 
1095 		function call_LOV1(c_attribute_code)
1096 		{
1097   			var c_where_clause = "";
1098 
1099     		LOV("178", c_attribute_code, "178", "POS_ACK_EDIT_R",
1100 					"POS_EDIT_POS", "result", "", c_where_clause);
1101 		}
1102 
1103 		function LoadCounter(p_start, p_end, p_total, p_rows_inserted, p_string1, p_string2)
1104 		{
1105 			if (p_rows_inserted > 0)
1106 				alert(p_string1);
1107 			alert(p_string2);
1108 			var l_URL = parent.scriptName + "/POS_ACK_SEARCH.COUNTER_FRAME?" +
1109 				"p_first=" + p_start +
1110 				"&p_last=" + p_end +
1111 				"&p_total=" + p_total;
1112 
1113   			parent.counter.location.href = l_URL;
1114 
1115             var l_URL2 = parent.scriptName + "/POS_ACK_SEARCH.ADD_FRAME?" +
1116                 "p_total=" + p_total;
1117 
1118   			parent.add.location.href = l_URL2;
1119 
1120 		}
1121 
1122 			var acc_type;
1123 			var acc_type_code;
1124 			var r_row;
1125 			var r_attribute_code;
1126 			var intervalID;
1127 
1128 		function call_LOV(c_attribute_code, c_row, l_script)
1129 		{
1130   			var c_js_where_clause = "";
1131   			var interval = 100;
1132 
1133   			if (c_attribute_code == "POS_ACK_ACC_TYPE")
1134    			{
1135     			if (document.POS_EDIT_POS.POS_ACK_ACC_TYPE[c_row] == null)
1136      			{
1137        				acc_type = document.POS_EDIT_POS.POS_ACK_ACC_TYPE;
1138        				acc_type_code = document.POS_EDIT_POS.POS_ACK_ACC_TYPE_CODE;
1139      			}
1140     			else
1141      			{
1142        				acc_type = document.POS_EDIT_POS.POS_ACK_ACC_TYPE[c_row];
1143        				acc_type_code = document.POS_EDIT_POS.POS_ACK_ACC_TYPE_CODE[c_row];
1144      			}
1145 
1146     			document.POS_ACK_TEMP.POS_ACK_ACC_TYPE.value = acc_type.value;
1147     			document.POS_ACK_TEMP.POS_ACK_ACC_TYPE_CODE.value = acc_type_code.value;
1148    			}
1149 
1150   			r_row = c_row;
1151   			r_attribute_code = c_attribute_code;
1152 
1153   			c_js_where_clause = escape(c_js_where_clause, 1);
1154 
1155   			lov_win = window.open(l_script + "/icx_util.LOV?c_attribute_app_id=178" +
1156                          "&c_attribute_code=" + c_attribute_code +
1157                          "&c_region_app_id=178" +
1158                          "&c_region_code=POS_ACK_EDIT_R" +
1159                          "&c_form_name=POS_ACK_TEMP"  +
1160                          "&c_frame_name=result" +
1161                          "&c_where_clause=" +
1162                          "&c_js_where_clause=" + c_js_where_clause,"LOV",
1163                          "resizable=yes,menubar=yes,scrollbars=yes,width=780,height=300");
1164 
1165 
1166   			intervalID = window.setInterval("watchme()", interval);
1167 
1168 		}
1169 
1170 		function watchme()
1171 		{
1172   			if (lov_win.closed)
1173   			{
1174    				if (r_attribute_code == "POS_ACK_ACC_TYPE")
1175     			{
1176 					acc_type.value = document.POS_ACK_TEMP.POS_ACK_ACC_TYPE.value;
1177 					acc_type_code.value = document.POS_ACK_TEMP.POS_ACK_ACC_TYPE_CODE.value;
1178     			}
1179    				clearInterval(intervalID);
1180    				return;
1181   			}
1182 		}
1183 
1184   	');
1185     js.scriptClose;
1186   htp.headClose;
1187 
1188   select count(*) into  l_count
1189   from pos_ack_select;
1190 
1191     l_msg1 := fnd_message.get_string('ICX','ICX_POS_ACK_TOTAL_PO_SUB2');
1192     l_msg1 := replace(l_msg1, '&TOTAL', to_char(l_rows_inserted));
1193 
1194     l_msg2 := fnd_message.get_string('ICX','ICX_POS_ACK_ACC_TYPE_ERR');
1195 
1196   veera_debug('no of rows inserted: ' || to_char(l_rows_inserted));
1197   htp.p('<body bgcolor=#cccccc onLoad="javascript:LoadCounter(' ||
1198 		'1, ' || to_char(l_count) || ',' || to_char(l_count) ||
1199 		 ',' || to_char(l_rows_inserted) ||
1200 		', ''' || l_msg1 || ''',''' || l_msg2 || '''' ||
1201 		')">');
1202 
1203 
1204   if l_count > 0 then
1205 --test
1206   htp.p('<form name="POS_ACK_TEMP">' ||
1207         '<input name="POS_ACK_ACC_TYPE" type="HIDDEN" VALUE="">' ||
1208         '<input name="POS_ACK_ACC_TYPE_CODE" type="HIDDEN" VALUE="">' ||
1209         '<input name="POS_ACK_ACC_TOTAL_ROWS" type="HIDDEN" VALUE="">' ||
1210         '</form>');
1211 --test
1212   	htp.p('<form name="POS_EDIT_POS" ACTION="' || l_script_name ||
1213         '/POS_ACK_SEARCH.ACKNOWLEDGE_POS" target="result" method="POST">');
1214 
1215 
1216   	veera_debug('Row num in result pos: ' || pos_ack_sr_row_num);
1217   	paint_edit_pos(to_number(pos_ack_sr_row_num));
1218   	htp.p('</form>');
1219   else
1220 	htp.p(fnd_message.get_string('ICX','ICX_POS_NO_RECORDS'));
1221   end if;
1222 
1223   htp.p('</body>');
1224   htp.htmlClose;
1225 END SHOW_POS;
1226 
1227 FUNCTION item_color(l_index in number) RETURN VARCHAR2 IS
1228 BEGIN
1229    IF ak_query_pkg.g_items_table(l_index).required_flag = 'Y' THEN
1230    	RETURN ' bgcolor=#FFFF00 ';
1231    ELSE
1232 	RETURN ' ';
1233    END IF;
1234 
1235 END item_color;
1236 
1237 FUNCTION item_halign(l_index in number) RETURN VARCHAR2 IS
1238 BEGIN
1239 
1240    RETURN ' align=' ||
1241            ak_query_pkg.g_items_table(l_index).horizontal_alignment;
1242 
1243 END item_halign;
1244 
1245 FUNCTION item_lov(l_index in number) RETURN BOOLEAN IS
1246 BEGIN
1247 
1248  RETURN (ak_query_pkg.g_items_table(l_index).lov_region_code IS NOT NULL AND
1249                    ak_query_pkg.g_items_table(l_index).lov_attribute_code IS NOT
1250  NULL);
1251 
1252 END item_lov;
1253 
1254 FUNCTION item_valign(l_index in number) RETURN VARCHAR2 IS
1255 BEGIN
1256 
1257    RETURN ' valign=' ||
1258           ak_query_pkg.g_items_table(l_index).vertical_alignment;
1259 
1260 END item_valign;
1261 
1262 FUNCTION item_name(l_index in number) RETURN VARCHAR2 IS
1263 BEGIN
1264 
1265    RETURN ak_query_pkg.g_items_table(l_index).attribute_label_long;
1266 
1267 END item_name;
1268 
1269 FUNCTION item_code(l_index in number) RETURN VARCHAR2 IS
1270 BEGIN
1271 
1272    RETURN ak_query_pkg.g_items_table(l_index).attribute_code;
1273 
1274 END item_code;
1275 
1276 FUNCTION get_option_string(l_index in number)  RETURN VARCHAR2 IS
1277 	l_temp1	VARCHAR2(2000);
1278 	l_temp2	VARCHAR2(2000);
1279 	l_temp3	VARCHAR2(2000);
1280 BEGIN
1281 	if item_code(l_index) = 'POS_ACK_SR_ACC_STATUS' or item_code(l_index) = 'POS_ACK_ACCEPT' then
1282 		l_temp1 := fnd_message.get_string('ICX','ICX_POS_ACK_ACCEPTED');
1283 		l_temp2 := fnd_message.get_string('ICX','ICX_POS_ACK_REJECTED');
1284 		l_temp3 := fnd_message.get_string('ICX','ICX_POS_ACK_NONE');
1285 		return '<OPTION value = "Y">' || l_temp1 || '</OPTION> <OPTION value = "N">' || l_temp2 || '</OPTION> <OPTION selected value = "None">' || l_temp3 || '</OPTION>';
1286 	elsif item_code(l_index) = 'POS_ACK_SR_ACC_REQD' then
1287 		l_temp1 := fnd_message.get_string('ICX','ICX_POS_ACK_YES');
1288 		l_temp2 := fnd_message.get_string('ICX','ICX_POS_ACK_NO');
1289 		return '<OPTION selected value = "Yes">' || l_temp1 || '</OPTION> <OPTION value = "No">' || l_temp2 || '</OPTION>';
1290 	end if;
1291 END get_option_string;
1292 
1293 FUNCTION item_style(l_index in number) RETURN VARCHAR2 IS
1294 BEGIN
1295 
1296   RETURN ak_query_pkg.g_items_table(l_index).item_style;
1297 
1298 END item_style;
1299 
1300 FUNCTION item_displayed(l_index in number) RETURN BOOLEAN IS
1301 BEGIN
1302 
1303   RETURN (ak_query_pkg.g_items_table(l_index).node_display_flag = 'Y');
1304 
1305 END item_displayed;
1306 
1307 FUNCTION item_updateable(l_index in number) RETURN BOOLEAN IS
1308 BEGIN
1309 
1310  RETURN (ak_query_pkg.g_items_table(l_index).update_flag = 'Y');
1311 
1312 END item_updateable;
1313 
1314 FUNCTION item_size (l_index in number) RETURN VARCHAR2 IS
1315 BEGIN
1316 
1317   RETURN ' size='  || to_char(ak_query_pkg.g_items_table(l_index).display_value_length);
1318 
1319 END item_size;
1320 
1321 FUNCTION item_reqd(l_index in number) RETURN VARCHAR2 IS
1322 BEGIN
1323    if ak_query_pkg.g_items_table(l_index).required_flag = 'Y' then
1324       return  '<IMG src=/OA_MEDIA/FNDIREQD.gif border=no>';
1325    else
1326       return '';
1327    end if;
1328 END item_reqd;
1329 
1330 function get_result_value(p_index in number, p_col in number) return varchar2 is
1331     sql_statement   VARCHAR2(300);
1332     l_cursor       INTEGER;
1333     l_execute      INTEGER;
1334     l_result       VARCHAR2(2000);
1335 BEGIN
1336 /*
1337       sql_statement := 'begin ' ||
1338                        ':l_result := ak_query_pkg.g_results_table(:p_index).value' ||
1339                                              to_char(p_col) || '; ' ||
1340                        ' end;';
1341 
1342       l_cursor := dbms_sql.open_cursor;
1343       dbms_sql.parse(l_cursor, sql_statement, dbms_sql.v7);
1344       dbms_sql.bind_variable(l_cursor, 'l_result', l_result, 2000);
1345       dbms_sql.bind_variable(l_cursor, 'p_index', p_index);
1346 
1347       l_execute := dbms_sql.execute(l_cursor);
1348       dbms_sql.variable_value(l_cursor, 'l_result', l_result);
1349       return l_result;
1350 */
1351   if ak_query_pkg.g_results_table.count = 0 then
1352 	 return NULL;
1353   end if;
1354   if p_col = 1 then
1355     return ak_query_pkg.g_results_table(p_index).value1;
1356   elsif p_col = 2 then
1357     return ak_query_pkg.g_results_table(p_index).value2;
1358   elsif p_col = 3 then
1359     return ak_query_pkg.g_results_table(p_index).value3;
1360   elsif p_col = 4 then
1361     return ak_query_pkg.g_results_table(p_index).value4;
1362   elsif p_col = 5 then
1363     return ak_query_pkg.g_results_table(p_index).value5;
1364   elsif p_col = 6 then
1365     return ak_query_pkg.g_results_table(p_index).value6;
1366   elsif p_col = 7 then
1367     return ak_query_pkg.g_results_table(p_index).value7;
1368   elsif p_col = 8 then
1369     return ak_query_pkg.g_results_table(p_index).value8;
1370   elsif p_col = 9 then
1371     return ak_query_pkg.g_results_table(p_index).value9;
1372   elsif p_col = 10 then
1373     return ak_query_pkg.g_results_table(p_index).value10;
1374   elsif p_col = 11 then
1375     return ak_query_pkg.g_results_table(p_index).value11;
1376   elsif p_col = 12 then
1377     return ak_query_pkg.g_results_table(p_index).value12;
1378   elsif p_col = 13 then
1379     return ak_query_pkg.g_results_table(p_index).value13;
1380   elsif p_col = 14 then
1381     return ak_query_pkg.g_results_table(p_index).value14;
1382   elsif p_col = 15 then
1383     return ak_query_pkg.g_results_table(p_index).value15;
1384   elsif p_col = 16 then
1385     return ak_query_pkg.g_results_table(p_index).value16;
1386   elsif p_col = 17 then
1387     return ak_query_pkg.g_results_table(p_index).value17;
1388   elsif p_col = 18 then
1389     return ak_query_pkg.g_results_table(p_index).value18;
1390   elsif p_col = 19 then
1391     return ak_query_pkg.g_results_table(p_index).value19;
1392   elsif p_col = 20 then
1393     return ak_query_pkg.g_results_table(p_index).value20;
1394   elsif p_col = 21 then
1395     return ak_query_pkg.g_results_table(p_index).value21;
1396   elsif p_col = 22 then
1397     return ak_query_pkg.g_results_table(p_index).value22;
1398   elsif p_col = 23 then
1399     return ak_query_pkg.g_results_table(p_index).value23;
1400   elsif p_col = 24 then
1401     return ak_query_pkg.g_results_table(p_index).value24;
1402   elsif p_col = 25 then
1403     return ak_query_pkg.g_results_table(p_index).value25;
1404   elsif p_col = 26 then
1405     return ak_query_pkg.g_results_table(p_index).value26;
1406   elsif p_col = 27 then
1407     return ak_query_pkg.g_results_table(p_index).value27;
1408   elsif p_col = 28 then
1409     return ak_query_pkg.g_results_table(p_index).value28;
1410   elsif p_col = 29 then
1411     return ak_query_pkg.g_results_table(p_index).value29;
1412   elsif p_col = 30 then
1413     return ak_query_pkg.g_results_table(p_index).value30;
1414   elsif p_col = 31 then
1415     return ak_query_pkg.g_results_table(p_index).value29;
1416   elsif p_col = 32 then
1417     return ak_query_pkg.g_results_table(p_index).value30;
1418   elsif p_col = 33 then
1419     return ak_query_pkg.g_results_table(p_index).value29;
1420   elsif p_col = 34 then
1421     return ak_query_pkg.g_results_table(p_index).value30;
1422   end if;
1423 
1424 END get_result_value;
1425 
1426 procedure button(src IN varchar2,
1427                  txt IN varchar2) IS
1428 BEGIN
1429 
1430 htp.p('
1431          <table cellpadding=0 cellspacing=0 border=0>
1432           <tr>
1433            <td rowspan=5><img src=/OA_MEDIA/FNDBRNDL.gif ></td>
1434            <td bgcolor=#333333><img src=/OA_MEDIA/FNDPX3.gif ></td>
1435            <td rowspan=5><img src=/OA_MEDIA/FNDBRNDR.gif ></td>
1436           </tr>
1437           <tr>
1438            <td bgcolor=#ffffff><img src=/OA_MEDIA/FNDPX6.gif></td>
1439           </tr>
1440           <tr>
1441            <td bgcolor=#cccccc height=20 nowrap><a
1442 href="' || src || '"><font class=button>'|| txt || '</font></a></td>
1443           </tr>
1444           <tr>
1445            <td bgcolor=#666666><img src=/OA_MEDIA/FNDPX3.gif></td>
1446           </tr>
1447           <tr>
1448            <td bgcolor=#333333><img src=/OA_MEDIA/FNDPX3.gif></td>
1449           </tr>
1450          </table>
1451 ');
1452 
1453 END button;
1454 
1455 PROCEDURE button(src1 IN varchar2,
1456                  txt1 IN varchar2,
1457                  src2 IN varchar2,
1458                  txt2 IN varchar2) IS
1459 BEGIN
1460 
1461   htp.p('
1462          <table cellpadding=0 cellspacing=0 border=0>
1463           <tr>
1464            <td rowspan=5><img src=/OA_MEDIA/FNDBRNDL.gif ></td>
1465            <td bgcolor=#333333><img src=/OA_MEDIA/FNDPX3.gif ></td>
1466            <td rowspan=5><img src=/OA_MEDIA/FNDBSQRR.gif ></td>
1467            <td width=15 rowspan=5></td>
1468            <td rowspan=5><img src=/OA_MEDIA/FNDBSQRL.gif ></td>
1469            <td bgcolor=#333333><img src=/OA_MEDIA/FNDPX3.gif ></td>
1470            <td rowspan=5><img src=/OA_MEDIA/FNDBRNDR.gif ></td>
1471           </tr>
1472           <tr>
1473            <td bgcolor=#ffffff><img src=/OA_MEDIA/FNDPX6.gif></td>
1474            <td bgcolor=#ffffff><img src=/OA_MEDIA/FNDPX6.gif></td>
1475           </tr>
1476           <tr>
1477            <td bgcolor=#cccccc height=20 nowrap><a
1478 href="' || src1 || '"><font class=button>'|| txt1 || '</font></a></td>
1479            <td bgcolor=#cccccc height=20 nowrap><a
1480 href="' || src2 || '"><font class=button>'|| txt2 || '</font></a></td>
1481           </tr>
1482           <tr>
1483            <td bgcolor=#666666><img src=/OA_MEDIA/FNDPX3.gif></td>
1484            <td bgcolor=#666666><img src=/OA_MEDIA/FNDPX3.gif></td>
1485           </tr>
1486           <tr>
1487            <td bgcolor=#333333><img src=/OA_MEDIA/FNDPX3.gif></td>
1488            <td bgcolor=#333333><img src=/OA_MEDIA/FNDPX3.gif></td>
1489           </tr>
1490          </table>
1491        ');
1492 
1493 END button;
1494 
1495 PROCEDURE PAINT_EDIT_POS(l_row_num	NUMBER default 0)
1496 IS
1497   l_language    VARCHAR2(5);
1498   l_script_name VARCHAR2(240);
1499   l_org_id      NUMBER;
1500   l_user_id     NUMBER;
1501   l_responsibility_id     NUMBER;
1502   l_session_id  NUMBER;
1503 
1504   l_attribute_index  NUMBER;
1505   l_result_index     NUMBER;
1506   l_current_col      NUMBER;
1507   l_current_row      NUMBER;
1508   l_where_clause     VARCHAR2(2000);
1509   l_start_row		NUMBER;
1510   l_end_row		NUMBER;
1511 
1512   l_buyer_id		NUMBER;
1513   l_po_num		VARCHAR2(240);
1514   l_po_header_id    NUMBER;
1515   l_hidden_fields_string VARCHAR2(32000);
1516 BEGIN
1517 
1518   veera_debug('Row Number:' || to_char(l_row_num));
1519   if l_row_num = 0 then
1520   	l_start_row := 1;
1521   else
1522   	l_start_row := l_row_num;
1523   end if;
1524   --l_end_row := l_start_row + 25 - 1;
1525   l_end_row := 99999;
1526 
1527   veera_debug('Inside Paint_Edit_POS');
1528   l_org_id := icx_sec.getID(icx_sec.PV_ORG_ID);
1529   l_language := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
1530   l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
1531   l_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
1532   l_responsibility_id := icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID);
1533   l_session_id := icx_sec.getID(icx_sec.PV_SESSION_ID);
1534 
1535   --l_where_clause :=  'SESSION_ID = ' || to_char(l_session_id);
1536   l_where_clause :=  '';
1537 
1538   veera_debug('User Id: ' || to_char(l_user_id) || 'Resp ID: ' || to_char(l_responsibility_id) );
1539 
1540   ak_query_pkg.exec_query(p_parent_region_appl_id   =>  178,
1541                           p_parent_region_code      =>  'POS_ACK_EDIT_R',
1542                           p_where_clause            =>  l_where_clause,
1543                           p_responsibility_id       =>  l_responsibility_id,
1544                           p_user_id                 =>  l_user_id,
1545                           p_return_parents          =>  'T',
1546                           p_return_children         =>  'F');
1547 
1548   l_attribute_index := ak_query_pkg.g_items_table.FIRST;
1549   veera_debug('After AK Select' || to_char(ak_query_pkg.g_items_table.count));
1550 
1551   htp.p('<table width=96% bgcolor=#999999 cellpadding=2 cellspacing=0 border=0>'
1552 );
1553   htp.p('<tr><td>');
1554 
1555 
1556  -- Print the table heading
1557   htp.p('<table align=center bgcolor=#999999 cellpadding=2 cellspacing=1 border=0>');
1558 
1559   htp.p('<tr>');
1560 
1561   WHILE (l_attribute_index IS NOT NULL) LOOP
1562     IF (item_style(l_attribute_index) = 'HIDDEN') THEN
1563        htp.p('<!-- ' ||  item_code(l_attribute_index)  ||
1564              ' - '   ||  item_style(l_attribute_index) || ' -->' );
1565     ELSIF item_displayed(l_attribute_index)  THEN
1566           htp.p('<td bgcolor=#336699' ||
1567                  item_halign(l_attribute_index) ||
1568                  --item_valign(l_attribute_index) ||
1569 				 ' valign=bottom' ||
1570                 '>' ||
1571                 item_reqd(l_attribute_index)
1572                 );
1573           --htp.p('<font class=promptwhite>' || item_name(l_attribute_index) || '</font>');
1574           htp.p('<font color=#FFFFFF>' || item_name(l_attribute_index) || '</font>');
1575           htp.p('</td>');
1576     END IF;
1577 
1578     l_attribute_index := ak_query_pkg.g_items_table.NEXT(l_attribute_index);
1579   END LOOP;
1580 --test promise date
1581   htp.p('<td bgcolor=#336699><font color=#FFFFFF> </font></td>');
1582 --test promise date
1583 
1584   htp.p('</tr>');
1585 
1586  ----- end print table heading ----
1587 
1588 
1589  ----- print contents -----------
1590 
1591   veera_debug('After AK Select: no of rows:' || to_char(ak_query_pkg.g_results_table.count));
1592   IF ak_query_pkg.g_results_table.count > 0 THEN
1593     l_result_index := ak_query_pkg.g_results_table.FIRST;
1594     l_current_row := 0;
1595     WHILE (l_result_index IS NOT NULL) LOOP
1596              l_hidden_fields_string := '';
1597       l_current_row := l_current_row + 1;
1598 --
1599 	  IF (get_result_value(l_result_index, 1) < l_start_row) or (get_result_value(l_result_index, 1) > l_end_row) then
1600 		GOTO my_point2;
1601 	  end if;
1602 --
1603       if ((l_current_row mod 2) = 0) THEN
1604          htp.p('<tr BGCOLOR=''#ffffff'' >');
1605       else
1606         htp.p('<tr BGCOLOR=''#99ccff'' >');
1607       end if;
1608       l_attribute_index := ak_query_pkg.g_items_table.FIRST;
1609       l_current_col := 0;
1610       WHILE (l_attribute_index IS NOT NULL) LOOP
1611         l_current_col := l_current_col + 1;
1612 	    -- hardcode radio buttons
1613 		IF (item_code(l_attribute_index) = 'POS_ACK_ACCEPT') THEN
1614 			htp.p('<td nowrap ' ||
1615                         item_halign(l_attribute_index) ||
1616                         item_valign(l_attribute_index) ||
1617                   '>' ||
1618                   '<font class=datablack>' ||					'<select name="POS_ACK_ACCEPT">' ||
1619 					get_option_string(l_attribute_index) ||
1620 					'</seLect>' ||
1621                   '</font>' ||
1622                   '</td>');
1623 			GOTO my_point;
1624 		ELSIF (item_code(l_attribute_index) =  'POS_ACK_REJECT') THEN
1625             htp.p('<td nowrap ' ||
1626                         item_halign(l_attribute_index) ||
1627                         item_valign(l_attribute_index) ||
1628                   '>' ||
1629                   '<font class=datablack>' ||
1630                       '<input type=radio name="POS_ACK_ACCEPT_REJECT" value="reject"' ||
1631                   '</font>' ||
1632                   '</td>');
1633 			GOTO my_point;
1634 
1635 		ELSIF (item_code(l_attribute_index) =  'POS_ACK_PO_NUMBER') THEN
1636    					htp.p('<td  nowrap' || item_halign(l_attribute_index) || item_valign(l_attribute_index) || '>');
1637       				htp.p('<a  target="PONUM" href="' || po_num(get_result_value(l_result_index, l_current_col), l_po_header_id) ||'">' || nvl(get_result_value(l_result_index, l_current_col), ' ') || '</a> ');
1638       				--htp.p('<a  target="PONUM" href="' || 'xyz' ||'">' || nvl(get_result_value(l_result_index, l_current_col), ' ') || '</a> ');
1639    					htp.p('</td>');
1640 					l_po_num := get_result_value(l_result_index, l_current_col);
1641 			GOTO my_point;
1642 
1643 		ELSIF (item_code(l_attribute_index) =  'POS_ACK_BUYER') THEN
1644    					htp.p('<td  nowrap' || item_halign(l_attribute_index) || item_valign(l_attribute_index) || '>');
1645       				htp.p('<a  target="PONUM" href="' || buyer(l_po_num, l_po_header_id) ||'">' || nvl(get_result_value(l_result_index, l_current_col), ' ') || '</a> ');
1646       				--htp.p('<a  target="PONUM" href="' || 'xyz' ||'">' || nvl(get_result_value(l_result_index, l_current_col), ' ') || '</a> ');
1647    					htp.p('</td>');
1648 			GOTO my_point;
1649 
1650 		END IF;
1651         IF (item_style(l_attribute_index) = 'HIDDEN') THEN
1652 		   IF  (item_code(l_attribute_index) =  'POS_ACK_BUYER_ID') THEN
1653 				l_buyer_id :=  get_result_value(l_result_index, l_current_col);
1654 		   elsif (item_code(l_attribute_index) =  'POS_ACK_PO_HEADER_ID') THEN
1655 				l_po_header_id := get_result_value(l_result_index, l_current_col);
1656 		   END IF;
1657 
1658 		   l_hidden_fields_string := l_hidden_fields_string || '<input name="' || item_code(l_attribute_index) ||'" type="HIDDEN" VALUE="' || get_result_value(l_result_index, l_current_col) ||'">' ;
1659 
1660            /*htp.p('<input name="' || item_code(l_attribute_index) ||
1661                  '" type="HIDDEN" VALUE="' || get_result_value(l_result_index, l_current_col) ||
1662                  '">'); */
1663         ELSE
1664          IF item_displayed(l_attribute_index)  THEN
1665            IF (item_style(l_attribute_index) = 'TEXT' ) THEN
1666               IF item_updateable(l_attribute_index) THEN
1667                 htp.p('<td nowrap ' ||
1668                         item_halign(l_attribute_index) ||
1669                         item_valign(l_attribute_index) ||
1670                       '>' ||
1671                       '<font class=datablack>' ||
1672                       '<input type=text ' || item_size(l_attribute_index) ||
1673                         ' name="' || item_code(l_attribute_index)  || '"' ||
1674                       ' value="' || nvl(get_result_value(l_result_index, l_current_col),'')  ||
1675 --                       '" ></font>' ||
1676 --LOV Test
1677                        '" ></font>'
1678 		);
1679 	        IF (ak_query_pkg.g_items_table(l_attribute_index).lov_region_code IS NOT NULL AND ak_query_pkg.g_items_table(l_attribute_index).lov_attribute_code IS NOT NULL) THEN
1680 /*
1681 	            htp.p('<A HREF="javascript:call_LOV('''||
1682                   ak_query_pkg.g_items_table(l_attribute_index).attribute_code || ''')"' ||
1683                   '><IMG SRC="/OA_MEDIA/FNDLSTOV.gif" BORDER=0 WIDTH=23 HEIGHT=21 border=no align=absmiddle></A></TD>');
1684 */
1685 	            htp.p('<A HREF="javascript:call_LOV('''||
1686                   ak_query_pkg.g_items_table(l_attribute_index).attribute_code || ''''|| ',' || ''''|| to_char(l_current_row-1) || '''' || ',' || ''''|| l_script_name ||
1687 				  ''')"' ||
1688                   '><IMG SRC="/OA_MEDIA/FNDLSTOV.gif" BORDER=0 WIDTH=23 HEIGHT=21 border=no align=absmiddle></A></TD>');
1689         	END IF;
1690                        htp.p('</td>');
1691 
1692 --LOV Test
1693 --                       '</td>');
1694               ELSE
1695               		htp.p('<td nowrap ' ||
1696                         item_halign(l_attribute_index) ||
1697                         item_valign(l_attribute_index) ||
1698                       '>' ||
1699                      '<font class=tabledata>' ||
1700                        nvl(get_result_value(l_result_index, l_current_col), ' ') ||
1701                      '</font></td>');
1702 
1703               END IF;
1704            ELSIF (item_style(l_attribute_index) = 'CHECKBOX') THEN
1705                l_current_col := l_current_col -1;
1706                htp.p('<td nowrap ' ||
1707                         item_halign(l_attribute_index) ||
1708                         item_valign(l_attribute_index) ||
1709                       '>' ||
1710                       '<B><font class=datablack>' ||
1711                       '<input type="checkbox"  name="' ||
1712                         item_code(l_attribute_index) || '"' ||
1713                       ' value="' || to_char(l_current_row) ||
1714                        '" ></font></B></td>');
1715            ELSIF (item_style(l_attribute_index) = 'IMAGE') THEN
1716                 l_current_col := l_current_col -1;
1717     		htp.p('<td nowrap ' ||
1718                         item_halign(l_attribute_index) ||
1719                         item_valign(l_attribute_index) ||
1720                       '>' ||
1721                      '<a href="javascript:details(' ||
1722                        to_char(l_current_row-1) || ')"' ||
1723                      ' target="_self"><IMG NAME="' ||
1724                        item_code(l_attribute_index) ||
1725                      '" src=/OA_MEDIA/FNDIITMD.gif border=no></a></td>');
1726           END IF;
1727          END IF;
1728         END IF;
1729 		  <<my_point>>
1730           l_attribute_index := ak_query_pkg.g_items_table.NEXT(l_attribute_index);
1731         END LOOP;
1732 -- test promise date
1733 		htp.p('
1734 			<td align=left valign=center nowrap><a href="javascript:changePromisedDate('|| icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID)  || ',' ||
1735 			''''|| l_po_num ||'''' || ')"> <font class=tabledata>' ||
1736 			fnd_message.get_string('ICX','ICX_POS_ACK_PROMISED_DATE') ||
1737 			'</font></a>' || l_hidden_fields_string || '</td>');
1738 -- test promise date
1739         htp.p('</tr>');
1740 		<<my_point2>>
1741         l_result_index := ak_query_pkg.g_results_table.NEXT(l_result_index);
1742     END LOOP;
1743   END IF;
1744 
1745   htp.p('</table>');
1746   htp.p('</td></tr></table>');
1747 
1748 END paint_edit_pos;
1749 
1750 PROCEDURE  Find_Matching_Rows (
1751                         l_Acceptance_Status 	IN VARCHAR2 default null,
1752                         l_Acceptance_Reqd_Flag 	IN VARCHAR2 default null,
1753                         l_Start_Date			IN VARCHAR2 default null,
1754                         l_End_Date				IN VARCHAR2 default null,
1755                         l_PO_Number				IN VARCHAR2 default null,
1756                         l_Supplier_Site_Id		IN VARCHAR2 default null,
1757 						l_Document_Type_Code	IN VARCHAR2 default null
1758                      )
1759 IS
1760 
1761 	l_format_mask        icx_sessions.DATE_FORMAT_MASK%TYPE;
1762 	l_session_id         number;
1763 
1764 	CURSOR l_cursor IS
1765 		select *
1766 		from pos_ack_select_v
1767 		where
1768 			acceptance_status =  nvl(l_acceptance_status, acceptance_status)
1769  			and acceptance_required = nvl(l_Acceptance_Reqd_Flag, acceptance_required)
1770 		--	and acceptance_required_by between nvl(l_Start_Date, acceptance_required_by) and nvl(l_End_Date, acceptance_required_by)
1771 			and ( acceptance_required_by >= decode(l_Start_Date, null, acceptance_required_by, fnd_date.chardate_to_date(l_Start_Date)) or (acceptance_required_by is null and l_Start_Date is null) )
1772 			and (acceptance_required_by <= decode(l_End_Date, null, acceptance_required_by, fnd_date.chardate_to_date(l_End_Date))  or (acceptance_required_by is null and l_End_Date is null) )
1773 			and po_number like nvl(l_PO_Number, po_number)
1774 			and supplier_site_id = nvl(l_Supplier_Site_Id, supplier_site_id)
1775 			and document_type_code = nvl(l_Document_Type_Code, document_type_code) order by po_number;
1776 	l_po_rec l_cursor%ROWTYPE;
1777 	l_rows	NUMBER := 0;
1778 	l_temp1	VARCHAR2(2000);
1779 	l_temp2	VARCHAR2(2000);
1780 BEGIN
1781 	Veera_Debug('Acceptance Status:' || l_acceptance_status);
1782 	Veera_Debug('Acceptance Required:' || l_Acceptance_Reqd_Flag);
1783 	Veera_Debug('Acceptance Required By:' || l_start_date || 'to' || l_end_date);
1784 	Veera_Debug('supplier_site_id :' || l_Supplier_Site_Id);
1785 	Veera_Debug('Document Type :' || l_Document_Type_Code);
1786 	delete from pos_ack_select;
1787 
1788 	l_temp1 := fnd_message.get_string('ICX','ICX_POS_ACK_YES');
1789 	l_temp2 := fnd_message.get_string('ICX','ICX_POS_ACK_NO');
1790 
1791 	l_session_id := icx_sec.getID(icx_sec.PV_SESSION_ID);
1792 
1793 	-- Bug 1196968
1794 
1795   	select date_format_mask
1796     	  into l_format_mask
1797     	  from icx_sessions
1798    	where session_id = l_session_id;
1799 
1800   	fnd_date.initialize(l_format_mask);
1801 
1802 	open l_cursor;
1803 	LOOP
1804 		fetch l_cursor into l_po_rec;
1805 		EXIT WHEN l_cursor%NOTFOUND;
1806 
1807 		insert into pos_ack_select
1808 			(
1809 			acceptance_flag,
1810 			accept,
1811 			reject,
1812 			acceptance_type_code,
1813             		acceptance_type,
1814    			comments,
1815 			po_header_id,
1816 			po_release_id,
1817 			po_number,
1818 			release_number,
1819 			revision_number,
1820 			document_type_code,
1821 			document_type,
1822 			currency_code,
1823 			total,
1824 			acceptance_required,
1825 			acceptance_status,
1826 			acceptance_required_by,
1827 			approval_status,
1828 			shipto_location_id,
1829 			shipto_location,
1830 			carrier_code,
1831 			carrier,
1832 			buyer_id,
1833 			buyer_name,
1834 			supplier_org_id,
1835 			supplier_id,
1836 			supplier_name,
1837 			supplier_site_id,
1838 			supplier_site,
1839 			row_num
1840 			)
1841 			values
1842 			(
1843 			l_po_rec.acceptance_flag,
1844 			l_po_rec.accept,
1845 			l_po_rec.reject,
1846 			nvl(l_po_rec.acceptance_type_code,'-99999'),
1847             l_po_rec.acceptance_type,
1848    			l_po_rec.comments,
1849 			l_po_rec.po_header_id,
1850 			l_po_rec.po_release_id,
1851 			l_po_rec.po_number,
1852 			l_po_rec.release_number,
1853 			l_po_rec.revision_number,
1854 			l_po_rec.document_type_code,
1855 			l_po_rec.document_type,
1856 			l_po_rec.currency_code,
1857 			l_po_rec.total,
1858 			decode(l_po_rec.acceptance_required, 'Yes', l_temp1, l_temp2),
1859 			l_po_rec.acceptance_status,
1860 			l_po_rec.acceptance_required_by,
1861 			l_po_rec.approval_status,
1862 			l_po_rec.shipto_location_id,
1863 			l_po_rec.shipto_location,
1864 			l_po_rec.carrier_code,
1865 			l_po_rec.carrier,
1866 			l_po_rec.buyer_id,
1867 			l_po_rec.buyer_name,
1868 			l_po_rec.supplier_org_id,
1869 			l_po_rec.supplier_id,
1870 			l_po_rec.supplier_name,
1871 			l_po_rec.supplier_site_id,
1872 			l_po_rec.supplier_site,
1873 			l_rows+1
1874 			);
1875 		l_rows := l_rows + 1;
1876 	END LOOP;
1877 	close l_cursor;
1878 	Veera_Debug('No of Rows Selected: ' || to_char(l_rows));
1879 END Find_Matching_Rows;
1880 
1881 PROCEDURE ACKNOWLEDGE_POS (
1882 	pos_ack_row_num			IN	g_text_table default g_dummy_tbl,
1883 	pos_ack_accept			IN	g_text_table default g_dummy_tbl,
1884 	pos_ack_acc_type		IN	g_text_table default g_dummy_tbl,
1885 	pos_ack_comments		IN	g_text_table default g_dummy_tbl,
1886 	--pos_ack_document_type	IN	g_text_table default g_dummy_tbl,
1887 	--pos_ack_currency		IN	g_text_table default g_dummy_tbl,
1888 	--pos_ack_total			IN	g_text_table default g_dummy_tbl,
1889 	--pos_ack_approval_status	IN	g_text_table default g_dummy_tbl,
1890 	pos_ack_shipto_loc		IN	g_text_table default g_dummy_tbl,
1891 	pos_ack_carrier			IN	g_text_table default g_dummy_tbl,
1892 	pos_ack_po_header_id		IN	g_text_table default g_dummy_tbl,
1893 	pos_ack_release_id		IN	g_text_table default g_dummy_tbl,
1894 	pos_ack_buyer_id		IN	g_text_table default g_dummy_tbl,
1895 	pos_ack_acc_type_code		IN	g_text_table default g_dummy_tbl
1896 	)
1897 IS
1898 	l_temp1			VARCHAR2(2000);
1899 	l_acceptance_id		NUMBER;
1900 	l_revision_num		NUMBER;
1901 	l_rows_inserted		NUMBER := 0;
1902 	l_error			NUMBER := 0;
1903   	l_user_id     		NUMBER;
1904 	l_doc_id		NUMBER;
1905 	l_doc_type		VARCHAR2(10);
1906         l_seq_val               NUMBER;
1907 	l_item_type        	VARCHAR2(100)   := 'POSNOTB';
1908 	l_item_key         	VARCHAR2(100);
1909 	l_org_id	   	NUMBER;
1910 	l_accp_res		VARCHAR2(20);
1911 	l_accp_type		VARCHAR2(80);
1912 
1913 BEGIN
1914    veera_debug('Start Acknowledge_pos');
1915 
1916    IF NOT icx_sec.validatesession THEN
1917     RETURN;
1918    END IF;
1919 
1920 	l_temp1 := fnd_message.get_string('ICX','ICX_POS_ACK_WEB');
1921   	l_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
1922 
1923 	FOR l_counter IN 1..pos_ack_po_header_id.count LOOP
1924 		IF POS_ACK_ACCEPT(l_counter) <> 'None' then
1925 			veera_debug('Acc Type Code: ' || pos_ack_acc_type_code(l_counter));
1926 			IF pos_ack_acc_type_code(l_counter) <> '-99999' then
1927 
1928 				l_rows_inserted := l_rows_inserted + 1;
1929 				select po_acceptances_s.nextval into l_acceptance_id
1930 				from dual;
1931 
1932 				select revision_num,org_id into l_revision_num , l_org_id
1933 				from po_headers_all
1934 				where po_header_id = pos_ack_po_header_id(l_counter);
1935 
1936 				select description into l_accp_type
1937 				from POS_ACK_ACC_TYPE_LOV_V
1938 				where LOOKUP_CODE =  pos_ack_acc_type_code(l_counter);
1939 
1940 
1941 				if to_number(pos_ack_release_id(l_counter)) = -1 then
1942 					l_doc_id := to_number(pos_ack_po_header_id(l_counter));
1943 					l_doc_type := 'PO';
1944 				else
1945 					l_doc_id := to_number(pos_ack_release_id(l_counter));
1946 					l_doc_type := 'RELEASE';
1947 				end if;
1948 
1949 				insert into po_acceptances (
1950 						acceptance_id,
1951 						last_update_Date,
1952 						last_updated_by,
1953 						last_update_login,
1954 						creation_date,
1955 						created_by,
1956 						po_header_id,
1957 						po_release_id,
1958 						action,
1959 						action_date,
1960 						employee_id,
1961 						revision_num,
1962 						accepted_flag,
1963 						acceptance_lookup_code,
1964 						note
1965 						)
1966 				values (
1967 						l_acceptance_id,
1968 						sysdate,
1969 						l_user_id,
1970 						l_user_id,
1971 						sysdate,
1972 						l_user_id,
1973 						pos_ack_po_header_id(l_counter),
1974 						decode(pos_ack_release_id(l_counter), -1,null,pos_ack_release_id(l_counter)),
1975 						l_temp1,
1976 						sysdate,
1977 						pos_ack_buyer_id(l_counter),
1978 						l_revision_num,
1979 						pos_ack_accept(l_counter),
1980 						pos_ack_acc_type_code(l_counter),
1981 						pos_ack_comments(l_counter)
1982 					);
1983 
1984 -- Call the workflow for sending notification to the Buyer
1985        				   select po_wf_itemkey_s.nextval
1986 				   into l_seq_val
1987    				   from dual;
1988 
1989 				   l_item_key := 'POS_PO_ACK_' || l_doc_id || '_' || to_char(l_seq_val);
1990 
1991 					wf_engine.createProcess(ItemType => l_item_type,
1992                             		ItemKey     => l_item_key,
1993                             		Process     => 'MAIN_PROCESS');
1994 
1995    			    		wf_engine.SetItemAttrNumber (
1996                             		ItemType    => l_item_type,
1997                             		ItemKey     => l_item_key,
1998                             		aname       => 'DOCUMENT_ID',
1999                             		avalue      => l_doc_id);
2000 
2001    			    		wf_engine.SetItemAttrText (
2002                             		ItemType    => l_item_type,
2003                             		ItemKey     => l_item_key,
2004                             		aname       => 'DOCUMENT_TYPE_CODE',
2005                             		avalue      => l_doc_type);
2006 
2007    		            		wf_engine.SetItemAttrNumber(
2008                             		ItemType    => l_item_type,
2009                             		ItemKey     => l_item_key,
2010                             		aname       => 'ORG_ID',
2011                             		avalue      => l_org_id);
2012 
2013 					if pos_ack_accept(l_counter) = 'Y' then
2014 					   l_accp_res := fnd_message.get_string('ICX','ICX_POS_ACCEPT');
2015 					else
2016 					   l_accp_res := fnd_message.get_string('ICX','ICX_POS_REJECT');
2017 					end if;
2018 
2019    		            		wf_engine.SetItemAttrText (
2020                             		ItemType    => l_item_type,
2021                             		ItemKey     => l_item_key,
2022                             		aname       => 'ACCEPTANCE_RESULT',
2023                             		avalue      => l_accp_res);
2024 
2025    		            		wf_engine.SetItemAttrText (
2026                             		ItemType    => l_item_type,
2027                             		ItemKey     => l_item_key,
2028                             		aname       => 'ACCEPTANCE_TYPE',
2029                             		avalue      => l_accp_type);
2030 
2031    		            		wf_engine.SetItemAttrText (
2032                             		ItemType    => l_item_type,
2033                             		ItemKey     => l_item_key,
2034                             		aname       => 'ACCEPTANCE_COMMENTS',
2035                             		avalue      =>  pos_ack_comments(l_counter));
2036 
2037   			    		wf_engine.StartProcess( ItemType => l_item_type,
2038                            			ItemKey  => l_item_key );
2039 
2040 
2041 
2042 				delete from pos_ack_select
2043 				where row_num = to_number(pos_ack_row_num(l_counter));
2044 				POS_WF_PO_ACKNOWLEDGE.Abort_Notification(l_doc_id, l_revision_num, l_doc_type);
2045 			else
2046 				l_error := -1;
2047 			end if;
2048 		else
2049 			delete from pos_ack_select
2050 			where row_num = to_number(pos_ack_row_num(l_counter));
2051 		end if;
2052 	END LOOP;
2053 	veera_debug('Rows Inserted in PO ACKs :' || to_char(l_rows_inserted));
2054 	veera_debug('l_error: :' || to_char(l_error));
2055 	IF l_error = 0 then
2056 		blank_frame(1, l_rows_inserted);
2057 	ELSE
2058 		show_pos(l_rows_inserted => l_rows_inserted);
2059 	END IF;
2060 END ACKNOWLEDGE_POS;
2061 
2062 FUNCTION po_num(seg1 in varchar2, po_header_id in number default null) RETURN VARCHAR2 IS
2063   p_rowid    VARCHAR2(2000);
2064   l_param    VARCHAR2(2000);
2065   Y          VARCHAR2(2000);
2066   header_id  NUMBER;
2067 
2068   l_language    VARCHAR2(5);
2069   l_script_name VARCHAR2(240);
2070   l_org_id      NUMBER;
2071   l_user_id     NUMBER;
2072   l_session_id  NUMBER;
2073   l_responsibility_id  NUMBER;
2074 BEGIN
2075 
2076   l_org_id := icx_sec.getID(icx_sec.PV_ORG_ID);
2077   l_language := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
2078   l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
2079   l_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
2080   l_session_id := icx_sec.getID(icx_sec.PV_SESSION_ID);
2081   l_responsibility_id := icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID);
2082 
2083   fnd_client_info.set_org_context(l_org_id);
2084 
2085   select  rowidtochar(ROWID)
2086   into    p_rowid
2087   from    AK_FLOW_REGION_RELATIONS
2088   where   FROM_REGION_CODE = 'ICX_PO_HEADERS_D'
2089   and     FROM_REGION_APPL_ID = 178
2090   and     FROM_PAGE_CODE = 'ICX_PO_HEADERS_D'
2091   and     FROM_PAGE_APPL_ID = 178
2092   and     TO_PAGE_CODE = 'ICX_PO_HEADERS_DTL_D'
2093   and     TO_PAGE_APPL_ID = 178
2094   and     FLOW_CODE = 'ICX_INQUIRIES'
2095   and     FLOW_APPLICATION_ID = 178;
2096 
2097 /*
2098   select po_header_id
2099   into header_id
2100   from po_headers
2101   where segment1 = decode(instrb(seg1,'-'), 0, seg1, substr(seg1, 1, (instrb(seg1,'-')-1)));
2102 */
2103   header_id := po_header_id;
2104 
2105   l_param :=  icx_on_utilities.buildOracleONstring(p_rowid => p_rowid,
2106                                                    p_primary_key => 'ICX_PO_SUPPLIER_ORDERS_PK',
2107                                                    p1 => to_char(header_id));
2108 
2109   Y := icx_call.encrypt2(l_param,l_session_id);
2110 
2111   return l_script_name || '/OracleOn.IC?Y=' || Y;
2112 
2113 END po_num;
2114 
2115 FUNCTION buyer(seg1 in varchar2, po_header_id in number default null) RETURN VARCHAR2 IS
2116   p_rowid    VARCHAR2(2000);
2117   l_param    VARCHAR2(2000);
2118   Y          VARCHAR2(2000);
2119   header_id  NUMBER;
2120 
2121   l_language    VARCHAR2(5);
2122   l_script_name VARCHAR2(240);
2123   l_org_id      NUMBER;
2124   l_user_id     NUMBER;
2125   l_session_id  NUMBER;
2126   l_responsibility_id  NUMBER;
2127 BEGIN
2128 
2129   l_org_id := icx_sec.getID(icx_sec.PV_ORG_ID);
2130   l_language := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
2131   l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
2132   l_user_id := icx_sec.getID(icx_sec.PV_WEB_USER_ID);
2133   l_session_id := icx_sec.getID(icx_sec.PV_SESSION_ID);
2134   l_responsibility_id := icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID);
2135 
2136   fnd_client_info.set_org_context(l_org_id);
2137 
2138   select  rowidtochar(ROWID)
2139   into    p_rowid
2140   from    AK_FLOW_REGION_RELATIONS
2141   where   FROM_REGION_CODE = 'ICX_PO_HEADERS_D'
2142   and     FROM_REGION_APPL_ID = 178
2143   and     FROM_PAGE_CODE = 'ICX_PO_HEADERS_D'
2144   and     FROM_PAGE_APPL_ID = 178
2145   and     TO_PAGE_CODE = 'ICX_PO_BUYER_DTL'
2146   and     TO_PAGE_APPL_ID = 178
2147   and     FLOW_CODE = 'ICX_INQUIRIES'
2148   and     FLOW_APPLICATION_ID = 178;
2149 
2150 /*
2151   select po_header_id
2152   into header_id
2153   from po_headers
2154   where segment1 = decode(instrb(seg1,'-'), 0, seg1, substr(seg1, 1, (instrb(seg1,'-')-1)));
2155 */
2156   header_id := po_header_id;
2157 
2158   l_param :=  icx_on_utilities.buildOracleONstring(p_rowid => p_rowid,
2159                                                    p_primary_key => 'ICX_PO_SUPPLIER_ORDERS_PK',
2160                                                    p1 => to_char(header_id));
2161 
2162   Y := icx_call.encrypt2(l_param,l_session_id);
2163 
2164   return l_script_name || '/OracleOn.IC?Y=' || Y;
2165 
2166 END buyer;
2167 
2168 PROCEDURE CLEAR_LOG
2169 IS
2170 BEGIN
2171 --  delete from veera_debug;
2172 --  commit;
2173   htp.htmlOpen;
2174   htp.headOpen;
2175     htp.linkRel('STYLESHEET', '/OA_HTML/US/POSSTYLE.css');
2176 	htp.p('<script LANGUAGE="JavaScript"> top.close </script>');
2177   htp.headClose;
2178   htp.bodyOpen;
2179   htp.bodyClose;
2180   htp.htmlClose;
2181 END CLEAR_LOG;
2182 
2183 PROCEDURE DISPLAY_LOG
2184 IS
2185 debug_string	VARCHAR2(2000);
2186 CURSOR debug_cursor IS
2187 	select sysdate from dual;
2188 BEGIN
2189   open debug_cursor;
2190   htp.htmlOpen;
2191   htp.headOpen;
2192   	htp.linkRel('STYLESHEET', '/OA_HTML/US/POSSTYLE.css');
2193   htp.headClose;
2194   htp.bodyOpen;
2195   htp.p('<body bgcolor=#cccccc>');
2196 
2197   LOOP
2198     FETCH debug_cursor
2199     INTO debug_string;
2200     htp.p(debug_string || '<BR>');
2201     EXIT WHEN debug_cursor%NOTFOUND;
2202   END LOOP;
2203   CLOSE debug_cursor;
2204 
2205   htp.bodyClose;
2206   htp.htmlClose;
2207 END DISPLAY_LOG;
2208 
2209 END POS_ACK_SEARCH;