Seite 1 von 1

Listen

Verfasst: Freitag 19. August 2005, 22:43
von Gast
Hallo!

Ich bräuchte mal ein wenig Hilfe.
Ich habe hier mit einer Systemumstellung zu kämpfen
und zwar wird unser altes System auf SAP/R3 umgestellt oder ist schon teilweise
umgestellt.
Jetzt sind im SAP alle Kostenstellen geändert worden.
Ich habe aber immer noch sehr viele Artikel die auf alte Kostenstellen zugeordnet sind.
Jetzt möchte ich ein kleines Programm Schreiben das einfach folgendes macht.
Ich gebe die alte Kostenstelle ein und es wirrd mir die neue Kostenstelle und
auch gleich die dazugehörige Abteilung ausgegeben.

Sollte in Etwa folgendermassen ausschauen.

Code: Alles auswählen

alte KST   neue KST  Abteilung
1               50              A
2               51              A
3               53              B
4               54              C
5               55              D
usw.
Wie ersichtlich können einer Abteilung mehrere Kostenstellen zugeordnet
sein, aber einer alten Kostenstelle kann nur genau eine neue Kostenstelle
zugeordnet sein.

Jetzt weiss ich nicht genau wie ich dieses Problem angehen soll.
Soll ich eine Liste anlegen oder ist es besser mit Dictionarys
zu Arbeiten, da kann mann ja das problem alte KST und neue KST
mit key:value lösen.
Was mir aber nicht so klar ist wie ordne ich mehrere KST nur einer
Abteilung zu. Da müsste ja der Abteilungsname der Schlüssel(key)
sein.
Oder währe es besser gleich alles auf einer Datenbank aufzubauen.
Es sind in etwa 500 Kostenstellen die ich auf etwa 20 Abteilungen
aufteilen muss.

Kann mir da bitte jemand einen Tip geben wie ich das Problem Angehen
soll.
Damit mich niemand falsch versteht ich will hier keine Lösung präsentiert haben
sondern nur mögliche Lösungsansätze.

Vielen dank schon im voraus für jede Hilfe.

gruss
gast :?:

Verfasst: Freitag 19. August 2005, 23:26
von Leonidas
Hallo Gast!

Mir ist einfach folgendes in den Kopf gekommen:

Code: Alles auswählen

kst2kst = {1 : 50, 2 : 51, 3 : 52, 4 : 54, 4 : 55}
abt2kst = {'A' : [50, 51], 'B' : [53], 'C' : [54], 'D' : [55]}
Ich weiß aber noch nicht in wie weit das deinen Anforderungen entspricht. Du kannst damit heruasfinden welche neue Kostenstelle welcher alten entspricht und umgekehrt und auch welche neue Kostenstelle zu welcher Abteilung gehört, als auch welche Abteilung welche Kostenstellen hat.

Verfasst: Samstag 20. August 2005, 00:14
von Joghurt
Weitere Möglichkeit:

Code: Alles auswählen

OldKSt2NewKSt={ 1: (50,'A'), 2:(51,'A'), 3:(52,'B')...}
Abteilungen={}
for value in OldKSt2NewKSt.itervalues():
    Abteilungen.setdefault(value[1],[]).append(value[0])
Dies erzeugt die Abteilungsliste automatisch.