4.1 Abbildung der Dialog-Datentypen auf COBOL-Datentypen

4.1.1 Grunddatentypen

Die im Dialog verwendeten Grunddatentypen werden in COBOL wie folgt abgebildet:

DM-Datentyp

COBOL-Datentyp

boolean

pic 9(4) binary

cardinal

pic 9(4) binary

enum

pic 9(4) binary

datatype

pic 9(4) binary

index

keine Entsprechung

object

pic 9(9) binary

string [?]

pic X(?)

COBOL-Schnittstelle für Micro Focus Visual COBOL: pic N(?) national

integer

pic 9(9) binary

attribute

pic 9(9) binary

method

pic 9(9) binary

class

pic XX

anyvalue

keine Entsprechung

COBOL-Schnittstelle für Micro Focus Visual COBOL: pointer

4.1.2 Records

Neben den Grunddatentypen werden auch Records zu COBOL-Datentypen konvertiert. Die Konvertierung erfolgt hierbei einzeln nach dem obigen Schema für jedes einzelne Element.

Die für das COBOL-Programm notwendigen Definitionen werden durch eine generierte COBOL Copy-Datei bereitgestellt. Diese Generierung erfolgt mit Hilfe des Simulationsprogramms und der Startoption +/-writetrampolin.

idm +writetrampolin <BasisName> <Name der Dialogdatei>

Beispiel

In einem Record sind ein String und eine Zahl enthalten.

record Test1
{
  string[25] Value1;
  integer    Value3;
}

Die entsprechende generierte COBOL-Definition sieht dann wie folgt aus:

01  Test1
    05 Value1 pic X(25).
    05 Value3 pic 9(9) binary.

Hinweis

Um mit Micro Focus Visual COBOL den Datentyp National Character zu unterstützen, muss zusätzlich die Option -mfviscob-u angegeben werden. Die COBOL-Definition sieht dann so aus:

01  RecTest1.
    05  Value1-S.
        06 Value1 pic X(25).
        06 filler pic X(25).
    05  filler redfines Value1-S.
        06 Value1-u pic N(25) national.
    05  Value3 pic S9(9) binary.

4.1.3 Datentypen für Sammlungen

Die Sammlungsdatentypen des IDM und die damit zusammenhängenden Funktionen für gemanagte (verwaltete) IDM-Werte (Managed DM-Values) werden über den Zeiger-Datentyp (POINTER) von Micro Focus Visual COBOL unterstützt.

DM-Datentyp

Visual-COBOL-Datentyp

hash

POINTER

list

POINTER

matrix

POINTER

refvec

POINTER

vector

POINTER

Ein Managed DM-Value wird als Zeiger an Micro Focus Visual COBOL übergeben:

01 ManagedValue pointer.
ENTRY "GetAnyValue" using DM-COMMON-DATA ManagedValue.

Um einen solchen Wert innerhalb der DM-Value-Struktur zu verwenden, wird der Wert nach DM-value-pointer kopiert und DM-datatype auf DT-anyvalue gesetzt.

MOVE DT-anyvalue TO DM-datatype.
MOVE ManagedValue To DM-value-pointer.

Verfügbarkeit

Nur COBOL-Schnittstelle für Micro Focus Visual COBOL.