MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Refrescar ALV (foro/showthread.php?t=11441)

abapconsultoria 03/03/08 15:16:25

Tu opcion del form me parece viable. Viendo un poco el codigo.... el mismo deberia estar insertado detras de la llamada al call transactioncodigo.

CALL TRANSACTION 'ME23N'.
PERFORM LLENAR_TABLA_INTERNA.
rs_selfield-refresh = 'X'.

Esto va a lograr que luego que vuelve de la trx ME23N se refresque tu tabla interna. Una vez qeu la tabla interna esta refrescada podes ejecutar el comando para hacer el refresh.

Saludos.

Javier.

tate 03/03/08 15:24:53

Perdona, no lo abia leido, te comento:
"Create un perform de seleccion, lo llamas en el start of selecction"
me creo un perform y dentro de este, aga la llamada a la pantalla de seleccion o a q te refieres???

lo de controlar ya e puesto un flag, al acer refresh a la tabla, esta se borra entera, y a q te refieres con redresh del alv??


Perdon por ser tan pesado

DavidXD_XD 03/03/08 15:30:16

Hola, no me familiarizo mucho con los ALV List y casi nunca los he hecho, pero ahi viendo un programa veo que lo hacen asi:

FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.

* refrescar la vista con lo que pase acá...
CLEAR rs_selfield-refresh.

CASE r_ucomm.
WHEN '&IC1'.
rs_selfield-refresh = 'X'.
PERFORM detop1 USING rs_selfield.

WHEN 'RFSH'. "refrescar el reporte
rs_selfield-refresh = 'X'.
PERFORM entrada.
ENDCASE.
ENDFORM.

En la subrutina "entrada" nuevamente se hace la seleccion de datos que se colocan en la tabla interna, y el cual es desplegada en el ALV ... espero sirva :D

tate 04/03/08 07:49:26

abapconsultoria, cuando llamo otra vez al perform que rellena mi tabla interna, vamos el permform get_data, si pongo un doc. de compra, me lo duplica y no me lo cambia ni nada.

DavidXD_XD a q te refieres con este perform: PERFORM detop1 USING rs_selfield , y el perform entrada, te refieres al que me rellena la tabla interna???

LouieBoy 04/03/08 09:24:49

A ver... vamos por partes.

1-Seleccionas los datos
2-Muestras los datos
3-llamas la transaccion
4-Determinamos si ha cambiado algo (opcional, solo para mejorar rendimiento)
5-REFRESCAS LA TABLA INTERNA
6-VUELVES A SELECCIONAR LOS DATOS Y LOS METES EN LA MISMA TABLA INTERNA
7-haces lo del refresh del alv

A ver si asi queda un poco mas claro, el problema principal lo tienes en que si cambias las tablas de diccionario y no actualizas la tabla interna, por mucho que refresques el ALV te seguira mostrando lo q hay dentro de la tabla interna. Creo que la solucion es mucho mas sencilla... :D

Saludos,

LouieBoy

tate 04/03/08 09:51:52

porfinnnnnnnn he echo eso LouieBoy , lo que me pasaba q le daba al boton refrescar pero no estaba como activado, pero ya si, y refresco todas las tablas, porque sino me salian duplicados, asi q gracias y perdon por ser tan pesado.

LouieBoy 04/03/08 09:54:30

Nada tio, me alegro q al final haya salido!

Saludos,

LouieBoy


Husos Horarios son GMT. La hora en este momento es 07:32:37.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web