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


Vytvořeno: 03-05-1997 12:18:42
Poslední změna: 01-09-2003 10:08:38

Outputs detailed information about the given information flow.

Modul

Module: Web Publishing

Zdrojový kód:

PROCEDURE Informationflow(name$, x%, y%)
BEGIN

  foundsomething! = FALSE;
  FOR Informationflow WHERE Name = Name$ DO
    foundsomething! = TRUE;
    CALL Header("Informační - " + Conv$(Boxname));
    CALL Title ("Information Flow", Conv$(Boxname));
  END

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

  IF foundsomething! THEN
    FOR Informationflow WHERE Name = Name$ DO
      //this element has only one page
      CALL InformationflowMap(Name, x%, y%);
      PRINT {HTML} "<P ALIGN=CENTER><IMG SRC=" + Str$(Object) + ".png BORDER=0 ISMAP USEMAP=""#map""></P>", NL;
      
      //general object data
      CALL GenObjectData(Object, TRUE, TRUE);
      PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;

      //two column table with userdefined properties of the element - one line per property
      CALL GenUserdefinedProperties(Object);
    
      // function, function structure and parent ifd as table with two columns
      PRINT {HTML} "<BR>",NL;
      PRINT {HTML} "<TABLE NOWRAP VALIGN=BASELINE>",NL;
      
      //defining function
      PRINT {HTML} " <TR>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      PRINT {HTML} "<B>Funkce:</B></FONT></TD>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      FOR Function WHERE Function.Name = Name$ DO
          PRINT {HTML} Anchor$( Conv$(BoxName), "" , Str$(Object)+ ".htm") ;
          isReuse! = Reusable;
      END
      PRINT {HTML} "</FONT></TD>",NL;
      PRINT {HTML} " </TR>",NL;

      // function structure
      PRINT {HTML} " <TR>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      PRINT {HTML} "<B>Funkční struktura:</B></FONT></TD>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      FOREACH Func WHERE Func.Function = Name$ ORDER BY Fsd DO
          FOR Functionstructure WHERE Functionstructure.Name=Func.Fsd DO
              PRINT {HTML} Anchor$( Conv$(BoxName), "" , Str$(Object)+ ".htm"+"#FsdPage" + Str$(Page));
          END
          IF NOT isReuse! THEN
                CALL GetParentIFD(Fsd, pPage, pFuncNo, pBlockNo, pCondNo, parIfd$, parIfdObj%);
          END
      END
      PRINT {HTML} "</FONT></TD>", NL;
      PRINT {HTML} " </TR>", NL;

      IF parIFD$ <> "" THEN
          PRINT {HTML} " <TR>",NL;
          PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
          PRINT {HTML} "<B>Rodičovský informační tok:</B></FONT></TD>",NL;
          PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
          PRINT {HTML} Anchor$(parIFD$, "" , Str$(parIfdObj%)+ ".htm") ;
          PRINT {HTML} "</FONT></TD>",NL;
          PRINT {HTML} " </TR>",NL;
      END

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

      //functions
      CALL H2_TopSpaceless("Funkce");
      foundfunc! = FALSE;
      FOREACH IFunc WHERE Ifd = Name$ DO
        foundfunc! = TRUE;
        BREAK;
      END
      IF foundfunc! THEN
        PRINT {HTML} "<TABLE NOWRAP VALIGN=BASELINE>",NL;
        PRINT {HTML} " <TR>",NL;
        PRINT {HTML} " <TH ALIGN=LEFT VALIGN=TOP COLSPAN=2><FONT SIZE=2 FACE=""Verdana, Arial""><B>Name</B></FONT></TH>",NL;
        PRINT {HTML} " <TH VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial""><B>Typ</B></FONT></TH>",NL;
        PRINT {HTML} " <TH VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial""><B>Vícenásobná instance</B></FONT></TH>",NL;
        PRINT {HTML} " <TH VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial""><B>Manuální</B></FONT></TH>",NL;
        PRINT {HTML} " <TH VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial""><B>Opakující se struktura</B></FONT></TH>",NL;
        PRINT {HTML} " </TR>",NL;
        FOREACH IFunc WHERE Ifd = Name$ ORDER BY Function DO
          FOR Function WHERE Name = IFunc.Function DO
            PRINT {HTML} " <TR>",NL;
            
            //name
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            PRINT {HTML} "<IMG SRC=""bullet.gif"">";
            PRINT {HTML} "</FONT></TD>",NL;
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            PRINT {HTML} Anchor$( Conv$(BoxName), "" , Str$(Object)+ ".htm") ;
            PRINT {HTML} "</FONT></TD>",NL;
            
            //type
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            IF Type = "cp" THEN
              PRINT "řídicí funkce";
            ELSIF Type = "dg" THEN
              PRINT "dialogová funkce";
            ELSE
              PRINT "výkonná funkce";
            END
            PRINT {HTML} "</FONT></TD>",NL;

            //multiple instances
            PRINT {HTML} " <TD ALIGN=CENTER VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            IF Multipleinstances THEN
              PRINT "ano";
            ELSE
              PRINT "ne";
            END
            PRINT {HTML} "</FONT></TD>",NL;
        
            //manually
            PRINT {HTML} " <TD ALIGN=CENTER VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            IF Manually THEN
              PRINT "ano";
            ELSE
              PRINT "ne";
            END
            PRINT {HTML} "</FONT></TD>",NL;
       
            //reusable
            PRINT {HTML} " <TD ALIGN=CENTER VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            IF Reusable THEN
              PRINT "ano";
            ELSE
              PRINT "ne";
            END
            PRINT {HTML} "</FONT></TD>",NL;
            
            PRINT {HTML} "</TR>", NL;
          END
        END
        PRINT {HTML} "</TABLE>", NL;
      ELSE
        PRINT {HTML} "Informační tok neobsahuje žádné funkce.<BR>",NL;
      END
    
      //internal interfaces
      CALL H2("Interí rozhraní");
      foundiface! = FALSE;
      FOREACH IFace WHERE Ifd = Name$ DO
        foundiface! = TRUE;
        BREAK;
      END
      IF foundiface! THEN
        PRINT {HTML} "<TABLE NOWRAP VALIGN=BASELINE>",NL;
        PRINT {HTML} " <TR>",NL;
        PRINT {HTML} " <TH ALIGN=LEFT VALIGN=TOP COLSPAN=2><FONT SIZE=2 FACE=""Verdana, Arial""><B>Název</B></FONT></TH>",NL;
        PRINT {HTML} " <TH VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial""><B>Typ</B></FONT></TH>",NL;
        PRINT {HTML} " <TH VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial""><B>Informační tok</B></FONT></TH>",NL;
        PRINT {HTML} " <TH VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial""><B>Funkční struktura</B></FONT></TH>",NL;
        PRINT {HTML} " </TR>",NL;
        FOREACH IFace WHERE Ifd = Name$ ORDER BY Function DO
          FOR Function WHERE Name = IFace.Function DO
            PRINT {HTML} " <TR>",NL;
            
            //name
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            PRINT {HTML} "<IMG SRC=""bullet.gif"">";
            PRINT {HTML} "</FONT></TD>",NL;
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            PRINT {HTML} Anchor$(Conv$(Boxname), "" , Str$(Object)+ ".htm");
            PRINT {HTML} "</FONT></TD>",NL;
            
            //type
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            IF Type = "cp" THEN
              PRINT "řídicí funkce";
            ELSIF Type = "dg" THEN
              PRINT "dialogová funkce";
            ELSE
              PRINT "výkonná funkce";
            END
            PRINT {HTML} "</FONT></TD>",NL;
        
            //associated informationflow
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            found! = FALSE;
            FOR Informationflow WHERE Name = Iface.Ifaceifd DO
              found! = TRUE;
              PRINT {HTML} Anchor$(Conv$(BoxName), "" , Str$(Object)+ ".htm") ;
            END
            IF NOT found! THEN
              PRINT {HTML} "<CENTER>-</CENTER>";
            END
            PRINT {HTML} "</FONT></TD>",NL;
            
            //associated function structure
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            found! = FALSE;
            FOR Function WHERE Name = Iface.IFaceifd DO
              FOR Func WHERE Function = Name DO
                FOR Functionstructure WHERE Name = Func.Fsd DO
                  found! = TRUE;
                  PRINT {HTML} Anchor$(Conv$(BoxName), "" , Str$(Object)+ ".htm") ;
                END
              END
            END
            IF NOT found! THEN
              PRINT {HTML} "<CENTER>-</CENTER>";
            END
            PRINT {HTML} "</FONT></TD>",NL;
            
            PRINT {HTML} "</TR>",NL;
          END
        END
        PRINT {HTML} "</TABLE>",NL;
      ELSE
        PRINT {HTML} "Neobsahuje žádné reference na funkce z jiných diagramů informačních toků .<BR>",NL;
      END
  
      //external interfaces
      CALL H2("Externí rozhraní");
      foundeface! = FALSE;
      lastEface$ = "";
      FOREACH Efaceref WHERE Ifd = name$ ORDER BY Eface DO
          IF Efaceref.Eface <> lastEface$ THEN
              lastEface$ = Efaceref.Eface;
              FOR Eface WHERE Name = Efaceref.Eface DO
                PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=TOP> ";
                PRINT {HTML} Anchor$(Conv$(Boxname), "", Str$(Object) + ".htm");
                PRINT {HTML} "<BR>",NL;
                foundeface! = TRUE;
              END
          END
      END
      IF NOT foundeface! THEN
         PRINT {HTML} "Informační tok neobsahuje žádná extení rozhraní.<BR>",NL;
      END
  
      //stores
      CALL H2("Paměti");
      foundstore! = FALSE;
      FOREACH Store WHERE Ifd = Name$ DO
        foundstore! = TRUE;
        BREAK;
      END
      IF foundstore! THEN
        PRINT {HTML} "<TABLE NOWRAP VALIGN=BASELINE>",NL;
        PRINT {HTML} " <TR>",NL;
        PRINT {HTML} " <TH ALIGN=LEFT VALIGN=TOP COLSPAN=2><FONT SIZE=2 FACE=""Verdana, Arial""><B>Název</B></FONT></TH>",NL;
        PRINT {HTML} " <TH VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial""><B>Typ</B></FONT></TH>",NL;
        PRINT {HTML} " </TR>", NL;
        FOREACH Store WHERE Ifd = Name$ ORDER BY Datastructure DO
          FOR Datastructure WHERE Name = Store.Datastructure DO
            PRINT {HTML} " <TR>",NL;
           
            //name
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            PRINT {HTML} "<IMG SRC=""bullet.gif"">";
            PRINT {HTML} "</FONT></TD>",NL;
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            PRINT {HTML} Anchor$(Conv$(Boxname), "" , Str$(Object) + ".htm");
            PRINT {HTML} "</FONT></TD>",NL;
           
            //type
            PRINT {HTML} " <TD VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            IF Datastructure.Type="" THEN
              PRINT {HTML} "data";
            ELSIF Datastructure.Type="ev" THEN
              PRINT {HTML} "událost";
            ELSIF Datastructure.Type="ma" THEN
              PRINT {HTML} "materiál";
            END
            PRINT {HTML} "</FONT></TD>",NL;
           
            PRINT {HTML} "</TR>";
          END
        END
        PRINT {HTML} "</TABLE>";
      ELSE
        PRINT {HTML} "Informační tok neobsahuje žádné paměti.<BR>",NL;
      END

      //entities
      CALL H2("Entity");
      foundent! = FALSE;
      FOREACH Entityref WHERE Ifd = Name$ DO
        foundent! = TRUE;
        BREAK;
      END
      IF foundent! THEN
        FOREACH Entityref WHERE Ifd = Name$ ORDER BY Entity DO
          FOR Entity WHERE Name = Entityref.Entity DO
            PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=TOP> ";
            PRINT {HTML} Anchor$(Conv$(Boxname), "" , Str$(Object) + ".htm");
            PRINT {HTML} "<BR>",NL;
          END
        END
        PRINT {HTML} "</TABLE>";
      ELSE
        PRINT {HTML} "Informační tok neobsahuje žádné reference na entity.<BR>",NL;
      END
    END
  ELSE
    CALL H2_Spaceless("Projekt neobsahuje informační tok 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\28434.htm (C) microTOOL GmbH 2002