Hallo zusammen,
ich möchte Daten aus einer Tabelle in einem Reportausgeben lassen.
ganz einfach is klar:
REPORT z_test.
TABLES:
zusrlogon.
WRITE:
/,
/(75) sy-uline,
/'|', (15) 'Benutzername',
'|', (12) 'Logondatum ',
'|', (10) 'LogonZeit ',
'|', (12) 'Logoutdatum ',
'|', (10) 'Logoutzeit ', '|',
/(75) sy-uline.
select * from zusrlogon
where logon_date >= '20060317'
and logout_date <= '20060516'
order by logon_date.
WRITE:
/'|', (15) zusrlogon-uname,
'|', (12) zusrlogon-logon_date,
'|', (10) zusrlogon-logon_time,
'|', (12) zusrlogon-logout_date,
'|', (10) zusrlogon-logout_time, '|',
/(75) sy-uline.
ENDSELECT.
funktioniert auch, aber ich würde das gerne allesobjektorientiert machen und da muss ich ja eine INTO-Klausel in dieAbfrage machen, sonst schreit mich der Kompiler an.
TABLES:
zusrlogon.
CLASS a DEFINITION.
PUBLIC SECTION.
METHODS: constructor.
PRIVATE SECTION.
DATA: l_zusrlogon TYPE TABLE OF zusrlogon.
ENDCLASS.
CLASS a IMPLEMENTATION.
METHOD constructor.
WRITE:
/,
/(75) sy-uline,
/'|', (15) 'Benutzername',
'|', (12) 'Logondatum ',
'|', (10) 'LogonZeit ',
'|', (12) 'Logoutdatum ',
'|', (10) 'Logoutzeit ', '|',
/(75) sy-uline.
select * from zusrlogon
into l_zusrlogon
where logon_date >= '20060317'
and logout_date <= '20060516'
order by logon_date.
* l_zusrlogon ist hier gefüllt, aber ich krieg denZugriff nicht auf die Reihe
WRITE:
/'|', (15) l_zusrlogon-uname,
'|', (12) l_zusrlogon-logon_date,
'|', (10) l_zusrlogon-logon_time,
'|', (12) l_zusrlogon-logout_date,
'|', (10) l_zusrlogon-logout_time, '|',
/(75) sy-uline.
ENDMETHOD.
ENDCLASS.
DATA:
ref_a TYPE REF TO a.
START-OF-SELECTION.
CREATE OBJECT ref_a.
mache ich das und schreibe das ganze in der IMPLEMENTATION ineine interne Tabelle, kann ich die Daten daraus aber nicht so wieoben ausgeben, da eine Kopfzeile verlangt wird. Diese kann ich jaaber im OO nicht liefern, sonst schreit mich der Kompiler bei derDeklaration der internen Tabelle an. Wie muss ich das writeschreiben, damit es funktioniert?
In einem Dynpro krieg ich das hin, aber wie mache ich dasso?
Danke fürs lesen
Ifrit