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
Refinements_of_a_Store
(Information Flow)


Vytvořeno: 09-15-1997 13:56:03
Poslední změna: 12-04-2002 14:03:02

Auxiliary function: Determines whether a store is refined in an Information Flow.

Modul

Module: Information Flow

Zdrojový kód:

PROCEDURE Refinements_of_a_Store(ifd$,dsd$,storeno%, BYREF splitted%)
BEGIN
/*
Determines, whether a data store is refined in the Information flow.
IN: ifd$ Name of the Information flow
        dsd$ Name of the Store (the referenced data structure)
        Storeno% Number of the Store
        splitted% =0

OUT: splitted% 0= not refined
                   1= refined
*/

addtab%=4;
first%=0;
splitted%=0;
FOR Datastructure WHERE Name=dsd$ DO
    PRINT {"Arial",10,BOLD} CONV$(Boxname);
END
FOREACH Connectionpointset WHERE Ifd=ifd$
                           AND Type=2
                           AND Store=dsd$
                           AND Storeno=storeno% DO
    
    // Are there Ports which are splitted in Entities ?
    FOREACH Port WHERE Function=Connectionpointset.Function
                 AND Setno=Connectionpointset.Setno
                 AND Entity<>"" DO
        splitted%=1;
        IF first%=0 THEN
            PRINT {"Arial",9} " v diagramu informačních toků '", Function, "' upřesněna jako:";
            first%=1;
        END
        PRINT NL;
        PRINT {"Arial",10} TAB(5), Entity, " (entita)";
    END
    // Are there ports which are splitted in data stores ?
    FOREACH Port WHERE Function=Connectionpointset.Function
                 AND Setno=Connectionpointset.Setno
                 AND Datastructure<>"" DO
        splitted%=1;
        IF first%=0 THEN
            PRINT {"Arial",9} " v diagramu informačních toků '", Function, "' upřesněna jako:";
            first%=1;
        END
        PRINT NL;
        PRINT {"Arial",10} TAB(5), Datastructure, " (paměť)";
        CALL Refinements_of_a_Port(Port.Function, Port.Portno,5+addtab%,splitted%);
    END
    // Are there ports which are not splitted ?
    FOREACH Port WHERE Function=Connectionpointset.Function
                 AND Setno=Connectionpointset.Setno
                 AND Datastructure =""
                 AND Entity="" DO
         // or splitted in lower level ?
         CALL Refinements_of_a_Port(Port.Function, Port.Portno,5,splitted%);
    END
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\20260.htm (C) microTOOL GmbH 2002