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
InformationflowMap
(Web Publishing)


Vytvořeno: 03-06-1997 12:17:18
Poslední změna: 01-09-2003 10:09:01

Generates HTML <MAP> sections for the given information flow.

Modul

Module: Web Publishing

Zdrojový kód:

PROCEDURE InformationflowMap(Name$, x%, y%)
BEGIN

  /* generates the map-section of a html-Page for a Informationflow */
  /* given by Name$ */

  FOREACH Informationflow AS AliasIFD WHERE Name = Name$ DO
    CALL GenMapHeader("map");

    FOREACH Iface AS AliasIFace WHERE Ifd = AliasIFD.Name DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Function WHERE Name = AliasIFace.Function DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
      END
    END
    
    FOREACH IFunc AS AliasIFunc WHERE Ifd = AliasIFD.Name DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Function WHERE Name = AliasIFunc.Function DO
        CALL GenMapCircle(Object, Conv$(Boxname), ulc_x%, ulc_y%, 47);
      END
    END

    FOREACH Efaceref AS AliasEface WHERE Ifd = AliasIFD.Name DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Eface WHERE Name = AliasEface.Eface DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
      END
    END
        
    FOREACH EntityRef AS AliasERef WHERE Ifd = AliasIFD.Name DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Entity WHERE Name = AliasERef.Entity DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
      END
    END
    
    FOREACH Portref AS AliasPRef WHERE Ifd = AliasIFD.Name DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOREACH Port AS AliasPort WHERE Function = AliasPRef.Ifd AND Portno = AliasPRef.Portno DO
        //this can be four things => either an entity, datastructure, external port or functionref
        FOR Datastructure WHERE Name = AliasPort.Datastructure DO
          CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
        END
        FOR Entity WHERE Name = AliasPort.Entity DO
          CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
        END
        FOR Eface WHERE Name = AliasPort.Eface DO
          CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
        END
        FOR Function WHERE Name = AliasPort.RelatedFunction DO
          CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
        END
      END
    END

    FOREACH Store AS AliasStore WHERE Ifd = AliasIFD.Name ORDER BY X DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Datastructure WHERE Name = AliasStore.Datastructure DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 56);
      END
    END

    FOREACH Fundatflow AS AliasFunDatF WHERE Ifd = AliasIFD.Name ORDER BY X DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Datastructure WHERE Name = AliasFunDatF.Infoname DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y% + 8, ulc_x% + 50, ulc_y% + 24);
      END
    END

    FOREACH Funefaflow AS AliasFunEfaf WHERE Ifd = AliasIFD.Name ORDER BY X DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Datastructure WHERE Name = AliasFunEfaF.Infoname DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y% + 8, ulc_x% + 50, ulc_y% + 24);
      END
    END

    FOREACH Funentflow AS AliasFunEntF WHERE Ifd = AliasIFD.Name ORDER BY X DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Entity WHERE Name = AliasFunEntF.Entity DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y% + 8, ulc_x% + 50, ulc_y% + 24);
      END
    END

    FOREACH FunFunflow AS AliasFunFunF WHERE Ifd = AliasIFD.Name ORDER BY X DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Datastructure WHERE Name = AliasFunFunF.Infoname DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y% + 8, ulc_x% + 50, ulc_y% + 24);
      END
    END

    FOREACH FunPortflow AS AliasFunPortF WHERE Ifd = AliasIFD.Name ORDER BY X DO
      //the flow can transmit an entity (or one of its attributes) or a datastructure
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Datastructure WHERE Name = AliasFunPortF.Datastructure DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y% + 8, ulc_x% + 50, ulc_y% + 24);
      END
      FOR Entity WHERE Name = AliasFunPortF.Entity DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y% + 8, ulc_x% + 50, ulc_y% + 24);
      END
    END

    FOREACH FunIfaflow AS AliasFunIfaF WHERE Ifd = AliasIFD.Name ORDER BY X DO
      ulc_x% = x%;
      ulc_y% = y%;
      CALL H_CaseNonBoxCoorToImageCoor(X, Y, ulc_x%, ulc_y%);
      FOR Datastructure WHERE Name = AliasFunIfaF.Infoname DO
        CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y% + 8, ulc_x% + 50, ulc_y% + 24);
      END
    END

    CALL GenMapFooter();
  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\16961.htm (C) microTOOL GmbH 2002