Soll ein Copybook als modifizierbare Struktur erzeugt werden, kann das durch die Angabe von COBS in der Eingabedatei veranlasst werden.
PRIVAT.COBS."K:\SRC\REWT\CPY\CXSND451.CPY" PRIVAT.COBS."K:\Src\rewt\cpy\CXSND650.cpy"
Dadurch wird eine von DataClass abgeleitete Klasse erzeugt. Diese Klasse enthält dann für jede Gruppe bzw. jedes Datenelement eine ansprechbare Property.
/// <summary> /// PRIVAT.COBS.CXSND650 /// </summary> [GeneratedCode("TeamWiSE.ExpEdge::CobolStructCopyBookGenerator", "9.11.000.010")] [DebuggerDisplay(@"Deklarationen aus SNSTR-DATN-GSA")] internal sealed class SnstrDatnGsaClass : DataClass<SnstrDatnGsaClass> { ...
Im Programm selbst wird dann eine Instanz der Klasse erzeugt, über die die Properties angesprochen werden können. Dadurch kann nur über die Instanz auf einzelne Properties zugegriffen werden.
01 STAND-GEVO-REG. COPY CXSND451. 01 BIN-DATN. COPY CXSND650. 01 BIN-DATN-KFZ. COPY CXSND651. ... MOVE SPACE TO L-BIN-DATEN-GSA L-KFZ-BIN-DATEN-GSA
private readonly SnstrStandGevoRegClass StandGevoReg = SnstrStandGevoRegClass.CreateNewInstance(); private readonly SnstrDatnGsaClass BinDatn = SnstrDatnGsaClass.CreateNewInstance(); ... BinDatn.LBinDatenGsa = LKfzBinDatenGsa = String.Empty;
Die Einbindung der Klasse in das Programm findet nur statt, wenn:
Anderenfalls werden die Datendeklarationen des Copybooks an der Stelle, an der es definiert ist, hinzugefügt. Dadurch wird sichergestellt, dass nachfolgende Datendeklarationen oder CopyBooks in der richtigen Gruppenstufe erzeugt werden.