[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;