[Isis-users] WXIS|fatal error|unavoidable|fmt/inter/refrec/free|

Guilda Ascencio guildaa at gmail.com
Mon Nov 9 05:17:09 CET 2015


Renate.

In respect to the output generated with the "Reports" option of the
Circulation module, I have been testing the script
output_circulation/print.php  and it seems that the error  occurs when the
report specification includes a sort key. If the sort key is deleted then
the error disappears.

It seems that  an error is generated  when the ref command  is used in a
format called inside the IsisScript procedure "<do task=list>"  and the key
provided in the REF is not found in the inverted file.

I was analyzing your data and realized that you are using 2 different
databases in the loan process but in the ref you are always using the nadsb
database:

ref(['nadsb']l(['nadsb']'CN_'v95),v996^a,' 'v996^b)/

this is wrong because you have to use the field v98 of the trans database
which stores the name of the database than contains the description of the
object.

So, the right way for the previous format line would be:

if npost([v98]'CN_'v95)=0 then '<strong><font color=red>not
found</font></strong>' else ref([v98]l([v98]'CN_'v95), if db='nadsb' then
,v996^a,' 'v996^b else v882^a,' 'v882^a fi),fi

if npost([v98]'CN_'v95)=0 to be sure that the record exists before applying
the ref command (to avoid the error mentioned previously)

Then, the ref command is coded using the database name stored in v98 and
the field sent to the output is conditioned on the database name. Notice
that we are using db in place of v98 as v98 is not available at that point
because the active record is the one retrived by the ref .

The format for generating the overdue items now says:

v10'|'
v20'|'
ref(['users']l(['users']'CO_'v20),v30) '|'
v70'|'
v30*6.2,'-',v30*4.2,'-',v30.4,'|'
v40*6.2,'-',v40*4.2,'-',v40.4,'|'
v80'|'
replace(s(mhl,V100,mpl),'|',''),'|'
v98'|',
if npost([v98]'CN_'v95)=0 then '<strong><font color=red>not
found</font></strong>' else ref([v98]l([v98]'CN_'v95), if db='nadsb' then
,v996^a,' 'v996^b else v882^a,' 'v882^a fi)fi '|'/


replace(s(mhl,V100,mpl),'|','') is used because your data have some | in
the title and that character is used in the format as a column delimiter.
That's way in the output some extra columns were generated.

v98 is added in order to display the database name where the object came
from

I changed in the report specification the format name tbl01.pft by test.pft
(test.pft is a new format that I generated in the cataloguing module for
the trans database). You can modify tbl01.pft with the suggested changes
and replace in the report specification the format name test.pft by
tbl01.pft .

I hope this explanation in Spanglish has become sufficiently clear.

Regards,

Guilda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.iccisis.org/pipermail/isis-users/attachments/20151108/528ce14d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Image1.png
Type: image/png
Size: 130757 bytes
Desc: not available
URL: <http://lists.iccisis.org/pipermail/isis-users/attachments/20151108/528ce14d/attachment.png>


More information about the isis-users mailing list