Aufruf eines TAA-Bausteins

Die Pseudocode-CALL-Anweisung ist hauptsächlich für komplexere Vor- und Nachbereitung gedacht.

Schriftgut-Bestandteile sollten, wenn irgend möglich, über die Entscheidungstabelle aufgerufen werden.

  CALL [<type> SERVICE] <name-3>
       [IN <anwendung>][.<ereignis>]
       [WITH <wrap hi>[<byValOrRef>]</wrap> <name-1> = <obj-1><wrap hi>[<byValOrRef>]</wrap>
           [{AND|,} [<byValOrRef>] <name-n = <obj-n][<byValOrRef>] ... ]
       [<optionen>]
  END CALL    
  <type>:     gültiger, in der EDB definierter Bausteintyp
  <name-3>:   Name des aufzurufenden Bausteins
  <anwendung>:Name der Anwendung, zu der der Baustein gehört
  <name-1>, <name-n>: Parameterobjekt in aufzurufendem Modul
  <obj-1, <obj-n>: zuzuweisendes Objekt in aktuellem Modul
  <optionen>: Optionen bei Schriftgut-Aufruf, s. unten
  <byValOrRef> : BY VALUE | BY REFERENCE | BYVAL | BYREF

Die Angabe des Bausteintyps kann entfallen; in dem Fall sucht die TAA-Infrastruktur unter allen bekannten Bausteintypen einen Baustein mit dem angegebenen Namen. Wenn die Anwendung nicht angegeben ist, durchsucht die TAA-Infrastruktur alle bekannten Anwendungen nach einem Baustein des Namens. Die Angabe des Ereignisses ist zwar von der Syntax her optional, wird aber in den meisten Fällen dennoch notwendig sein, um einen korrekten Bausteinaufruf zu erzeugen.

Danach folgen die Parameterzuweisungen, eingeleitet mit dem Schlüsselwort WITH. Mehrere Parameterzuweisungen werden durch das Wort AND oder ein Komma getrennt.

Zusätzlich kann pro Parameterzuweisung angegeben werden, ob eine direkte Referenz auf das Objekt übergeben werden soll (BYREF, oder BY REFERENCE), oder ob nur der Inhalt des Objekts übergeben werden soll (BYVAL, oder BY VALUE). Bei Übergabe des Inhalts wird dem aufgerufenen Modul eine Kopie des Objekts übergeben; Änderungen, die das aufgerufene Modul in dem Objekt durchführt, werden in dem beim Aufrufer vorhanden Objekt nicht wirksam. Default ist BY REFERENCE. Die Angabe kann am Anfang oder Ende der Parameterzuweisung stehen, darf aber pro Parameterzuweisung nur einmal erfolgen.

Pro Parameter des aufgerufenen Moduls muss der Name eines Objekts in dem aktuellen Modul angegeben werden, die diesem Parameter zugeordnet werden soll. Das zugeordnete Objekt muss vom gleichen Typ sein und die gleiche Klasse haben (REC, LST) wie das Parameterobjekt der gerufenen Bausteins. Wenn das Objekt im aktuellen Modul denselben Namen hat wie das Parameterobjekt des gerufenen Bausteins, genügt es, diesen Namen einmal anzugeben.

Beispiel für einen Modulaufruf, einmal in langer und einmal in kürzestmöglicher Form:

  CALL EFUN SERVICE Provisionsabrechnung IN Levert.Pruefen
       WITH KVertrg=L-Vert AND VNehmer = VNehmer 
  END CALL
  CALL Provisionsabrechnung.Pruefen
  WITH KVertrg=L-Vert, VNehmer 
  END-CALL
  

Optionen bei Schriftgut-Aufruf

Wenn über den Pseudocode-Call Schriftgut hinzugefügt wird, besteht auch hier - wie in der Entscheidungstabelle - die Möglichkeit, beim Aufruf festzulegen, ob dieses Schriftgut vorselektiert und abwählbar ist.

Dafür können beim Aufruf die Eigenschaften selected und locked angegeben werden, eingeleitet durch den String Properties. Selected gibt an, ob das Schriftgut vorselektiert ist, locked gibt an, dass das Schriftgut nicht abwählbar ist.

 CALL SSBS SERVICE PG-BS-Dependency-6 in TwOnly.Udef
     WITH PGFORMT = LFORMT
     PROPERTIES SELECTED=TRUE, LOCKED=FALSE
 END CALL
ctv:pseudocode:aufruf · Zuletzt geändert: 09.08.2024 13:25

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum