<%! /********************************************************************** ** ** 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"; %> Table test
SSL End To End Dispatching Monitor for Protocol ROUTER Refresh

<% for (nr = 0; nr < 2; nr++) { %> <% } %>
class="sapTbsTabSel"> <%=tab_header[nr]%> <% } else { %> class="sapTbsTab"> <%=tab_header[nr]%> <% } %>
<% if (tabsel == "tab0") { rc = __wdisp_hdl (1, wdisp_ssl_info); if (rc == -1) { %>
No information available
<% } else { %>
 
Size of shared memory table: <%= wdisp_ssl_info.mem_usage %> (Bytes)  
Default HTTPS logon group: <%= wdisp_ssl_info.logon_group %>  
Sticky mask: <%= wdisp_ssl_info.sticky_mask %>  
Entry timeout: <%= wdisp_ssl_info.entry_timeout %> (sec) Purge outdated entries
Max. number of entries: <%= wdisp_ssl_info.max_count %> <% if (wdisp_ssl_info.overflow_flag) __output (" (already reached)"); else __output (" (not reached)"); %>  
Current number of entries in table: <%= wdisp_ssl_info.entry_count %>  
Peek number of entries in table: <%= wdisp_ssl_info.peek_count %>  
Default server instance: <%= wdisp_ssl_info.default_server_inst %>  
Maximum table entries reached: <%= wdisp_ssl_info.overflow_flag %>  
<% } } 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; } %> <% max = arraylen(sort_tab); for (i=0;i < max; i++) { %> <% } %> <% for (nr = 0; nr < count; nr++) { %> <% } if (count > 100) { %> %>
Table Entries
No. <%=sort_tab[i].header%> Last Used Default Server
<%= nr %> <%= wdisp_ssl_entry[nr].client_ip %> <%= wdisp_ssl_entry[nr].server_inst %> <%= wdisp_ssl_entry[nr].use_count %> <%= wdisp_ssl_entry[nr].last_used %> <%= wdisp_ssl_entry[nr].is_default_server %>
Table Entries
<% } } %>