Un aspetto tecnico che può aiutare a capire come risolvere un problema autorizzativo.

Cosa è il return code?
Errore autorizzativo SAP
Quando provo ad eseguire una certa funzionalità, per la quale non sono autorizzato, il sistema mi restituisce un messaggio di errore.
Ma non tutti i messaggi, anche se simili, sono uguali. Nel caso delle autorizzazioni, così come in altre situazioni è la variabile SY-SUBRC che restituisce il codice di errore. Questo può dipendere dal conteso in cui viene usata.
Nel caso delle autorizzazioni lo statement ABAP AUTHORITY-CHECK è quello principale.
Quali i principali return code di errore nelle autorizzazioni SAP?
- 0 -> L'utente risulta correttamente autorizzato. Ovvero ho eseguito una funzionalità, il sistema controlla se sono autorizzato, nel mio buffer utente esiste autorizzazione. Quindi posso proseguire
- 4 -> L'utente ha l'oggetto autorizzativo controllato ma con valori diversi da quelli richiesti. Es. Devo effettuare una scrittura contabile sulla società XY (e sono autorizzato) ma non sulla società ZZ dove sto cercando di scrivere.
- 12 -> Il sistema verifica se l'utente è abilitato alla funzionalità che sta chiedendo, ma non ha proprio l'oggetto autorizzativo nel suo buffer utente
- 24 -> Non più in uso
- 40 -> Utente non valido nel caso in cui sia stato inserito nel codice di controllare un utente diverso da quello attuale

Quando mi è utile quanto sopra? Ad esempio quando attraverso le transazioni di trace o analisi errori autorizzativi vedo dei return code, da lì posso già capire di quale problema si tratta!