Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Standard Primärer Arbeitsbereich (SPAB)

In der Regel enthält ein C/C++-Teilprogramm auch eine Datenstruktur für den Standard-Primären-Arbeitsbereich (SPAB). Wird der SPAB verwendet, sollte er den KDCS-Parameterbereich (Include-Datei kcpa.h) enthalten. Auch die Nachrichtenbereiche und andere variable Daten sollten Sie in den SPAB legen.

Wenn Sie variable Daten nicht in den SPAB legen, dann müssen Sie dafür sorgen, dass das Teilprogramm reentrant-fähig ist, z.B. indem Sie sie im automatic-Bereich der Funktion ablegen.

Die Nachrichtenbereiche müssen Sie selbst definieren. Für Aufrufe, die Informationen von openUTM anfordern (z.B. KDCS_INFOSI, KDCS_INITPU) stehen jedoch spezifische Datenstrukturen in Include-Dateien zur Verfügung. Falls Sie mit einem
Formatierungssystem arbeiten, können Sie für die Strukturierung des Nachrichtenbereichs automatisch generierte Adressierungshilfen verwenden (siehe Handbuch des Formatierungssystems).

Im folgenden Beispiel enthält der Kommunikationsbereich auch einen KB-Programmbereich zur Datenübergabe an Folgeteilprogramme. Der Nachrichtenbereich wird in den SPAB gelegt.

Beispiel
#include <kcmac.h>                       /* UTM-Datenstrukturen        */
#include <forma3a.h>                     /* Struktur der Adressierungs-*/
                                         /* hilfe für +Format forma3   */
  struct ca_area
   { struct ca_hdr ca_head;              /* KB-Kopf                    */
     struct ca_rti ca_return;            /* KB-Rueckgabebereich        */
     struct ca_prog_area
      { char ca_info[22];                /* Anwenderspezifische        */
        char ca_start[2];                /* Deklaration des KB-        */
        char ca_dest[2];                 /* Programmbereichs           */
        char ca_fl_day[5];
        char ca_fl_nr1[5];
        char ca_fl_nr2[5];
      } ca_prg;
   };
  struct work
   { union kc_paa param;                 /* KDCS-Parameterbereich      */
     struct msg_area
      { forma3a std_mask;                /* Deklaration +Format forma3 */
        ...
      } msg_a;                           /* Nachrichtenbereich         */
   };
void cprog (struct ca_area *ca, struct work *spab)
{.../* Beginn Funktionsbereich des Teilprogramms */ ...