2.25 WEPBnummer - Prüf-Nr. CAQ aus Nummernkreisparameter
WEPBnummer( scsNKkey, scsTermin, scsNummerOut );
 
Argumente
scsNKkey: Fixer Keyteil, max. 4 lang. Wird ggf. mit Leerzeichen ergänzt
scsTermin:
 8-stelliger Termin (JJJJMMTT). Daraus wird Jahr und Monat für die Schlüsselfindung und die Bildung der Prüfberichtsnummer entnommen
scsNummerOut:
Rückgabewert. Ermittelte 8-stellige Prüfberichtsnummer:
Pos. 1
2-stellige Jahreszahl, z.B. 05 für 2005
Pos. 3
2-stellige Monatszahl, z.B. 09 für September
Pos. 5
lfd. Prüfberichtsnummer (4-stellig mit Vornullen)
Rückgabewert
0
Alles in Ordnung
ungleich 0
Kernsystemfehler nach Lesen, Schreiben oder Update. Das Programm gibt bereits eine zu quittierende Meldung aus. Im Skript ggf. Errorbehandlung aussetzen, damit bei Fehler nicht abgebrochen wird. Es wird der Fehlercode des Datenbankzugriffs mitgegeben und in scsNummer werden Leerzeichen anstelle der laufenden Nummer zurückgegeben. Wenn nur der Update auf den Nummernkreisparameter schief geht, ist scsNummer schon korrekt versorgt
Beschreibung
Bildung einer Wareneingangsprüfberichtsnummer für CAQ aus der laufenden Nummer eines Nummernkreisparameters, einer Jahres- und Monatsangabe. Der Schlüssel des Nummernkreisparameters (Datei 1) wird aus dem übergebenen fixen Teil (scsNKkey) und dem übergebenen Termin (scsTermin) ermittelt. Falls der Parameter noch nicht angelegt ist, wird er automatisch angelegt. Parameteraufbau:
Pos. 1
 Fixer Keyteil aus scsNKkey (z.B. NKPB)
Pos. 5
2-stellige Jahreszahl, z.B. 05 für 2005
Pos. 7
2-stellige Monatszahl, z.B. 09 für September
Pos. 10
lfd. Prüfberichtsnummer in N6-Format, aber es werden nach Formatierung immer die rechten 4 Stellen genommen (also max. 9999 Nummern je Monat). Ein Überlauf wird nicht geprüft
Beispiel
………….(Auszug aus 742-ZB.IPS)
String(strCAQterm, strCAQnummer);
AssignString(strCAQnummer,"        ");
BufQueryStringFromField(strBEW,2,strCAQterm); //Buch.datum
WEPBnummer("WEPB",strCAQterm, strCAQnummer);
BufSetFieldFromString(strBEW,76,strCAQnummer);