<%! /********************************************************************** ** ** SAP AG Walldorf ** (C) Copyright SAP AG 1999-2010 ** ***********************************************************************/ #include "publicincl/tools.inc" struct wdisp_ssl_info_type { string logon_group; string sticky_mask; int entry_timeout; int entry_count; int peek_count; int max_count; int mem_usage; boolean overflow_flag; string default_server_inst; }; struct wdisp_ssl_entry_type { string client_ip; string server_inst; string last_used; int use_count; string is_default_server; }; %> <% int i, nr, max; int count, rc, dir; string browser, sstr; string tabsel; struct wdisp_ssl_info_type wdisp_ssl_info; struct wdisp_ssl_entry_type wdisp_ssl_entry[]; struct icm_sort_type sort_tab[]; const string ssort = "../public/images/sort.gif"; const string sasc = "../public/images/sortasc.gif"; const string sdesc = "../public/images/sortdesc.gif"; string tab_header[2]; string tab_content[2]; string tab_tabsel[2]; tab_header[0] = "Show SSL dispatching info"; tab_header[1] = "Show contents of dispatching table"; tab_tabsel[0] = "tab0"; tab_tabsel[1] = "tab1"; browser = __icm_get_browser_type(); dir = __icm_get_form_field ("dir"); sstr = __icm_get_form_field ("sstr"); tabsel = anumenc(__icm_get_form_field ("tabsel")); if (tabsel == "") tabsel = "tab0"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <link rel=stylesheet type="text/css" href="../public/css/controls_<%=browser%>.css"> <link rel=stylesheet type="text/css" href="../public/css/sapbsp.css"> <title> Table test </title> <script language="JavaScript" type="text/javascript"> <!-- function callSubmitAction(form,value) { var Form = document[form]; Form.tabsel.value = value; Form.submit(); } function callSortAction(form,tabsel,dir,sstr) { var Form = document[form]; Form.tabsel.value = tabsel; Form.sstr.value = sstr; Form.dir.value = dir; Form.submit(); } //--> </script> </head> <body class="sapBdy"> <table border="0" cellspacing="0" cellpadding="0" class="sapTbvAlt" width="100%"> <tr> <td class="sapTbvCellAlt"> <b><i>SSL End To End Dispatching Monitor for Protocol ROUTER</i></b> </td> <td class="sapTbvCellAlt" align="right"> <nobr></nobr> </td> <td class="sapTbvCellAlt" align="right"> <a href="javascript:location.reload()" class="sapBtnEmph" title="refresh page"><nobr>Refresh</nobr></a> </td> </tr> <tr> <td class="sapTbvCellStd" Colspan="3"> <form action="" method="GET" name="FormTabStrip"> <input type="hidden" name="tabsel" value=""> <input type="hidden" name="sstr" value=""> <input type="hidden" name="dir" value=""> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td valign="top"> <br> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td> <!--HEADERS--> <table border="0" cellpadding="0" cellspacing="0"> <tr> <!--HEADER ITEM--> <td nowrap></td> <% for (nr = 0; nr < 2; nr++) { %> <td nowrap <% if (tab_tabsel[nr] == tabsel) { %> class="sapTbsTabSel"> <a name="page_top"></a> <a title="<%=tab_header[nr]%>" class="sapLnk" OnMouseOver="window.status = '<%= tab_header[nr] %>'; return true;" style="text-decoration:none"> <b> <%=tab_header[nr]%> </b> <% } else { %> class="sapTbsTab"> <a title="<%=tab_header[nr]%>" class="sapLnk" OnMouseOver="window.status = '<%= tab_header[nr] %>'; return true;" href="javascript:callSubmitAction('FormTabStrip','<%= tab_tabsel[nr] %>')" style="text-decoration:none"> <%=tab_header[nr]%> <% } %> </a> </td> <% } %> <!--HEADER ITEM END--> <td nowrap class="sapTbsTabBlk"> </td> </tr> </table> <!--HEADER END--> <!--CONTENTS--> <table class="sapTbsWhl" border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td align="left" valign="top"> <% if (tabsel == "tab0") { rc = __wdisp_hdl (1, wdisp_ssl_info); if (rc == -1) { %> <table border="0" cellspacing="0" cellpadding="0" class="sapTbvAlt" width="100%"> <tr> <td class="sapTbvCellAlt" Colspan="2"> <b><i>No information available</i></b> </td> </tr> </table> <% } else { %> <table border="0" cellspacing="0" cellpadding="0" class="sapTbvAlt" width="100%"> <tr><td class="sapTbvCellAlt" Colspan="3"> </td></tr> <tr> <td class="sapTbvCellStd">Size of shared memory table:</td> <td class="sapTbvCellStd"><%= wdisp_ssl_info.mem_usage %> (Bytes)</td> <td class="sapTbvCellStd"> </td> </tr> <tr> <td class="sapTbvCellStd">Default HTTPS logon group:</td> <td class="sapTbvCellStd"><%= wdisp_ssl_info.logon_group %></td> <td class="sapTbvCellStd"> </td> </tr> <tr> <td class="sapTbvCellStd">Sticky mask:</td> <td class="sapTbvCellStd"><%= wdisp_ssl_info.sticky_mask %></td> <td class="sapTbvCellStd"> </td> </tr> <tr> <td class="sapTbvCellStd">Entry timeout:</td> <td class="sapTbvCellStd"><%= wdisp_ssl_info.entry_timeout %> (sec)</td> <td class="sapTbvCellStd" align="right"> <nobr> <a accesskey="p" onKeyUp="javascript:callUrlWithKey(event,80,'./confirm.icp?what=wdisp_purge&timeout=<%= wdisp_ssl_info.entry_timeout %>')" href="./confirm.icp?what=wdisp_purge&timeout=<%= wdisp_ssl_info.entry_timeout %>" class="sapBtnStd"><u>P</u>urge outdated entries</a> </nobr> </td> </tr> <tr> <td class="sapTbvCellStd">Max. number of entries:</td> <td class="sapTbvCellStd"><%= wdisp_ssl_info.max_count %> <% if (wdisp_ssl_info.overflow_flag) __output (" (already reached)"); else __output (" (not reached)"); %> </td> <td class="sapTbvCellStd"> </td> </tr> <tr> <td class="sapTbvCellStd" width="250"> Current number of entries in table: </td> <td class="sapTbvCellStd"><%= wdisp_ssl_info.entry_count %></td> <td class="sapTbvCellStd" align="right"> </td> </tr> <tr> <td class="sapTbvCellStd" width="250"> Peek number of entries in table: </td> <td class="sapTbvCellStd"><%= wdisp_ssl_info.peek_count %></td> <td class="sapTbvCellStd" align="right"> </td> </tr> <tr> <td class="sapTbvCellStd">Default server instance:</td> <td class="sapTbvCellStd"><%= wdisp_ssl_info.default_server_inst %> </td> <td class="sapTbvCellStd"> </td> </tr> <tr> <td class="sapTbvCellStd">Maximum table entries reached:</td> <td class="sapTbvCellStd"><%= wdisp_ssl_info.overflow_flag %></td> <td class="sapTbvCellStd"> </td> </tr> </table> <% } } else { count = __wdisp_hdl (2, wdisp_ssl_entry); if (sstr != "") sort (wdisp_ssl_entry, dir, sstr); sort_tab[0].header = "Masked client IP"; sort_tab[0].tool = "Sort by masked client IP address"; sort_tab[0].ffield = "client_ip"; sort_tab[1].header = "Destination Server"; sort_tab[1].tool = "Sort by destination server name"; sort_tab[1].ffield = "server_inst"; sort_tab[2].header = "Dispatch Count"; sort_tab[2].tool = "Sort by number of requests dispatched to this server"; sort_tab[2].ffield = "use_count"; max = arraylen(sort_tab); for (i=0; i < max; i++){ sort_tab[i].url = ssort; sort_tab[i].dir = 0; } for (i=0; i < max; i++){ if (sstr == sort_tab[i].ffield){ if (dir == 1) { sort_tab[i].url = sdesc; sort_tab[i].dir = -1; } else if (dir == -1) { sort_tab[i].url = sasc; sort_tab[i].dir = 1; } else sort_tab[i].dir = 1; } else sort_tab[i].dir = 1; } %> <table cellspacing=1 width="100%" class="sapTbvAlt"> <tr> <td class="sapTbvCellAlt" colspan="2"> <b><i>Table Entries</i></b> </td> <td class="sapTbvCellAlt" align="center" colspan="1"> </td> <td class="sapTbvCellAlt" align="right" colspan="2"> <nobr> <a href="#page_top"><nobr><img width=15 height=15 src="../public/images/tableview/top_off.gif" BORDER=0 title="Start"></nobr></a> <a href="#page_bottom"><nobr><img width=15 height=15 src="../public/images/tableview/bottom.gif" BORDER=0 title="Finish"></nobr></a> </td> </tr> <tr> <th align="left" class="sapTbvCellAlt"><i>No.</i></th> <% max = arraylen(sort_tab); for (i=0;i < max; i++) { %> <th align="left" class="sapTbvCellAlt"><nobr> <i><%=sort_tab[i].header%></i> <a href="javascript:callSortAction('FormTabStrip','<%=tab_tabsel[1]%>','<%=sort_tab[i].dir%>','<%=sort_tab[i].ffield%>')" class="sapBtnStd:link"><img src="<%=sort_tab[i].url%>" title="<%=sort_tab[i].tool%>" alt="" border="0"></a></nobr> </th> <% } %> <th align="left" class="sapTbvCellAlt"><i>Last Used</i></th> <th align="left" class="sapTbvCellAlt"><i>Default Server</i></th> </tr> <% for (nr = 0; nr < count; nr++) { %> <tr> <td class="sapTbvCellStd"><%= nr %></td> <td class="sapTbvCellStd"><%= wdisp_ssl_entry[nr].client_ip %></td> <td class="sapTbvCellStd"><%= wdisp_ssl_entry[nr].server_inst %></td> <td class="sapTbvCellStd"><%= wdisp_ssl_entry[nr].use_count %></td> <td class="sapTbvCellStd"><%= wdisp_ssl_entry[nr].last_used %></td> <td class="sapTbvCellStd"><%= wdisp_ssl_entry[nr].is_default_server %></td> </tr> <% } if (count > 100) { %> <tr> <a name="page_bottom"></a> <td class="sapTbvCellAlt" width="150" colspan="2"> <b><i>Table Entries</i></b> </td> <td class="sapTbvCellAlt" align="center" colspan="1"></td> <td class="sapTbvCellAlt" align="right" colspan="2"> <nobr> <a href="#page_top"><nobr><img width=15 height=15 src="../public/images/tableview/top.gif" BORDER=0 title="Start"></nobr></a> <a href="#page_bottom"><nobr><img width=15 height=15 src="../public/images/tableview/bottom_off.gif" BORDER=0 title="Finish"></nobr></a> </td> </tr> %> </table> <% } } %> </td> </tr> </table> <!--CONTENTS END--> </td> </tr> </table> </td> </tr> </table> </form> </td> </tr> </table> </body> </html>