-- Die Tabelle KNA_KB_ABSCHL_DATUM enthält pro Datum und Filiale ein Abschlusskennzeichen
-- Zu einem Datum müssen nicht zwingend alle Filialen da sein, daher unten die offenen Verbindungen
-- Es gibt die Filialen 2, 4, 6, 7, 8, 10 und 12
CREATE TABLE KNA_KB_ABSCHL_DATUM
(
  DATUM       DATE                              NOT NULL,
  FILIALE     NUMBER(2)                         NOT NULL,
  ABSCHL_KZ   NUMBER(1)                         DEFAULT 0
);


CREATE OR REPLACE FORCE VIEW v_kna_kassenbuch_status2 
AS
   SELECT DISTINCT a.datum,
                   DECODE (f02.abschl_kz,
                           0, 'offen',
                           3, 'kontierbar',
                           5, 'gebucht',
                           ' '
                          ) status_02,
                   DECODE (f04.abschl_kz,
                           0, 'offen',
                           3, 'kontierbar',
                           5, 'gebucht',
                           ' '
                          ) status_04,
                   DECODE (f06.abschl_kz,
                           0, 'offen',
                           3, 'kontierbar',
                           5, 'gebucht',
                           ' '
                          ) status_06,
                   DECODE (f07.abschl_kz,
                           0, 'offen',
                           3, 'kontierbar',
                           5, 'gebucht',
                           ' '
                          ) status_07,
                   DECODE (f08.abschl_kz,
                           0, 'offen',
                           3, 'kontierbar',
                           5, 'gebucht',
                           ' '
                          ) status_08,
                   DECODE (f10.abschl_kz,
                           0, 'offen',
                           3, 'kontierbar',
                           5, 'gebucht',
                           ' '
                          ) status_10,
                   DECODE (f12.abschl_kz,
                           0, 'offen',
                           3, 'kontierbar',
                           5, 'gebucht',
                           ' '
                          ) status_12
              FROM kna_kb_abschl_datum a,
                   kna_kb_abschl_datum f02,
                   kna_kb_abschl_datum f04,
                   kna_kb_abschl_datum f06,
                   kna_kb_abschl_datum f07,
                   kna_kb_abschl_datum f08,
                   kna_kb_abschl_datum f10,
                   kna_kb_abschl_datum f12
             WHERE a.datum >= SYSDATE - 31
               AND a.datum = f02.datum(+)
               AND 2 = f02.filiale(+)
               AND a.datum = f04.datum(+)
               AND 4 = f04.filiale(+)
               AND a.datum = f06.datum(+)
               AND 6 = f06.filiale(+)
               AND a.datum = f07.datum(+)
               AND 7 = f07.filiale(+)
               AND a.datum = f08.datum(+)
               AND 8 = f08.filiale(+)
               AND a.datum = f10.datum(+)
               AND 10 = f10.filiale(+)
               AND a.datum = f12.datum(+)
               AND 12 = f12.filiale(+)
          ORDER BY datum DESC;