603 lines
18 KiB
HTML
603 lines
18 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<TITLE> Journal receiver calculator</TITLE>
|
|
<meta name="Copyright" content="Copyright (c) 2002, 2006 by IBM Corporation">
|
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
|
<!-- US Government Users Restricted Rights -->
|
|
<!-- Use, duplication or disclosure restricted by -->
|
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
|
<LINK rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
|
<SCRIPT type="text/javascript" language="Javascript" src="../rzahg/iccommon.js"></SCRIPT>
|
|
<SCRIPT type="text/javascript" language="Javascript">
|
|
var textC ="Enter a whole number with a value larger than zero in the first two fields";
|
|
|
|
//START NON-TRANSLATABLE
|
|
var reInteger = /^\d+$/;
|
|
|
|
//This function sets the layers to show or hide//
|
|
function loadPage()
|
|
{
|
|
MM_showHideLayers('div2','','hide');
|
|
MM_showHideLayers('diva','','hide');
|
|
MM_showHideLayers('div4','','hide');
|
|
MM_showHideLayers('divb','','hide');
|
|
MM_showHideLayers('div3','','show');
|
|
}
|
|
|
|
//This function calculates the user's input
|
|
|
|
function JournCalc()
|
|
{
|
|
//Variables for entry from user input from average record length field and number of transactions per day field//
|
|
var a = document.calc.number.value
|
|
var b = document.calc.size.value
|
|
|
|
//Varibles for the FIXLENDTA fields
|
|
var job = 0
|
|
var usr = 0
|
|
var pgm = 0
|
|
var pgmlib = 0
|
|
var sysseq = 0
|
|
var rmtadr = 0
|
|
var thd = 0
|
|
var luw = 0
|
|
var xid = 0
|
|
|
|
if (!isNaN (a) && !isNaN (b))
|
|
{
|
|
g = parseInt (a, 10)
|
|
h = parseInt (b, 10)
|
|
isInteger(g)
|
|
isInteger(h)
|
|
if (g <= 0 || h <= 0)
|
|
{
|
|
if (top.isNS == true && top.isNS6 == false)
|
|
{
|
|
clearPage()
|
|
document.layers.div3.document.answr.reset()
|
|
document.layers.div4.document.answr2.reset()
|
|
alert(textC)
|
|
}
|
|
else
|
|
{
|
|
clearPage()
|
|
document.answr.reset()
|
|
document.answr2.reset()
|
|
alert(textC)
|
|
}
|
|
}
|
|
//Path if Netscape 4.x is used
|
|
else if (top.isNS == true && top.isNS6 == false)
|
|
{
|
|
if (document.calc.yesNo[0].checked == true)
|
|
{
|
|
c = (g + 50) * h
|
|
//////////////////////////////////////////////////////
|
|
//The number 50 is per R.B. on 10/12/01
|
|
//It includes the average of fix prefix, JID, CID and other
|
|
// potential fields
|
|
///////////////////////////////////////////////////////
|
|
|
|
document.layers.div3.document.answr.answer.value = c;
|
|
}
|
|
if (document.calc.yesNo[1].checked == true || document.layers.diva.document.fix1.radio2[0].checked== true)
|
|
{
|
|
c = (g + 50) * h;
|
|
///////////////////////
|
|
///See comment above///
|
|
//////////////////////
|
|
document.layers.div3.document.answr.answer.value = c;
|
|
}
|
|
if (document.layers.diva.document.fix1.radio2[0].checked== true)
|
|
{
|
|
for (var i = 1; i < 9; i++)
|
|
{
|
|
switch (i)
|
|
////Switch statement adds the sum of all the selected fields for FIXLENDTA
|
|
{
|
|
case 1:
|
|
if (document.layers.div2.document.fix2.fixlen[0].checked == true)
|
|
{
|
|
var job = 26
|
|
}
|
|
case 2:
|
|
if (document.layers.div2.document.fix2.fixlen[1].checked == true)
|
|
{
|
|
var usr = 10
|
|
}
|
|
|
|
case 3:
|
|
if (document.layers.div2.document.fix2.fixlen[2].checked == true)
|
|
{
|
|
var pgm = 10
|
|
}
|
|
|
|
case 4:
|
|
if (document.layers.div2.document.fix2.fixlen[3].checked == true)
|
|
{
|
|
var pgmlib = 22
|
|
}
|
|
case 5:
|
|
if (document.layers.div2.document.fix2.fixlen[4].checked == true)
|
|
{
|
|
var sysseq = 8
|
|
}
|
|
case 6:
|
|
if (document.layers.div2.document.fix2.fixlen[5].checked == true)
|
|
{
|
|
var rmtadr = 20
|
|
}
|
|
case 7:
|
|
if (document.layers.div2.document.fix2.fixlen[6].checked == true)
|
|
{
|
|
var thd = 8
|
|
}
|
|
case 8:
|
|
if (document.layers.div2.document.fix2.fixlen[7].checked == true)
|
|
{
|
|
var luw = 27
|
|
}
|
|
case 9:
|
|
if (document.layers.div2.document.fix2.fixlen[8].checked == true)
|
|
{
|
|
var xid = 140
|
|
}
|
|
}
|
|
c = (g + job + usr + pgm + pgmlib + sysseq + rmtadr + thd + luw + xid + 50) * h
|
|
document.layers.div4.document.answr2.answer.value = c
|
|
}
|
|
}
|
|
}
|
|
|
|
///////////////////////////////////
|
|
//Path if Internet Explorer and Netscape 6.x is used
|
|
///////////////////////////////////
|
|
else
|
|
{
|
|
|
|
if (document.calc.yesNo[0].checked == true)
|
|
{
|
|
c = (g + 50) * h
|
|
document.answr.answer.value = c
|
|
//////////////////////////////////////////////////////
|
|
//The number 50 is per Ray Bills on 10/12/01
|
|
//It includes the average of fix prefix, JID, CID
|
|
// and other potential fields
|
|
///////////////////////////////////////////////////////
|
|
}
|
|
if (document.calc.yesNo[1].checked == true || document.fix1.radio2[0].checked== true)
|
|
{
|
|
c = (g + 50) * h
|
|
/////////////////////////////////////////
|
|
//See comment above
|
|
/////////////////////////////////////////
|
|
document.answr.answer.value = c
|
|
}
|
|
if (document.fix1.radio2[0].checked== true)
|
|
{
|
|
for (var i = 1; i < 9; i++)
|
|
{
|
|
switch (i)
|
|
{
|
|
case 1:
|
|
if (document.fix2.fixlen[0].checked == true)
|
|
{
|
|
var job = 26
|
|
}
|
|
case 2:
|
|
if (document.fix2.fixlen[1].checked == true)
|
|
{
|
|
var usr = 10
|
|
}
|
|
case 3:
|
|
if (document.fix2.fixlen[2].checked == true)
|
|
{
|
|
var pgm = 10
|
|
}
|
|
case 4:
|
|
if (document.fix2.fixlen[3].checked == true)
|
|
{
|
|
var pgmlib = 22
|
|
}
|
|
case 5:
|
|
if (document.fix2.fixlen[4].checked == true)
|
|
{
|
|
var sysseq = 8
|
|
}
|
|
case 6:
|
|
if (document.fix2.fixlen[5].checked == true)
|
|
{
|
|
var rmtadr = 20
|
|
}
|
|
case 7:
|
|
if (document.fix2.fixlen[6].checked == true)
|
|
{
|
|
var thd = 8
|
|
}
|
|
case 8:
|
|
if (document.fix2.fixlen[7].checked == true)
|
|
{
|
|
var luw = 27
|
|
}
|
|
case 9:
|
|
if (document.fix2.fixlen[8].checked == true)
|
|
{
|
|
var xid = 140
|
|
}
|
|
}
|
|
c = (g + job + usr + pgm + pgmlib + sysseq + rmtadr + thd + luw + xid + 50) * h
|
|
document.answr2.answer.value = c
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
else
|
|
alert(textC)
|
|
if (top.isNS == true && top.isNS6 == false)
|
|
{
|
|
if (isNaN (document.layers.div3.document.answr.answer.value))
|
|
{
|
|
clearPage()
|
|
document.layers.div3.document.answr.reset()
|
|
document.layers.div4.document.answr2.reset()
|
|
alert(textC)
|
|
}
|
|
}else
|
|
if (isNaN (document.answr.answer.value))
|
|
{
|
|
clearPage()
|
|
document.answr.reset()
|
|
document.answr2.reset()
|
|
alert(textC)
|
|
}
|
|
|
|
}
|
|
|
|
function isEmpty(s) {
|
|
return ((s == null) || (s.length == 0));
|
|
}
|
|
|
|
|
|
function isInteger (s) {
|
|
var i;
|
|
if (isEmpty(s)) {
|
|
if (isInteger.arguments.length == 1) {
|
|
return defaultEmptyOK;
|
|
} else {
|
|
return (isInteger.arguments[1] == true);
|
|
}
|
|
}
|
|
return reInteger.test(s);
|
|
}
|
|
|
|
|
|
function divapear()
|
|
///This function controls the layers and resets fields
|
|
|
|
//Path for NetScape 4.x
|
|
{
|
|
if (top.isNS == true && top.isNS6 == false)
|
|
{
|
|
if (document.calc.yesNo[0].checked == true)
|
|
{
|
|
MM_showHideLayers('diva','','hide');
|
|
MM_showHideLayers('div2','','hide');
|
|
MM_showHideLayers('div3','','show');
|
|
MM_showHideLayers('div4','','hide');
|
|
}
|
|
if
|
|
(document.calc.yesNo[1].checked == true)
|
|
{
|
|
MM_showHideLayers('diva','','show');
|
|
MM_showHideLayers('div3','','show');
|
|
document.layers.diva.document.fix1.radio2[1].checked=true;
|
|
}
|
|
}
|
|
|
|
//Path for IE and NS 6.x
|
|
|
|
else {
|
|
if (document.calc.yesNo[0].checked == true)
|
|
{
|
|
MM_showHideLayers('diva','','hide');
|
|
MM_showHideLayers('div2','','hide');
|
|
MM_showHideLayers('div3','','show');
|
|
MM_showHideLayers('div4','','hide');
|
|
}
|
|
if (document.calc.yesNo[1].checked == true)
|
|
{
|
|
MM_showHideLayers('diva','','show');
|
|
MM_showHideLayers('div3','','show');
|
|
document.fix1.radio2[1].checked=true;
|
|
}
|
|
}
|
|
}
|
|
|
|
function divapear2()
|
|
///This function controls the layers and resets fields
|
|
|
|
//Path for NetScape 4.x
|
|
{
|
|
if (top.isNS == true && top.isNS6 == false)
|
|
{
|
|
if (document.layers.diva.document.fix1.radio2[0].checked == true)
|
|
{
|
|
MM_showHideLayers('div2','','show');
|
|
MM_showHideLayers('div3','','hide');
|
|
MM_showHideLayers('div4','','show');
|
|
}
|
|
if (document.layers.diva.document.fix1.radio2[1].checked == true )
|
|
{
|
|
MM_showHideLayers('div2','','hide');
|
|
MM_showHideLayers('div3','','show');
|
|
MM_showHideLayers('div4','','hide');
|
|
document.layers.div2.document.fix2.reset();
|
|
document.layers.div3.document.answr.reset();
|
|
document.layers.div4.document.answr2.reset();
|
|
}
|
|
}
|
|
else
|
|
////Path for IE and NS 6.x
|
|
{
|
|
if (document.fix1.radio2[0].checked == true )
|
|
{
|
|
MM_showHideLayers('div2','','show');
|
|
MM_showHideLayers('div3','','hide');
|
|
MM_showHideLayers('div4','','show');
|
|
}
|
|
if (document.fix1.radio2[1].checked == true )
|
|
{
|
|
MM_showHideLayers('div2','','hide');
|
|
MM_showHideLayers('div3','','show');
|
|
MM_showHideLayers('div4','','hide');
|
|
document.fix2.reset();
|
|
document.answr.reset();
|
|
document.answr2.reset();
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
function clearPage()
|
|
{
|
|
if (isNS == true && isNS6 == false)
|
|
{
|
|
loadPage();
|
|
document.calc.reset();
|
|
document.layers.diva.document.fix1.reset();
|
|
document.layers.div2.document.fix2.reset();
|
|
document.layers.div3.document.answr.reset();
|
|
MM_showHideLayers('div3','','show');
|
|
}
|
|
else
|
|
{
|
|
loadPage();
|
|
document.calc.reset();
|
|
document.fix1.reset();
|
|
document.fix2.reset();
|
|
document.answr.reset();
|
|
MM_showHideLayers('div3','','show');
|
|
}
|
|
}
|
|
//END NON-TRANSLATABLE
|
|
|
|
</SCRIPT>
|
|
</HEAD>
|
|
<BODY onload="loadPage()">
|
|
<!-- Java sync-link -->
|
|
<SCRIPT LANGUAGE="Javascript" SRC="../rzahg/synch.js" TYPE="text/javascript"></SCRIPT>
|
|
<NOSCRIPT>This calculator uses JavaScript. Your browser either does not
|
|
support JavaScript or does not have JavaScript enabled. To see an alternative
|
|
to this calculator, see <A href="rzakimanualestm.htm">Estimate the size of
|
|
the journal receiver manually</A>.</NOSCRIPT>
|
|
<H2>
|
|
Journal receiver calculator
|
|
</H2>
|
|
<P>
|
|
Use the journal receiver calculator to estimate the size of your journal
|
|
receiver. This calculator makes the following assumptions:
|
|
</P>
|
|
<UL>
|
|
<LI>
|
|
You are journaling database physical files.
|
|
</LI>
|
|
<LI>
|
|
You are journaling after-images only.
|
|
</LI>
|
|
<LI>
|
|
You are using a single journal receiver for an entire day's transactions.
|
|
</LI>
|
|
<LI>
|
|
You are journaling database physical files only. It does not include
|
|
estimates for access path journaling, integrated file system objects, data
|
|
areas, data queues, or user-created entries.
|
|
</LI>
|
|
<LI>
|
|
You are not <A href="rzakiminendta.htm">minimizing entry-specific data</A>
|
|
(MINENTDTA parameter) for the files.
|
|
</LI>
|
|
</UL>
|
|
<P>
|
|
As an alternative to the calculator, you can use <A href=
|
|
"rzakimanualestm.htm">the manual method</A> to estimate the size of the
|
|
calculator.
|
|
</P>
|
|
<HR>
|
|
<FORM action="submit" name="calc" id="calc">
|
|
<TABLE width="100%">
|
|
<TR>
|
|
<TD width="70%">
|
|
<LABEL for="FileSize">Enter the average record length of files to be
|
|
journaled:</LABEL>
|
|
</TD>
|
|
<TD align="left">
|
|
<INPUT type="number" name="number" size="6" id="FileSize"> (bytes)
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD width="70%">
|
|
<LABEL for="Transactions">Enter the number of transactions for a day:</LABEL>
|
|
</TD>
|
|
<TD align="left">
|
|
<INPUT type="number" name="size" size="6" id="Transactions">
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<BR>
|
|
</TD>
|
|
<TD>
|
|
<BR>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
<TABLE width="100%">
|
|
<TR>
|
|
<TD width="70%">
|
|
Are you minimizing the <A href="rzakisizeoptions.htm#miniflex">
|
|
fixed-length portion</A> of the journal entry? (Select No for more
|
|
options.)
|
|
</TD>
|
|
<TD>
|
|
<INPUT type="radio" name="yesNo" id="yes" checked onclick="divapear()">
|
|
<LABEL for="yes">Yes</LABEL>
|
|
<BR>
|
|
<INPUT type="radio" name="yesNo" id="no" onclick="divapear()"><LABEL for="no">No</LABEL>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</FORM>
|
|
<DIV name="diva" id="diva" style="position: relative;">
|
|
<FORM action="submit" name="fix1" id="fix1">
|
|
<TABLE width="100%">
|
|
<TR>
|
|
<TD width="70%">
|
|
Are you specifying any <A href="rzakiintrusion.htm">fixed-length
|
|
options</A> for the journal entry? (Select Yes for more options.)
|
|
</TD>
|
|
<TD>
|
|
<INPUT type="radio" name="radio2" id="b1" onclick="divapear2()">
|
|
<LABEL for="b1">Yes</LABEL>
|
|
<BR>
|
|
<INPUT type="radio" checked name="radio2" id="b2" onclick="divapear2()">
|
|
<LABEL for="b2">No</LABEL>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</FORM>
|
|
</DIV>
|
|
<DIV name="div2" id="div2" style="position: absolute;">
|
|
<FORM action="submit" name="fix2" id="fix2">
|
|
<TABLE width="100%">
|
|
<TR>
|
|
<TD colspan="3">
|
|
Select fixed-length options you are using:
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD width="5%">
|
|
<BR>
|
|
</TD>
|
|
<TD width="35%">
|
|
<INPUT type="checkbox" name="fixlen" id="job" checked value="26">
|
|
<LABEL for="job">Job name (*JOB)</LABEL>
|
|
<BR>
|
|
<INPUT type="checkbox" name="fixlen" id="usr" checked value="10">
|
|
<LABEL for="usr">User profile (*USR)</LABEL>
|
|
<BR>
|
|
<INPUT type="checkbox" name="fixlen" id="pgm" checked value="10">
|
|
<LABEL for="pgm">Program name (*PGM)</LABEL>
|
|
<BR>
|
|
<INPUT type="checkbox" name="fixlen" id="pgmlib" value="22">
|
|
<LABEL for="pgmlib">Program library (*PGMLIB)</LABEL>
|
|
</TD>
|
|
<TD width="60%">
|
|
<INPUT type="checkbox" name="fixlen" id="syseq" value="8">
|
|
<LABEL for= "syseq">System sequence number (*SYSEQ)</LABEL>
|
|
<BR>
|
|
<INPUT type="checkbox" name="fixlen" id="rmtadr" value="20">
|
|
<LABEL for="rmtadr">Remote address (*RMTADR)</LABEL>
|
|
<BR>
|
|
<INPUT type="checkbox" name="fixlen" id="thd" value="8">
|
|
<LABEL for="thd">Thread identifier (*THD)</LABEL>
|
|
<BR>
|
|
<INPUT type="checkbox" name="fixlen" id="luw" value="27">
|
|
<LABEL for="luw">Logical unit of work (*LUW)</LABEL>
|
|
<BR>
|
|
<INPUT type="checkbox" name="fixlen" id="xid" value="140">
|
|
<LABEL for="xid">Transaction identifier (*XID)</LABEL>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</FORM>
|
|
</DIV>
|
|
<DIV name="div3" id="div3" style="position: relative;">
|
|
<FORM action="submit" name="answr" id="answr">
|
|
<TABLE cellspacing="0" width="100%">
|
|
<TR>
|
|
<TD align="center" colspan="2">
|
|
<INPUT type="button" name="calculate" value="Calculate" onclick= "JournCalc()">
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<BR>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD colspan="2">
|
|
<LABEL for="answer">Total bytes needed to journal after-images for a day:</LABEL>
|
|
<INPUT type="number" id="answer" name="answer">
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</FORM>
|
|
<FORM action="submit" id="clear" name="clear">
|
|
<TABLE cellspacing="0" width="100%">
|
|
<TR>
|
|
<TD align="center">
|
|
<INPUT type="button" name="reset" value="Clear form" onclick=
|
|
"clearPage()">
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</FORM>
|
|
</DIV>
|
|
<DIV id="div4" style="position: relative;">
|
|
<FORM action="submit" name="answr2" id="answr2">
|
|
<TABLE cellspacing="0" width="100%">
|
|
<TR>
|
|
<TD colspan="2" align="center">
|
|
<INPUT type="button" name="calculate" value="Calculate" onclick= "JournCalc()">
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<BR>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD colspan="2">
|
|
<LABEL for="answer">Total bytes needed to journal after-images for a day:</LABEL>
|
|
<INPUT type="number" id="answer" name="answer">
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</FORM>
|
|
<FORM action="submit" name="clear2" id="clear2">
|
|
<TABLE cellspacing="0" width="100%">
|
|
<TR>
|
|
<TD align="center">
|
|
<INPUT type="button" name="reset" id="reset" value="Clear form" onclick="clearPage()">
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</FORM>
|
|
</DIV>
|
|
</BODY>
|
|
</HTML>
|
|
|