This is the layout of a full blown layout with JavaScript functionality incorporated.
<%@page language="abap" %>
<title>Development Customizing - editor</title>
<%@include file="header.htm" %>
<script language=javascript>
var pleasewait='<br>Please wait...<br><br>';
var objectList=new Array();
/* ----------------------------------------------------------------
Short functions - manipulating HTML objects
---------------------------------------------------------------- */
function _redefine(id,htmlstr) {
var divId = document.getElementById(id);
divId.innerHTML = htmlstr;
}
function _show(id) {
var divId = document.getElementById(id);
divId.style.visibility = 'visible';
}
function _hide(id) {
var divId = document.getElementById(id);
divId.style.visibility = 'hidden';
}
/* ----------------------------------------------------------------
Message popups: info('message text') and warning('message text');
---------------------------------------------------------------- */
function info(text) {
_redefine('info',text);
_show('popup_info');
setTimeout("_hide('popup_info')",2000);
}
function setFocus(objecttype,keyqualifier) {
with (document.forms[0]) {
FOCUS_OBJECT.value = objecttype;
FOCUS_QUALIFIER.value = keyqualifier;
for (var i=0;i<objectList.length;i++) {
if (objectList[i].objecttype==objecttype)
FOCUS_SUMMARY.value = objectList[i].toHtml();
}
}
}
function objectEntry(objecttype,description,qualdescription,docu) {
this.objecttype=objecttype;
this.description=description;
this.qualdescription=qualdescription;
this.docu=docu;
this.toHtml=function() {
return '<table cellpadding=2px cellspacing=2px><tr class=infolist>'+
'<td class=flabel width=100pt>Subject:<td>'+this.description+
'<td class=flabel>Object: '+this.objecttype+
'<tr class=infolist><td class=flabel>'+
'Current settings:<td>'+this.qualdescription+
'<td class=flabel>Qualifier: '+
document.forms[0].FOCUS_QUALIFIER.value+
'<tr class=infolist><td class=flabel>Documentation:'+
'<td colspan=2>'+this.docu+'</table>';
}
}
function addObject(objecttype,description,qualdescription,docu) {
objectList[objectList.length]=new
objectEntry(objecttype,description,qualdescription,docu);
}
</script>
<body>
<form method="POST">
<!-- ----------------------------------------------------------------
BSP header - title
---------------------------------------------------------------- -->
<table width=100% >
<tr><td style="text-align:right;font-size:14pt;">
Maintenance of Development Customizing settings
<br>
<Input
class=button type="submit"
name="OnInputProcessing(QUIT)"
value=" Quit "
onclick=javascript:info(pleasewait); >
</table>
<table cellspacing=1 cellpadding=2 style="background:transparent;">
<!-- -------------------------------------------------------- -->
<%
loop at OBJECTLIST into OBJECT.
IF LASTOBJECT NE OBJECT-OBJECTTYPE.
%>
<tr><td style="font-size:9pt;text-align:right;vertical-align:bottom;"><br>Title:
<td style="font-size:12pt;"><br><%= OBJECT-OBJECT_DESCRIPTION %>
<tr><td style="font-size:9pt;text-align:right;vertical-align:top;">
Info:
<td style="font-size:10pt;"><%= OBJECT-DOCU1 %> <%= OBJECT-DOCU2 %>
<%
LASTOBJECT = OBJECT-OBJECTTYPE. ENDIF.
%>
<tr><td>
<td>
<% IF OBJECT-EDIT EQ ' ' AND OBJECT-DISPLAY EQ ' '. %>
<Input
class=button type="submit"
value=" "
title="You are not authorised to change or display this object"
onmouseover=javascript:setFocus("<%= OBJECT-OBJECTTYPE %>",
"<%= OBJECT-KEYQUALIFIER %>");
onclick=javascript:info(pleasewait); >
<% ENDIF. %>
<% IF OBJECT-EDIT EQ 'X'. %>
<Input
class=button type="submit"
name="OnInputProcessing(EDIT)"
value=" Edit "
onmouseover=javascript:setFocus("<%= OBJECT-OBJECTTYPE %>",
"<%= OBJECT-KEYQUALIFIER %>");
onclick=javascript:info(pleasewait); >
<% ENDIF. %>
<% IF OBJECT-DISPLAY EQ 'X'. %>
<Input
class=button type="submit"
name="OnInputProcessing(DISPLAY)"
value=" Display "
onmouseover=javascript:setFocus("<%= OBJECT-OBJECTTYPE %>",
"<%= OBJECT-KEYQUALIFIER %>");
onclick=javascript:info(pleasewait); >
<% ENDIF. %>
<%= OBJECT-QUAL_DESCRIPTION %>
<!-- -------------------------------------------------------- -->
<%
endloop.
if sy-subrc ne 0. %>
<tr><td>
<p><font style="font-size:26pt">Sorry!</font>
<p>None of the development customizing settings are currently
available for editing via the web.
<p>Please contact your system administrator.
<% endif. %>
<!-- -------------------------------------------------------- -->
</table>
<input type=hidden name="FOCUS_EDITMODE">
<input type=hidden name="FOCUS_OBJECT">
<input type=hidden name="FOCUS_QUALIFIER">
<input type=hidden name="FOCUS_SUMMARY">
</form>
<!-- -------------------------------------------------------------------
The info message:
---------------------------------------------------------------- -->
<div id="popup_info"
style="position:absolute;top:200;left:200;visibility:hidden;width:300pt">
<table style="background-color:#7FCCFF;" cellpadding=3 cellspacing=1>
<tr><td class=popupheader style="background-color:#7FCCFF" width=300pt>
<img src="/imo_s_n_info.gif"> Message
<tr><td style="text-align:center;background-color:white;">
<div id="info"> </div>
</table></div>
<script language=javascript>
/* Make sure the OBJECTLIST table is also available in JavaScript: */
<% loop at OBJECTLIST into OBJECT. %>
addObject('<%=OBJECT-OBJECTTYPE %>','<%=OBJECT-OBJECT_DESCRIPTION %>',
'<%=OBJECT-QUAL_DESCRIPTION %>','<%=OBJECT-DOCU1 %> <%=OBJECT-DOCU2 %>');
<% endloop. %>
</script>
</body>
Only the event handlers OnCreate and OnInputProcessing have been set up for this application.
