COBS

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.