[Koha] Argument "0, 00" isn't numeric in numeric gt (>) at /usr/share/koha/lib/C4/Overdues.pm line 292.

Michael Kuhn mik at adminkuhn.ch
Mon Jan 8 22:53:00 NZDT 2024


Hi Katrin and Magnus

Many thanks for your answers!

It is not possible to change the value to "0.00" via Koha menu 
"Administration > Defining circulation and fine rules for all libraries" 
- even wehn savin "0.00" it will still show "0,00".

We have eight rules there - all of them show value "0,00" in column 
"Overdue fines cap (amount)". But in table "circulation_rules" I found 
the following:

MariaDB [koha_bibliothek]> SELECT * FROM circulation_rules WHERE 
rule_name="overduefinescap";
+-----+------------+--------------+----------+-----------------+------------+
| id  | branchcode | categorycode | itemtype | rule_name    | rule_value
+-----+------------+--------------+----------+-----------------+------------+
|   4 | NULL       | NULL         | NULL     | overduefinescap |       |
|  34 | NULL       | NULL         | BUCH     | overduefinescap | 0.00  |
|  67 | NULL       | NULL         | CD       | overduefinescap | 0.00  |
|  94 | NULL       | NULL         | ZSS      | overduefinescap | 0.00  |
| 136 | NULL       | PT           | BUCH     | overduefinescap |       |
| 170 | NULL       | HB           | BUCH     | overduefinescap | 0.00  |
| 182 | NULL       | NULL         | KONV     | overduefinescap |       |
| 214 | NULL       | NULL         | DVD      | overduefinescap |       |
+-----+------------+--------------+----------+-----------------+------------+
8 rows in set (0,000 sec)

So I changed just the values actually containing "0,00" as follows:

MariaDB [koha_bibliothek]> UPDATE circulation_rules SET rule_value = 
'0.00' WHERE rule_value = '0,00';

Thus table "circulation_rules" now shows:

MariaDB [koha_bibliothek]> SELECT * FROM circulation_rules WHERE 
rule_name="overduefinescap";
+-----+------------+--------------+----------+-----------------+------------+
| id  | branchcode | categorycode | itemtype | rule_name    | rule_value |
+-----+------------+--------------+----------+-----------------+------------+
|   4 | NULL       | NULL         | NULL     | overduefinescap |       |
|  34 | NULL       | NULL         | BUCH     | overduefinescap | 0.00  |
|  67 | NULL       | NULL         | CD       | overduefinescap | 0.00  |
|  94 | NULL       | NULL         | ZSS      | overduefinescap | 0.00  |
| 136 | NULL       | PT           | BUCH     | overduefinescap |       |
| 170 | NULL       | HB           | BUCH     | overduefinescap | 0.00  |
| 182 | NULL       | NULL         | KONV     | overduefinescap |       |
| 214 | NULL       | NULL         | DVD      | overduefinescap |       |
+-----+------------+--------------+----------+-----------------+------------+
8 rows in set (0,000 sec)

However, even after restarting Koha ( memcached apache2 koha-common ) 
Koha menu "Administration > Defining circulation and fine rules for all 
libraries" still shows the value "0,00" in column "Overdue fines cap 
(amount)" for all eight rules as before.

I will now wait and see what happens after the next run of 
"/etc/cron.daily/koha-common".

Best wishes: Michael
-- 
Geschäftsführer · Diplombibliothekar BBS, Informatiker eidg. Fachausweis
Admin Kuhn GmbH · Pappelstrasse 20 · 4123 Allschwil · Schweiz
T 0041 (0)61 261 55 61 · E mik at adminkuhn.ch · W www.adminkuhn.ch



Am 08.01.24 um 08:14 schrieb Magnus Enger:
 > Hi!
 >
 > I have run into a similar problem when upgrading to 23.05, and solved
 > it by running queries like this directly in the database:
 >
 > mysql> update circulation_rules set rule_value = '0.00' where
 > rule_value = '0,00';
 >
 > If you have this problem with other numbers, repeat the query but
 > replace 0,00/0.00 with the other relevant numbers.
 >
 > Best regards,
 > Magnus
 > Libriotech



Am 06.01.24 um 11:44 schrieb Katrin Fischer:
 > Hi Michael,
 >
 > this was fixed with:
 >
 > *Bug 33028*
 > <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33028> -
 > Wrongly formatted monetary amounts in circulation rules break scripts
 > and calculation
 >
 > But the fix still requires you to fix the values stored in the database.
 >
 > You could try to edit the rule and save 0.00 (with the .). It might
 > work.Or you could use SQL to make sure all the monetary values in
 > circulation_rules are correctly formatted.
 >
 > Hope this helps,
 >
 > Katrin



> On 06.01.24 11:33, Michael Kuhn wrote:
>> Hi
>>
>> Our library is working with Koha 22.05.17.
>>
>> Since some days the anacron job "cron.daily" sends us an e-mail with
>> hundreds of lines like the following every day:
>>
>>  Argument "0,00" isn't numeric in numeric gt (>) at
>> /usr/share/koha/lib/C4/Overdues.pm line 292.
>>
>> I see in the circulation and fine rules the "Overdue fines cap
>> (amount)" shows as "0,00" instead of "0.00" as usual. However, this
>> can't be changed at this place.
>>
>> Changing lines in script "Overdues.pm" according to
>> https://gomezcardozo.com/error-en-fines-koha/ didn't help.
>>
>> How can this output be prevented?
>>
>> Best wishes: Michael
> _______________________________________________
> 
> Koha mailing list  http://koha-community.org
> Koha at lists.katipo.co.nz
> Unsubscribe: https://lists.katipo.co.nz/mailman/listinfo/koha




More information about the Koha mailing list