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


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

Auxiliary function: Determines, whether a port is splitted.

Modul

Module: Information Flow

Zdrojový kód:

PROCEDURE Refinements_of_a_Port(fun$,portno%,tabs%, BYREF splitted%)
BEGIN
/*
Determines whether a port is refined
IN: fun$ function which is connected with the port
        portno% Number of the port
        tabs% indentation
        splitted% 0 or 1
OUT: splitted% 0=not refined
                    1=refined
*/
addtab%=4;
first%=0;
FOREACH Funportflow WHERE Ifd = fun$
                    AND Portno = portno% DO
    
    FOREACH Connectionpoint WHERE Function = Funportflow.Function
                            AND Connectionno = Funportflow.Fconnectionno DO
        // Are there ports refined in entities ?
        FOREACH Port WHERE Function = Connectionpoint.Function
                     AND Setno = Connectionpoint.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 TAB(tabs%), Entity," (entita)";
        END
        // Are there ports refined in data store ?
        FOREACH Port WHERE Function = Connectionpoint.Function
                     AND Setno = Connectionpoint.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 TAB(tabs%), Datastructure, " (paměť)";
            CALL Refinements_of_a_Port(Function,Portno,tabs%+addtab%,splitted%);
        END
        // Are there ports which are not refined ?
        FOREACH Port WHERE Function = Connectionpoint.Function
                     AND Setno = Connectionpoint.Setno
                     AND Datastructure = ""
                     AND Entity = "" DO
            // or refined in a lower level
            CALL Refinements_of_a_Port(Function,Portno,tabs%,splitted%);
        END
                          
    END

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