EXEC TAA GET Statement

Beispiele

Get First:

  1. EXEC TAA
  2. GET FIRST LNLPPM2
  3. WHERE
  4. LNLPPM2-X50-PRAE-TYP-K = SNLPPME-X50-PRAE-TYP-K
  5. END-EXEC
this.DataLnlppm2.FirstOrDefault(rec => rec.X50PraeTypK == Snlppme.X50PraeTypK)?.CopyLocal(Lnlppm2);;

Get Last:

  1. EXEC TAA
  2. GET LAST SNLPPME
  3. END-EXEC
this.Data.Snlppme.LastOrDefault()?.CopyLocal(Snlppme);

Get Next:

  1. EXEC TAA
  2. GET NEXT SNLPRIS
  3. WHERE SNLPRIS-VEL-VELE-ID = SNLPVEL-VEL-VELE-ID
  4. END-EXEC
this.Data.Snlpris.NextOrDefault(rec => rec.VelVeleId == Snlpvel.VelVeleId)?.CopyLocal(Snlpris);

Get Datenname:

  1. EXEC TAA
  2. GET SNLCTX (INDEX-SNLCTX)
  3. END-EXEC
this.Data.Snlctx[IndexSnlctx - 1]?.CopyLocal(Snlctx);

Sonderfälle

GET auf ein Record-Objekt

Ein GET auf ein Record-Objekt ist bei der Umsetzung in C# eine leere Operation. In COBOL ist es möglich durch einen GET auf ein Record-Objekt den Inhalt zum Objekt in der WORKING-STORAGE mit dem tatsächlichen Inhalt des Objektes zu überschreiben und somit Änderungen, die im COBOL-Code gemacht wurden, zu verwerfen. In C# ist das bei Record-Objekten nicht möglich, da der hierfür generierte Code grundsätzlich direkt auf den Objektdaten operiert, ähnlich wie in COBOL bei der Verwendung von einem CURSOR auf das Objekt. Im generierten Code wird hierzu ein Hinweis erzeugt, der nach erfolgreicher Prüfung des Falles gelöscht werden kann.

// ORIG: EXEC TAA GET SYSTVAR
// MIG_NOTE: GET on an object of class REC is a no-op when working directly on the object data
// MIG_NOTE: check if this operation was meant to restore object data that has been changed in 
// MIG_NOTE: the preceding code
cobmig:cs:procdiv:stmt:taa:obj:get · Zuletzt geändert: 18.11.2019 08:46

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