È possibile vedere quali sono gli oggetti autorizzativi SAP controllati da una certa transazione?
Esiste un modo per capire se un certo problema è di natura autorizzativa o meno?
Per rispondere alle domande sopra, vediamo assieme cosa è la transazione STAUTHTRACE, come funziona e quando è utile utilizzarla.
A cosa serve?
Ti sei mai chiesto se esiste un modo di capire quali sono tutti i controlli autorizzativi effettuati da una transazione (di qualsiasi modulo SAP) nel sistema? Senza analizzare il codice ABAP che viene richiamato dalla transazione?
Un modo è quello di fare una trace autorizzativa. In SAP ne esistono diversi:
- Tramite la transazione SU53, leggi anche qui l'approfondimento
- In questa transazione viene mostrato solo l'ultimo errore autorizzativo. Nell ultime release di SAP le ultime tre ore
- Tramite la transazione ST01, si tratta di una transazione sistemistica, permette di tracciare oltre alle autorizzazioni controllate da una transazione anche le tabelle o gli statement SQL eseguiti
- Tramite la transazione STAUTHTRACE, ovvero l'evoluzione della transazione ST01 per gli aspetti autorizzativi
Ecco come si presenta la transazione ST01
Ecco come si presenta la transazione STAUTHTRACE
Ma come la si utilizza?
Entrambe le transazioni ST01 e STAUTHTRACE sono simili nel funzionamento.
- Bisogna inserire un utente ed attivare la trace (solitamente lo si fa in maniera specifica e puntuale) anche se è possibile attivarla per tutti gli utenti (attenzione poi ai log generati).
- Tramite "Trace on" in ST01 oppure "Activate Trace" in STAUTHTRACE
Oppure nel caso della STAUTHTRACE
- Puoi decidere se tracciare qualsiasi controllo autorizzativo oppure solo quando si verificano degli errori
- Una volta che l'utente è posto sotto trace, ed ha utilizzato la transazione completando le attività
- Puoi spegnere la registrazione ("Trace off" oppure "Deactivate Trace") e visualizzare quanto è stato tracciato in termini di autorizzazioni controllate, premendo "Analysis" oppure "Evaluate" nel caso della STAUTHTRACE
Perché puoi avere la necessità di utilizzarla?
Ecco alcune casistiche dove potrebbe essere utile utilizzare questa funzionalità di SAP.
- Trace per nuove transazioni custom, vuoi capire se la transazione custom SAP controlla degli oggetti autorizzativi (non riuscendo ad analizzare il codice). Attenzione devi saperla utilizzare in ogni sua funzionalità, affinché la trace sia completa
- Problemi autorizzativi (leggi anche qui SU53) specifici, in passato veniva usata in maniera maggiore, dato che la SU53 mostrava solo l'ultimo errore autorizzativo.
- Tracciatura autorizzativa attività svolte da utenze
- Individuare dove è utilizzato nel codice un certo oggetto autorizzativo, una volta che è stato tracciato
- Analisi delle autorizzazioni CDS (Core Data Service) HANA
Differenze tra la transazione ST01 e STAUTHTRACE?
- Con la ST01 puoi tracciare anche altre attività non solo autorizzazioni
- La STAUTHTRACE puoi tracciare attività solo autorizzative
- La ST01 è application server dependent, significa che se un utente si collega in un application server diverso dal tuo, devi attivarla esplicitamente su tutti gli application server, affinché l'utente sia tracciato. Mentre la STAUTHTRACE permette molto velocemente di attivarla su tutti gli application server attivi, premendo sul pulsante "System-Wide Trace" e successivamente selezionando tutti gli application server (come mostrato sotto)
- La grafica tra le due transazioni è molto diversa. Nella versione nuova STAUTHTRACE è possibile esportare comodamente il risultato della trace ed elaborarlo subito in un foglio elettronico se necessario, nella vecchia è necessario effettuare qualche elaborazione