0

Select... where - syntaktisch wohl korrekt, funktioniert aber nicht

Struktur siehe Bild.

Wenn ein Deal gewonnen wurde, sollen alle Container im Bestand einen Status erhalten. Dafür habe ich folgenden Code gebaut:

if Status = 3 and Angebotsart = 2 then
    'Container Angebotspositionen'.('Status Container in Angebot' := 3);
    for c in select Bestand where 'Position in Angeboten'.Angebote.Id = me do
        c.('Status Verfügbarkeit hidden' := 3)
    end;
else

Die erste Anweisung in der if Bedingung setzt ein Feld in allen enthaltenen Angebotspositionen.

Die zweite Anweisung soll in allen Containern, die über "Position in Angeboten" mit diesem Angebot verknüpft sind, ebenfalls ein Feld aktualisiert werden.

Dieser Text funktioniert - es werden alle Container ohne Bedingung auf Status 3 gesetzt:
 

if Status = 3 and Angebotsart = 2 then
    'Container Angebotspositionen'.('Status Container in Angebot' := 3);
    for c in select Bestand do
        c.('Status Verfügbarkeit hidden' := 3)
    end;
else

Ich möchte aber die Einschränkung drin haben - nur Container, die über die Angebotsposition zum Angebot gehören - siehe erster Code. 

Wo liegt der Fehler in meinem Ansatz?

Antwort

null

Content aside

  • vor 1 JahrZuletzt aktiv
  • 105Ansichten
  • 1 Folge bereits