im Ausdruck Mahnung (FRDCMMAHNMB) wird oben der Sachbearbeiter nicht mit angedruckt. Das Feld (UZEICH1) bezieht sich auf einen V_BMAHN.
Im View ist der zwar eingetragen, aber in der Tabelle BMAHN finden sich keine Einträge zu UZEICH1, UZEICH2 oder UZEICH3.
Wir haben da aktuell 2 Einträge in der Tabelle, wo die Felder UZEICH aber nicht gefüllt sind.
Ich habe mir mal die Abhängige Prozedur angesehen (P_BMAHN_EINTRAGEN), da finde ich auch keinen Eintrag zu UZEICH, der COde:
Code: Alles auswählen
BEGIN
/* LETZTER STAND 14.10.2008 15:27:28 HB */
/* Protokollieren, dass Aktion hier durchgelaufen ist */
IF (GEN_ID(GEN_ENTWICKLUNG,0) = 0) THEN
INSERT INTO A_WASMACHTIB (PROGRAMMTEIL) VALUES ('P_BMAHN_EINTRAGEN');
EXECUTE PROCEDURE P_BFIRMA_JANEIN RETURNING_VALUES (:SJA, :SNEIN);
/* Anzahl der Tage aus dem Firmenstamm holen, die von Rechnungserstellung bis
Mahnungsersetllung vergehen dürfen */
SELECT MAHNSTUFEN
FROM BFIRMA
WHERE ID = 1
INTO :BFIRMA_MAHNSTUFEN;
FOR SELECT ID,
MAHNTAGE,
BADR_ID_ADRNR
FROM BKUNDE
ORDER BY ID
INTO :BKUNDE_ID,
:BKUNDE_MAHNTAGE,
:BKUNDE_BADR_ID
DO
BEGIN
/* Für jeden Kunden die offenen Rechnungen durchgehen (es ist kein Zahlungsdatum
angegeben) */
FOR SELECT A.ID,
A.BMAND_ID
FROM BRRC A
LEFT OUTER JOIN BSM B ON A.BSM_ID_VERANT = B.ID
WHERE A.BKUNDE_ID_LINKKEY = :BKUNDE_ID AND
A.ZAHLDATUM IS NULL AND
A.RGGEDRUCKT = :SJA AND
A.RECHNUNGSART = 'R'
INTO :BRRC_ID,
:BMAND_ID
DO
BEGIN
EXECUTE PROCEDURE P_BRRC_ZAHLZIEL_ERMITTELN(:BRRC_ID,'BRRC')
RETURNING_VALUES(:BRRC_MAX_ZAHLZIEL);
/* In der Rechnung sind keine Zahlungsinformationen enthalten, dann die
Infos aus dem Kundenstamm holen */
IF (BRRC_MAX_ZAHLZIEL IS NULL) THEN
BEGIN
EXECUTE PROCEDURE P_BRRC_ZAHLZIEL_ERMITTELN(:BRRC_ID,'BKUNDE')
RETURNING_VALUES(:BRRC_MAX_ZAHLZIEL);
/* Wenn auch keine Informationen im Kundenstamm hinterlegt sind,
dann Heute + Zahlungsziel für den Kunden */
IF (BRRC_MAX_ZAHLZIEL IS NULL) THEN
BRRC_MAX_ZAHLZIEL = CURRENT_DATE + BKUNDE_MAHNTAGE;
END
/* Prüfen, ob eine Mahnung erstellt werden soll; wenn (RECHNUNGSDATUM) plus
(MAHNTAGE) plus Zahlungstermin > Heute (laut Pflichtenheft über x Tage)*/
IF ((BRRC_MAX_ZAHLZIEL + BKUNDE_MAHNTAGE) < CURRENT_DATE) THEN
BEGIN
/* Prüfen, ob bereits Mahnung angelegt ist */
SELECT ID
FROM BMAHN
WHERE BRRC_ID = :BRRC_ID AND
BKUNDE_ID = :BKUNDE_ID
INTO :BMAHN_ID;
/* Wenn noch keine Mahnung existiert, dann wird eine angelegt */
/* Mahndatum1 wird erst angelegt, wenn die Mahnung gedruckt wurde */
IF (BMAHN_ID IS NULL) THEN
BEGIN
BMAHN_ID = GEN_ID(GEN_BMAHN,1);
INSERT INTO BMAHN(
ID,
BKUNDE_ID,
BADR_ID,
BRRC_ID,
MAHNSTATUS,
MAHNUNG1,
MAHNNOTIZ1,
BMAND_ID,
AKTIV_JN)
VALUES(
:BMAHN_ID,
:BKUNDE_ID,
:BKUNDE_BADR_ID,
:BRRC_ID,
:SNEIN,
:SNEIN,
F_STRBLOB('Diese Mahnung wurde automatisch erstellt'),
:BMAND_ID,
:sJA);
END
END
BRRC_ID = NULL;
BMAHN_ID = NULL;
BMAND_ID = NULL;
END /* Ende BRRC */
BKUNDE_ID = NULL;
BKUNDE_BADR_ID = NULL;
END /* Ende BKUNDE */
/* Prüfung, ob bereits eine neue Mahnstufe angelegt werden muss */
/* Behandelt alle Mahnungen, die noch nicht abgeschlossen sind */
FOR SELECT ID,
MAHNDATUM1,
MAHNDATUM2
FROM BMAHN
WHERE MAHNSTATUS = :SNEIN
INTO :BMAHN_ID,
:BMAHN_MAHNDATUM1,
:BMAHN_MAHNDATUM2
DO
BEGIN
/* Erste Mahnstufe ist gedruckt (somit auch versendet) und Kunde hat nicht reagiert
--> Telefonische Mahnung (Mahnstufe 2) wird angelegt */
IF (((BMAHN_MAHNDATUM1 + BFIRMA_MAHNSTUFEN) < CURRENT_DATE) AND
(BMAHN_MAHNDATUM1 IS NOT NULL) AND
(BMAHN_MAHNDATUM2 IS NULL)) THEN
BEGIN
/* MAHNDATUM2 wird erst gesetzt, wenn die telefonische Mahnung gemacht wurde */
UPDATE BMAHN
SET MAHNUNG1 = :SJA,
MAHNUNG2 = :SNEIN,
MAHNNOTIZ2 = F_STRBLOB('Mahnstufe 2 wurde automatisch erzeugt, da Kunde ' ||
'nicht auf schriftliche Mahnung reagiert hat')
WHERE ID = :BMAHN_ID;
END
/* Erste Mahnstufe ist gedruckt (somit auch versendet) und Kunde hat nicht reagiert
--> Telefonische Mahnung (Mahnstufe 2) wird angelegt */
IF (((BMAHN_MAHNDATUM2 + BFIRMA_MAHNSTUFEN) < CURRENT_DATE) AND
(BMAHN_MAHNDATUM2 IS NOT NULL)) THEN
BEGIN
/* MAHNDATUM2 wird erst gesetzt, wenn die telefonische Mahnung gemacht wurde */
UPDATE BMAHN
SET MAHNUNG2 = :SJA,
MAHNUNG3 = :SNEIN,
MAHNNOTIZ3 = F_STRBLOB('Achtung!!! Kunde hat 3. Mahnstufe erreicht. ' ||
'Juristische Schritte einleiten!')
WHERE ID = :BMAHN_ID;
END
BMAHN_ID = NULL;
END
ENDGruß
Thomas