Tabellendaten aktualisieren/löschen

8. Januar 2006 01:10

Mit diesem Report ist es möglich, auf einfachste Art beliebige Felder in beliebigen (gefilterten) Datensätzen einer beliebigen Tabelle zu ändern.
Dabei ist es möglich, anstelle eines klassischen Filters auch zwei Felder miteinander zu vergleichen (z. B. alle Datensätze, bei denen "Suchbegriff" <> "Name" ist).
Darüber hinaus kann auch anstelle eines festen Wertes der Wert eines anderen Feldes in das Zielfeld kopiert werden (z. B. Geschäftsbuchungsgruppe -> MwSt-Geschäftsbuchungsgruppe).
Für jedes zu ändernde Feld kann individuell eingestellt werden, ob der OnValidate-Trigger durchlaufen werden soll und ob der OnModify-Trigger für den jeweiligen Datensatz aufgerufen werden soll.
Ebenso ist es möglich, die Änderungsprotokollierung ein- bzw. auszuschalten.
Um die Performance zu erhöhen, kann die Sortierung geändert werden, wobei der Report selbständig den optimalen Schlüssel ermittelt. Dies kann aber unter gewissen Umständen nicht gewünscht sein, daher wird man gefragt, ob die Sortierung geändert oder beibehalten werden soll.

[NEU] Ab sofort ist auch ein Report zum massenhaften Löschen von Tabellendaten enthalten.

[Warnung] Die Verwendung dieser Reports kann zu Datenverlusten / Datenbank-Inkonsistenzen führen!
Aus diesem Grund sollte man sich genau im Klaren sein, was man macht!
Erst recht, wenn man die Ausführung der OnValidate/OnModify/OnDelete-Trigger deaktiviert!

Für eventuelle Datenverluste und/oder Inkonsistenzen wird ausdrücklich nicht gehaftet!
Die Nutzung dieser Tools geschieht ausdrücklich auf eigene Gefahr!
Und wer diese Reports ausführt, ohne vorher eine vollständige Datensicherung zu machen, der ist selber schuld!


Modify TableData TL5.00.png

Modify TableData TL5.00.zip

Modify TableData TL6.00.zip
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Timo Lässer am 5. Februar 2010 21:22, insgesamt 3-mal geändert.
Grund: Neue Version hinzugefügt

24. September 2007 21:11

Update 5.00:
Komplett überarbeitet und erweitert.

22. Februar 2008 16:21

Hallo Timo,

habe in dein Tool noch eine kleine Ergänzung eingebaut. Der neue Feldinhalt kann den alten Inhalt ergänzen am Anfang und am Ende durch Kennzeichnung des neuen Inhalts mit * am Anfang bzw. am Ende. Die angepasste Codeunit hängt dran.

Sauber programmiert, gefällt mir.

Gruß aus der Hauptstadt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

22. Februar 2008 22:38

Hallo dabundy!

Danke für deinen Verbesserungsvorschlag inklusive der fertigen Lösung sowie dem Kompliment.
Da diese Codeunit (99999) auch noch in anderen Bereichen von mir verwendet wird und das Sternchen zu einem "Zeichen mit Sonderfunktion" ändert, kann ich es leider nicht in meine Tools-Sammlung aufnehmen.
Da du aber dein Objekt direkt als FOB-Datei angehängt hast, ist eine Aufnahme in meine Tools-DB auch nicht zwingend erforderlich.

Trotzdem vielen herzlichen Dank für deinen Verbesserungsvorschlag!
Er wird sicherlich für viele Leute von Nutzen sein (achte einfach auf den "Download-Counter" deines Dateianhangs. Ein (1) Download geht auf meine Kappe.)

25. Mai 2008 14:35

Hallo Timo,

habs mir auch mal angesehen. schönes Tool. Scheinbar gibt es aber noch paar Problemchen, wenn man auf Optionfelder updatet. Das macht er nicht. Weiterhin leert er die Feld- bzw Filterwerte nicht, wenn man das Bezugsfeld löscht.

Soll aber nicht nach Gemecker ausschauen. Ich find das prima programmiert.

gruß
Marcel

25. Mai 2008 17:45

RadarRambo hat geschrieben:Soll aber nicht nach Gemecker ausschauen. Ich find das prima programmiert.

Keine Sorge!
Ich sehe dies auch nicht als "Gemecker" an, sondern als Hilfe zur Verbesserung.

Die Fehler rund um die Optionsfelder sind bereits bekannt und behoben, jedoch bin ich noch nicht dazu gekommen, die Änderungen hier hochzuladen.

24. Juli 2008 10:43

Sorry, aber ich habe mal zwei dieser "dummen" Newbie-Fragen: Ich habe diese .fin datei nun über import installiert.

Meine erste Frage: Muß ich mit dem .txt File in der .zip Datei auch etwas machen?

Und nun die zweite: Wie und Wo kann ich dieses Tool nun aufrufen?

Einen schönen Tag Euch alle und
LG aus Graz

Bernhard

Re:

11. August 2008 12:12

saiav2008 hat geschrieben:Meine erste Frage: Muß ich mit dem .txt File in der .zip Datei auch etwas machen?
Beide Dateien enthalten das jeweilige Objekt. Einmal als FOB (Binär, bereits kompiliert), einmal als Text.
Der Import der FOB-Datei ist einfacher, dafür aber unflexibler. Die Textdatei ermöglicht es, vor dem Import die Objekt-ID zu ändern, falls die vorgegebene ID nicht lizenziert oder bereits vergeben ist.

saiav2008 hat geschrieben:Und nun die zweite: Wie und Wo kann ich dieses Tool nun aufrufen?
Nach dem Import steht das Objekt nur über den Objekt Designer zur Verfügung. Du musst es selbst in die Navigation Pane einbinden.

Problem bei mehreren Filterkriterien

30. November 2009 10:51

Hallo

Die Eingabe von mehreren Filterkriterien ist bei mir teilweise nicht möglich.

Gebe ich beim Filter Basiseinheit 'STG' ein, sagt das System Artikeleinheit nicht vorhanden, die Einheit 'STG' wär aber so angelegt. (siehe Bild)

Error_Artikeleinheit_existiert_nicht.jpg


Wenn ich hingegen als Filter zur Probe nur einen '*' eingebe kommt die erste Artikelnummer, die würde er bei der Auswahl Basiseinheit auch ohne Warnung zulassen !?

Eingabe_Stern.jpg

Ergebnis nach Eingabe Stern ist erste Artikelnummer.jpg


Kann es sein, dass das System hier auf falsche Tabellen bzw. Daten prüft oder zugreift?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Tabellendaten aktualisieren

30. November 2009 10:59

Hallo tam,

deinem Screenshot entnehme ich, dass zwar die Einheit 'STG' angelegt ist, scheinbar jedoch nicht als Artikeleinheit einem Artikel zugeordnet wurde.

Aufgrund der Flexibilität dieses Reports (immerhin ist er für alle Tabellen gültig), kann die LookUp-Funktion immer nur den ersten Primärschlüsselwert zurückgeben.
Aus diesem Grund trägt die Funktion fälschlicherweise die Artikelnr. anstatt den Einheitencode dort ein.

Re: Tabellendaten aktualisieren

30. November 2009 13:39

Danke für die rasche Antwort.

Die Situation ist die, dass ich für unser (Fertigungs-) Unternehmen von einem Händler einen Artikelstamm importiere (mehrere 1000).

Das Problem ist, dass ein Händler die Artikel mit der Einheit Stangen führt, bei uns müssen wir aber die Einheit Meter verwenden.

Erfahrungsgemäß ist es besser als Basiseinheit nicht Stg. sondern Meter zu führen, der Hauptgrund sind Profilzuschnitte --> schneidet man einmal durch weiß bei verschiedenen Lagerlängen keiner mehr welche Länge der Artikel ursprünglich hatte.

Ich hab nun die Artikel importiert und möchte den Artikelstamm mit deiner Tabelle soweit berichtigen, dass ich z.B. überalldort wo "STG" als Basiseinheit eingetragen ist, gewisse Einträge mache. Zusammengefasst: alle Profile haben die Einheit STG zugeordnet.

Das folgende Bild zeigt, dass es natürlich verschiedene Basiseinheiten gibt, unter anderem aber auch Artikel mit der Basiseinheit "STG" zugeordnet und genau nach denen möchte ich wie vorher abgebildet filtern. Das System lässt das aber nicht zu, (wie beschrieben).

Artikelstamm.jpg

Artikeleinheit2.jpg


Ich nehme aber an, dass der Report möglicherweise beim ersten Eintrag des Filters die Einheit STG nicht findet und fälschlicherweise die Warnung sofort ausgibt obwohl danach Artikel folgen, die diese Einheit zugeordnet haben.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re:

21. Januar 2010 15:12

Hallo Timo
Du hast am 25. Mai 2008 16:45 geschrieben:
Timo Lässer hat geschrieben:Die Fehler rund um die Optionsfelder sind bereits bekannt und behoben, jedoch bin ich noch nicht dazu gekommen, die Änderungen hier hochzuladen.

Die Objekte im Zip file sind vom 24.09.07.
Darf ich dich bitten die aktualisierte Version hochzuladen.

Bin zwar kein Anfänger in NAV, (Süchtig seit 1999) muss aber eine Anfängerfrae stellen. Wie kann man in deinem genialen Tool auf leere (blank) Felder abgrenzen?
"genial" soll keine Sulze sein.

Viele Grüsse aus Luxemburg
Jeannot

Re: Tabellendaten aktualisieren

4. Februar 2010 16:20

Hallo Timo,

Habe folgende Fehlermeldung beim Aktualiseren der Tabelle 39 EK Zeilene
Tabellen_aktualisieren.png


Die Fehlermeldung erscheint nach dem Bestätigen im Feld Filter.
Scheint so, als ob das falsche Feld geprüft wird. (Belegart statt Belegnr.)

Viele Grüsse aus Luxemburg
Jeannot
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Re:

4. Februar 2010 20:29

JEKE hat geschrieben:Die Objekte im Zip file sind vom 24.09.07.
Darf ich dich bitten die aktualisierte Version hochzuladen.

JEKE hat geschrieben:Scheint so, als ob das falsche Feld geprüft wird. (Belegart statt Belegnr.)

Hallo zusammen,

entschuldigt bitte meine späte Reaktion, leider hatte ich einiges um die Ohren.

Aber jetzt:
Ab sofort findet ihr auch die z. Zt. neueste Version dieses beliebten Reports.
Ich lege sogar noch einen drauf: Zusätzlich zum "Modify TableData" gibt es jetzt auch den Report "Delete TableData", mit welchem ihr nach dem gleichen Prinzip massenhaft Daten löschen könnt.

Einziger Haken:
Die aktuellste Version läuft bei mir mittlerweile unter der RunTime-Version NAV2009 SP1, von daher kann die FOB-Datei nur ab RunTime 2009 importiert werden.
Aus diesem Grund habe ich die Objekte als Textdatei beigefügt, wo schon die NAV2009-spezifischen Teile entfernt wurden.
Diese Textdatei sollte auch in älteren Versionen importiert werden können. (Mindestvoraussetzung: NAV 3.60)
Vorsicht: Beim Import einer Objekt-Textdatei überschreibt NAV ungefragt eventuell vorhandene Objekte.
(Enthalten sind die Reports 99900 und 99901 - Die Object-ID können jedoch in der Textdatei bedenkenlos geändert werden.)

Wie immer gilt:
Ihr solltet euch ganz sicher sein, was ihr macht!
Erst recht, wenn ihr die Ausführung des OnValidate und/oder OnModify-Trigger bzw. OnDelete-Trigger deaktiviert!
Für Schäden, welche aus der Benutzung eines dieser Reports entstehen wird nicht gehaftet.

Fehlende Codeunit

5. Februar 2010 10:30

Hallo Timo,
Timo Lässer hat geschrieben:Einziger Haken:
Die aktuellste Version läuft bei mir mittlerweile unter der RunTime-Version NAV2009 SP1, von daher kann die FOB-Datei nur ab RunTime 2009 importiert werden.
Aus diesem Grund habe ich die Objekte als Textdatei beigefügt, wo schon die NAV2009-spezifischen Teile entfernt wurden.
Diese Textdatei sollte auch in älteren Versionen importiert werden können. (Mindestvoraussetzung: NAV 3.60)


Wir arbeiten mit der Version 5.0 SP.
Aus diesem Grund habe ich ich versucht die Text-Datei zu importieren. Jedoch ist beim Import folgende Fehlermeldung erschienen.
Tabellen_aktualisieren_fehler_import.png

Ich habe die Passage der Requestpage ab Zeile 1732 entfernt.
Desweiteren ist der Fehler an weitern 3 stellen aufgetreten. Diese habe ich dann auch entfernt.
ab Zeile 2084 RDLDATA
ab Zeile 3149 REQUESTPAGE
ab Zeile 3342 RDLDATA
Anschliessend kann die Datei importiert werden.
Hier die modifizierte Textdatei
Modify TableData TL6.01.zip


Jedoch bekomme ich anschliessend beim Kompilieren des Objektes folgende Fehlermeldung: Codeunit 99988 exisitiert nicht.
Diese Codeunit habe ich nicht und ist auch nicht in den Objekten enthalten.

Ich habe mich damit aber nicht geschlagen gegeben. Porbierst du einfach die Objekte aus der FOB-Datei einzulesen. Das hat auch ohne Fehlermeldung geklappt. Ich verstehe nicht warum ich doch 2009er Objekte in 5.0 SP1 einlesen kann? :-?
[Ergänzung] Die Fob Datei lauft unter 5.0 SP1 mit den Build 27191. Jedoch nicht mit dem Build 26084. Die Fob Objekte bringen den Client zum Absturz.[Ende Ergänzung]

Der Report 99900 kann auch gestartet werden. Jedoch beim Ausführen des Reports verlangt er auch die Codeunit 99988. Die gleiche meldung beim Report 999001.
Kannst du uns die Codeunite auch noch spendieren?

Viele Grüsse aus Luxemburg
Jeannot
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von JEKE am 24. Februar 2010 16:21, insgesamt 1-mal geändert.

Re: Tabellendaten aktualisieren

5. Februar 2010 12:51

Kann die TL6.0 auch nicht als *.txt importieren. Navision Version: 4.0.

Grüße,
Sebastian

Re: Tabellendaten aktualisieren

5. Februar 2010 14:20

Upps, ich hatte die Textdatei doch überarbeitet :roll:

Die fehlenden Objekte (Codeunits,...) könnt ihr vorübergehend aus der 5.0er FOB-Datei nehmen.

Werde heute Abend das Paket aktualisieren.
Sorry!

Re: Tabellendaten aktualisieren

5. Februar 2010 14:35

Hallo Timo,
Timo Lässer hat geschrieben:Die fehlenden Objekte (Codeunits,...) könnt ihr vorübergehend aus der 5.0er FOB-Datei nehmen.
Sorry!


Nur zur Info, in der 5er fob, gibt es kein CU 99988
Tabellen_aktualisieren_Fehlende_CU.png


Viele Grüsse
Jeannot
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Tabellendaten aktualisieren/löschen

5. Februar 2010 21:24

So, habe die Objekte nochmals (vollständig) exportiert und aus der Textdatei die NAV2009-spezifischen Bereiche (RequestPage, RDLData, FIELDGROUPS) entfernt.
Ich hoffe, dass ihr nun in den vollen Genuss der aktuellsten Version dieses "Allround-Talents" kommen könnt.

Sorry nochmals für die Unannehmlichkeiten.

Re: Tabellendaten aktualisieren/löschen

8. Februar 2010 13:58

Hallo Timo,

anscheinend nicht ganz NAV09-frei:
"Die Wahlmöglichkeiten 'SourceTableTemporary=Yes;' ist nicht vorhanden."

Grüße,
Sebastian
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Tabellendaten aktualisieren/löschen

8. Februar 2010 15:49

Sebastian Pfliegel hat geschrieben:anscheinend nicht ganz NAV09-frei:
"Die Wahlmöglichkeiten 'SourceTableTemporary=Yes;' ist nicht vorhanden."

Die Option gab es schon in 5.0 (bzw. 5.0 SP1).

Re: Tabellendaten aktualisieren/löschen

8. Februar 2010 16:18

Timo Lässer hat geschrieben:Die Option gab es schon in 5.0 (bzw. 5.0 SP1).


Was mach ich nun als Nav 4.0-Nutzer?

Re: Tabellendaten aktualisieren/löschen

8. Februar 2010 18:20

Sebastian Pfliegel hat geschrieben:
Timo Lässer hat geschrieben:Die Option gab es schon in 5.0 (bzw. 5.0 SP1).


Was mach ich nun als Nav 4.0-Nutzer?

Prinzipiell wäre es möglich, wenn du in der Textdatei die Zeile (76) SourceTableTemporary=Yes; löscht (gehört zu OBJECT Form 99992 Keys).
Allerdings solltest du dann anschließend entweder im OnOpenForm ganz am Anfang oder im OnClose-Trigger folgenden Code hinzufügen:
Code:
RESET;
DELETEALL;

Es würde auch ohne diese Programmzeilen funktionieren, jedoch könnte es dann sein, dass in der Tabelle Schlüssel stehen, die es nicht mehr gibt.

Re: Tabellendaten aktualisieren/löschen

9. Februar 2010 11:44

Vielen Dank für den Tipp, funktioniert nun einwandfrei :)
Klasse Tool!

Re: Tabellendaten aktualisieren/löschen

16. April 2010 14:53

Hallo Timo,

Ich nutze das Tool ziemlich intensiv.
Habe jetzt aber das Problem, dass der Client crashed.
Das Problem besteht seid dem ich den Client mit dem Update2 der 5.0 SP1 aktualisiert habe. (Build 30488) Das ist die Version die für Windowss 7 freigegeben ist.
Ich habe das Tool auf der gleichen DB mit dem Client Build 27191 ausgeführt ohne Probleme. (nicht unter Windows 7)

Das Tool crashed sofort, nachdem ich die Meldung bestätigt habe, mit der Aufforderung die Daten zu sichern, bevor man loslegt.

Hast du eine Ahnung voran das liegt?

Viele Grüsse aus Luxemburg
Jeannot Keiser