Hallo und danke erstmal für deinen Tipp.
Leider habe ich für die Antwort ein wenig länge gebraucht, als ich vorher noch gedacht habe. Anscheinend muss man, um nun auch die weiteren Kundendaten einbinden zu können, nur die Funktion TicketGet() ab Zeile 784ff ändern. Liege ich dort richtig? Oder muss man weiteres ändern? In der genannten Funktion werden alle Daten ausgelesen (darunter auch die CustomerID und die CustomerUserID). Dies geschieht mit einer SQL Abfrage, welche angepasst werden muss.
Code: Select all
# db query
my $SQL = 'SELECT st.id, st.queue_id, sq.name, st.ticket_state_id, st.ticket_lock_id,'
. ' sp.id, sp.name, st.create_time_unix, st.create_time, sq.group_id, st.tn,'
. ' st.customer_id, st.customer_user_id, st.user_id, st.responsible_user_id, st.until_time,'
. ' st.freekey1, st.freetext1, st.freekey2, st.freetext2,'
. ' st.freekey3, st.freetext3, st.freekey4, st.freetext4,'
. ' st.freekey5, st.freetext5, st.freekey6, st.freetext6,'
. ' st.freekey7, st.freetext7, st.freekey8, st.freetext8,'
. ' st.freekey9, st.freetext9, st.freekey10, st.freetext10,'
. ' st.freekey11, st.freetext11, st.freekey12, st.freetext12,'
. ' st.freekey13, st.freetext13, st.freekey14, st.freetext14,'
. ' st.freekey15, st.freetext15, st.freekey16, st.freetext16,'
. ' st.freetime1, st.freetime2, st.freetime3, st.freetime4,'
. ' st.freetime5, st.freetime6,'
. ' st.change_time, st.title, st.escalation_update_time, st.timeout,'
. ' st.type_id, st.service_id, st.sla_id, st.escalation_response_time,'
. ' st.escalation_solution_time, st.escalation_time'
. ' FROM ticket st, ticket_priority sp, queue sq'
. ' WHERE sp.id = st.ticket_priority_id AND sq.id = st.queue_id AND st.id = ?';
Dies habe ich auch versucht (mit guten Datenbankkenntnissen). Dazu muss ich das Comment der Kundentabelle Customer_User mit in die Abfrage einfügen. Jedoch besteht dabei das Problem, dass wir verschiedene Backends speichern (extern und intern) und laut der SQL Box im Admininterface nur die internen Daten in dieser Tabelle gespeichert werden. Jedoch können alle Daten von allen Kunden jederzeit im Ticket angezeigt werden (Kundeninformatuon). Daher habe ich micht gefragt, ob die externen Daten doch in einer anderen Tabelle (users oder sonstige) gespeichert werden. Dazu habe ich mir das ERM der Datenbank angesehen. Doch dort habe ich keine weitere Tabelle gefunden. Daraus schließe ich, dass ich auf das externe Backend direkt zugreifen muss, stimmt das? Oder werden diese Daten doch irgendwo gespeichert und greift die Kundeninformation (Ticketzoom) direkt auf externe Daten zu?
Eventuell müsste man dann auch eine weitere Tabelle bauen, die beim Erstellen automatisch alle Kundendaten nochmals in einer zusätzliche Tickettabelle schreibt, welche ich dann hier auslesen kann.
Danke weiter für eure Hilfe. Ich hoffe, ich habe mich verständlich ausgedrückt.
Lieben Gruß
Fabotz