Quelle: Tricktresor
SE16N
- Tabelle: TSE05
- OK_CODE-Zeile: &sap_edit (Setzt Berechtigungen voraus)
- APP_OBJ = ADDM
- KEYWORD = REPORT
Quelle: Tricktresor
SE16N
* Sinngemäße Übersetzung des Kommentars von Thomas Jung auf Seite: http://www.dataxstream.com/2009/08/use-abap-to-access-any-data-in-memory/ * "Diese Syntax-Variante ("Dirty-Assign") ist nur für den internen Gebrauch. SAP supportet diese Syntax-Variante nicht * und kann jederzeit in zukünftigen Releases das Statement entfernen oder die Funktionsweise ändern. * Ursprünglich wurde dieses Konzept vom ABAP-Debugger verwendet. Der klassische Debugger lief in der selben * Session wie das zu debuggende Programm. Auf diese Art und Weise konnte der Debuggger auf die Speicherwerte zugreifen. * Ab Release 6.40 läuft der neue ABAP-Debugger in einer separaten Session. * Der ABAP-Debugger greift nun remote in die laufende Debug-Session und benutzt dazu spezielle Kernel-Methoden. * Irgendwann entfernt SAP den klassichen Debugger und damit auch diese Syntax-Variante." * beliebiger übergeordneter Source-Report Name DATA: lv_report_name TYPE string VALUE 'ZDEMO1'. * Variablen DATA: lv_int TYPE i VALUE 1. DATA: it_spfli TYPE STANDARD TABLE OF spfli WITH DEFAULT KEY. * Demo-Daten in iTab schreiben SELECT * from spfli INTO TABLE @it_spfli. * int-Variable aus Report holen DATA(lv_var1) = |({ lv_report_name })LV_INT|. * Feldsymbol zuweisen ASSIGN (lv_var1) TO FIELD-SYMBOL(<fs_lv_int>). * Wert ausgeben IF <fs_lv_int> IS ASSIGNED. WRITE: / <fs_lv_int>. ENDIF. * iTab aus Report holen DATA(lv_var2) = |({ lv_report_name })IT_SPFLI|. * Feldsymbol für iTab kann nicht inline deklariert werden, * da Typ noch unbekannt und deshalb Fehler bei lines( ) FIELD-SYMBOLS: <fs_it_spfli> TYPE ANY TABLE. * Feldsymbol zuweisen ASSIGN (lv_var2) TO <fs_it_spfli>. * Werte ausgeben IF <fs_it_spfli> IS ASSIGNED. WRITE: / lines( <fs_it_spfli> ). ENDIF.