Jueves, 08 Mayo 2014 00:00

Cambio de usuario a través de un servicio web

Escrito por 
Valora este artículo
(0 votos)

En este artículo realizaremos un ejemplo de cambio de usuario, utilizaremos un servicio web con un usuario y dentro de la función RFC, utilizaremos otro usuario con permisos y roles diferentes para nuestras necesidades de ejecución. Para ello necesitaremos un usuario de servicio, con permisos para consumir servicios web, y un usuario de diálogo con las autorizaciones que necesitemos, luego dentro del módulo de función realizaremos el cambio de uno por otro a través de la función SUSR_INTERNET_USERSWITCH.

La principal diferencia respecto a usar el servicio con un usuario de comunicación, es que al usuario de servicio no tenemos que asignarle ningún permiso, ya que sólo se utilizará para consumirlo, y durante la ejecución se cambiará por un usuario autorizado. Por contra un usuario de comunicación nunca tiene acceso al sistema de diálogo (SAP GUI), mientras que el usuario de diálogo si.

 

En el ejemplo que se muestra a continuación se ha montado un servicio web a través una función RFC, siguiendo los pasos de anteriores entradas de este blog. El servicio consiste en devolver el identificador de usuario utilizado en el sistema SAP almacenado en la variable de sistema SY-UNAME, despues de realizar el cambio de usuario.

 


FUNCTION Z_USUARIOS .
*"----------------------------------------------------------------------
*"*"Interfase local
*"  EXPORTING
*"     VALUE(O_USER) LIKE  SY-UNAME
*"  EXCEPTIONS
*"      ERROR
*"----------------------------------------------------------------------

  DATA: username 		LIKE  bapibname-bapibname,
        password 		TYPE bapipwd,
        password_state 	TYPE xupwdstate,
        new_username 	TYPE ususername,
        error_table 	TYPE TABLE OF bapiret2.

* Datos del usuario al que se hará el cambio
  username = 'ZUSUARIO_DIALOGO'.
  password = 'password'.

* Cambio de usuario de servicio por usuario de diálogo
  CALL FUNCTION 'SUSR_INTERNET_USERSWITCH'
    EXPORTING
*     alias                       = username
      username                    = username
      password                    = password
    IMPORTING
      bname_after_switch          = new_username
      pwdstate                    = password_state
*     PWD_CHANGE_SSO              =
    TABLES
      return                      = error_table
    EXCEPTIONS
      current_user_not_servicetyp = 1
      more_than_one_mode          = 2
      internal_error              = 3
      OTHERS                      = 4.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

  o_user = sy-uname.

ENDFUNCTION.

 

Visto 40010 veces Modificado por última vez en Sábado, 19 Septiembre 2015 12:53

Artículos relacionados (por etiqueta)

1965 comentarios

  • Enlace al Comentario Arixfrcaabini Sábado, 19 Agosto 2017 21:28 publicado por Arixfrcaabini

    cheap car insurance
    best auto insurance
    cheapest car insurance
    best auto insurance

  • Enlace al Comentario Moisesnex Sábado, 19 Agosto 2017 19:34 publicado por Moisesnex

    cialis tadalafil 10mg generic

    cialis

    cialis online

    costo de cialis en df

  • Enlace al Comentario BobbyArren Sábado, 19 Agosto 2017 19:01 publicado por BobbyArren

    Wigs For Women
    Wigs
    Wigs
    Wigs For Women
    Wigs
    Human Hair Wigs
    Wigs For Women
    Wigs For Women
    Wigs For Women
    Wigs For Black Women
    Wigs
    WigsWigs For Black Women
    Wigs
    Wigs For Women
    Buy Wigs

  • Enlace al Comentario Goilnex Sábado, 19 Agosto 2017 17:13 publicado por Goilnex

    kann man viagra kaufen forum

    generic viagra

    cheap viagra online

    can shemales use viagra

  • Enlace al Comentario Arixfrcaabini Sábado, 19 Agosto 2017 14:34 publicado por Arixfrcaabini

    car insurance quotes
    cheap car insurance online
    cheap car insurance online
    cheap auto insurance quotes

  • Enlace al Comentario Georgeglype Sábado, 19 Agosto 2017 13:57 publicado por Georgeglype

    cheapest levitra professional oo
    buy levitra
    levitra buy in uk
    levitra online
    buy levitra in thailand

  • Enlace al Comentario Ericka Sábado, 19 Agosto 2017 13:46 publicado por Ericka

    advance paycheck
    online payday loans
    online payday loans indiana

  • Enlace al Comentario Michealopift Sábado, 19 Agosto 2017 11:07 publicado por Michealopift

    buy cialis without prescription

  • Enlace al Comentario Georgeglype Sábado, 19 Agosto 2017 10:52 publicado por Georgeglype

    levitra buy uk
    buy levitra
    buy levitra mastercard
    buy levitra
    levitra for sale philippines

  • Enlace al Comentario Moisesnex Sábado, 19 Agosto 2017 08:39 publicado por Moisesnex

    anyone in uk buy cialis

    cialis without doctor prescription

    buy cialis online

    cialis como funciona

Deja un comentario

Asegúrate de llenar la información requerida marcada con (*). No está permitido el código HTML. Tu dirección de correo NO será publicada.