Beispiel 2: Ohne Benutzerstammsatz
Verwendung
Dieses Beispiel zeigt ABAP-Coding, mit dem die Abrechnungsdaten eines bestimmten Kontos gelesen werden.
Das Beispiel unterscheidet sich insofern von
Beispiel 1, als die statistischen Daten des aktuellen Tages mit der angegebenen Benutzerkontozuweisung gelesen werden. Die Daten werden aus allen verfügbaren Anwendungsservern zusammengefaßt.Beispiel
REPORT ZACCDEMO.
* Abrechnungsdaten für ein bestimmtes Konto lesen
* Tabelle mit zusammengefaßter Statistik
DATA BEGIN OF ACCOUNT_STATISTIC OCCURS 10.
INCLUDE STRUCTURE SAPWLACCTS.
DATA END OF ACCOUNT_STATISTIC.
* Tabelle mit definierten Konten
DATA BEGIN OF USER_ACCOUNT_RELATION OCCURS 10.
INCLUDE STRUCTURE USRACCNTV.
DATA END OF USER_ACCOUNT_RELATION.
* Definition von drei Kontobeziehungen
"erste Beziehung
USER_ACCOUNT_RELATION-MANDT = '001'. "Mandant festlegen
USER_ACCOUNT_RELATION-BNAME = 'USER_01'. "Benutzernamen festlegen
USER_ACCOUNT_RELATION-ACCNT = 'ACCOUNT_01'. "Konto festlegen
"neue Beziehung USER_01 in Mandant 001 <-> ACCOUNT_01 anhängen
APPEND USER_ACCOUNT_RELATION.
"zweite Beziehung
USER_ACCOUNT_RELATION-BNAME = 'USER_02'.
"neue Beziehung USER_02 in Mandant 001 <-> ACCOUNT_01 anhängen
APPEND USER_ACCOUNT_RELATION.
"dritte Beziehung
USER_ACCOUNT_RELATION-BNAME = 'USER_03'.
USER_ACCOUNT_RELATION-ACCNT = 'ACCOUNT_02'.
"neue Beziehung USER_03 in Mandant 001 <-> ACCOUNT_02 anhängen
APPEND USER_ACCOUNT_RELATION.
* Abrechnungsdaten für definiertes Konto lesen
CALL FUNCTION 'SAPWL_ACCNT_GET_SYSTEM_USAGE'
EXPORTING
PERIODTYPE = 'D' "tägliche Statistik
" HOSTID = "aller verfügbaren Server
STARTDATE = SY-DATUM "ab heute
" CUMULATION_MODE = 'A' "Daten für Kontos zusammenfassen
" CLIENT =
TABLES
STATISTIC = ACCOUNT_STATISTIC
USER_ACCOUNT_RELATION = USER_ACCOUNT_RELATION
EXCEPTIONS
UNKNOWN_PERIODTYPE = 01
UNKNOWN_CUMULATION_MODE = 02
WRONG_CLIENT_DESCRIPTION = 03
WRONG_STARTDATE = 04
NO_DATA_FOUND = 05.