infra:NET Expert
 
×
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.kennung
    Fertigung 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 Schema
    Feld 10, MEK Eigenfertigung 
    "0,00"  
    * Feld 11, MEK Herkunft
    SPACE, nur wenn Feld 9 auf "0"
    Feld 12-45  
    SPACE 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: Preis 
    Feld  9: "1" für manuelle Preisfindung   
    Feld 11: Kennzeichen für Preisherkunft
  • Kalkulationsstufenermittlung
    Stufe 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ückliste      
    rettBFstl$ 
    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
 
  • Locksystematik  
    Datei STUELI.DAT
    FILEPROT, falls konfiguriert
    Datei KALKULAx.DAT
    FILEPROT, Freigabe nach einem Durchlauf. Sperre erst nach Auslösen Selektionen.  
    Parameter P600DAT
    SINGLE, Freigabe sofort danach durch Update 
    Parameter PVNK
    SINGLE, Freigabe sofort danach durch Update (Absturzkennung)   
    Kalkulationssatz
    SINGLE, Freigabe durch Update oder Sperre anderer Satz  
    Falls Satz gesperrt und Kernsystemmeldung wird mit ESC quittiert: Programmende.
  • (Druck-)Ausgabe
    Ausgabe 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 Verwendung          
    Die 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.