[gelöst] Qualifizierte Fehlermeldung

19. September 2011 16:25

Hallo zusammen,
bei uns ist heute Nacht der Planungslauf abgebrochen mit der äußerst hilfreichen Meldung das bei einer FA-Komponente eine Artikelverfolgung hinterlegt sei. Da steht weder welche Komponente noch welcher Auftrag - nicht mal ne Artikelnummer gibt es. Eigentlich müsste man M$ die Fehlersuche in Rechnung stellen - ihr seht, ich bin leicht verärgert.

Die Fehlermeldung kommt aus der Codeunit 99000845 - da wird eine Methode TextCaption der Tabelle 337 aufgerufen. Leider kann ich die Methode nicht direkt anfassen - sie wird auch noch in verschiedenen Formularen verwendet. Ergo habe ich eine neue Methode TextCaptionExtended eingefügt und erweitere hier den Text entsprechend. Dabei tritt nun das Problem auf. Wenn es sich um eine FA-Komponente handelt dann steht im "Source Subtype" der Status des FA drin. Nun will ich in der Fehlermeldung aber nicht 4 drin stehen haben sondern "Freigegeben". Am liebsten wäre mir sowas:
Code:
      rtxt_Value := STRSUBSTNO('%1 %2 (%3 %4, Zeile %5, Komponentenzeile %6)', TextCaption, "Item No.",
           lrec_ProdOrderLine.Status::{"Source Subtype"}, "Source ID", "Source Prod. Order Line", "Source Ref. No.");

Das geht schon mal nicht. Also versuch ich es so:
Code:
      CASE ("Source Subtype") OF
      1: ltxt := FORMAT(lrec_ProdOrderLine.Status::Simulated);
      2: ltxt := FORMAT(lrec_ProdOrderLine.Status::Planned);
      3: ltxt := FORMAT(lrec_ProdOrderLine.Status::"Firm Planned");
      4: ltxt := FORMAT(lrec_ProdOrderLine.Status::Released);
      5: ltxt := FORMAT(lrec_ProdOrderLine.Status::Finished);
      END;
      rtxt_Value := STRSUBSTNO('%1 %2 (%3 %4, Zeile %5, Komponentenzeile %6)', TextCaption, "Item No.", ltxt, "Source ID",
        "Source Prod. Order Line", "Source Ref. No.");

Nun kommt hier auch 4 raus statt des gewünschten "Freigegeben". Hat irgend einer eine Idee wie ich das "Freigegeben" hinbekomme ohne es noch einmal in den Sourcecode oder als Textkonstante hinterlegen zu müssen? Mir ist schon klar das es eigentlich nur ne Formsache ist - schließlich landet die Fehlermeldung eh bei mir auf dem Tisch und ich weiß natürlich daß 4 freigegeben ist. Es könnte ja aber auch mal vorkommen daß der Anwender mit der Fehlermeldung was anfangen können muss - in diesem Fall würde ich die Fehlermeldung gerne richtig codieren.

Ich bin für jeden Vorschlag dankbar.

WoF
Zuletzt geändert von WoF am 19. September 2011 16:37, insgesamt 2-mal geändert.

Re: Qualifizierte Fehlermeldung

19. September 2011 16:30

Um einen Optionswert als Klartext zu erhalten, schreibe einfach ein FORMAT(...) um das Optionsfeld.

Re: Qualifizierte Fehlermeldung

19. September 2011 16:31

Hallo Natalie,
Wie man im unteren Block sehen kann habe ich das auch gemacht - aber es hat nicht geholfen. Möglicherweise geht das nur in Reports - oder ich muss beim Format noch weitere Parameter füllen.
Oder meinst du sowas:
Code:

      lrec_ProdOrderLine.Status := "Source Subtype";
      ltxt := Format(lrec_ProdOrderLine.Status);
      rtxt_Value := STRSUBSTNO('%1 %2 (%3 %4, Zeile %5, Komponentenzeile %6)', TextCaption,"Item No.", ltxt, "Source ID",
        "Source Prod. Order Line", "Source Ref. No.");


Trotzdem danke für den Hinweis

WoF

Re: Qualifizierte Fehlermeldung

19. September 2011 16:36

Ah, so funktioniert es. Manchmal bin ich so richtig neben der Spur. Danke für die Hilfe.

WoF