Consulta Sobre Listbox

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Hasurac
    Member
    • nov
    • 41

    #1

    Consulta Sobre Listbox

    MI PROBLEMAS ES QUE NO LOGRO HACER QUE ME DEVUELVA EL PARAMETRO ASIGNADO A LA LISTBOX. LA DECLARACION NO PARECEN TE NER DRAMA ALGUNO


    EN EL DATA
    list TYPE vrm_values,
    value LIKE LINE OF list,


    PARAMETRO
    p_list(8) AS LISTBOX VISIBLE LENGTH 8.



    FORM calcular_anio.

    CLEAR: list,
    list[].

    CLEAR name.

    name = 'P_LIST'.

    CLEAR value.

    value-text = sy-datum(4).
    value-key = 1.
    APPEND value TO list.

    CALL FUNCTION 'MONTH_PLUS_DETERMINE'
    EXPORTING
    months = -12
    olddate = sy-datum
    IMPORTING
    newdate = lv_fecha.

    CLEAR value.

    value-text = lv_fecha(4).
    value-key = 2.
    APPEND value TO list.

    CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
    id = name
    values = list
    EXCEPTIONS
    id_illegal_name = 1
    OTHERS = 2.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

    ENDFORM.


    PERO CUANDO USO P_LIST ESTA VACIA. SI ME PODRIAN AYUDAR SE LOS AGRADESCERIA. RECIEN ESTOY EMPEZANDO EN ESTO, SEPAN DISCULPAR.


    Pd: ya probé declararlo en la PBO .
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Holas, primero que nada, estas utilizando PARAMETERS, o estas trabajando con dynpros???

    Si es con PARAMETERS debes declararlo dentro del evento AT SELECTION-SCREEN OUTPUT y si es con dynpros usar el evento PROCESS VALUE-REQUEST.

    Aqui un ejemplo con PARAMETERS

    David Carballido Córdova

    Comentario

    • Hasurac
      Member
      • nov
      • 41

      #3
      Originalmente publicado por DavidXD_XD
      Holas, primero que nada, estas utilizando PARAMETERS, o estas trabajando con dynpros???

      Si es con PARAMETERS debes declararlo dentro del evento AT SELECTION-SCREEN OUTPUT y si es con dynpros usar el evento PROCESS VALUE-REQUEST.

      Aqui un ejemplo con PARAMETERS

      http://www.mundosap.com/foro/showthread.php?t=33355

      GRACIAS POR LA AYUDA LO USO COMO PARAMETERS Y LO TENGO DECLARADO COMO ME INDICAS

      AT SELECTION-SCREEN OUTPUT.

      PERFORM calcular_anio.

      PERO NO ME TRAE EL VALOR IGUAL

      Comentario

      • DavidXD_XD
        Moderator
        • ago
        • 1255

        #4
        Hola, el error fue algo curioso ... si te fijas, declaraste tu variable p_list con una cadena de 8, si lo cambias a tipo I si te arrojara el valor respectivo, eso pasa porque cuando le insertas los valores claves

        value-text = sy-datum(4).
        value-key = 1.
        APPEND value TO list.

        Lo haces sin comillas simples, entonces el 1 se asume como valor entero y no como caracter, tienes 2 opciones

        1. Declarar el p_list de esta manera:
        Código:
        PARAMETERS: p_list TYPE i AS LISTBOX VISIBLE LENGTH 8.
        Y se ejecutará normalmente

        2. Agregar comillas simples en los campos llaves y seguir con la misma declaracion del p_list:

        Código:
        PARAMETERS: p_list(8) AS LISTBOX VISIBLE LENGTH 8.
        
        value-text = sy-datum(4).
        value-key = '1'.      ----> Ojo comillas simples
        APPEND value TO list.
        
        value-text = lv_fecha(4).
        value-key = '2'.
        APPEND value TO list.
        Espero te pueda ayudar =D
        David Carballido Córdova

        Comentario

        • Hasurac
          Member
          • nov
          • 41

          #5
          Gracias Con Estas Soluciones Por Lomenos Me Traer Al Key Ya Con Eso Puedo Trabajar

          Comentario

          Trabajando...