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:

  • Die Copy-Anweisung unterhalb voneiner 01 Gruppen üstufe steht.
  • Es keine weiteren Copy-Anweisungen oder Datendeklarationen unterhalb der 01 Gruppenstufe gibt.
  • Die Copy-Anweisung von zwei 01 Gruppenstufen umschlossen wird.

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.

cobmig:cs:expedge:cobstruct · Zuletzt geändert: 26.04.2023 11:30

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum