The given param 'StateIDs' is invalid or an empty array reference

Hallo Liste Ich habe hier ein OTRS 2.4.8, bei dem die Ticketansicht nicht funktioniert. Offensichtlich wirklich nur diese, also wenn der Agent auf den Link "Tickets". Dann kommt die Fehlermeldung Can't use an undefined value as an ARRAY reference at ../..//Kernel/Modules/AgentTicketQueue.pm line 237 In den Logs sieht es aus, als wenn er die StateIDs nicht findet: ---SCHNIPP--- [Error][Kernel::System::Ticket::TicketSearch][Line:3621]: The given param 'StateIDs' is invalid or an empty array reference! [Error][Kernel::System::Ticket::IndexAccelerator::RuntimeDB::TicketAcceleratorIndex][Line:99]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND st.queue_id IN (5,6 )' at line 1, SQL: 'SELECT count(*) FROM ticket st WHERE st.ticket_state_id IN ( ) AND st.queue_id IN (5,6 )' [Error][Kernel::System::Ticket::IndexAccelerator::RuntimeDB::TicketAcceleratorIndex][Line:124]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND st.ticket_lock_id IN ( 1, 3 ) AND st.queue_id = sq.id AND suq.queue_id ' at line 1, SQL: 'SELECT count(*) FROM ticket st, queue sq, personal_queues suq WHERE st.ticket_state_id IN ( ) AND st.ticket_lock_id IN ( 1, 3 ) AND st.queue_id = sq.id AND suq.queue_id = st.queue_id AND sq.group_id IN ( 1, 6, 8, 4, 7, 5, 11, 3, 9, 10, 12 ) AND suq.user_id = 2' [Error][Kernel::System::Ticket::IndexAccelerator::RuntimeDB::TicketAcceleratorIndex][Line:150]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND st.ticket_lock_id IN ( 1, 3 ) AND st.queue_id = sq.id AND sq.group_id I' at line 1, SQL: 'SELECT st.queue_id, sq.name, min(st.create_time_unix), count(*) FROM ticket st, queue sq WHERE st.ticket_state_id IN ( ) AND st.ticket_lock_id IN ( 1, 3 ) AND st.queue_id = sq.id AND sq.group_id IN ( 1, 6, 8, 4, 7, 5, 11, 3, 9, 10, 12 ) GROUP BY st.queue_id,sq.name ORDER BY sq.name' ---SCHNAPP--- Man sollte dazu sagen, dass die Tickettypen geändert wurden, allerdings referenzieren sie laut vgl. der Tables ticket_state_type und ticket_state richtig, denn wenn ich das richtig sehe, wird ja nach type_id und nicht nach name in der ticket_state gesucht, oder? Grüße Klaus

Hallo zusammen Also es ist definitiv ein Problem mit der state id: ---SCHNIPP--- [Error][Kernel::System::Ticket::TicketSearch][Line:4761]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND (LOWER(st.customer_id) IN (LOWER('99999')) OR st.customer_user_id = 'Test' at line 1, SQL: 'SELECT DISTINCT st.id, st.tn, st.create_time_unix FROM ticket st, queue sq WHERE sq.id = st.queue_id AND st.ticket_state_id IN ( ) AND (LOWER(st.customer_id) IN (LOWER('99999')) OR st.customer_user_id = 'Test User') AND sq.group_id IN (1, 1) AND ( LOWER(st.customer_user_id) = LOWER('Test User')) ORDER BY st.create_time_unix DESC LIMIT 10000' ---SCHNAPP--- Bei allen fehlgeschlagenen SQL Abfragen steht dieses AND st.ticket_state_id IN ( ) im Statement. Die Abfrage nach dem ticket_state_id funktioniert problemlos. ---SCHNIPP--- mysql> select ticket_state_id from ticket st; +-----------------+ | ticket_state_id | +-----------------+ | 1 | | 2 | ... | 4 | | 10 | | 11 | +-----------------+ 22 rows in set (0.00 sec) ---SCHNAPP--- Die obige Anfrage funktioniert auch, wenn man einen Wert einträgt: ---SCHNIPP--- mysql> SELECT DISTINCT st.id, st.tn, st.create_time_unix FROM ticket st, queue sq WHERE sq.id = st.queue_id AND st.ticket_state_id IN ( 2 ) AND (LOWER(st.customer_id) IN (LOWER('99999')) OR st.customer_user_id = 'Test User') AND sq.group_id IN (1, 1) AND ( LOWER(st.customer_user_id) = LOWER('Test User')) ORDER BY st.create_time_unix DESC LIMIT 10000; +----+--------------+------------------+ | id | tn | create_time_unix | +----+--------------+------------------+ | 7 | 427914436876 | 1287784334 | | 6 | 424215759665 | 1287784022 | | 5 | 422209269023 | 1287783602 | | 4 | 420457240166 | 1287779402 | +----+--------------+------------------+ 4 rows in set (0.00 sec) ---SCHNAPP--- Allerdings ist mein PERL nicht gut genug, da behebend eingreifen zu können und vielleicht ist es auch nur eine klitz kleine klitzekleinigkeit? Grüße Klaus

Am 30.10.2010 19:11, schrieb klaus.nehrer@arcor.de:
---SCHNIPP--- [Error][Kernel::System::Ticket::TicketSearch][Line:4761]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND (LOWER(st.customer_id) IN (LOWER('99999')) OR st.customer_user_id = 'Test' at line 1, SQL: 'SELECT DISTINCT st.id, st.tn, st.create_time_unix FROM ticket st, queue sq WHERE sq.id = st.queue_id AND st.ticket_state_id IN ( ) AND (LOWER(st.customer_id) IN (LOWER('99999')) OR st.customer_user_id = 'Test User') AND sq.group_id IN (1, 1) AND ( LOWER(st.customer_user_id) = LOWER('Test User')) ORDER BY st.create_time_unix DESC LIMIT 10000' ---SCHNAPP---
Prüfe bitte mal Sysconfig -> Core::Ticket ob da vor "Eifer" die Werte bei Ticket::UnlockStateType geändert wurden. Ich vermute, dass dort auch die Übersetzungen eingetragen wurden. Für die Ticketübersicht aus der ersten Mail wäre es an der gleichen Stelle bei Ticket::ViewableStateType. cu/2 Matthias

Hallo Matthias Ja, das war es. Danke. Schönes Wochenende und Grüße Klaus
Prüfe bitte mal Sysconfig -> Core::Ticket ob da vor "Eifer" die Werte bei Ticket::UnlockStateType geändert wurden. Ich vermute, dass dort auch die Übersetzungen eingetragen wurden. Für die Ticketübersicht aus der ersten Mail wäre es an der gleichen Stelle bei Ticket::ViewableStateType.
participants (2)
-
klaus.nehrer@arcor.de
-
Matthias Borrack