This blog has been translated with Google Translate. the original blog can be found here: ekessler.de
In the blockUse the reporting name in Exit-variables for authorizationI have shownas the nameof a reportin the processing ofexit variablesin the contextof theauthorizationmaybeused. In thisblock, I show what restrictionsaretaken into account.
Thecustomer exitis traversed twicein the context ofauthorization. In the first passtheCOMPIDfieldisnot yet availablein thememory, and the call
IMPORTFROMMEMORYIDl_compidcompid='COMPID'.
returnsforl_compidnothing. With the followingcodetoensure that allusersof the report'ZTKE_EXIT_VAR_AUTH' onlytheinformation on the countryGermany(DE) is obtained.
METHODif_rsroa_variables_exit_badi~process.
DATA: TYPEl_compidrszcompid,
ls_rangeTYPErrrangesid.
IMPORTFROMMEMORYIDl_compidcompid='COMPID'.
CASEl_compid.
WHEN 'ZTKE_EXIT_VAR_AUTH'.
ls_range-sign = 'I'.
ls_range-opt = 'EQ'.
ls_range-low = 'EN'.
APPENDTOls_rangec_t_range.
...
ENDCASE.
ENDMETHOD.
The first callinI_STEP=0stilldeterminednotCOMPIDandthusno valueforthe processedhereexit variablecomesbackas part of theauthorization. In the secondcall, theCOMPIDcanbedeterminedandthe permission isrestricted toDE.
The first callhasthe consequence thatwein the executionof thereport, thewarning
You do nothaveanalysisauthorizationforanychar. valuesof char. 0COUNTRY
get, seeFigure2.1. theauthorization
By default, the variables are determinedbufferedvaluesin the contextof the authorization check. To ensurethat the valuescan be evaluatedin thesecond pass, thebuffering intheRSECADMIN(seeFigure2.1) can be switched off.This is onlypossiblesystem-wide!
Figure 2.1: Variablen Pufferung deaktivieren
After thebufferwasswitched off, we getno warningsregarding. The lack ofanalysisauthorizationmore.
Unfortunately, there isnoalternative toturning off thebuffer. Theanalysisauthorization conceptclearly statesthat an analysis ofauthorizationshouldbemadeto the dataandnotthereportingobject.