Captura de evento en un table control

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • fitog4
    Junior Member
    • jul
    • 23

    #1

    Captura de evento en un table control

    Hola a todos,

    En una dynpro he creado un table control a traves del wizard, y lo relleno a partir de una tabla interna. Tengo dos preguntas:

    1º Cuando dentro del table control muevo la rueda del raton o cuando doy a las flechas de arriba y abajo, el programa me vuelve a la pantalla anterior. ¿Por que ocurre esto?

    2º Quiero capturar el evento doble click sobre un registro. Se que hay que usar la funcion 'Get cursor line', pero no se implementarla. ¿Me podriais hechar una mano?

    Un saludo.
  • robert_milan
    Senior Member
    • jun
    • 315

    #2
    1) Puede ser que no limpies el sy-ucomm o la variable del evento que hayas pulsado. o que tengas asignado mal el evento del back.

    2) al table control solo ponle que sea sensible al doble click y ya validas el campo y esas cosas.

    espero te sirva.
    Un Huevon No Inútil


    Solo di lo que piensas, a la mejor tienes la mejor respuesta....

    Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

    Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

    Consultor FI jr/ABAP Sr.

    Comentario

    • mcarrasco
      Member
      • jul
      • 71

      #3
      Porque table control???

      Hola, sabes? el table control es mucho mas complicado de usar que un ALV GRID. Podrias implementar uno que te funcione como un table control (agregar, modificar y elimnar registros del listado) y ademas te trae mas opciones y posibilidades..! Yo lo hice... ya que el table control me parecio mucho codigoo y muy poco atractivo. El alv grid tiene mejor presentacion...!

      Atte. Marcos Carrasco...

      Comentario

      • Rodolfo Montiel Rivera
        Member
        • oct
        • 92

        #4
        *Forma 1 Esta forma es con metodo de la clase
        MODULE get_cursor INPUT.

        CREATE OBJECT fw.

        CALL METHOD cl_framework_mm=>get_instance
        IMPORTING
        ex_instance = obj_cl_framework_mm.

        var_cursor = obj_cl_framework_mm->get_cursor( ).

        ENDMODULE. " get_cursor INPUT

        *&---------------------------------------------------------------------*

        *Forma2 Aqui necesitas declarar una variable selec en la pantalla del dynpro
        MODULE linea INPUT.


        CLEAR: var_documento,
        var_posicion.

        IF selec = 'X'.

        MOVE itab_reporte-ebelp TO var_posicion.
        MOVE itab_reporte-ebeln TO var_documento.

        ENDIF.

        ENDMODULE.

        *&---------------------------------------------------------------------*

        MODULE user_command_0100 INPUT.

        CLEAR: ok_code.

        ok_code = sy-ucomm.

        CASE sy-dynnr.

        WHEN '0100'.

        CASE ok_code.

        WHEN 'CLIC'.

        *Forma 3 Declaras en el menu esa codigo de funcion y utilizas el get cursor
        GET CURSOR LINE var_posicion.

        var_documento = itab_reporte-ebeln.

        PERFORM ejecutar_busqueda USING var_documento var_posicion

        ENDCASE.

        ENDCASE.

        ENDMODULE.

        *----------------------------------------------------------------------*
        * Definición de Variables
        *----------------------------------------------------------------------*

        DATA: var_ebeln LIKE ekko-ebeln,
        var_documento LIKE ekko-ebeln,
        var_posicion LIKE ekpo-ebelp.

        DATA: obj_cl_framework_mm TYPE REF TO cl_framework_mm,
        var_cursor TYPE mmpur_cursor_position.


        Suerte!!
        01010000
        01001010
        10011000
        10100001

        De Byte a Beat.

        Comentario

        Trabajando...