Ejecución de Batch imput mediante otro usuario

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Ulises Coniglio
    Junior Member
    • abr
    • 23

    #1

    Ejecución de Batch imput mediante otro usuario

    Hola a todos, les escribo para hacerles una consulta.
    Estoy haciendo un desarrollo para el módulo PM, y me han solicitado hacer un batch imput dentro de un Z. El batch imput modifica ciertos datos del maestro de planes, pero es requerimiento que los usuarios no tengas acceso a modificar el maestro de planes a no ser que venga a través del batch imput desde la Tx Z. Para ello se me ocurrio tratar de cambiar el usuario antes de ejecutar el batch imput (por uno que tenga privilegios) y al salir del batch volver al usuario actual.
    El inconveniente que se me plantea es que cuando genero la sesion para el batch me solicita un usuario que no es tenido en cuenta por la Transacción al momento de ejecutar el batch.
    Alguien tiene idea si se puede cambiar el usuario de ejecución?
    Yo intente asignar el usuario SY-UNAME="XXXX" pero cuando ingresa a la transaccion de planes automáticamente me toma mi usuario y no el "XXXX"...
    Se que no es una solucion muy religiosa, pero es la unica que se me ocurre ya que no es posible ajustar los objetos de seguridad Standar
    Ulises
  • Fabian leonardo velasquez
    Member
    • sep
    • 62

    #2
    cual tx

    una pregunta. de que transaccion pm se trata puede q exista una bapi y se ahorra el BI.
    Cordialmente
    Fabián Leonardo Velásquez P.
    Consultor SAP ABAP
    Bogota - Colombia

    Comentario

    • Desmoquattro
      Junior Member
      • may
      • 27

      #3
      Originalmente publicado por Ulises Coniglio
      Hola a todos, les escribo para hacerles una consulta.
      Estoy haciendo un desarrollo para el módulo PM, y me han solicitado hacer un batch imput dentro de un Z. El batch imput modifica ciertos datos del maestro de planes, pero es requerimiento que los usuarios no tengas acceso a modificar el maestro de planes a no ser que venga a través del batch imput desde la Tx Z. Para ello se me ocurrio tratar de cambiar el usuario antes de ejecutar el batch imput (por uno que tenga privilegios) y al salir del batch volver al usuario actual.
      El inconveniente que se me plantea es que cuando genero la sesion para el batch me solicita un usuario que no es tenido en cuenta por la Transacción al momento de ejecutar el batch.
      Alguien tiene idea si se puede cambiar el usuario de ejecución?
      Yo intente asignar el usuario SY-UNAME="XXXX" pero cuando ingresa a la transaccion de planes automáticamente me toma mi usuario y no el "XXXX"...
      Se que no es una solucion muy religiosa, pero es la unica que se me ocurre ya que no es posible ajustar los objetos de seguridad Standar
      Ulises, podés crear una sesión de batch input, y ahí si podés cambiar el usuario.
      hacés:
      CALL FUNCTION 'BDC_OPEN_GROUP'
      EXPORTING CLIENT = SY-MANDT
      GROUP = P_GROUP
      USER = P_USER
      KEEP = P_KEEP
      HOLDDATE = P_HOLDDATE.
      Luego todas tus dynpros y la trx como en cualquier batch.

      después: CALL FUNCTION 'BDC_CLOSE_GROUP'.

      y por último para dispararlo:
      SUBMIT rsbdcsub
      WITH bis = sy-datum
      WITH fehler = space
      WITH logall = space
      WITH mappe = group
      WITH von = sy-datum
      WITH z_verarb = 'X'
      EXPORTING LIST TO MEMORY
      AND RETURN.

      Si creás una grabación y le ponés que te cree una función, te crea todos los llamados anteriores excepto el submit para disparar la corrida de juego de datos.


      Saludos!

      Comentario

      • Ulises Coniglio
        Junior Member
        • abr
        • 23

        #4
        Originalmente publicado por Fabian leonardo velasquez
        una pregunta. de que transaccion pm se trata puede q exista una bapi y se ahorra el BI.

        Hola Fabian, tengo que modificar un status y el centro planificador de un Plan de Mantenimiento y por otro lado modificar el status de un equipo.
        Ulises

        Comentario

        • Ulises Coniglio
          Junior Member
          • abr
          • 23

          #5
          Originalmente publicado por Desmoquattro
          Ulises, podés crear una sesión de batch input, y ahí si podés cambiar el usuario.
          hacés:
          CALL FUNCTION 'BDC_OPEN_GROUP'
          EXPORTING CLIENT = SY-MANDT
          GROUP = P_GROUP
          USER = P_USER
          KEEP = P_KEEP
          HOLDDATE = P_HOLDDATE.
          Luego todas tus dynpros y la trx como en cualquier batch.

          después: CALL FUNCTION 'BDC_CLOSE_GROUP'.

          y por último para dispararlo:
          SUBMIT rsbdcsub
          WITH bis = sy-datum
          WITH fehler = space
          WITH logall = space
          WITH mappe = group
          WITH von = sy-datum
          WITH z_verarb = 'X'
          EXPORTING LIST TO MEMORY
          AND RETURN.

          Si creás una grabación y le ponés que te cree una función, te crea todos los llamados anteriores excepto el submit para disparar la corrida de juego de datos.


          Saludos!

          Gracias, voy a probar a ver como se da, no probe la ultima parte, lo que hice fue cambiar el usuario de la sesion pero luego cuando ejecuta la Tx termina volviendo al usuario que lanza el el batch. Pruebo a ver que pasa, gracias
          Ulises

          Comentario

          • Desmoquattro
            Junior Member
            • may
            • 27

            #6
            Originalmente publicado por Ulises Coniglio
            Gracias, voy a probar a ver como se da, no probe la ultima parte, lo que hice fue cambiar el usuario de la sesion pero luego cuando ejecuta la Tx termina volviendo al usuario que lanza el el batch. Pruebo a ver que pasa, gracias
            yo tuve que hacer algo parecido, cuando notificaban producción había que tocar algunos datos del lote, pero no era posible darle autorización al usuario que notifica.

            Así que quedate tranquilo que funciona.

            Saludos!

            Comentario

            Trabajando...