Bestellung vs. Lieferanten-Rahmenauftrag
Moderator: SYNERPY
- 
				nbrommer
- Beiträge: 54
- Registriert: Di Jan 17, 2006 2:21 pm
- Wohnort: Hamburg
Bestellung vs. Lieferanten-Rahmenauftrag
Hallo,
wir sind auf folgendes Problem bei der Bestellungen gestossen:
- wenn wir eine Bestellung für ein Artikel, zu dem ein Rahmenauftrag existiert erfassen, z.B. Menge 500 Stck., die Bestellung drucken und als "Gedruckt" markieren, danach aber die Menge auf z.B. 400 Stck. korrigieren oder aber die Bestellung ganz löschen, wird die verbrauchte Menge im Rahmenauftrag weder geändert oder (beim Löschen der Bestellung) zurückgesetzt.
Das führt dazu, daß wir bei den Rahmenaufträgen falsche verbrauchte Mengen haben.
Wie können wir diesen Fehler korrigieren?
			
			
									
						
							wir sind auf folgendes Problem bei der Bestellungen gestossen:
- wenn wir eine Bestellung für ein Artikel, zu dem ein Rahmenauftrag existiert erfassen, z.B. Menge 500 Stck., die Bestellung drucken und als "Gedruckt" markieren, danach aber die Menge auf z.B. 400 Stck. korrigieren oder aber die Bestellung ganz löschen, wird die verbrauchte Menge im Rahmenauftrag weder geändert oder (beim Löschen der Bestellung) zurückgesetzt.
Das führt dazu, daß wir bei den Rahmenaufträgen falsche verbrauchte Mengen haben.
Wie können wir diesen Fehler korrigieren?
Norbert B.
			
						- 
				nbrommer
- Beiträge: 54
- Registriert: Di Jan 17, 2006 2:21 pm
- Wohnort: Hamburg
Hallo,
mittelweile habe ich eine Lösung gefunden und zwar im Trigger BBESP_AU0 von der Tabelle BBESP (After Update) habe ich folgende Zeilen eingefügt (mit Kommentar markiert):
danach funktionierte die Korrektur und die Verbrauchte Menge im Rahmenauftrag ist jetzt richtig.  
 
Grüße
			
			
									
						
							mittelweile habe ich eine Lösung gefunden und zwar im Trigger BBESP_AU0 von der Tabelle BBESP (After Update) habe ich folgende Zeilen eingefügt (mit Kommentar markiert):
Code: Alles auswählen
  ...
    IF (NEW.BESTMENGE <> OLD.BESTMENGE) THEN
    BEGIN
      UPDATE BBESPD
      SET MENGE = (MENGE / OLD.BESTMENGE * NEW.BESTMENGE)
      WHERE BBESP_ID_LINKKEY = OLD.ID;
     /* Die Menge im Lieferanten-Rahmenauftrag korrigieren  */
      IF (BBESP.BABES_ID > 0) then
         UPDATE BABES
         SET BABES.VERB_MENGE = BABES.VERB_MENGE - OLD.BESTMENGE + NEW.BESTMENGE
         WHERE BABES.ID = BBESP.BABES_ID;
      /* Leere Lagerbuchung machen */
      FOR SELECT A.ID, A.BARTLH_ID_LAGERNR
      FROM BBESPD A
      WHERE A.BBESP_ID_LINKKEY = NEW.ID
      INTO :BBESPD_ID, :BBESPD_BARTLH_ID
      DO
        EXECUTE PROCEDURE P_BARTLHBU01 (:BBESPD_BARTLH_ID, :BBESPD_ID, 'BB', 0);
    END
    ...
 
 Grüße
Norbert B.
			
						- 
				nbrommer
- Beiträge: 54
- Registriert: Di Jan 17, 2006 2:21 pm
- Wohnort: Hamburg
Hi, 
das selbe betrifft auch Löschen von Bestellungen. Dabei muss aber der Trigger BBESP_AD0 (After delete) von der Tabelle BBESP
funktioniert prima!
Ich hoffe, daß dieses Problem in dem nächsten Relase von AVERP behoben ist. 
 
Grüße
			
			
									
						
							das selbe betrifft auch Löschen von Bestellungen. Dabei muss aber der Trigger BBESP_AD0 (After delete) von der Tabelle BBESP
Code: Alles auswählen
  ...
  IF (USER <> 'WORSTCASE') THEN
  BEGIN
    EXECUTE PROCEDURE P_BFIRMA_JANEIN RETURNING_VALUES :sJa, :sNein;
  
    /* OLD.BBES_ID_LINKKEY IS NULL wird bereits in BeforeDelete geprüft */
    SELECT GEDRUCKT
    FROM BBES A
    WHERE A.ID = OLD.BBES_ID_LINKKEY
    INTO :sGEDRUCKT;
    /* Die Menge im Lieferanten-Rahmenauftrag korrigieren  N. Brommer 02.2007 */
    IF (OLD.BABES_ID > 0) then
      UPDATE BABES
      SET BABES.VERB_MENGE = BABES.VERB_MENGE - OLD.BESTMENGE
      WHERE BABES.ID = OLD.BABES_ID;
  
    IF (sGEDRUCKT IS NULL) THEN sGEDRUCKT = sNein;
  
    /* Summe der Felder EKGesamt der Positionen ermitteln */
    EXECUTE PROCEDURE P_BBES_NEUBERECHNUNG(OLD.BBES_ID_LINKKEY);
  END
  ...
Ich hoffe, daß dieses Problem in dem nächsten Relase von AVERP behoben ist.
 
 Grüße
Norbert B.
			
						- 
				festus01
- Beiträge: 515
- Registriert: Di Okt 19, 2004 5:45 am
- Wohnort: Diepholz
Hallo,
 
 
Wir haben hier jetzt das gleiche Problem.
Durch die Änderung der Trigger funktioniert es jetzt nur,
wenn die Bestellmenge geändert wird, aber was ist mit dem Wareneingang
Wird hier nämlich wenige als bestellt geliefert wird im Rahmenauftrag weiterhin die bestellte Menge angezeigt
Kann man da noch mit einer Lösung rechnen
			
			
									
						
							Leider bis heute nicht.nbrommer hat geschrieben:
Ich hoffe, daß dieses Problem in dem nächsten Relase von AVERP behoben ist.
Grüße
 
 Wir haben hier jetzt das gleiche Problem.
Durch die Änderung der Trigger funktioniert es jetzt nur,
wenn die Bestellmenge geändert wird, aber was ist mit dem Wareneingang

Wird hier nämlich wenige als bestellt geliefert wird im Rahmenauftrag weiterhin die bestellte Menge angezeigt

Kann man da noch mit einer Lösung rechnen

MfG
KDP
----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
			
						KDP
----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
- 
				miboe
- Beiträge: 1295
- Registriert: Fr Jul 28, 2006 9:13 am
Sinnvoller als über die Trigger der Bestellung wäre es, das ganze über die Trigger der Tabelle BLRCP, also über die Lieferanten - Rechnungsrückstände abzuwickeln. Dort werden nämlich auch die Mengendifferenzen zwischen Bestellung und Wareneingang behandelt.
Gruß
Michael
			
			
									
						
							Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
			
						--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3