HotTip: Fehlende Feldinhalte beim Debug

11. November 2008 | Von | Kategorie: Tools, Hot-Tips

Artikel der NEWSolutions: Ich versuche, das folgende Programm zu debuggen, aber außer dem Feld SLSMN# haben alle Felder meiner Datenstruktur SLSMNDS keinen Inhalt. In der Datei befinden sich jedoch definitiv Werte. Warum werden die Felder als leer ausgewiesen?

Frage:
Ich versuche, das folgende Programm zu debuggen, aber außer dem Feld SLSMN# haben alle Felder meiner Datenstruktur SLSMNDS keinen Inhalt. In der Datei befinden sich jedoch definitiv Werte. Warum werden die Felder als leer ausgewiesen?


     FSLSMN     IF   E           K DISK
     D SlsMnDs       E DS                  EXTNAME(SLSMN)
     D SaveSlsMn#      s                   like(SlsMn#)
      /Free
           Setll *Loval RSlsmn;
           Read  RSlsmn;
           Dow Not %Eof (Slsmn);
               EVAL SaveSlsMn# = SlsMn#;
               Read  RSlsmn;
           Enddo;
           *Inlr = *On;
      /End-Free

Antwort:
RPG lädt, um die Performance des Programms zu verbessern, nur diejenigen Felder, die im Programm auch tatsächlich verwendet werden. In Ihrem Programm ist SLSMN# das einzige benutzte Feld und somit auch das einzige Feld, das RPG in den Speicher lädt.

Würden Sie das EVAL Statement aus Ihrem Programm entfernen, würde im Programm keines der Felder verwendet werden und der Debugger würde alle Felder als leer ausweisen.

Schlagworte: , , , , , , , , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.