Ayuda con función F4IF_INT_TABLE_VALUE_REQUEST

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • kilofafeure
    Member
    • oct
    • 42

    #1

    Ayuda con función F4IF_INT_TABLE_VALUE_REQUEST

    Hola, estoy haciendo una ayuda de búsqueda y tengo un problema. El problema que tengo es que no se me cargan los datos en el desplegable correspondiente y no se porque. Si debugo el código veo que el select me rellena correctamente la tabla interna, sin embargo a la hora de que me muestre los valores en la dynpro (SELECCIO_LLOC) no me aparecen. Espero me puedan ayudar ya que seguramente sea una tonteria pero llevo con esto mucho rato y no consigo ver cual es el error. Muchas gracias.

    Código:
      TYPES: BEGIN OF ty_ubicacio,
              objid LIKE hrp1000-objid,
              stext LIKE hrp1000-stext,
             END OF ty_ubicacio.
    
      DATA: it_ubicacio TYPE STANDARD TABLE OF ty_ubicacio,
            it_return   TYPE STANDARD TABLE OF ddshretval,
            wa_ubicacio LIKE LINE OF it_ubicacio.
    
      SELECT objid stext FROM hrp1000
                         INTO CORRESPONDING FIELDS OF TABLE it_ubicacio
                         WHERE otype = 'F'       AND
                               endda GE sy-datum AND
                               plvar = '01'      AND
                               istat = '1'.
    
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          ddic_structure         = 'HRP1000'
          retfield               = 'STEXT'
          dynpprog               = sy-repid
          dynpnr                 = sy-dynnr
          dynprofield            = 'SELECCIO_LLOC'
          value_org              = 'S'
          multiple_choice        = 'X'
        TABLES
          value_tab              = it_ubicacio
          return_tab             = it_return
    *   EXCEPTIONS
    *     PARAMETER_ERROR        = 1
    *     NO_VALUES_FOUND        = 2
    *     OTHERS                 = 3
                .
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
  • Bmamba
    Member
    • jun
    • 91

    #2
    has probado a desasteriscar las excepciones y el mensaje asociado? quizá te aporte información sobre el problema.

    saludos

    Comentario

    • kilofafeure
      Member
      • oct
      • 42

      #3
      Originalmente publicado por Bmamba
      has probado a desasteriscar las excepciones y el mensaje asociado? quizá te aporte información sobre el problema.

      saludos
      Me da sy-subrc = 0, no muestra ningún mensaje

      Comentario

      • Bmamba
        Member
        • jun
        • 91

        #4
        y si le pasas las tablas internas con cabecera te da error?

        Comentario

        • kilofafeure
          Member
          • oct
          • 42

          #5
          Originalmente publicado por Bmamba
          y si le pasas las tablas internas con cabecera te da error?
          No, hace exactamente lo mismo. El desplegable vacio y el sy-subrc de la función = 0.

          Comentario

          • abaper_biz
            Junior Member
            • oct
            • 27

            #6
            Originalmente publicado por kilofafeure
            Hola, estoy haciendo una ayuda de búsqueda y tengo un problema. El problema que tengo es que no se me cargan los datos en el desplegable correspondiente y no se porque. Si debugo el código veo que el select me rellena correctamente la tabla interna, sin embargo a la hora de que me muestre los valores en la dynpro (SELECCIO_LLOC) no me aparecen. Espero me puedan ayudar ya que seguramente sea una tonteria pero llevo con esto mucho rato y no consigo ver cual es el error. Muchas gracias.

            Código:
              TYPES: BEGIN OF ty_ubicacio,
                      objid LIKE hrp1000-objid,
                      stext LIKE hrp1000-stext,
                     END OF ty_ubicacio.
            
              DATA: it_ubicacio TYPE STANDARD TABLE OF ty_ubicacio,
                    it_return   TYPE STANDARD TABLE OF ddshretval,
                    wa_ubicacio LIKE LINE OF it_ubicacio.
            
              SELECT objid stext FROM hrp1000
                                 INTO CORRESPONDING FIELDS OF TABLE it_ubicacio
                                 WHERE otype = 'F'       AND
                                       endda GE sy-datum AND
                                       plvar = '01'      AND
                                       istat = '1'.
            
              CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
                EXPORTING
                  ddic_structure         = 'HRP1000'
                  retfield               = 'STEXT'
                  dynpprog               = sy-repid
                  dynpnr                 = sy-dynnr
                  dynprofield            = 'SELECCIO_LLOC'
                  value_org              = 'S'
                  multiple_choice        = 'X'
                TABLES
                  value_tab              = it_ubicacio
                  return_tab             = it_return
            *   EXCEPTIONS
            *     PARAMETER_ERROR        = 1
            *     NO_VALUES_FOUND        = 2
            *     OTHERS                 = 3
                        .
              IF sy-subrc <> 0.
            *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            *           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
              ENDIF.



            Hola:

            Podrias probar con creando la estructura 'ty_ubicacio' pero en el diccionario y luego reemplazarlo en


            CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
            EXPORTING
            ddic_structure = 'TY_UBICACIO' <-------modif aqui
            retfield = 'STEXT'
            dynpprog = sy-repid
            dynpnr = sy-dynnr
            dynprofield = 'SELECCIO_LLOC'
            value_org = 'S'
            multiple_choice = 'X'
            TABLES
            value_tab = it_ubicacio
            return_tab = it_return
            Jhon Riders Juscamaita Rico
            --------------------------------------------
            CONSULTOR SAP / ABAP4 DEVELOPER

            Comentario

            • kilofafeure
              Member
              • oct
              • 42

              #7
              Al final lo he conseguido quitándole en la función ddic_structure...es decir:

              Código:
              CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
                  EXPORTING
                    retfield               = 'STEXT'
                    dynpprog               = sy-repid
                    dynpnr                 = sy-dynnr
                    dynprofield            = 'SELECCIO_LLOC'
                    value_org              = 'S'
                    multiple_choice        = 'X'
                  TABLES
                    value_tab              = it_ubicacio
                    return_tab             = it_return[/QUOTE]
              Gracias por su ayuda y su tiempo!!

              Comentario

              Trabajando...