funcion 'GET_DYNP_VALUE'

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • manu_lolo27
    Member
    • mar
    • 90

    #1

    funcion 'GET_DYNP_VALUE'

    Buenas a todos, tengo un problemilla con la funcion 'GET_DYNP_VALUE', es algo raro, a ver si me echais una mano.

    con esta funcion recupero la ubicacion tecnica al crear un aviso,
    data: v_ut like RIWO1-TPLNR.
    CALL FUNCTION 'GET_DYNP_VALUE'
    EXPORTING
    i_field = 'RIWO1-TPLNR'
    i_repid = 'SAPLIWO1'
    i_dynnr = '0100'
    CHANGING
    o_value = v_ut.

    LO RARO ES, q con mi usuario si me recupera la UT pero con el otro usuario no lo recupera, alguien tiene alguna idea porque???? he debugeado y parece q todo es igual y no entiendo de que con otro usuario NO recupere la UT,

    Gracias de antemano,
  • jdelgado86
    Junior Member
    • nov
    • 24

    #2
    Verifica tus permisos

    Revisa despues de ejecutarlo en la SU53 a ver si no te falta autorizacion para algun objeto.

    Comentario

    • manu_lolo27
      Member
      • mar
      • 90

      #3
      Muchas gracias jdelgado86.

      No era por motivos de autorizacion, era porque en los avisos puedes ponerle valores propuestos, en el menú Detalles/parametrizacion/Ctrl./Valores propuesto (o pulsando Ctrl-F10) en la pestaña Objeto de ref. puedes cambiarle el escenario para cada usuario. el caso es q cuando le cambias el escenario el campo Ubicacion Tecnica no si le das a la ayuda veras que tiene otro numero de dynpro.
      La solucion la pongo por si le pasa a alguien mas.....

      *con esto recuperas el numero de escenario que parametrizo el usuario
      SELECT SINGLE *
      FROM TPMUS
      WHERE UNAME EQ SY-UNAME. IF SY-SUBRC = 0.
      CASE TPMUS-SCREENTY.
      WHEN '' or 'O100'.
      v_dynpro = '0100'.
      WHEN 'O120'.
      v_dynpro = '0120'.
      WHEN 'O160'.
      v_dynpro = '0310'.
      WHEN 'O180'.
      v_dynpro = '0140'.
      WHEN OTHERS.
      clear v_dynpro.
      ENDCASE.
      ENDIF.
      *con esto ya, se recupera el valor de la UT con la variable v_dynpro
      CALL FUNCTION 'GET_DYNP_VALUE'
      EXPORTING
      i_field = 'RIWO1-TPLNR'
      i_repid = 'SAPLIWO1'
      i_dynnr = v_dynpro
      CHANGING
      o_value = v_ut.

      Ahora lo q me pasa es que cuando compruebo el centro emplazamiento y el proveedor que exista en una tabla Z q mantiene el usuario, cuando salta el error me pone todos los campos en gris (no modificables) y tengo q salir para del aviso para seguir, alguna idea de como puedo controlar esto??

      El mensaje es este:
      MESSAGE e000 WITH 'No existe contrato de Reclamaciones para este Proveedor'.

      Saludos y gracias a todos...

      Comentario

      Trabajando...