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
GenDSDReference
(OLE Functions for MS Word)


Vytvořeno: 12-08-1995 16:19:21
Poslední změna: 12-09-2002 10:01:55

Outputs where the specified data structure is referenced as a port, flow, or store in information flows, or by type structures.

Modul

Module: OLE Functions for MS Word

Zdrojový kód:

PROCEDURE GenDSDReference(Name$,output$)
BEGIN
/*
   print list of references to data structure
*/
  
  FOR Datastructure WHERE Name=Name$ DO
      first%=0;
      PRINT {BOLD,"ARIAL",10} CONV$(Boxname),NL;
      //flow between functions
      FOREACH Funfunflow WHERE Datastructure.Name=Funfunflow.Infoname ORDER BY Ifd DO
        FOR Informationflow WHERE Funfunflow.Ifd=Informationflow.Name DO
          first%=1;
          PRINT {"ARIAL",8} TAB(4),"Informační tok:";
          PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
          PRINT {"ARIAL",8} TAB(36),"(mezi: funkcí/funkcí ";
          FOR Function WHERE Name=Funfunflow.Sfname DO
            PRINT {"ARIAL",8,ITALIC} CONV$(Boxname);
          END
          FOR Function WHERE Name=Funfunflow.Tfname DO
            PRINT {"ARIAL",8,ITALIC} "/",CONV$(Boxname);
          END
          PRINT {"ARIAL",8} ")",NL;
        END
      END
      //flow to internal interface
      FOREACH Funifaflow WHERE Datastructure.Name=Funifaflow.Infoname ORDER BY Ifd DO
        FOR Informationflow WHERE Funifaflow.Ifd=Informationflow.Name DO
          first%=1;
          PRINT {"ARIAL",8} TAB(4),"Informační tok:";
          PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
          PRINT {"ARIAL",8} TAB(36),"(mezi: interním rozhraním/funkcí ";
          FOR Function WHERE Name=Funifaflow.Iface DO
            PRINT {"ARIAL",8,ITALIC} CONV$(Boxname);
          END
          FOR Function WHERE Name=Funifaflow.Function DO
            PRINT {"ARIAL",8,ITALIC} "/",CONV$(Boxname);
          END
          PRINT {"ARIAL",8} ")",NL;
        END
      END
      //flow to external interface
      FOREACH Funefaflow WHERE Datastructure.Name=Funefaflow.Infoname ORDER BY Ifd DO
        FOR Informationflow WHERE Funefaflow.Ifd=Informationflow.Name DO
          first%=1;
          PRINT {"ARIAL",8} TAB(4),"Informační tok:";
          PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
          PRINT {"ARIAL",8} TAB(36),"(mezi: externím rozhraním/funkcí ";
          FOR Eface WHERE Name=Funefaflow.Eface DO
            PRINT {"ARIAL",8,ITALIC} CONV$(Boxname);
          END
          FOR Function WHERE Name=Funefaflow.Function DO
            PRINT {"ARIAL",8,ITALIC} "/",CONV$(Boxname);
          END
          PRINT {"ARIAL",8} ")",NL;
        END
      END
      //flow to Port
      FOREACH Funportflow WHERE Datastructure.Name=Funportflow.Datastructure ORDER BY Ifd DO
        FOR Informationflow WHERE Funportflow.Ifd=Informationflow.Name DO
          first%=1;
          PRINT {"ARIAL",8} TAB(4),"Informační tok:";
          PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
          PRINT {"ARIAL",8} TAB(36),"(mezi: portem/funkcí ";
          CALL GenPortname(Funportflow.Portno,Name,output$);
            PRINT {"ARIAL",8,ITALIC} output$;
          FOR Function WHERE Name=Funportflow.Function DO
            PRINT {"ARIAL",8,ITALIC} "/",CONV$(Boxname);
          END
          PRINT {"ARIAL",8} ")",NL;
        END
      END
      //Fun-Dat
      FOREACH Fundatflow WHERE Fundatflow.Infoname=Datastructure.Name ORDER BY Ifd DO
        FOREACH Informationflow WHERE informationflow.Name=Fundatflow.Ifd DO
          first%=1;
          PRINT {"ARIAL",8} TAB(4),"Informační tok:";
          PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
          PRINT {"ARIAL",8} TAB(36),"(mezi: pamětí/funkcí ";
          FOR Datastructure WHERE Name=Fundatflow.Datastructure DO
            PRINT {"ARIAL",8,ITALIC} CONV$(Boxname);
          END
          FOR Function WHERE Name=Fundatflow.Function DO
            PRINT {"ARIAL",8,ITALIC} "/",CONV$(Boxname);
          END
          PRINT {"ARIAL",8} ")",NL;
        END
      END
      //store
      FOREACH Store WHERE Datastructure.Name=Store.Datastructure ORDER BY Ifd DO
        FOR Informationflow WHERE Store.Ifd=Informationflow.Name DO
          first%=1;
          PRINT {"ARIAL",8} TAB(4),"Informační tok:";
          PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
          PRINT {"ARIAL",8} TAB(36),"(Paměť)",NL;
        END
      END
      //as Part in DSD
      FOREACH Dpart WHERE Datastructure.Name=Dpart.Dpartname DO
        FOR Datastructure AS DS WHERE DS.Name=Dpart.Datastructure DO
          first%=1;
          PRINT {"ARIAL",8} TAB(4),"Datová struktura:";
          PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(DS.Boxname),NL;
        END
      END
      //as Port in IFD
      FOREACH Port WHERE Datastructure.Name=Port.Datastructure ORDER BY Function DO
        FOR Informationflow WHERE Informationflow.Name=Port.Function DO
          first%=1;
          PRINT {"ARIAL",8} TAB(4),"Informační tok:";
          PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Informationflow.Boxname);
          PRINT {"ARIAL",8} TAB(36),"(Port)",NL;
        END
      END
      
      //as TSD
      FOREACH Typestructure WHERE Typestructure.Datastructure=Datastructure.Name ORDER BY Name DO
        first%=1;
        PRINT {"ARIAL",8} TAB(4),"Typová struktura:";
        PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Typestructure.Boxname),NL;
      END
    
      IF first%=0 THEN
        PRINT {"ARIAL",10,ITALIC} TAB(4),output$,"nemá žádnou referenci.",NL;
      END
      PRINT NL;
  END

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\17128.htm (C) microTOOL GmbH 2002