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 20927 veces Modificado por última vez en Sábado, 19 Septiembre 2015 12:53

Artículos relacionados (por etiqueta)

1042 comentarios

  • Enlace al Comentario Sulimnex Sábado, 24 Junio 2017 02:08 publicado por Sulimnex

    prix de viagra pfizer

    http://viagragenlo.com/ - viagra

    generic viagra

    viagra e medicin

  • Enlace al Comentario AlfredDub Viernes, 23 Junio 2017 22:45 publicado por AlfredDub

    wh0cd548145 elocon cream generic

  • Enlace al Comentario AgustinGer Viernes, 23 Junio 2017 20:37 publicado por AgustinGer

    mattres reviews reviews for my pillow best cotton sheets reviews
    who easy reviews twin mattress review mattress consumer reviews
    highest rated bed mattress casper review best memory foam pillow reviews
    find best rated mattress best mattresses sleep find best mattress you
    best mattress for bad back best mattresses prices best rated mattress reviews
    top 10 mattresses 2016 best mattress brands what's the best kind of mattress to buy
    rated best mattress foam mattress price best sleep mattress
    best mattress rating where to buy the best mattress comparison mattresses best mattress
    best mattress to buy best mattress buys the best mattress in the world

    reviews on tempurpedic mattresses alexander mattress review sleep like dead mattress reviews
    review memory foam mattress egyptian cotton sheets reviews king size mattress reviews 2015
    sealy ashton mattress reviews tempurpedic cloud supreme breeze reviews reviews on mattresses what is best mattress
    best mattress sleep best mattress for bad back finding best mattress
    which is the best mattress to buy best mattresses prices best mattress for best price
    best mattress to buy best mattress ever made best made mattress
    foam mattress price top 5 mattresses to buy the best mattress to buy
    top 5 mattresses 2016 discount best mattress whats best mattress
    best mattress for you comparison mattresses best mattress the best mattress on the market

  • Enlace al Comentario Sulimnex Viernes, 23 Junio 2017 20:18 publicado por Sulimnex

    viagra jelly 20mg tab

    cheap viagra

    viagra

    viagra generika anwendung

  • Enlace al Comentario MarvinJag Viernes, 23 Junio 2017 18:34 publicado por MarvinJag

    viagra 100 mg costo
    buy legal viagra uk
    25mg viagra
    http://viagramtxgeneric.com/ - where to buy viagra generic
    viagra bestellen online

  • Enlace al Comentario Moisesnex Viernes, 23 Junio 2017 09:37 publicado por Moisesnex

    online generic cialis canada

    generic cialis online

    generic cialis online

    cialis generico e legale

  • Enlace al Comentario Genanex Viernes, 23 Junio 2017 05:28 publicado por Genanex

    ordinare viagra per telefono

    viagra online

    cheap viagra

    do health shops sell viagra

  • Enlace al Comentario Genanex Viernes, 23 Junio 2017 04:37 publicado por Genanex

    we choice best generic viagra

    viagra online

    viagra

    is viagra 50mg better or 100mg

  • Enlace al Comentario Genanex Viernes, 23 Junio 2017 04:09 publicado por Genanex

    wow)) high quality viagra

    generic viagra

    viagra

    cheap viagra cialis on line

  • Enlace al Comentario Genanex Viernes, 23 Junio 2017 04:04 publicado por Genanex

    viagra australian customs

    buy viagra online

    generic viagra

    viagra has long been around?

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.