Ansicht
Dokumentation

RSSB_GET_AUTHS_FILTERED - Berechtigungen im BI Reporting: Berechtigte Werte gefiltert

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 Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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_IOBJ
E_T_MSG
E_T_RANGE
I_CLEAR
I_INFOPROV
I_IOBJNM
I_T_RANGE_FILTER
I_UNAME

Ausnahmen

INTERNAL_ERROR
NOT_AUTHORIZED
USER_DOESNT_EXIST
X_MESSAGE

Funktionsgruppe

RSSBU

ROGBILLS - 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 )