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
List_References
(Data Structure/Event/Material)


Vytvořeno: 04-12-1996 14:33:24
Poslední změna: 12-03-2002 13:14:54

Outputs a list of all the elements in the system referencing the specified data structure.

Modul

Module: Data Structure/Event/Material

Zdrojový kód:

PROCEDURE List_References FOR DATASTRUCTURE
BEGIN
/*
   list references to data structure
*/

  first%=0;
  PRINT {BOLD,"ARIAL",12} "Datová struktura ";
  PRINT {BOLD,"ARIAL",12,ITALIC} CONV$(Boxname),NL(2);
  PRINT {"ARIAL",10} "Reference datové struktury:",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),"Diagram informačních toků:";
      PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
      PRINT {"ARIAL",8} TAB(36),"(informační tok mezi: funkce/funkce - ";
      FOR Function AS f1 WHERE Name=Funfunflow.Sfname DO
        FOR Function AS f2 WHERE Name=Funfunflow.Tfname DO
          PRINT {"ARIAL",8,ITALIC} CONV$(f1.Boxname);
          PRINT {"ARIAL",8,ITALIC} "/",CONV$(f2.Boxname);
        END
      END
      PRINT {"ARIAL",8} ")",NL;
    END
  END
  //flow into internal interfaces
  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),"Diagram informačních toků:";
      PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
      PRINT {"ARIAL",8} TAB(36),"(informační tok mezi: interní rozhraní/funkce - ";
      FOR Function AS f1 WHERE Name=Funifaflow.Iface DO
        FOR Function AS f2 WHERE Name=Funifaflow.Function DO
          PRINT {"ARIAL",8,ITALIC} CONV$(f1.Boxname);
          PRINT {"ARIAL",8,ITALIC} "/",CONV$(f2.Boxname);
        END
      END
      PRINT {"ARIAL",8} ")",NL;
    END
  END
  //flow into external interfaces
  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),"Diagram informačních toků:";
      PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
      PRINT {"ARIAL",8} TAB(36),"(informační tok mezi: externí rozhraní/funkce - ";
      FOR Eface AS f1 WHERE Name=Funefaflow.Eface DO
        FOR Function AS f2 WHERE Name=Funefaflow.Function DO
          PRINT {"ARIAL",8,ITALIC} CONV$(f1.Boxname);
          PRINT {"ARIAL",8,ITALIC} "/",CONV$(f2.Boxname);
        END
      END
      PRINT {"ARIAL",8} ")",NL;
    END
  END
  //flow into 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),"Diagram informačních toků:";
      PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
      PRINT {"ARIAL",8} TAB(36),"(informační tok mezi: port/funkce - ";
      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),"Diagram informačních toků:";
      PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
      PRINT {"ARIAL",8} TAB(36),"(informační tok mezi: paměť/funkce - ";
      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),"Diagram informačních toků:";
      PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
      PRINT {"ARIAL",8} TAB(36),"(Paměť)",NL;
    END
  END
  // as a 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 a 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),"Diagram informačních toků:";
      PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Informationflow.Boxname);
      PRINT {"ARIAL",8} TAB(36),"(Port)",NL;
    END
  END
  
  // referenced by 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

  // control function
  FOREACH Ifunc DO
    FOREACH Combinationpart WHERE Function=Ifunc.Function
                              AND Event=Datastructure.Name DO
      PRINT {"ARIAL",8} TAB(4),"Diagram informačních toků:";
      FOR Informationflow WHERE Name=IFunc.Ifd DO
        PRINT {"ARIAL",8,ITALIC} TAB(18),CONV$(Boxname);
      END
      PRINT {"ARIAL",8} TAB(36),"(řídicí funkce:";
      FOR Function WHERE Name=IFunc.Function DO
        PRINT {"ARIAL",8,ITALIC} CONV$(Boxname);
        PRINT {"ARIAL",8} ")",NL;
      END
      BREAK;
    END
  END

  IF first%=0 THEN
    PRINT {"ARIAL",ITALIC,10} NL,TAB(4),"Datová struktura nemá žádné reference.",NL;
  END
  PRINT NL;

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