Beitrag von Claus S. (1671 Beiträge) am Freitag, 25.September.2009, 13:53.
Script funktioniert nicht mehr
Hallo,
nachstehendes Script, um mal auf die Schnelle Dateisätze zu ändern funktioniert nicht mehr. Es wird immer nur ein Datensatz geändert
Hat das vielleicht was mit der Version 3 zu tun?
<loop Id==* db=ac_land code=perl>
if ($la_ccld eq "")
{
mod "Id==$_id", [ "la_ccld", "--", ];
}
</loop>
<perl>out "Laufzeit: ".runtime;</perl>
Verwende ich hingegen das Script nur zur Ausgabe, werden alle Sätze angezeigt
<loop Id==* db=ac_land code=perl>
if ($la_ccld eq "")
</loop>
<perl>out "Laufzeit: ".runtime;</perl>
Gruss Claus S.
Antworten
Beitrag von Claus (4645 Beiträge) am Freitag, 25.September.2009, 14:19.
Re: Script funktioniert nicht mehr
Hallo Namensvetter,
zum einen fehlt beim mod die DB, also:
<loop Id==* db=ac_land code=perl>
if ($la_ccld eq "")
{
mod "Id==$_id", [ "la_ccld", "--", ],"ac_land";
}
</loop>
Ansonsten ist vermutlich get die bessere Variante.
get"Id==*","ac_land","erg";
while(get_next("erg"))
{
if ($la_ccld eq "")
{
mod "Id==$_id", [ "la_ccld", "--",],"ac_land";
}
}
hth
Gruesse
Claus
Antworten
Beitrag von Claus S. (1671 Beiträge) am Freitag, 25.September.2009, 15:02.
Re: Re: Script funktioniert nicht mehr
Danke Claus,
aber das funktioniert beides nicht,
wie gesagt, ich habe es länger nicht benötigt, früher lief es.
In diesem Fall benutze ich die Kostnix-Version 3.4.3
Gruss Claus S.
Antworten
Beitrag von Claus (4645 Beiträge) am Freitag, 25.September.2009, 15:34.
Re: Re: Re: Script funktioniert nicht mehr
Dann eventuell mal so probieren:
get"Id==*","ac_land","erg";
while(get_next("erg"))
{
if ($la_ccld eq "")
{
mod "Id==$Id", [ "la_ccld", "--",],"ac_land";
}
}
Bei der "Id" hatte ich auch schon mal Probleme. In V3 bei Lizenz hatte ich mit "$Id" noch keine Probs.
Hatte sogar bei 2 verschiedenen kostnix-Accounts eines Kunden bei der Ausgabe (html/CSS) 2 völlig verschiedene Ergebnisse. Kann aber auch bei mir gelegen haben, will ich nicht ausschließen.
Gruesse
Claus
Antworten
Beitrag von Claus (4645 Beiträge) am Freitag, 25.September.2009, 15:41.
Re: Re: Re: Script funktioniert nicht mehr
Ach ja,
eventuell kannst Du noch testten, was eigentlich modifiziert werden soll:
<perl>
get"Id==*","ac_land","erg";
while(get_next("erg"))
{
if ($la_ccld eq "")
{
out "Ausgabe1: $la_land_de, ID: $Id<br>";
mod "Id==$Id", [ "la_ccld", "--",],"ac_land";
}
</perl>
Ich hoffe, es bringt ein wenig Licht ins "Dunkel"...;)
Gruesse
Claus
Antworten
Beitrag von Claus S. (1671 Beiträge) am Freitag, 25.September.2009, 16:38.
Re: Re: Re: Re: Script funktioniert nicht mehr
Hallo Claus,
funktioniert auch nicht,
Ergebnis ist:
Ausgabe1: Andorra, ID: 0
Ausgabe1: , ID: 0
Ausgabe1: , ID: 0
Ausgabe1: , ID: 0
Ausgabe1: , ID: 0
Ausgabe1: , ID: 0
Ausgabe1: , ID: 0
Ausgabe1: , ID: 0
Ausgabe1: , ID: 0
Ausgabe1: , ID: 0
Ausgabe1: , ID: 0
Ausgabe1: , ID: 0 usw. usw.
Er hat den ersten Satz im Zugriff, dann passiert aber nichts mehr.
Gruss Claus S.
Antworten
Beitrag von Claus (4645 Beiträge) am Freitag, 25.September.2009, 16:54.
Re: Re: Re: Re: Re: Script funktioniert nicht mehr
Sorry,
hatte eine Klammer vergessen:
<perl>
get"Id==*","ac_land","erg";
while(get_next("erg"))
{
if ($la_ccld eq "")
{
out "Ausgabe1: $la_land_de, ID: $Id<br>";
mod "Id==$Id", [ "la_ccld", "--",],"ac_land";
}
}
</perl>
Antworten
Beitrag von Claus S. (1671 Beiträge) am Freitag, 25.September.2009, 20:11.
Re: Re: Re: Re: Re: Re: Script funktioniert nicht mehr
Danke Dir,
nun geht es,
bleibt nur die Frage, warum die alten Scripte nicht mehr laufen
Schönes Wochenende
Claus S.
Antworten
Beitrag von Sander (8133 Beiträge) am Freitag, 25.September.2009, 21:15.
Re: Re: Re: Re: Re: Re: Re: Script funktioniert nicht mehr
früher hat er sich sicher die db gemerkt und beim mod verwendet - durch das neue hashing wird das aber warscheinlich überschrieben. Ich geh mal davon aus, das das Template anders heißt als ac_land
Antworten
Beitrag von Claus S. (1671 Beiträge) am Samstag, 26.September.2009, 01:00.
Re: Re: Re: Re: Re: Re: Re: Re: Script funktioniert nicht mehr
Guten Abend Sander,
vielleicht habe ich mich nicht richtig ausgedrückt, obwohl ich mich bemüht habe:
Die Scripte wurden längere Zeit nicht verwenndet, ca. 1/2 Jahr, da funktionierten sie definitiv noch!
Und das Template heisst seit damals tool_mod2.
Ich bin ja froh, dass Claus mir einen Weg gezeigt hat, es würde mich aber doch interessieren, warum es hier eine Änderung gibt.
Also nochmal zum mitschreiben; Ich möchte nicht nur Lösungen, ich würde es auch gerne verstehen, sonst ist es imho irrelevant.
Danke und Gruss
Claus S.
Antworten
Beitrag von Sander (8133 Beiträge) am Samstag, 26.September.2009, 12:24.
Re: Re: Re: Re: Re: Re: Re: Re: Re: Script funktioniert nicht mehr
du meinst also, sie funktionierten auch unter v3 mal richtig.
Da kann ich dir leider keine Antwort dazu geben, ich weiß nicht, ob CB was am handling zwischendurch geändert hat.
Ich denke, selbst in v2 hat dem code was gefehlt um 100% zu funktionieren - nämlich die angabe der db. Da aber v2 in seiner Auslegung so großzügig war, wie der IE in Sachen html, css und js, kam ich auf die Idee der letzt genutzten DB.
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 29.September.2009, 15:38.
Re: Re: Re: Re: Re: Re: Re: Script funktioniert nicht mehr
Keine Ursache, gern geschehen...;)
Warum das vorher überhaupt funktioniert hat, wundert mich allerdings auch, denn wie eingangs schon geschrieben, muss eigentlich beim mod die db mit angegeben werden.
Warum es bisher funktioniert hat, kann ich Dir allerdings nicht sagen,da ich weder Kenntnisse noch Einfluß über die bp-internen Programmierungen und eventuell nachträglichen Änderungen habe.
Anscheinend ist Sander da aber auch überfragt.
Gruesse
Claus
Antworten