infra:NET Expert
 
×
5.5 Kundenauftrag durchrechnen (mit Diagnose)
LONG KA_AB_Abgleich(scsBFkko, lKkoisn, lKopfDat, lAction, lPosWerte, scsZuFaktOhneAF, lAnzFehler, scsFehler)
 
Argumente
scsBFkko:
 
 
Auftragskopf bzw. Angebotskopf je nach lKopfDat.
Satz muss im Echtlauf gesperrt sein (lAction != 2)
lKkoisn:
ISN zum Auftragskopfpuffer scsBFkko
lKopfDat:
38 für Datei 38 bei Aufträgen und 49 bei Angeboten
lAction:
1
Eingeschränkte Diagnose ohne Meldungen, immer Korrektur (aus 435 usw.)
 
2
Diagnose und Probelauf (aus SIBD04, M9964)
 
3
Diagnose und Echtlauf (aus SIBD04, M9964)
 
4
wie 1, aber Positionswerte neu rechnen (aus AUF438). Wird intern sofort auf 1 gesetzt und Variable bAction4 wird gesetzt.
 
5
„Nur“ zu fakturierenden Betrag rechnen (ohne F-Zeile / A-Zeile). Aufruf aus AUF435. Rückgabe in scsZuFaktOhneAF.
lPosWerte (wird nur bei lAction = 2 oder 3 ausgewertet):
 
0
Positionswerte nicht neu rechnen
 
1
Positionswerte neu rechnen
scsZuFaktOhneAF:
 
Zu fakturierender Betrag ohne A- und F-Zeilen. Formatiert wie Feld 25 in Datei 47
lFehler:
 
Anzahl Fehler (max. 500), Text steht in scsFehler
scsFehler:
 
Jeder Fehler wird als Text mit folgendem Aufbau übergeben:
20 Zeichen für den alten Wert
20 Zeichen für den neuen Wert
89 Zeichen Meldungstext
Satzpuffer Datei 47 mit Länge laut DD
Sind also mehrere Korrekturen erforderlich werden entsprechend lange Texte mehrfach hintereinander übergeben (Anzahl steht in lFehler).
Rückgabewert
0
Alles in Ordnung
< 0
Fehler
Beschreibung
Funktion zur Diagnose und Aktualisierung von Kundenaufträgen und Angeboten. Folgende Prüfungen/Korrekturen durchgeführt:
  • Auftragswerte im Kopf samt Roherlös aus den Positionen
  • G-Zeile wird aus K-Zeilen abgeglichen
  • K-Zeile wird aus S-Zeilen abgeglichen
  • Zeilentypen werden überprüft (was passt zueinander)
  • Positionswerte werden neu gerechnet
  • …………..
 
Nachfolgende Detail-Beschreibung ist nicht aktuell
Die Funktion wird momentan in den Programmen 169, 24A, 434, 435, 438, 448,  453, 459 und SIBD04 eingesetzt (43A benutzt eigene Funktion KopfupdAUF). Im Detail wird folgendes gemacht:
  • Fehlerhafte Zeilentypen, Auftragsarten usw. werden bemerkt und für die Diagnose auch ausgegeben. In Programmen wie 435 ist dies ohne Bedeutung und wird ignoriert, ebenso Systemfehler und dergleichen.
  • In Dispo werden folgende Felder aktualisiert:
    Zustand (Feld 2) bei Set, Gutschrift, Abruf)
    Änderungsdatum (Feld 6)
    Sachbearbeiterkürzel (Feld 57)
    G-Zeile: Restmenge aus Auftragsmenge minus Summe K-Zeilenauftragsmengen (F23).
    G-Zeile: Gelieferte Menge aus Summe K-Zeilen (F25)
    G-Zeile: Berechnete Menge aus Summe K-Zeilen (F27)
    K-Zeile: Preis netto in LW (Feld 36 aus Feld 23 DISP-AUF). Wenn K-Zeile gilt oder bei VARGEN
  • In DISP-AUF werden folgende Felder aktualisiert:
    Änderungsdatum (Feld 6)
    Auftragswert brutto (Feld 78), wenn der Wert vorher „0“ war (da neues Feld ab V5.2g)
    Auftragsart (Feld 8) aus Kopf
    Kennung SET (Feld 46 und 57)
    K-Zeile: Positionswert aus Summe S-Zeilen (F50). Wenn K-Zeile gilt oder bei VARGEN
    K-Zeile: Rohertrag aus Summe S-Zeilen (F51). Wenn K-Zeile gilt oder bei VARGEN
    K-Zeile: Bruttowert aus Summe S-Zeilen (F78). Wenn K-Zeile gilt oder bei VARGEN
    K-Zeile: Preis brutto in FW (Feld 23 aus Feld 50). Wenn K-Zeile gilt oder bei VARGEN
    K-Zeile: Wert netto in FW (F25). Wenn K-Zeile gilt oder bei VARGEN
    K-Zeile: Wert brutto in LW (F24). Wenn K-Zeile gilt oder bei VARGEN
    K-Zeile: Wert/Preis gilt (F22) auf „1“. Wenn K-Zeile gilt oder bei VARGEN
    K-/S-/G-Zeilen: Je nach Eingang werden alle Werte aus Bruttopreis in Fremdwährung (Feld 23) neu errechnet.
  • Im Kopf (Auftrag oder Angebot) werden folgende Felder aktualisiert:
    Feld 2,3,4 (Status und Zustand min/max)
    Feld 6 (Änderungsdatum)
    Feld 38 (Auftragswert ohne Kopfrabatt)
    Feld 39 (Rohertrag ohne Kopfrabatt)
    Feld 69 (Gewicht)
    Feld 90 (Auftragswert netto)
    Feld 94 (Auftragswert brutto)
    Feld 95 (rabattfähiger Auftragswert)
    Feld 96 (skontofähiger Auftragswert)
    Feld 97 (Rohertrag mit Kopfrabatt)
    Feld 100/104/105 bei Space auf „0“