ABAP: Obtener roles asignados a un usuario

Con la función CKEXUTIL_USER_TO_ROLE obtendremos los roles asignados a un usuario.

Entrada
  • I_UNAME: Nombre de usuario (Podemos utilizar SY-UNAME para utilizar el nombre de usuario que ejecute el programa)

 

Salida
  • ET_AGR_USERS: Tabla con los roles de usuario son los siguientes campos:
    • MANDT: dentificación del mandante
    • AGR_NAME: Nombre del rol
    • UNAME: Nombre de usuario
    • FROM_DAT: Fecha de validez desde
    • TO_DAT: Fecha de validez hasta
    • EXCLUDE: Excluido
    • CHANGE_DAT: Fecha de modificación
    • CHANGE_TIM: Hora de modificación
    • CHANGE_TST: FEcha de modificación en formato UTC (AAAAMMDDhhmmss)
    • ORG_FLAG: Indicador si proviene de gestión de organización HR
    • COL_FLAG: Indicador si proviene de rol compuesto

 

Leer más

ABAP: Obtener sociedad CO de una Sociedad

Con la función estandar de SAP KOKRS_GET_FROM_BUKRS obtendremos la Sociedad CO de una Sociedad.

Entrada
  • I_BUKRS: Sociedad
Salida
  • E_KOKRS: Sociedad CO
Excepciones
  • NO_KOKRS_FOUND: No se ha encontrado Sociedad CO

Función

DATA: lv_bukrs TYPE bukrs,
      lv_kokrs TYPE kokrs.

CALL FUNCTION 'KOKRS_GET_FROM_BUKRS'
  EXPORTING
    i_bukrs        = lv_bukrs
  IMPORTING
    e_kokrs        = lv_kokrs
  EXCEPTIONS
    no_kokrs_found = 1
    OTHERS         = 2.

 

Para ver mas funciones de SAP pulse en el siguiente enlace: Listado de funciones

ABAP: Borrar variantes de un Programa

Con la función estandar TXW_ALV_VARIANT_DELETE podremos eliminar las variantes de un programa, para ello le pasaremos el nombre del report donde queremos borrar la variante.

Parámetro de Entrada
  • I_REPORT: Nombre del report ABAP
Parámetro de Salida
  • SY-SUBRC = 0: Variantes borradas correctamente
  • SY-SUBRC <> 0: No se han borrado o no existe report/variantes.

Función

DATA: lv_report TYPE LTDX-REPORT.

CALL FUNCTION 'TXW_ALV_VARIANT_DELETE'
  EXPORTING
    I_REPORT    = lv_report
  EXCEPTIONS
    NO_DELETION = 1
    NO_ENTRY    = 2.

IF SY-SUBRC = 0.
ENDIF.

Para ver mas funciones de SAP pulse en el siguiente enlace: Listado de funciones

ABAP: Poner signo al inicio en un importe

Con la función CLOI_PUT_SIGN_IN_FRONT podremos poner el signo de un importe al inicio si este importe está en una variable de texto. A la función le pasaremos un importe en tipo texto y la función nos modificara la variable poniendo el signo al inicio.

Función

DATA: lv_importe TYPE string VALUE '32.25-'.

CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
   CHANGING
     value = lv_importe.

IF sy-subrc = 0.
* El importe que nos devolverá sera: -32.25
ENDIF.

Para ver mas funciones de SAP pulse en el siguiente enlace: Listado de funciones