1 Allgemeines
Das Programm bereitet die Kalkulationsarbeitsdatei für die Vorkalkulation vor. Es erfolgt entweder ein kompletter Neuaufbau mit Ermittlung der Kalkulationsstufen oder nur eine Initialisierung bestimmter Felder in bereits vorhandenen Kalkulationssätzen. Je nach Anwahl können bereits beim Aufbau der Datei Preise als Materialeinzelkosten abgestellt werden.
-
Nur Initialisierung
-
Alle Sätze bleiben erhalten. Die Felder werden folgendermaßen versorgt:Feld 2, Datum"000000"* Feld 7, Kalk.kennungFertigung bzw. Einkaufsteil* Feld 8, Preis (MEK)"0,00", nur wenn Feld 9 auf "0",Ggf. Preis laut MEK-Preisfindung (s.u.)* Feld 9, Kennung Preis manuell "0"= Preis aus SchemaFeld 10, MEK Eigenfertigung"0,00"* Feld 11, MEK HerkunftSPACE, nur wenn Feld 9 auf "0"Feld 12-45SPACE bzw. "0"Die mit "*" gekennzeichneten Felder werden nur versorgt, wenn dies so konfiguriert wurde.
-
MEK-Preisfindung
-
Je nach Auswahl im ersten Schirm wird der angegebene Preis bezogen auf die Lagermaßeinheit und Preiseinheit im MEK-Feld abgestellt. Dies geschieht nur bei Einkaufsteilen, sowohl bei der Initialisierung als auch bei der Stufenermittlung. Fehlt ein Umrechnungssatz für die Preisberechnung je Lagermaßeinheit wird mit Umrechnungsfaktor 1 gerechnet! Folgende Felder werden versorgt:Feld 8: PreisFeld 9: "1" für manuelle PreisfindungFeld 11: Kennzeichen für Preisherkunft
-
KalkulationsstufenermittlungStufe wird über Strukturauflösung ermittelt. Auch Materialzeilen aus Arbeitsplänen werden berücksichtigt. Existiert ein Extra-Arbeitsplan wird auch dieser berücksichtigt (Reihenfolge Extra oder normal ist konfigurierbar). Ein Arbeitsplan gilt als vorhanden, wenn einer der Zeilentypen A/M/Z/T vorhanden ist. Falls z.B. für Teil 1 ein AP existiert mit T-Zeile wird kein Extra-AP ausgewertet, auch wenn dort M-Zeilen vorhanden sind. Für die Existenzprüfung werden Stati der Arbeitsgänge und Teilestämme nicht berücksichtigt.Stücklistenpositionen mit Status <> SPACE oder Auflösungsdatum außerhalb Gültigkeitsbereich werden nicht berücksichtigt. Scheinbaukästen werden wie "normale" Stücklisten behandelt. Arbeitsgänge mit Status <> SPACE werden nicht berücksichtigt. Teile mit Status ungleich "P/L/E/ " werden nicht berücksichtigt, auch nicht die Stücklistenpositionen oder Arbeitsgänge.Wegen des Feldes 5 (Stückliste da) wird in der Stückliste immer ein Satz vorgelesen. Dann erst erfolgt der Eintrag in die Kalkulationsdatei, da dann klar ist, ob eine Stückliste existiert.stlteil$Einzutragende Teilenummer aus StücklisterettBFstl$Teilestammsatz zu stlteil$rettBFstl1$Gerettete Teilestamm aus aktueller Position, während voriges Teil eingetragen wird.rettEIstufe%Gerettete Stufe zu stlteil$Zu jeder Komponente, die eingetragen wird, wird geprüft, ob Materialpositionen im Arbeitsplan da sind. Falls ja, auch eintragen. Der Arbeitsplan zu dem Primärteil, das aktuell aufgelöst wird, wird erst am Ende gelesen. Das Primärteil wird erst am Ende der Strukturauflösung in die Kalk.datei eingetragen, aber die Ausgabe am Schirm bzw. auf Liste erfolgt vor der Auflösung.
Erklärung an folgendem Beispiel:
|
AAA
|
XXX
|
GGG
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ZZZ
|
YYY
|
HHH
|
|
|
|
|
CCC
|
-------------------> Arbeitsplan mit Teil XXX und AAA
| ||
|
|
|
|
| ||
|
------------------------
|
|
| ||
|
|
|
|
|
|
|
|
|
|
BBB
|
DDD
|
EEE
|
------> zu BBB Arbeitsplan mit YYY
| |
|
|
|
|
| ||
|
|
FFF
|
| ||
Falls keine Teile ausselektiert werden (Variable mitsel%=false%, alle Angaben auf LOW-HIGH bzw. "J"), ist sichergestellt, dass alle Teile irgendwann aufgelöst werden. Beispiel oben:
|
AAA
|
|
Stufe 0
|
|
|
|
|
ZZZ
|
|
Stufe 1
|
|
|
BBB
|
|
Stufe 0
|
|
|
|
*
|
YYY
|
|
Stufe 1
|
aus Arbeitsplan, war noch nicht dran, daher vormerken mit "M" im Feld 5. Wenn Teil später aufgelöst wird, mit hier ermittelter Stufe beginnen und "M" austragen
|
|
|
YYY
|
|
Stufe 1
|
* Teil YYY war vorgemerkt, Start mit Stufe 1
|
|
CCC
|
|
Stufe 0
|
|
|
|
|
BBB
|
|
Stufe 1
|
war schon mit Stufe 0 in Datei, bekommt jetzt 1
|
|
|
YYY
|
Stufe 2
|
* Teil YYY wird vorgemerkt mit "M", siehe oben
| |
|
|
DDD
|
|
Stufe 1
|
|
|
|
EEE
|
|
Stufe 1
|
|
|
|
FFF
|
Stufe 2
|
|
|
|
*
|
XXX
|
|
Stufe 1
|
wird vorgemerkt mit "M", wie oben YYY
|
|
*
|
AAA
|
|
Stufe 1
|
aus Arbeitsplan. War schon dran und ist mit einer kleineren Stufe eingetragen. Daher sofort in Array apmisn& vormerken mit ISN Teilestamm und Stufe. Nach Auflösung der aktuellen Struktur werden vor dem sequentiell nächsten Teil die vorgemerkten Teile aufgelöst!
|
|
|
AAA
|
|
Stufe 1
|
* Teil AAA war vorgemerkt, Start mit Stufe 1
|
|
|
ZZZ
|
Stufe 2
|
|
|
|
(DDD)
|
|
wird nicht aufgelöst, da schon mit Stufe 1 (größer 0!) vorgemerkt.
| ||
|
(EEE)
|
|
analog
|
|
|
|
(FFF)
|
|
analog
|
|
|
|
GGG
|
|
Stufe 0
|
|
|
|
|
HHH
|
|
Stufe1
|
|
|
|
XXX
|
|
Stufe 1
|
war schon in Datei, aber mit "M" markiert, also auflösen ab der angegebenen Stufe.
|
|
|
YYY
|
Stufe 2 "M"-Vormerkung wird ausgetragen
| ||
|
(YYY)
|
|
analog zu DDD nicht auflösen, da schon dran.
| ||
|
(ZZZ)
|
|
analog zu DDD nicht auflösen, da schon dran.
| ||
Falls selektiert wurde, ist nicht sichergestellt, dass die oben mit "M" gekennzeichneten Einträge (M-Zeilen aus AP) irgendwann aufgelöst werden. Daher werden die Materialzeilen hier auch in das Vormerkarray eingetragen, wenn das Teil noch nicht in der Kalkulationsdatei steht. Auch bei schon aufgelösten Teilen wird zusätzlich vorgemerkt, wenn das Teil bereits mit Kennung "M" drin steht. Kann nur aus aktueller Strukturauflösung resultieren. Wichtig wegen ggf. anderer Stufe !
Wie immer werden Teile, die schon eingetragen sind und wieder über Arbeitsplan auftauchen, vorgemerkt, falls Stufe größer als aktuelle. Obiges Beispiel, wenn selektiert wird:
|
AAA
|
|
Stufe 0
|
|
|
|
|
ZZZ
|
|
Stufe 1
|
|
|
BBB
|
|
Stufe 0
|
|
|
|
*
|
YYY
|
|
Stufe 1
|
|
|
|
YYY
|
|
Stufe 1
|
* Teil YYY war vorgemerkt, Start mit Stufe 1.
|
|
|
CCC
|
|
Stufe 0
|
|
|
|
BBB
|
|
Stufe 1
|
|
|
*
|
YYY
|
|
Stufe 1
|
|
|
|
DDD
|
|
Stufe 1
|
|
|
|
EEE
|
|
Stufe 1
|
|
|
|
FFF
|
Stufe 2
|
|
|
|
*
|
XXX
|
|
Stufe 1
|
|
|
*
|
AAA
|
|
Stufe 1
|
|
|
|
AAA
|
|
Stufe 1
|
* Teil AAA war als letztes vorgemerkt, Start mit Stufe 1
|
|
|
ZZZ
|
Stufe 2
|
|
|
|
|
XXX
|
|
Stufe 1
|
|
|
|
YYY
|
Stufe 2
|
|
|
|
|
YYY
|
|
Stufe 1
|
* Teil YYY war vorgemerkt. Anders als ohne Selektion!
|
|
GGG
|
|
Stufe 0
|
|
|
|
|
HHH
|
|
Stufe 1
|
|
-
LocksystematikDatei STUELI.DATFILEPROT, falls konfiguriertDatei KALKULAx.DATFILEPROT, Freigabe nach einem Durchlauf. Sperre erst nach Auslösen Selektionen.Parameter P600DATSINGLE, Freigabe sofort danach durch UpdateParameter PVNKSINGLE, Freigabe sofort danach durch Update (Absturzkennung)KalkulationssatzSINGLE, Freigabe durch Update oder Sperre anderer SatzFalls Satz gesperrt und Kernsystemmeldung wird mit ESC quittiert: Programmende.
-
(Druck-)AusgabeAusgabe ist hier nicht von Bedeutung, mit Ausnahme der Fehlerzeilen und zur Kontrolle, ob Stufenermittlung korrekt läuft. Bei der Stufenermittlung wird die Reihenfolge der Auflösung protokolliert. Das Teil, das aufgelöst wird, beginnt ganz vorne in der Zeile, seine Komponenten sind eingerückt. Arbeitsplan-Zeilen sind mit "*" zu Beginn der Zeile gekennzeichnet. In Klammer steht die ermittelte Stufe zum aktuellen Zeitpunkt. Ein "*" am Anfang steht für Auflösung eines Teils, das aus einer AP-Materialposition stammt (s.o.).
-
In der Datei VNK611.ASC werden Fehler protokolliert. Die Datei wird im Datenverzeichnis angelegt (APPEND!, also von Zeit zu Zeit löschen). Start und Ende für jeden Durchlauf, Ende Programm, Abbruch, Systemfehler und Fehler wie "Teil in sich selbst verwendet", "mehr als 1000 AP-Materialzeilen vorzumerken", "Getfehler bei TSS" werden geschrieben. Die Variable basfehler% = 100 verhindert, dass beim Schließen der Datei und Fehler eine Endlosschleife entsteht (da nach BASIC-Fehler wieder GOTO clos).
-
Stufenermittlung über VerwendungDie entsprechenden Teile sind auskommentiert ('ek), da durch die "Vormerktechnik" nicht nötig. Zur Sicherheit noch drin, aber ungetestet und evtl. noch nicht durchdacht. Aus altem tg-Programm übernommen.
