Ich habe jetzt sowohl das CL korrigiert, als auch im RPGLE folgendes eingebaut:

Code:
  D DSPMOD          S              1A  
 
  D RetrieveDisplayMode...                                           
  D                 PR                  ExtProc('QsnRtvMod')         
   * Display Mode: '3' = Device is in 24x80 mode; '4' = 27x132 mode  
  D DspMod                         1A                                
  D EnvHandle                     10I 0 options(*omit)               
  D ErrorCode                           likeds(#ErrorCode)           
  D                                     options(*varsize : *omit)    
 
  D #ErrorCode      DS                  qualified                    
  D BytesProv                     10I 0 inz(%size(#ErrorCode))       
  D BytesAvail                    10I 0 inz(0)                       
  D MsgId                          7A   inz('')                      
  D                                1A   inz('')                      
  D MsgData                      128A   inz('')                      
 
  ...
 
  /FREE                                         
 
   RetrieveDisplayMode(DspMod: *omit : *omit);  
 
  /END-FREE
Aber ich bekomme immer nur den Wert '3' zurück - obwohl ich auf einer Sitzung definitiv 27x132 verwende - und das Programm dieses auch so anzeigt.

Wo ist der Fehler?