#1
|
|||
|
|||
Campos de entrada / salida en un table control
Hola,
Yo podría tener un campo en un table control como solo de salida y después de darle a un botón que sea también de entrada????? Cómo sería???? Muchas gracias. |
#2
|
||||
|
||||
Buenas,
tienes que modificar la tabla SCREEN que es donde está definida la configuración de la pantalla. Para ello, en el PAI y el módulo USER_COMMAND tienes que hacer un LOOP AT SCREEN...ENDLOOP. Cuando SCREEN-NAME = 'El campo que quieras modificar', cambia los valores de los campos SCREEN-INPUT o SCREEN-OUTPUT, estos pueden ser 0 o 1 dependiendo de si quieres que sean de entrada o de salida. No olvides de hacer MODIFY SCREEN. Espero que te sirva de ayuda. Un saludo. |
#3
|
|||
|
|||
Por alguna razon (me estoy equivocando en algo) no me funciona tu solución. ¿Podrías poner un pequeño ejemplo?.
Lo que quiero modificar es un campo del control table. Lo que pasa es que cuando estoy dandole a un botón de "Editar" donde estoy poniendo que cambie de input a output y viecersa, si me permite eliminar, pero no añadir. |
#4
|
||||
|
||||
No entiendo: estás intentando modificar un elemento del Table-Control en el Screen Painter?
Si es asi, lo que tienes es que modificar los atributos del elemento. Tienes que pulsar el boton ATRIBUTOS. Un saludo Vique |
#5
|
|||
|
|||
Lo que estoy intentando hacer es lo siguiente: tengo en mi pantalla un control table y lo que quiero es que no se puedan modificar los datos que contenga hasta que yo se le de a un botoncito que he puesto en la pantalla. Es decir, que ese campo del control table sea solo de salida hasta que se le indique lo contrario.
Me entiendes mejor ahora? Un saludo, Xani |
#6
|
|||
|
|||
has mirado la tabla interna que tiene el table control en tiempo de ejecucion?
Quiza haya una opcion ahi tipo visible, activate como en la del screen., aunque creo que haciendo un loop at screen. if screen-name = tab_control. screen-input = 0. modify screen. endloop. creo que esto deberia poder hacerse.... Salu2 Úlima edición por sap2006 fecha: 02/06/06 a las 07:17:00. |
#7
|
|||
|
|||
Hola sap2006.
El código que tengo en mi programa es similar al tuyo y si hago un debugg veo que lo hace correctamente y me pone los valores correctos, pero aún así no puedo hacer luego nada (insertar texto) en el campo del table control. |
#8
|
|||
|
|||
Prueba con screen-input = 1.
Que raro...yo creo que si deberia hacerlo.. y en la dynpro como lo tienes definido?? |
#9
|
|||
|
|||
Creo que ya se cual es el problema......
en la tabla interna del table control en tiempo de ejecucion busca esta tab_control-COLS. Si pinchas te aparecera otra tabla con mas campos: screen. selectec. .... asi entonces tendrias que hacer esto: loop at screen. if screen-name = tab_control-col-XxX-XxX(tu campo que este asociado ). screen-input = 1. modify screen. endif. Nota: Puedes crearte grupos para ahorrarte tener que poner todos los campos..... Salu2 espero que sea esto!!! |
#10
|
|||
|
|||
Hola, debo de estar haciendo algo mal porque no hay forma de que me funcione. Este es el código donde controlo el tema:
when 'EDITAR'. loop at screen. if screen-name = 'PARTIDAS-PART_NOMBRE'. screen-input = '1'. MODIFY SCREEN. endif. endloop. A ver si con esto arrojo un poco más de luz . Muchas gracias. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|