MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 01/06/06, 09:52:10
xani xani is offline
Junior Member
 
Fecha de Ingreso: may 2006
Mensajes: 22
Question 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.
Responder Con Cita
  #2  
Viejo 01/06/06, 10:33:41
Avatar de Vique
Vique Vique is offline
Pregúntame por las Bolas Vique
 
Fecha de Ingreso: mar 2006
Mensajes: 146
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.
Responder Con Cita
  #3  
Viejo 01/06/06, 10:59:05
xani xani is offline
Junior Member
 
Fecha de Ingreso: may 2006
Mensajes: 22
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.
Responder Con Cita
  #4  
Viejo 01/06/06, 13:29:56
Avatar de Vique
Vique Vique is offline
Pregúntame por las Bolas Vique
 
Fecha de Ingreso: mar 2006
Mensajes: 146
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
Responder Con Cita
  #5  
Viejo 02/06/06, 06:54:22
xani xani is offline
Junior Member
 
Fecha de Ingreso: may 2006
Mensajes: 22
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
Responder Con Cita
  #6  
Viejo 02/06/06, 07:09:56
sap2006 sap2006 is offline
Senior Member
 
Fecha de Ingreso: mar 2006
Mensajes: 134
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.
Responder Con Cita
  #7  
Viejo 02/06/06, 07:29:11
xani xani is offline
Junior Member
 
Fecha de Ingreso: may 2006
Mensajes: 22
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.
Responder Con Cita
  #8  
Viejo 02/06/06, 07:37:46
sap2006 sap2006 is offline
Senior Member
 
Fecha de Ingreso: mar 2006
Mensajes: 134
Prueba con screen-input = 1.
Que raro...yo creo que si deberia hacerlo.. y en la dynpro como lo tienes definido??
Responder Con Cita
  #9  
Viejo 02/06/06, 07:59:11
sap2006 sap2006 is offline
Senior Member
 
Fecha de Ingreso: mar 2006
Mensajes: 134
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!!!
Responder Con Cita
  #10  
Viejo 05/06/06, 07:31:18
xani xani is offline
Junior Member
 
Fecha de Ingreso: may 2006
Mensajes: 22
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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 14:24:19.


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