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 |
---|---|
POINTER |
|
POINTER |
|
POINTER |
|
POINTER |
|
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.