Informační tok Funkční structura Datová struktura ER model Modulová struktura Typová struktura Relační model Dokumentace


[Celkový datový model] [Funkce] [Externí rohraní] [Stavové diagramy] [Datové elementy] [Entity] [Relace]
[Databáze] [Události] [Materiály] [Generovací funkce] [Vyhodnocovací funkce] [Konfigurace] [Uživatelé] [Projekt] [Home]



Vyhodnocovací funkce
Tablespace
(Web Publishing)


Vytvořeno: 11-23-2000 11:11:41
Poslední změna: 01-14-2003 10:44:11

Modul

Module: Web Publishing

Zdrojový kód:

PROCEDURE Tablespace(Db$, Name$)
BEGIN

  //note.. pages with partitions are being generated implicitly..

  foundsomething! = FALSE;
  FOR Tablespace WHERE Database = Db$ AND Name = Name$ DO
    foundsomething! = TRUE;
    CALL Header("Tabulka - " + Name);
    CALL Title ("Tabulka", Name);
  END

  //display a dummy title if the tablespace does not exist
  IF NOT foundsomething! THEN
    CALL Header("Tabulka - " + name$);
    CALL Title ("Tabulka", name$);
  END

  IF foundsomething! THEN
    FOR Tablespace WHERE Database = Db$ AND Name = Name$ DO
    
      //general object data
      CALL GenObjectData(Object, FALSE, FALSE);
      PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;

      //description of the object, if avialable
      IF hasText THEN
        CALL GetSystemProperty("WebPubDescriptionPage", sepPage$);
        IF sepPage$ = "TRUE" THEN
          PRINT {HTML} Anchor$("<B>Popis</B>", "", "desc" + Str$(Tablespace.Object) + ".htm");
          PRINT {HTML} "<BR>",NL;
          PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;
        ELSE
          IF Text <> "" THEN
            dummy$ = Text;
            PRINT dummy$;
            PRINT {HTML} "<BR>",NL;
            PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;
          END
        END
      END

      //two column table with properties of the element - one line per attribute
      CALL H2_TopSpaceless("Vlastnosti");
      PRINT {HTML} "<TABLE NOWRAP VALIGN=BASELINE>",NL;
      //database
      PRINT {HTML} " <TR>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      PRINT {HTML} "<B>Databáze:</B></FONT></TD>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      FOR Database WHERE Name = Tablespace.Database DO
        PRINT {HTML} "<I>" + Anchor$(Name, "", Str$(Object) + ".htm") + "</I></FONT></TD>", NL;
      END
      PRINT {HTML} " </TR>",NL;

      //end of table
      PRINT {HTML} "</TABLE>",NL;
      PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;

      //two column table with userdefined properties of the element - one line per property
      CALL GenUserdefinedProperties(Object);

      //referenced relations
      CALL H2_TopSpaceless("Relace v tabulce " + name$);
      found! = FALSE;
      FOREACH Tablespacerelation WHERE Database = Tablespace.Database
                                   AND Tablespace = Tablespace.Name
                              ORDER BY Relation DO
        found! = TRUE;
        BREAK;
      END
      IF found! THEN
        PRINT {HTML} "<TABLE>",NL;
        FOREACH Tablespacerelation WHERE Database = Tablespace.Database
                                     AND Tablespace = Tablespace.Name
                                ORDER BY Relation DO
          FOR Relation WHERE Name = Tablespacerelation.Relation DO
            link$ = Anchor$("<B>" + Conv$(Boxname) + "</B>", "", Str$(Object) + ".htm");
            PRINT {HTML} " <TR>",NL;
            PRINT {HTML} " <TD><IMG SRC = ""bullet.gif""></TD>",NL;
            PRINT {HTML} " <TD><FONT SIZE=2 FACE=""Verdana, Arial"">", link$,"</FONT></TD>",NL;
            PRINT {HTML} " </TR>",NL;
          END
        END
        PRINT {HTML} "</TABLE>",NL;
      ELSE
        PRINT {HTML} "Tabulka ", name$, " nemá přiřazeny žádné relace.<BR>",NL;
      END
      PRINT {HTML} "<BR>",NL;
      
      //referenced partitions
      CALL H2_TopSpaceless("Partitions v tabulce " + name$);
      IF Numparts > 0 THEN
        PRINT {HTML} "<TABLE>",NL;
        partition% = 1;
        WHILE partition% <= Numparts DO
          PRINT {HTML} " <TR>",NL;
          PRINT {HTML} " <TD><IMG SRC = ""bullet.gif""></TD>",NL;
          PRINT {HTML} " <TD><FONT SIZE=2 FACE=""Verdana, Arial"">";
          partitiondef! = FALSE;
          FOR Partition WHERE Database = Tablespace.Database
                          AND Tablespace = Tablespace.Name
                          AND Number = partition% DO

              //generate the page for the partition
              CALL Partition(Id) INTO Str$(Object) + ".htm";
              
              partitiondef! = TRUE;
              PRINT {HTML} Anchor$("<B>" + Str$(Number) + "</B>", "", Str$(Object) + ".htm"), "</FONT></TD>",NL;
              PRINT {HTML} " <TD><FONT SIZE=2 FACE=""Verdana, Arial"">", "definováno","</FONT></TD>",NL;
          END
          IF NOT partitiondef! THEN
              PRINT {HTML} Str$(partition%), "</FONT></TD>",NL;
              PRINT {HTML} " <TD><FONT SIZE=2 FACE=""Verdana, Arial"">", "</FONT></TD>",NL;
          END
          PRINT {HTML} " </TR>",NL;
          partition% = partition% + 1;
        END //while
        PRINT {HTML} "</TABLE>",NL;

      ELSE
        PRINT {HTML} "Tabulka ", name$, " nemá definovány žádné partitions.<BR>",NL;
      END
      PRINT {HTML} "<BR>",NL;
     
      //source code
      CALL H2_TopSpaceless("zdrojový kód tabulky " + Name$);
      PRINT {HTML} "<FONT SIZE=4 FACE=""Courier, Courier New"">",NL;
      PRINT {HTML} "<LISTING>",NL;
      SET STYLE {HTML};
      CALL "SQL" DEFAULT FOR Tablespace;
      SET STYLE {"Arial", 10};
      PRINT {HTML} "</LISTING>",NL;
      PRINT {HTML} "</FONT>",NL;
    END

  ELSE
    CALL H2_Spaceless("V projektu není tabulka daného jména.");
    PRINT {HTML} "<BR>",NL;
  END
  
  CALL Footer("");
END


Generováno: 16.10.2003 7:41 Systém: C:\Documents and Settings\hajsman\Dokumenty\Vyuka\Irs2\Projekt case40\Projekt03.csf Generováno systémem case/4/0
Vygeneroval: Administrator Soubor: C:\Documents and Settings\hajsman\Dokumenty\Vyuka\Irs2\Projekt case40\html\138067848.htm (C) microTOOL GmbH 2002