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
Functionstructure
(Web Publishing)


Vytvořeno: 04-15-1997 11:07:34
Poslední změna: 01-07-2003 14:17:34

Outputs detailed information about the given function structure.

Modul

Module: Web Publishing

Zdrojový kód:

PROCEDURE Functionstructure(Name$)
BEGIN

  foundsomething! = FALSE;
  FOR Functionstructure WHERE Name = Name$ DO
    foundsomething! = TRUE;
    CALL Header("Funkční struktura - " + Conv$(Boxname));
    CALL Title ("Funkční struktura", Conv$(Boxname));
  END

  //display a dummy title if the data elem does not exist
  IF NOT foundsomething! THEN
    CALL Header("Funkční struktura - " + name$);
    CALL Title ("Funkční struktura", name$);
  END

  IF foundsomething! THEN
    FOR Functionstructure WHERE Name = Name$ DO

      //display image(s) along with their image maps
      CALL FunctionstructureMap(Name$, 1, PageWasGenerated!);
      PRINT {HTML} Anchor$( "", "FsdPage1", "#FsdPage1");
      CALL Long2IDString(Object, id$);
      PRINT {HTML} "<P ALIGN=CENTER><IMG SRC=1-" + id$ + ".png BORDER=0 USEMAP=""#map_page1""></P>", NL;
      firstPage! = TRUE;
      FOREACH Funcpage WHERE Fsd = Functionstructure.Name ORDER BY Page DO
        IF firstPage! THEN // generate page numbers only for more than one page
          PRINT {HTML} "<P ALIGN=CENTER><I>Page 1</I></P>", NL;
          firstPage! = FALSE;
        END
        CALL FunctionstructureMap(Name$, Page, PageWasGenerated!);
        PRINT {HTML} Anchor$( "", "FsdPage"+Str$(Page), "#FsdPage" + Str$(Page));
        CALL PageNo2IDString(Page, pageid$);
        PRINT {HTML} "<P ALIGN=CENTER><IMG SRC=" + pageid$ + "-" + id$ + ".png BORDER=0";
        IF PageWasGenerated! THEN
          PRINT {HTML} " USEMAP=""#map_page", Page ,"""";
        END
        PRINT {HTML} "></P>",NL;
        PRINT {HTML} "<P ALIGN=CENTER><I>Page "+ Str$(Page) + "</I></P>", NL;
      END
      FOREACH Blockpage WHERE fsd = Functionstructure.Name ORDER BY Page DO
        IF firstPage! THEN // generate page numbers only for more than one page
          PRINT {HTML} "<P ALIGN=CENTER><I>Page 1</I></P>", NL;
          firstPage! = FALSE;
        END
        CALL FunctionstructureMap(Name$, Page, PageWasGenerated!);
        PRINT {HTML} Anchor$( "", "FsdPage"+Str$(Page), "#FsdPage" + Str$(Page));
        CALL PageNo2IDString(Page, pageid$);
        PRINT {HTML} "<P ALIGN=CENTER><IMG SRC=" + pageid$ + "-" + id$ + ".png BORDER=0";
        IF PageWasGenerated! THEN
          PRINT {HTML} " USEMAP=""#map_page", Page ,"""";
        END
        PRINT {HTML} "></P>",NL;
        PRINT {HTML} "<P ALIGN=CENTER><I>Page "+ Str$(Page) + "</I></P>", NL;
      END

      //general object data
      CALL GenObjectData(Object, TRUE, TRUE);
      PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;

      //description of the object, if available
      FOR Func WHERE Fsd = Functionstructure.Name AND X = 286 AND Y = 15 AND Page = 1 DO
        FOR Function WHERE Name = Func.Function AND Function.hasText DO
          CALL GetSystemProperty("WebPubDescriptionPage", sepPage$);
          IF sepPage$ = "TRUE" THEN
            PRINT {HTML} Anchor$("<B>Popis</B>", "", "desc" + Str$(Functionstructure.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
      END

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

      //all internal functions within the diagram
      CALL H2_TopSpaceless("Seznam funkcí");
      FOREACH Func WHERE Fsd = Functionstructure.Name ORDER BY Function DO
        FOR Function WHERE Name = Func.Function DO
          PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=TOP> ";
          PRINT {HTML} Anchor$("<B>" + Conv$(Boxname) + "</B>", "", Str$(Object) + ".htm");
          IF Type = "" THEN
              FOR Informationflow WHERE Name = Function.Name DO
                  PRINT {HTML} "<FONT SIZE=""1"" FACE=""Verdana, Arial""> <I>(IFD)</I></FONT>";
              END
          ELSIF Type = "cp" THEN
              FOR Statearea WHERE Function = Function.Name DO
                  PRINT {HTML} "<FONT SIZE=""1"" FACE=""Verdana, Arial""> <I>(STD)</I></FONT>";
              END
          ELSIF Type = "dg" THEN
              FOREACH Resource WHERE Function = Function.Name DO
                  PRINT {HTML} "<FONT SIZE=""1"" FACE=""Verdana, Arial""> <I>(Dialog)</I></FONT>";
                  BREAK;
              END
          END
          PRINT {HTML} "<BR>",NL;
        END
      END


      //all referenced fsds
      CALL H2("Seznam referencí na funkční struktury");
      found! = FALSE;
      lastName$ = "";
      FOREACH Part WHERE Part.Fsd = Functionstructure.Name ORDER BY Part.Name DO
        IF lastName$ <> Part.Name THEN
            IF found! THEN
                PRINT {HTML} "<BR>",NL;
            END
            lastName$ = Part.Name;
            FOR Functionstructure WHERE Name = lastName$ DO
                PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=TOP> ";
                PRINT {HTML} Anchor$(Conv$(Boxname), "", Str$(Object) + ".htm");
            END
        END
        found! = TRUE;
      END
      IF NOT found! THEN
        PRINT {HTML} "Neobsahuje žádné reference na další funkční struktury.<BR>",NL;
      END


      //all references as parts
      CALL H2("Použita jako Part ve funkční struktuře");
      found! = FALSE;
      lastName$ = "";
      FOREACH Part WHERE Part.Name = Functionstructure.Name ORDER BY Fsd DO
        IF lastName$ <> Part.FSD THEN
            IF found! THEN
                PRINT {HTML} "<BR>",NL;
            END
            lastName$ = Part.FSD;
            FOR Functionstructure WHERE Name = lastName$ DO
                PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=TOP> ";
                PRINT {HTML} Anchor$(Conv$(Boxname), "", Str$(Object) + ".htm");
            END
        END
        found! = TRUE;
      END
      IF NOT found! THEN
        PRINT {HTML} "Tato funkční struktura není opoužita jako part.<BR>",NL;
      END

    END
  ELSE
    CALL H2_Spaceless("Projekt neobsahuje funkční strukturu 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\31769.htm (C) microTOOL GmbH 2002