
Renée Bäcker:
Dann kannst Du im Systemprotokoll verfolgen, welche Codestellen die TicketFreeTextSet aufrufen. Hier werden zwei Ebenen ausgewertet...
Nach dem TicketFreeTextSet im meinem Modul passiert das: 1. EventHandler.pm 241 (es bemerkt das Event TicketFreeTextSet5) 2. AgentTicketMove.pm 777 (da wird die bösartige Änderung aufgerufen): $Self->{TicketObject}->TicketFreeTextSet( TicketID => $Self->{TicketID}, Key => $GetParam{$Key}, Value => $GetParam{$Text}, Counter => $Count, UserID => $Self->{UserID}, ); Aha! Der Hase liegt weiter oben in AgentTicketMove (bei mir Zeile 129) im Pfeffer, wo die Belegungen der Variablen stattfinden. Warum? Wenn ich den Code zwischen den ### auskommentiere, verhält sich der Vorgang wie gewünscht, d.h. letzten Endes $GetParam{$Text} (mit Text=TicketFreeText5) bleibt auf dem im Vorgängermodul gesetzten Wert. Ist mir noch unklar, warum... Leider kann ich heute daran nicht mehr weitermachen, aber bin ja schon sehr weit dank Deiner Hilfe und vor allem kann man den Debug-Code immer wieder gut gebrauchen.... OTRS 3.08 hier übrigens. Danke nochmal. [AgentTicketMove.pm ~Z. 129] # get ticket free text params for my $Count ( 1 .. 16 ) { my $Key = 'TicketFreeKey' . $Count; my $Text = 'TicketFreeText' . $Count; $GetParam{$Key} = $Self->{ParamObject}->GetParam( Param => $Key ); $GetParam{$Text} = $Self->{ParamObject}->GetParam( Param => $Text ); if ( !defined $GetParam{$Key} && $Ticket{$Key} ) { $GetParam{$Key} = $Ticket{$Key}; } ##### UND ZWAR ÄNDERT ES MIR HIER $GetParam{$Text} auf den alten Wert: ################### if ( !defined $GetParam{$Text} && $Ticket{$Text} ) { $GetParam{$Text} = $Ticket{$Text}; } ############################################## } MfG Michael