6. Oktober 2009 10:24
Hallo navoo,
zunächst ein "Herzlich Willkommen" hier im Forum (als aktives Mitglied)
Interessantes Thema
Ich kenne nur den Befehl
INCSTR, dieser kann allerdings nur einen String um 1 hochzählen, deine Anforderung ist etwas "Spezieller".
Was du benötigst, wäre vermutlich eine neue Codeunit bzw. neue Funktion in der CU NummernSerienverwaltung.
Das währe meine Idee dazu (bin auf andere Lösungen gespannt)
Gegeben ist z.B. 'AAAA'
1. Die vier Ziffern müssten vermutlich in 4 einzelne Zeichen zerlegt werden (Text1 = 'A' - Text4 = 'A')
2. Per Übersetungstabelle (A = 1 ... Z = 26) eine Ziffer zuweisen (Text1Nr = '1' - Text4Nr = '1')
3. Die letzte Ziffer um 1 (eins) hochzählen (Text4Nr +=1)
4. Prüfen ob die Ziffer nicht größer 26 ist, wenn ja die nächste hochzählen, Prüfen usw.
5. Die Ziffern wieder zurückübersetzten anhand der Übersetztungstabelle
6. Die Buchstaben wieder zu einem String vereinen = AAAB
Ggf. müsste noch abgefangen werden, wenn mit einem Zeichen gestartet werden soll!
**Edit by Mikka**
Wenn die Nummern zu einer Zahl zusammen zusammen gefügt werden (z.B. 1111) und dann um eins hochgezählt werden, kann das "lästige" prüfen vereinfacht werden.
Nach dem Hochzählen, die Ziffer zerlegen (in einzelne!) und wie unter 5. weiter verfahren.