Ansicht
Dokumentation
RSSB_GET_AUTHS_FILTERED - Berechtigungen im BI Reporting: Berechtigte Werte gefiltert
rdisp/max_wprun_time - Maximum work process run time TXBHW - Original Tax Base Amount in Local CurrencyDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Der Funktionsbaustein dient dazu, im Falle von mehrdimensionalen Berechtigungen BI Reporting Variablen im Customer-Exit RSR00001 zu füllen.
Beim automatischen Füllen von Variablen aus Berechtigungen werden alle Werte aus allen Berechtigungen des Benutzer gesammelt und die Variable damit gesetzt. Das kann bei mehreren Profilen dazu führen, dass der Benutzer nach dem Füllen der Variablen die Query nicht ausführen darf.
Mit diesem Funktionsbaustein ist es nun möglich, die Variablen über den Customer-Exit RSR00001 so zu füllen, dass die Werte aus genau einem Profile stammen und die Query ausgeführt wird.
Beispiel
Im Customer-Exit für Reporting Variablen könnte der Aufruf wie folgt aussehen:
IF i_step = 1.
data: l_t_range_filter type RSR_T_RANGESID,
l_s_range_filter type RSR_s_RANGESID,
l_t_range type RSR_T_RANGESID.
CALL FUNCTION 'RSSB_GET_AUTHS_FILTERED'
EXPORTING
I_IOBJNM = i_iobjnm
I_T_RANGE_FILTER = l_t_range_filter
I_INFOPROV = i_s_cob_pro-infoprov
IMPORTING
E_T_RANGE = e_t_range
* E_TSX_AUTH_VALUES_USER_IOBJ =
EXCEPTIONS
NOT_AUTHORIZED = 1
INTERNAL_ERROR = 2
USER_DOESNT_EXIST = 3
X_MESSAGE = 4
OTHERS = 5.
IF sy-subrc <> 0.
clear e_t_range.
ENDIF.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF. "step
Der folgende Report setzt zuerst den Filter für das Merkmal 0COMP_CODE und fragt dann den passenden Wert für das Merkmale ZSALE ab.
*&---------------------------------------------------------------------*
*& Report Z_RSSB_GET_AUTHS_FILTERED *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_RSSB_GET_AUTHS_FILTERED .
type-pools: rsr.
data: l_uname type syuname value 'BTEST'.
data: l_t_range_filter type RSR_T_RANGESID,
l_s_range_filter type RSR_s_RANGESID,
l_t_range type RSR_T_RANGESID.
* filter 0COMP_CODE
l_s_range_filter-sign = 'I'.
l_s_range_filter-opt = 'EQ'.
l_s_range_filter-low = '10'.
append l_s_range_filter to l_t_range_filter.
CALL FUNCTION 'RSSB_GET_AUTHS_FILTERED'
EXPORTING
I_IOBJNM = '0COMP_CODE'
I_T_RANGE_FILTER = l_t_range_filter
I_CLEAR = RS_C_true
I_UNAME = l_uname
EXCEPTIONS
NOT_AUTHORIZED = 1
INTERNAL_ERROR = 2
USER_DOESNT_EXIST = 3
X_MESSAGE = 4.
IF SY-SUBRC <> 0.
* todo
ENDIF.
* get the corresponding value for ZSALE
CALL FUNCTION 'RSSB_GET_AUTHS_FILTERED'
EXPORTING
I_IOBJNM = 'ZSALE'
I_UNAME = l_uname
IMPORTING
E_T_RANGE = l_t_range
EXCEPTIONS
NOT_AUTHORIZED = 1
INTERNAL_ERROR = 2
USER_DOESNT_EXIST = 3
X_MESSAGE = 4.
IF SY-SUBRC <> 0.
* todo
ENDIF.
Hinweise
Intern werden im Funktionsbaustein die berechtigten Werte für jeden Aufruf mit InfoObject i_iobjnm gespeichert. Werden keine Filter in I_T_RANGE_FILTER mitgegeben, so wird beim ersten Aufruf das erste Profil verwendet.
Die Berechtigungen des Benutzers werden nach dem einmaligen Einlesen beim ersten Aufruf alphabetisch sortiert. Daher kann man über den Namen der Berechtigungen steuern, welche für das Füllen verwendet wird.
Beim zweiten und folgenden Aufrufen werden die bereits ermittelten Werte als Filter verwendet, so dass nur solche Berechtigungen in Betracht kommen, die zusammen mit den bereits in e_t_range erhaltenen Werten ein gültiges Profil ergeben.
Mit dem Parameter I_T_RANGE_FILTER ist es natürlich auch möglich, bestimmte Profile auszuwählen, indem man zum Beispiel beim ersten Aufruf einen Filter mitgibt, der nur auf ein bestimmtes Profile passt.
Weiterführende Informationen
Parameter
E_TSX_AUTH_VALUES_USER_IOBJE_T_MSG
E_T_RANGE
I_CLEAR
I_INFOPROV
I_IOBJNM
I_T_RANGE_FILTER
I_UNAME
Ausnahmen
INTERNAL_ERRORNOT_AUTHORIZED
USER_DOESNT_EXIST
X_MESSAGE
Funktionsgruppe
RSSBUROGBILLS - Synchronize billing plans TXBHW - Original Tax Base Amount in Local Currency
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6151 Date: 20240523 Time: 112422 sap01-206 ( 78 ms )