Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#32

Re: aktuelles Mwst.-Problem [SQL]

  Alt 8. Sep 2005, 12:37
An den Doppelpunkten liegts echt nicht. Ich habe den Fehler eingekreist :

SQL-Code:
CREATE TABLE MWST8 (
    ID INTEGER NOT NULL,
    ABDATUM DATE,
    MWSTSATZ SMALLINT,
    MWSTWERT DECIMAL(15,2),
    ANGELEGT TIMESTAMP,
    LETZTEAENDERUNG TIMESTAMP
);


INSERT INTO MWST8 (ID, ABDATUM, MWSTSATZ, MWSTWERT, ANGELEGT, LETZTEAENDERUNG) VALUES (1, '1998-04-01', 2, 16, '2005-09-03 12:26:31', NULL);
INSERT INTO MWST8 (ID, ABDATUM, MWSTSATZ, MWSTWERT, ANGELEGT, LETZTEAENDERUNG) VALUES (2, '1998-04-01', 1, 7, '2005-09-03 12:26:47', NULL);
INSERT INTO MWST8 (ID, ABDATUM, MWSTSATZ, MWSTWERT, ANGELEGT, LETZTEAENDERUNG) VALUES (3, '2005-04-01', 2, 18, '2005-04-01 00:00:00', '2005-09-04 16:50:21');
INSERT INTO MWST8 (ID, ABDATUM, MWSTSATZ, MWSTWERT, ANGELEGT, LETZTEAENDERUNG) VALUES (4, '1900-01-01', 2, 15, '2005-09-03 13:55:15', NULL);

COMMIT WORK;



/******************************************************************************/
/****                          Stored Procedures                           ****/
/******************************************************************************/


SET TERM ^ ;

ALTER PROCEDURE MWSTWERTSP8 (
    MONAT SMALLINT,
    JAHR SMALLINT,
    MWSTSATZ SMALLINT)
RETURNS (
    MWSTWERT NUMERIC(9,2))
AS
DECLARE VARIABLE DATUM DATE;
BEGIN
  DATUM = CAST('01.'|| MONAT || '.' || JAHR AS DATE);
  SELECT FIRST 1
    MWSTWERT
  FROM
    MWST8
  WHERE
    (MWSTSATZ=:MWSTSATZ) AND (ABDATUM <= :DATUM)
  ORDER BY
    ABDATUM DESC
  INTO
    :MWSTWERT;
  IF (MWSTSATZ is null) THEN
    MWSTSATZ = 0;
MWSTWERT = 10; <-------------------------------------------
  SUSPEND;
END
^
Setze ich den MWSTWERT von Hand auf 10 (siehe oben), dann stimmt auch der Bruttoumsatz auf der Grundlage von 10 % Mwst. Die verwendeten Testdaten sind auch dabei. Gebe ich 100 ein so kommt 110 dabei raus. Mache ich das nochmals dann ist es 220. Also richtig. Lasse ich den MWSTWERT von der SP ermitteln, ohne diese Zeile, dann gehts nicht. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat