VorgangID in allen Belegen verändern

Manuel Goldschmidt

Aktives Mitglied
Hallo zusammen,

gibt es eine Möglichkeit um alle Vorgangsnummern (EK & VK) zu ändern (verlängern nach Nummernmuster)
Wichtig wäre das es an allen Stellen in der Sage geändert wird.

Bspw.
Vorgang 2541 wird im EK zu 7002541
Vorgang 33 wird im EK zu 7000033

Also immer 7 stellig und im EK immer mit 7 beginnend und mit 0 aufgefüllt.

Im VK
Vorgang 4125 wird im EK zu 3004125
Vorgang 44 wird im EK zu 3000044

Ebenfalls immer 7 stellig und im VK immer mit 3 beginnend und ebenfalls mit 0 aufgefüllt.

Was meint Ihr?
 
Hallo Manuel,

machbar ist das. Habe mal bei uns in der Entwicklung gefragt:

"Denke das kann man mit meinem Tool machen. Muss aber dafür angepasst werden.
6 bis 8 Stunden würde ich dafür veranschlagen.
Das wäre eine Lauf über die komplette Datenbank. Es darf sich keiner im System befinden."

Viele Grüße
 
Anmerkung, es würde sich ja um eine Konto Nummer Erweiterung (KNE) handeln denke ich mal. In dem Zuge solltest Du auch die Kunden, Lieferanten Nummern etc. erweitern. So dass Du auch wieder konform bist beim Jahreswechsel. 7stellige Sachkonten, 8stellige Personen Konten.
Nur so ein Gedanke.
 
Es betrifft doch nur die Vorgangsnummer, das hat doch m.A. keinen direkten Bezug zu Sachkonten oder Personenkonten sondern dient nur der Verknüpfung von Belegen. Oder irre ich mich?
 
Moin,

Vorgangsnummer hat nichts mit KNE oder Kunden oder Sachkonten zu tun. Die wird "nur" sage intern genutzt und halt halt Vorgänge zusammen.
 
Folgende Abfrage schätzt den Aufwand ab:
SQL:
SELECT c.name AS Spalte ,
       t.name AS Tabelle,
       Z.Zeilen
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
JOIN
  (SELECT DISTINCT OBJ.name AS Tabelle ,
                   PART.rows AS Zeilen
   FROM sys.partitions AS PART
   INNER JOIN sys.dm_db_partition_stats AS STAT ON PART.partition_id = STAT.partition_id
   AND PART.partition_number = STAT.partition_number
   INNER JOIN sys.objects AS OBJ ON STAT.object_id = OBJ.object_id
   WHERE OBJ.type_desc = 'USER_TABLE'
     AND PART.rows>0) AS Z ON Z.Tabelle=t.name
WHERE (c.name LIKE 'VorID')
  AND t.name not like 'tKHK%'
 
Sie ermittelt die Anzahl und den Namen der betroffenen Tabellen, verlässt sich aber darauf das die VorgangsID in allen Tabellen und Partnerlösungen (auch XRM, Produktion) auch tatsächlich VorID heißt. Da würde ich jetzt spontan nicht drauf wetten.

Ansonsten geht das ganz "simpel", einfach alle Fremdschlüssel droppen, VorID+3000000, Fremdschlüssel wieder erzeugen, hoffen das es nicht knallt und von den geplanten 8 Stunden, 7 mit dem Test und Fehlerkorrektur verbringen, passt schon .... ;)
 
Es betrifft doch nur die Vorgangsnummer, das hat doch m.A. keinen direkten Bezug zu Sachkonten oder Personenkonten sondern dient nur der Verknüpfung von Belegen. Oder irre ich mich?
Nein Du irrst Dich nicht, wen Du nur die Vorgangsnummern ändern möchtest. Das geht auch ohne KNE Anpassung, hatte nur bei den EK Belegen die Nummer 7x vorne gesehen, das wird gerne verwendet, bei einem Datev konformen Kontenkreis und Belegkreis. Das spielt natürlich rein für die Nummerierung keine Rolle. Das kannst Du handhaben wie Du es willst.
 
Zurück
Oben