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_Referencing_Modules_in_Detail
(Module Structure)


Vytvořeno: 12-11-1995 11:52:14
Poslední změna: 12-05-2002 12:56:43

Outputs a list of all modules referencing, or importing, the specified module structure with information about which functions and data of the module structure are used.

Modul

Module: Module Structure

Zdrojový kód:

PROCEDURE List_Referencing_Modules_in_Detail FOR MODULE
BEGIN
/*
  list modules using currrent module with detailed information
  about used functions/data
*/
  PRINT {BOLD,"ARIAL",12} "Modulové struktury využívající modul";
  PRINT {BOLD,"ARIAL",ITALIC,12} CONV$(Module.Boxname),NL(2);

  first%=0;
  FOREACH Usage WHERE Usage.Usedmodule=Module.Name ORDER BY Module DO
    IF first%=0 THEN
      PRINT {"ARIAL",10} "Modulová struktura ";
      PRINT {"ARIAL",ITALIC,10} CONV$(Module.Boxname);
      PRINT {"ARIAL",10} " je používána v následujících modulech:",NL(2);
      first%=1;
    END
    FOREACH Module AS Mod WHERE Mod.Name=Usage.Module DO
      PRINT {BOLD,"ARIAL",10} Mod.Id, ":", TAB(24);
      PRINT {"ARIAL",10,ITALIC} CONV$(Mod.Boxname);
      // functions
      data%=0;
      FOREACH Usagefunc WHERE Usagefunc.Module=Mod.Name
                          AND Usagefunc.Usedmodule=Module.Name DO
        IF data%=0 THEN
          IF COUNT()=1 THEN
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využitá funkce/metoda:";
          ELSE
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využité funkce/metody:";
          END
          data%=1;
        END
        FOREACH Funcdef WHERE Funcdef.Funcdefno=Usagefunc.Usedfuncdefno
                          AND Funcdef.Module=Usage.Usedmodule DO
          PRINT {"ARIAL",8} TAB(28),CONV$(Funcdef.Boxname),NL;
        END
      END
      
      // Type structures
      data%=0;
      FOREACH Usagedata WHERE Usagedata.Module=Mod.Name
                          AND Usagedata.Usedmodule=Module.Name DO
        IF data%=0 THEN
          IF COUNT()=1 THEN
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využitá reference na typovou strukturu:";
          ELSE
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využité reference na typové struktury:";
          END
          data%=1;
        END
        FOREACH Typeref WHERE Typeref.Typerefno=Usagedata.Usedtyperefno
                          AND Typeref.Module=Usage.Usedmodule DO
          PRINT {"ARIAL",8} TAB(28),CONV$(Typeref.Boxname),NL;
        END
      END
      
      // types/Variables
      data%=0;
      FOREACH Usagedecl WHERE Usagedecl.Module=Mod.Name
                          AND Usagedecl.Usedmodule=Module.Name DO
        IF data%=0 THEN
          IF count() = 1 THEN
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využitá proměnná/definice typu:";
          ELSE
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využité proměnné/definice typu:";
          END
          data%=1;
        END
        FOREACH Declare WHERE Declare.Declareno=Usagedecl.Useddeclno
                          AND Declare.Module=Usage.Usedmodule DO
          PRINT {"ARIAL",8} TAB(28),CONV$(Declare.Boxname),NL;
        END
      END
      
      // Relations
      data%=0;
      FOREACH Usagerelation WHERE Usagerelation.Module=Mod.Name
                              AND Usagerelation.Usedmodule=Module.Name DO
        IF data%=0 THEN
          IF COUNT()=1 THEN
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využitá reference na relaci:";
          ELSE
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využité reference na relace:";
          END
          data%=1;
        END
        FOREACH Relationref WHERE Relationref.Relationrefno=Usagerelation.Usedrelrefno
                              AND Relationref.Module=Usage.Usedmodule DO
          PRINT {"ARIAL",8} TAB(28),CONV$(Relationref.Boxname),NL;
        END
      END
      
      PRINT NL;
    END
  END

  IF first%=0 THEN
    PRINT {"ARIAL",10} "Modulová struktura";
    PRINT {"ARIAL",ITALIC,10} CONV$(Module.Boxname);
    PRINT {"ARIAL",10} " není využívána žádným jiným modulem.",NL(2);
  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\1638.htm (C) microTOOL GmbH 2002