Einfaches Reportmenü
Mit diesem Programm können Sie einfach Reports als Menü einbinden. Die Einbindung erfolgt zwar statisch, ist aber eine ganz nette Alternative zu einem mit SE43 erstellten Benutzer-Menü. Durch Klick auf das [i]-Symbol wird die Dokumentation zum Report angezeigt. Das Menü eignet sich also recht gut zur Sammlung wenig genutzter Programme, bei denen man sich vor Ausführung noch einmal versichern kann, was das Programm denn macht.
Anmerkung
Mit einer kleinen Änderung ist es natürlich auch möglich, eine Transaktion aufzurufen. Hierzu muss nur eine weitere Variable im Makro _TEXT_ definiert werden. Bei AT SELECTION-SCREEN muss man dann eben noch prüfen, ob die Variable gesetzt ist und kann dann entsprechend einen Call Transaktion anstelle des SUBMIT machen.
Coding
REPORT Z_REPORTMENUE . ********************************************************************** *** *** *** https://tricktresor.com *** *** *** ********************************************************************** *--------------------------------------------------------------------* * * Einfach zu erstellendes Menü für Reports * *--------------------------------------------------------------------* type-pools: icon. *-- Datendeklaration DATA: var(30). FIELD-SYMBOLS: <rep>, <skip>. *** MAKRO FÜR DRUCKKNOPF *** DEFINE _button_. selection-screen begin of line. *-- Druckknopf zum Start des Reports selection-screen pushbutton 2(70) pb&1 user-command pb&1. *-- Druckknopf für Doku selection-screen pushbutton 75(4) in&1 user-command in&1. selection-screen end of line. selection-screen skip 1. *-- Variablendeklaration data rp&1 type syrepid. data im&1 type c. END-OF-DEFINITION. *** MAKRO ZUR TEXTZUWEISUNG *** DEFINE _text_. *-- Variablenzuweisung concatenate &2 &3 into pb&1. rp&1 = &4. in&1 = '@0S@Info'. im&1 = &5. END-OF-DEFINITION. *-- Block 1 SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001. SELECTION-SCREEN SKIP 1. _button_: a1,a2. SELECTION-SCREEN END OF BLOCK 1. *-- Block 2 SELECTION-SCREEN BEGIN OF BLOCK 2 WITH FRAME TITLE text-002. SELECTION-SCREEN SKIP 1. _button_: b1,b2. SELECTION-SCREEN END OF BLOCK 2. *-- Block 3 SELECTION-SCREEN BEGIN OF BLOCK 3 WITH FRAME TITLE text-003. SELECTION-SCREEN SKIP 1. _button_: c1,c2,c3. SELECTION-SCREEN END OF BLOCK 3. INITIALIZATION. *-- Block 1 _text_ a1 icon_transport 'Texte transportieren' 'RSTXTRAN' space. _text_ a2 icon_binary_document 'Konvertiere SAPscript-Standardtext nach RAW-Format (ASCII)' 'RSTXCNVR' space. *-- Block 2 _text_ b1 icon_display 'Anzeige Icons' 'RSTXICON' 'X'. _text_ b2 icon_header 'Anzeige Symbole' 'RSTXSYMB' 'X'. *-- Block 3 _text_ c1 icon_compare 'Vergleich zweier Formulare' 'RSTXFCOM' space. _text_ c2 icon_copy_object 'Formulare zwischen Mandanten kopieren' 'RSTXFCPY' space. _text_ c3 icon_information 'Umfassende Informationen zu einem Formular' 'RSTXFINF' space. AT SELECTION-SCREEN. *-- Drucktasten auswerten CASE sy-ucomm(2). *-- Report aufrufen WHEN 'PB'. *-- Reportnamen ermitteln CONCATENATE 'RP' sy-ucomm+2(4) INTO var. ASSIGN (var) TO <rep>. *-- Soll der Report sofort ausgeführt werden? CONCATENATE 'IM' sy-ucomm+2(4) INTO var. ASSIGN (var) TO <skip>. IF <skip> = space. *-- Aufruf über Selektionsbild SUBMIT (<rep>) VIA SELECTION-SCREEN AND RETURN. ELSE. *-- Sofortige Ausführung SUBMIT (<rep>) AND RETURN. ENDIF. WHEN 'IN'. *-- Dokumentation zum Report aufrufen CONCATENATE 'RP' sy-ucomm+2(4) INTO var. ASSIGN (var) TO <rep>. CALL FUNCTION 'RS_TOOL_ACCESS' EXPORTING operation = 'DOCS' object_name = <rep> object_type = 'PROG' EXCEPTIONS invalid_object_type = 1 OTHERS = 2. ENDCASE.
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024