PDA

Ver la Versión Completa : Modificar control tabla en dynpro


ic_man_777
05/12/08, 15:53:50
Había creado un control tabla en un dynpro con sus respectivos campos, y tengo que agregar un campo más, podría hacerlo eliminando el control y volviendolo a crear... Pero no hay una forma más sencilla?, Si agrego un nuevo campo en el chain, me dice que en el dynpro no existe ese campo... y es verdad, en el dynpro no está definido ese nuevo campo que quiero insertar mediante códio

:confused:

DavidXD_XD
05/12/08, 18:26:47
Hola .. agregalo y desactivalo cuando lo creas conveniente dentro del PBO, para eso lo recomendable es asignarle un grupo de campo tanto al campo como a su etiqueta, ejemplo GR1 y luego ....

LOOP AT screen.
IF screen-group1 = 'GR1'.
screen-active = 0.
MODIFY screen.
ENDIF.
ENDLOOP.

ic_man_777
05/12/08, 18:37:07
Yo no entiendo... o a lo mejor tu no me entendiste cuál es mi problema

Yo había creado un Table Control y todo funciona perfectamente.

http://3.bp.blogspot.com/_zCUlhFPAW-w/STmCNqc1EEI/AAAAAAAAA2w/qckmD6Bdvi0/s1600-h/tablecontrol.PNG

Ahora quiero agregarle un campo más...

En el dynpro... tengo este código, donde encadena con el Table Control:

loop at ti_prosp.
chain.
field ti_prosp-folio.
field ti_prosp-apepat.
field ti_prosp-apemat.
field ti_prosp-nombre.
field ti_prosp-fechareg.
* field ti_prosp-plaza.
endchain.
field ti_prosp-marked
module ztbprosp_mark on request.
endloop.

El campo que tengo comentado (plaza) es el que quiero agregar... cuando lo quiero poner así... me dice que en el dynpro no existe... y no encuentro cómo agregárselo al Table Control :confused: , intenté en la lista de elementos del dynpro... intenté buscándo en el diseño del table control y no puedo... :eek:

DavidXD_XD
05/12/08, 18:49:54
Lo primero es ... agregarle ese campo a la tabla interna, lo segundo es agregar la nueva columna dentro del screen painter y grabarlo, luego descomentas el campo dentro de la logica de pantalla y activas, derrepente estabas activando el screen sin antes activar el INCLUDE o programa donde esta declarado la tabla interna con el nuevo campo

ic_man_777
05/12/08, 19:00:47
Cómo agrego la columna en el screen painter?:confused:
Es eso lo que no he podido hacer... lo he intentado, incluso copiando una de las columnas y tratando de pegarla a un lado. No he podido :S

DavidXD_XD
05/12/08, 19:24:42
Q raro ... bueno es algo que no es dificil, tienes el table control dentro del screen painter, y creas un objeto de entrada y/o salida (I/O) fuera del table control y cuando lo hagas lo que tienes que hacer es arrastrar ese campo dentro del table control y al mismo tiempo escoge en que posicion quieres colocarlo con solo arrastrandolo, despues de eso creas una etiqueta, para eso haces la misma jugada, creas un objeto de texto, le creas el nombre y lo arrastras a la nueva columna

ic_man_777
05/12/08, 19:47:29
Tienes razón... es de lo más sencillo, pero yo no sabía como era :rolleyes:
Muchas gracias, ya lo pude agregar, como me dijiste... y la modificación que hice en el código todo estaba bien....

Gracias de nuevo...

martin89
29/05/09, 13:10:58
Acabo de tener el mismo problema, gracias por la solución. Saludos!

ic_man_777
29/05/09, 15:11:38
La verdad que la solución es sencilla, pero si no la sabes te puede romper la cabeza un buen tiempo.

norasap08
18/01/10, 16:49:50
Gracias me ayudo bastante tu solución

jubaquero
02/03/10, 13:21:42
Gracias por la solución! Muy útil!

oscarmel
27/03/14, 16:16:31
Muchas gracias por publicar la solución, es sencilla pero en ocasiones nos frenamos por cosas como esta.

fa.luis
17/12/14, 17:00:16
Como agregas el campo de entrada y/o salida?