[Erledigt] Repeat vorzeitig verlassen

Bild Microsoft Dynamics NAV 2017

[Erledigt] Repeat vorzeitig verlassen

Beitragvon riffaquarium » 20. Mai 2019 12:05

Hallo Zusammen

Ich möchte den Repeat Schlaufe verlassen an den zwei Punkten unten wie ist der befehl dies zu verlassen ?
Danke Euch
Dany

Code: Alles auswählen
IF lrecVerkaufszeilen.FINDFIRST THEN REPEAT
  gAktuelleMenge := gAktuelleMenge + lrecVerkaufszeilen."Outstanding Quantity";
 
  IF lrecVerkaufszeilen."Document No." = paZeile."Document No."  THEN BEGIN
   
    IF gMaxBestand >  gAktuelleMenge THEN BEGIN
      rAnzeigeFarbe:= 'Favorable'  //grĂĽn
      ((hier REPEAT verlassen ))         

    END ELSE BEGIN
      rAnzeigeFarbe:= 'Unfavorable';   //rot
      ((hier REPEAT verlassen ))

    END;
  END;
UNTIL lrecVerkaufszeilen.NEXT = 0;
Zuletzt geändert von riffaquarium am 20. Mai 2019 15:28, insgesamt 1-mal geändert.
riffaquarium
 
Beiträge: 328
Registriert: 13. September 2010 23:43
Realer Name: Daniel
Arbeitsort: Schinznach Dorf
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV 2017

Re: Reppeat vorzeitig verlassen

Beitragvon Ted » 20. Mai 2019 12:14

Leg dir ne Boolean Variable an und frag diese in der Until Bedingung mit ab

Code: Alles auswählen
IF lrecVerkaufszeilen.FINDFIRST THEN REPEAT
  RepeatVerlassen := false;
  gAktuelleMenge := gAktuelleMenge + lrecVerkaufszeilen."Outstanding Quantity";
 
  IF lrecVerkaufszeilen."Document No." = paZeile."Document No."  THEN BEGIN
   
    IF gMaxBestand >  gAktuelleMenge THEN BEGIN
      rAnzeigeFarbe:= 'Favorable'  //grĂĽn
      ((hier REPEAT verlassen ))         
      RepeatVerlassen := true;
    END ELSE BEGIN
      rAnzeigeFarbe:= 'Unfavorable';   //rot
      ((hier REPEAT verlassen ))
      RepeatVerlassen := true;

    END;
  END;
UNTIL (lrecVerkaufszeilen.NEXT = 0) or not(RepeatVerlassen);


* du solltest kein FindFirst in zusammenhang mit repeat benutzen
GruĂź
Ted
Ted
 
Beiträge: 328
Registriert: 18. September 2014 11:16
Realer Name: Dennis Reinecke
Arbeitsort: Berlin
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2015+

Re: Reppeat vorzeitig verlassen

Beitragvon Jbb93 » 20. Mai 2019 12:39

Hey,

Ich habe jetzt nicht genauer in deinen Quellcode geschaut.
Aber um den Schleifendurchlauf unter bestimmten Bedingungen abzubrechen kannst du die BREAK-Funktion nutzen:
https://docs.microsoft.com/en-us/dynami ... -statement

P.S.:
Wie von Ted richtig angemerkt nicht FINDFIRST, sondern FIND('-') fĂĽr den Schleifendurchlauf benutzen.
FINDFIRST sollte genutzt werden, wenn du nur den ersten Datensatz verarbeitest.

GruĂź
Jbb93
Microsoft Partner
Microsoft Partner
 
Beiträge: 91
Registriert: 25. Januar 2016 11:20
Realer Name: Julian Breininger
Arbeitsort: Saarland
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV 4.0 - BC aktuell

Re: Reppeat vorzeitig verlassen

Beitragvon riffaquarium » 20. Mai 2019 15:27

Danke Euch allen fĂĽr Eure Tipps
GrĂĽsse
Dany
riffaquarium
 
Beiträge: 328
Registriert: 13. September 2010 23:43
Realer Name: Daniel
Arbeitsort: Schinznach Dorf
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV 2017


ZurĂĽck zu NAV 2017

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast