6.6. Print/Display Format for Full Record Display

The print/display format file (“clairh.pft”) resides in the directory C:\ISIS\DATA and executes when “Full Record” display type is selected. It contains conditional statements to display a heading – “Search Result”, and total number of records retrieved with the text of the query expression. The retrieved records are displayed 20/page.

The full listing of this file is:

mhl,
if val(v1001)=1 or f(val(v1001)+0,0,0) = f(val(v6026)+1,0,0) then
'<font size=5>Search Result:</font><br><br>',
if val(v1001)=1 then
  ‘<font size=3>’v1002 ' record(s) retrieved for the query : <b>',v1021,'</b>''</font><p>'
/fi,
/fi,
'<table width="100%" border=0>
'<tr>
<td width="100%"><p style="margin-left: 80"><i><b>Record No. ',v1001,' of 'v1002,/,'</i></b></td>
</tr>
</table>'
'<div align="center"><center>'
'<table width="100%" border=0>'if p(v100) then
'<tr>
 <td width="30%" ><p style="margin-left: 35"><i>Personal Author  </i></td>
<td>',v100^*"",v100^b"",v100^c"",v100^d"",v100^q"",'</td>
</tr>'/fi,if p(v110) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Corporate Author </i></td>
<td>',v110^*"",v110^b"",'</td>
</tr>'/fi,if p(v111) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Conference </i></td>  
<td>',v111'</td>
</tr>'/fi,if p(v130) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Uniform Title - author </i></td> 
<td>',v130'</td>
</tr>'/fi,if p(v245) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Title </i></td>  
<td>',v245^*"",v245^b"",'</td>
</tr>'/fi,if p(v246) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Variant Title </i></td>  
<td>',v246+|: |,'</td>
</tr>'/fi,if p(v250) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Edition </i></td>  
<td>',v250^*"",v250^b"",'</td>
</tr>'/fi,if p(v260) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Imprint </i></td>  
<td>',v260^*"",v260^b"",v260^c"",'</td>
</tr>'/fi,if p(v310) then 
'<tr>
 <td width="30%"><p style="margin-left: 35"><i>Frequency of Publication </i></td>  
<td>',v310,'</td>
</tr>'/fi,if p(v300) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Physical Description </i></td>  
<td>',(v300^*"",v300^b"",v300^c"",v300^d""/),'</td>
</tr>'/fi,if p(v440) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Series </i></td>  
<td>',(v440^*"",v440^n"",v440^p"",v440^v""/),'</td>
</tr>'/fi,if p(v490) then  
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Series Corporate Title </i></td>  
<td>',(v490^*"",v490^v""/),'</td>
</tr>'/fi,if p(v41) then '<tr>
<td width="30%"><p style="margin-left: 35"><i>Other Language </i></td>  
<td>',v41^*"",v41^g"",v41^h"",'</td>
 </tr>'/fi,if p(v500) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Note </i></td>  
<td>',(v500""/),'</td>
</tr>'/fi,if p(v502) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Thesis Note </i></td>  
<td>',(v502""/),'</td>
</tr>'/fi,if p(v505) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Contents Note </i></td>  
<td>',(v505^*""/),'</td>
</tr>'/fi,if p(v650) then
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Subject </i></td>  
<td>',v650+|; |/,'</td>
</tr>',fi,/if p(v700) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Alternate Personal Author </i></td>  
<td>',v700+|; |,'</td>
</tr>',fi,/if p(v710) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Alternate Corporate Author </i></td>  
<td>',(v710^*"",v710^b""/),'</td>
</tr>',fi,/if p(v711) then 
'<tr>
 <td width="30%"><p style="margin-left: 35"><i>Added Conference </i></td>  <td>',(v711^*"",v711^c"",v711^d"",v711^e"",v711^n""/),'</td>
</tr>'/fi,if p(v780) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Earlier Title </i></td>  
<td>',(v780""/),'</td>
</tr>'/fi,if p(v785) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Continues As </i>
</td>  <td>',(v785""/),'</Td>
 </tr>'/fi,if p(v800) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Series-Person-Added </i></td>  <td>',(v800^*"",v800^b"",v800^c"",v800^d"",v800^q""/),'</td>
</tr>'/fi,if p(v810) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Series-Corporate-Added </i></td>  
<td>',(v810| |/),'</td>
</tr>'/fi,if p(v811) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Series-Conference-Added </i></td>  <td>',(v811^*"",v811^c"",v811^d"",v811^e"",v811^n""/),'</td>
</tr>'/fi,if p(v50) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>LC Call No </i></td>  
<td>',(v50^*""," "v50^b""," "v50^d""/),'</td>
</tr>'/fi,if p(v90) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>LC Type Call No</i></td>  
<td>',(v90^*""," "v90^b""/),'</td>
</tr>'/fi,if p(v99) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>Local Call No </i></td>  
<td>',(v99^*""/)'</td>
</tr>'/fi,if p(v20) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>ISBN </i></td>  
<td',(v20^*""/),'</td>
</tr>'/fi,if p(v22) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>ISSN </i></td>  
<td',(v22^*""/),'</td>
</tr>'/fi,if p(v850) then 
'<tr>
<td width="30%"><p style="margin-left: 35"><i>AIT Holdings </i></td>  
<td>',(v850""/),'</td>
</tr>'/fi,if p(v362) then 
'<tr> 
<td width="30%"><p style="margin-left: 35"><i>Library Has </i></td>  
<td>',(v362""/),'</td>
</tr>'/fi, '</table>’
‘</center></div><p><p>'


Figure 3. Full Record Display

6.6.1. Display Heading, Total Number of Records Retrieved, and the Query

if val(v1001)=1 or f(val(v1001)+0,0,0) = f(val(v6026)+1,0,0) then
'Search Result:',
if val(v1001)=1 then
v1002 ' record(s) retrieved for the query : ',v1021,
fi,/
/fi,

This function is allied with epilog file. The need of this function is to put on top of each page the heading – “Search Result”, and on the first page alone, the total number of records retrieved along with the query. Since the “pft” executes prior to the epilog file the following condition is checked at first:

if val(v1001)=1 or f(val(v1001)+0,0,0) = f(val(v6026)+1,0,0) then

Initially the current “mfn” tag 1001 is equivalent to 1. So it returns true and the then statements execute. Because 1001 is current “mfn” tag, the value it holds is not constant. Therefore a second condition is combined together with boolean operator ‘or’ to repeat the same process for the rest of the pages.

In fact, the second condition f(val(v1001)+0,0,0) = f(val(v6026)+1,0,0) is functional only from 2nd page onwards. That is, after the execution of epilog file followed by the“Next 20 Record” button click.

When epilog file executes the following statements get executed:

  if val(v1002)>val(v1032) then
    '<input type=hidden name="tag6026" value="',f(val(v6026)+20,0,0), '">'/
  fi/

As a result v6026 = 20

When the control gets back to the “pft” it checks the condition. This time tag 1001 and tag 6026 are equal to 21. As a result thethen statements execute.

Note:
At each execution of epilog file the value of tag 6026 increases by 20

At the same time, the following then statement takes care of printing total number of records retrieved, along with the query expression at the top of the first page alone.

  if val(v1001)=1 then
    v1002 ' record(s) retrieved for the query : ',v1021,
  fi,/

The above condition is true only once. When tag 1001 is equal to 1 and the message prints at the top of the first page. The “Full Record” display is shown in figure 3.

Previous | Next

1