PDA

Ver la Versión Completa : Contador registros en Table Control


kaitarr
03/06/08, 11:04:57
Hola, necesito implementar en una pantalla, un contador en el que aparezca el numero totales de registro de un table control de esa misma pantalla, y ademas en que registro estamos situados actualmente. Algo asi : Actual / Total

Pero no consigo avanzar. Lo he intentado como campos de salida independientes pero no les puedo dar valor.

Alguien sabe como conseguirlo ??

Gracias a todos.

DavidXD_XD
03/06/08, 15:17:43
Hola, el numero totales de registro de un table control depende de la tabla interna, entonces solo bastaria con realizar la sentencia

DESCRIBE TABLE ti_interna LINES sy-tfill.

Donde sy-tfill es una variable del sistema q me indica el numero de registros de la tabla interna y por ende el numero de registro que tiene el table control, sobre el otro punto podrias explicarlo un poco mas :p

kaitarr
03/06/08, 15:50:48
Veras, ese paso que describes ya lo tenia localizado. Lo que me faltaría seria el saber como trasladar ese valor a la pantalla y que se visualice.

Lo he intentado creandome un campo texto solo de salida en la pantalla, debajo del table control, y asignandole ese valor con el total de lineas, pero no consigo que me coja ningun valor. O me da error la asignacion o simplemente aparece vacio.

No consigo trasladarlo de ninguna forma. Conoces alguna forma de hacerlo ??

Gracias.

DavidXD_XD
04/06/08, 00:01:43
Aver, prueba creando dentro del PBO un MODULE cuenta_registros, ahi colocas la sentencia que te mencione antes, le asignas el valor del sy-tfill a un contador por ejemplo wc_reg de tipo entero, y dentro del dynpro crearias un campo entrada y salida de nombre WC_REG, ahi si es fijo que se debe visualizar, me cuentas como te fue :D

kaitarr
04/06/08, 10:40:05
Pues tampoco funciona :mad: Lo unico que he conseguido asi es que me compile (al haberle asignado el sy-tfill a una variable entera en vez de a un campo de la dynpro) pero luego en la dynpro solo aparece ese campo como de entrada/salida vacio.

Lo he debugeado y el sy-tfill y la variable entera tienen valor en el PBO, asi que mi problema sigue igual : como asignar ese sy-tfill a un valor de la dynpro para que lo visualice. Te pego el codigo :

PROCESS BEFORE OUTPUT.
MODULE INIT.
MODULE FILL_ITAB.
MODULE REG_COUNT.

con MODULE REG_COUNT.

DATA: tot type i.

DESCRIBE TABLE g_tc_itab LINES sy-tfill.

tot = sy-tfill.

Se te ocurre alguna otra cosa ?. Y si no, gracias de todos modos

robert_milan
04/06/08, 10:43:17
1.- Acuerdate que el campo que esta en tu dynpro se debe de llamar de la misma manera que tu variable TOT. y debe ser del tipo de TOT, en las propiedades del campo.

esto lo debe hacer automatico.

kaitarr
04/06/08, 11:09:28
He visto la luz !!! jaja. Me faltaba que ambas variables (programa-dynpro) fueran del mismo tipo :D

Muchas gracias a los dos. Un dolor de cabeza menos :p

degas
05/06/08, 10:59:29
Hola, yo informo del número de registro que tiene mi alv, en el titulo del programa:

*g_aciertos toma valor con la instrucción:
DESCRIBE TABLE gt_datos LINES g_aciertos.


En la ventana titulo tienes que poner:
Mi_titulo_de_programa & aciertos

Donde & corresponde a la variable g_aciertos.