Crear un AUTHORITY-CHECK
1 -Creamos en la SU20 un ámbito de autorización (elemento de dato) que luego usaremos en el objeto.
Nombre del campo Z____ y ponemos el elemento de Dato correspondiente a ese campo.
2 –Creamos la clase de autorización en la SU21
y luego posicionandonoss en la clase recién creada
Elegimos el nombre del objeto y ponemos el campo creado en el punto 1.
Grabamos y salimos.
3- Definimos los valores posibles de nuestro campo definido y el BASIS asignará a los roles de los usuarios el objeto de autorización creado y pondrá los valores de cada usuario.
4- En el código fuente
AUTHORITY-CHECK OBJECT ‘ZBOTONES’ “Objeto creado
ID ‘ZUCOMM’ FIELD ‘SAVE’. “sy-ucomm que tengo que verificar.
IF sy-subrc EQ 0.
“El usuario tiene el valor SAVE para dicho campo en su rol
ELSE.
“El usuario no tiene el valor SAVE para dicho campo en su rol
ENDIF.
Redondeo y decimales en ABAP
Muchas veces tenesmo problemas con el redondeo, acá hay algunas instrucciones útiles para el manejo de los mismos.
DATA N TYPE P DECIMALS 2.
DATA M TYPE P DECIMALS 2 VALUE '-5.55'.
N = ABS( M ). WRITE: 'ABS: ', N.
N = SIGN( M ). WRITE: / 'SIGN: ', N.
N = CEIL( M ). WRITE: / 'CEIL: ', N.
N = FLOOR( M ). WRITE: / 'FLOOR:', N.
N = TRUNC( M ). WRITE: / 'TRUNC:', N.
N = FRAC( M ). WRITE: / 'FRAC: ', N.
* The output appears as follows:
*
* ABS: 5.55 (nro absoluto)
*
* SIGN: 1.00-
*
* CEIL: 5.00- (redondea hacia arriba)
*
* FLOOR: 6.00- (redondea hacia abajo)
*
* TRUNC: 5.00- (parte entera)
*
* FRAC: 0.55- (parte decimal)