matchcode personalizado varias columnas

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • J_B
    Member
    • jun
    • 58

    #1

    matchcode personalizado varias columnas

    Buen dia,

    alguien sabe si en la funcion F4IF_INT_TABLE_VALUE_REQUEST es posible que obtenga mas de un valor por registro? me gustaria recuperar mas de un solo valor (del un mismo registro) al seleccionar un registro del matchcode.
    Encontre lo siguiente pero no me reconoce el type SHLP_DESCR, tengo la version 46c.

    DATA: BEGIN OF it_resultado occurs 0,
    land1 TYPE pais ,
    END OF it_resultado.

    y en la llamada a F4IF_INT_TABLE_VALUE_REQUEST
    usar el parametro:
    callback_form = 'F4CALLBACK'

    FORM F4CALLBACK tABLES RECORD_TAB sTRUCTURE SEAHLPRES
    CHANGING SHLP TYPE SHLP_DESCR
    CALLCONTROL LIKE DDSHF4CTRL.
    DATA: INTERFACE LIKE LINE OF SHLP-INTERFACE.
    INTERFACE-VALTABNAME = 'IT_RESULTADO'.
    INTERFACE-VALFIELD = 'LAND1'.
    INTERFACE-SHLPFIELD = 'F0002'.
    APPEND INTERFACE TO SHLP-INTERFACE.
    ENDFORM.

    de antemano gracias por su ayuda.
  • Atlas
    Senior Member
    • ago
    • 107

    #2
    tienes que poner el siguiente parametro en la llamada a la función:

    multiple_choice = 'X'

    Comentario

    • J_B
      Member
      • jun
      • 58

      #3
      bueno, no es eso precimamente lo que necesito supongo que con ese parametro de multiple choice me va a traer mas de un registro segun los haya seleccionado
      pero lo que yo necesito es obtener mas de una columna del registro seleccionado.

      Comentario

      • Atlas
        Senior Member
        • ago
        • 107

        #4
        me temo que entonces esa función no te va a servir, mira a ver si te vale esta y nos comentas algo

        CALL FUNCTION 'G_DISPLAY_SELECTION_DYNPRO'
        EXPORTING
        *Para poder imprimir la lista
        ALLOW_PRINT = 'X'
        *Título de la subscreen
        dynp_title = 'Selección de Material'
        *Para que salga el icono de la lupa y poder ampliar la información
        EXTENDED_DISPLAY = ' '
        *Para que al primer registro le asigne el número 001.
        FIRST_INDEX = 1
        *Número de columnas claves (saldrán en color azul)
        KEY_COLUMNS = 1
        *Número de columnas que tendrá la subscreen
        NUMBER_OF_ROWS = l_rows
        *Indice de la línea marcada en caso de que no haya selección múltiple
        SEL_DEFAULT = 1
        *Primer subtítulo (aparece en todas las columnas; poner una estructura
        * o un tabla sin cabecera para ponel el título a todas)
        SEL_TITLE1 = 'Material'
        * SEL_TITLE2 = ' '
        *Para mostrar también listas con un solo registro
        SHOW_ALSO_1 = 'X'
        *Columna y fila donde se genera la subscreen
        START_COLUMN = 10
        START_ROW = 3
        *Para que tenga en cuenta la longitud del título
        WIDTH_OF_TITLES = 'X'
        *Sin opciones de selección (='X' no se puede seleccionar)
        WITHOUT_SELECTION = ' '
        *Para poder hacer una selección múltiple
        MULTIPLE_SELECTION = 'X'
        ALLOW_SORT = 'X'
        * IMPORTING
        *Para ver que registro se ha marcado
        * FIRST_INDEX =
        * SEL_INDEX =
        *Para ver de cual se quiere información ampliada
        * EXT_DISPLAY_SELECTED =
        tables
        *Tablas para el listado,con los datos que se pueden seleccionar
        sel_table = t_pop_mat
        *tabla donde se almacenan la líneas seleccionadas
        SEL_LINES = LINES
        EXCEPTIONS
        NO_LINES = 1
        NO_LINE_PICKED = 2
        OTHERS = 3
        .

        Comentario

        • J_B
          Member
          • jun
          • 58

          #5
          solucionado en parte

          Atlas, gracias por tu cooperacion pero como me urgia terminar esto le encontre otra salida,
          fue mas bien logica, le agregue una columna con el no. de renglon a la tabla inyerna que le paso a la funcion y esa es la que recupero en el matchcode, y una vez obtenido este no. acceso nuevamentre a dicha tabla interna y obtengo el resto de las columnas sobre la cual le di doble click.

          Voy a revisar esta funcion que dices para ver que hace,


          gracias por el tip.

          Comentario

          Trabajando...