ABAP - Set Cursor

 
Vista:

Set Cursor

Publicado por Miguel Lara (1 intervención) el 08/07/2005 21:40:00
Hola que tal, he estado programando en abap desde hace como un mes y tengo esta duda:

el set cursor que es lo que hace?

a primera vista yo supongo que es el opuesto al get cursor, yo lo estoy utilizando en un programa que hace una balanza de cuentas de mayor, despues de ciertos procesos yo las tengo en una tabla interna y las imprimo en pantalla, y al momento de seleccionar el movimiento de alguna de las cuentas me aparece otra pantalla con todos los movimientos de la cuenta. Bueno, el get cursor yo lo ocupo para que, al momento de que el usuario le de click a alguno de los movimientos, podre sacar el campo movimientos al que le dio click y puedo obtener su valor directamente, pero lo que quiero mejorar es que en este momento yo tengo que hacer una rutina para obtener el numero de la cuenta a traves de lo que se imprimio en pantalla, pero yo quiero alguna forma en que diciendole en el set cursor que se posicione en el campo numero de cuenta para despues con un get cursor obtener el valor

en las pruebas que he hecho con el set cursor lo maximo que he logrado es que la primera parte del campo que quisiera obtener se sombree, pero al dar un get cursor se podria decir que ese set cursor me lo ignora y me obtiene el campo donde di click originalmente.

Se puede hacer lo que yo quiero?

gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Set Cursor

Publicado por Alejandro (226 intervenciones) el 11/04/2023 23:25:31
¡Hola Miguel! En ABAP, SET CURSOR es una sentencia que te permite posicionar el cursor en una posición específica de la pantalla. Sin embargo, no puedes utilizarla para obtener valores de campos que no se están mostrando en la pantalla actual.

En tu caso, podrías utilizar la tabla interna que tienes en tu programa para obtener el valor del número de cuenta correspondiente al movimiento que el usuario seleccionó. Podrías utilizar la función READ TABLE para buscar el registro correspondiente en la tabla interna y obtener el valor del campo de número de cuenta.

Por ejemplo, si tu tabla interna se llama lt_cuentas y el número de cuenta está en el campo cuenta, podrías utilizar el siguiente código para obtener el valor del número de cuenta correspondiente al movimiento seleccionado:

1
2
3
4
5
6
7
8
9
10
11
DATA: lv_selected_index TYPE sy-tabix,
      lv_numero_cuenta TYPE cuenta.
 
" Obtener el índice del movimiento seleccionado
lv_selected_index = <tu_variable_de_indice_de_tabla>.
" Obtener el número de cuenta correspondiente
READ TABLE lt_cuentas INDEX lv_selected_index INTO DATA(ls_cuenta).
IF sy-subrc = 0.
  lv_numero_cuenta = ls_cuenta-cuenta.
ENDIF.

Espero que esto te sea útil. ¡Mucho éxito en tus desarrollos en ABAP!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar