PDA

Ver la Versión Completa : Seleccion de fila en Table control


sanangie
29/07/09, 01:41:22
Hola abapers,

Tal vez es una pregunta de kinder, se que podrán ayudarme ;) ... Necesito hacer que al seleccionar una línea de un table control, y dar click en un botón, se despliegue una pantalla con el detalle de lo seleccionado, el problema es que no se dónde se guarda el indice o numero de registro que estoy seleccionando en el table control para en base a eso desplegar mis otros datos.

Espero puedan ayudarme... muchas gracias de antemano!!!

DavidXD_XD
30/07/09, 17:38:11
HOla, para eso debes ir al Screen Painter y direccionar un campo como marcador, suponiendo que tu tabla interna tiene un campo como indicador (CHAR1) llamador IND, entonces ahi colocarias itab-ind (En el screen painter tiene el nombre de "c.marc.col"), luego vas a la logica de pantalla y colocarias algo asi en la seccion del PAI

PROCESS AFTER INPUT.
MODULE COPY_OK_CODE.
MODULE EXIT_COMMAND AT EXIT-COMMAND.
LOOP AT itab.
FIELD itab-ind.
MODULE SELECT_MARK.
ENDLOOP.
MODULE USER_COMMAND.

Donde creas el MODULE select_mark (yo lo puse asi como ejemplo :D ), dentro de el debes crear un MODIFY para poder saber en cual de los registros realizaste el marcador

MODULE select_mark INPUT.

MODIFY itab TRANSPORTING ind INDEX tctrl_select-current_line.

ENDMODULE. " TI_TI_SELECT600_MARK INPUT

Y luego el en module USER_COMMAND puedes rescatar el registro que marcaste con un simple READ TABLE

READ TABLE itab WITH KEY ind = 'X'.

Espero te pueda ayudar ;)

sanangie
01/08/09, 00:03:19
Muchas gracias por tu ayuda!!! Asunto resuelto :)

romario2
09/12/09, 10:22:56
Hola,

estoy probando tu código.

Podrías pasar el código completo?

Me interesa la parte del user command (hacer el call a la dynpro)

En *MODIFY tab_zps_tc TRANSPORTING ind INDex tabla-current_line.

me sale error, no reconoce INDEX.


Muchas gracias!:p

romario2
15/12/09, 10:15:28
Hola Foro,


en
MODIFY itab TRANSPORTING ind INDEX tctrl_select-current_line.

me da errores con ind y con INDEX.
Tampoco no se como tengo que declarar tctrl_select.


Un saludo y gracias de antemano;)