Ausgabe der Selektionen

Hier stellen wir Ihnen einen Funktionsbaustein vor, mit dem Sie einfach die Selektionswerte eines Reports ausgeben können. Die Werte werden aufbereitet und als Liste ausgegeben. Der Aufruf erfolgt nur für das aktuelle Programm; es müssen keine SELECT-OPTIONS oder PARAMETERS übergeben werden.

Leider ist die Ausgabe nicht optimal, aber für die meisten Fälle reicht es wohl aus:

  • Bei langen Parameterfeldern wird nur ein Teil angezeigt; das ist ärgerlich z.B. bei Pfadnamen
  • Die Ausgabe ist nicht gerade platzsparend

Alternativ kann auch der Funktionsbaustein K_KKB_SELECTIONS_READ verwendet werden. In dem Parameter ET_SELOPT werden alle verwendeten SELECT-OPTIONS und PARAMETERS übergeben. Diese müssen dann allerdings selbst ausgegeben werden.

Das Programm

*** Datendeklaration
DATA: repid TYPE syrepid,                        
      varid TYPE raldb_vari,                     
      BEGIN OF t_varinfo OCCURS 0,               
        id(2),                                   
        line(80),                                
      END OF t_varinfo.                           
                                                  
  repid = sy-repid.
  varid = space.

*** Aufruf des Funktionsbausteins
  CALL FUNCTION ‘RS_COVERPAGE_SELECTIONS’
       EXPORTING
            report            = repid
            variant           = varid
       TABLES
            infotab           = t_varinfo
       EXCEPTIONS
            error_message     = 1
            variant_not_found = 3
            OTHERS            = 4.

*** Ausgabe der Selektionen
  LOOP AT t_varinfo.
    WRITE: / t_varinfo-line.             
  ENDLOOP.                     

Die Listausgabe

    Abgrenzungen des Programms    ZZTEST100                            
    Datum     23.07.2004          Uhrzeit    01:29:46                  
                                                                       
  Objekte des Selektionsbildes 1000                                    
  P1                                                                   
                                      EINS                             
  P2                                                                   
                                      ZWEI                             
  P3                                                                   
                                      DREI                             
  S1                                                                   
                Einzelwert            ABC                              
     oder       Einzelwert            DREISSIG                         
     oder       Einzelwert            HUGO                             
     oder       Einzelwert            HUNDERT                          
     und  nicht Einzelwert            EGON                             
     und  nicht Einzelwert            PETER                            
     und  nicht Einzelwert            WALTER                           
  S2                                                                   
                Einzelwert            TEST                             
     oder       Einzelwert            TESTZWEI                         
     und  nicht Intervall             A000                             
                                      bis                              
                                      B788                             

Enno Wulff

Leave a Comment