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 05/12/07, 15:56:18
raulpalacios raulpalacios is offline
Junior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 11
problemas con loop at screen

Hola,
Tengo un problema cuando hago un loop at screen, el tema es que el loop at screen recorre campo a campo los campos del table control, y lo que quiero hacer es que me modifique el estado por lineas, si se puede hacer, me explico, tengo que mirar si en una linea hay un campo especifico que esta informado, tengo que marcar esa linea (ponerla en gris) para que no se pueda modificar, en cambio si ese mismo campo no esta informado dejar esa linea para que se pueda modificar, alguien me puede ayudar?, gracias de antemano.

Saludos,
palacios.
Responder Con Cita
  #2  
Viejo 07/12/07, 13:44:16
Julio Sánchez Julio Sánchez is offline
Junior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 3
Problemas con loop at screen - Propuesta de solución

1.- En la definición del table control, para cada campo que necesites cambiar la edición, ponerle en el atributo GRUPOS un valor idéntico ejemplo A1.

2.- Ya en el código, dentro del loop at screen y después de la condición que requieras poner el siguiente código:

IF SCREEN-GROUP1 EQ 'A1'. **Group1 si usaste el 1er campo de GRUPOS
SCREEN-INPUT = 1. **Abre a edición ese campo
MODIFY SCREEN.
ELSE.
SCREEN-INPUT = 0. **No permite edición
MODIFY SCREEN.
ENDIF.
Responder Con Cita
  #3  
Viejo 13/12/07, 10:58:38
raulpalacios raulpalacios is offline
Junior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 11
Problemas con loop at screen

Grácias por la respuesta,

Peró no es exactamente lo que necesito, si tengo el campo informado, solo tengo que poner en gris esa linea, no toda las columnas, si pongo el grupo en el table control me pone toda la columna, y lo que necesito es solo una linea en concreto ( dependiendo si el campo esta informado o no), de todas formas grácias por la respuesta.

Saludos,
Raul.
Responder Con Cita
  #4  
Viejo 20/12/07, 19:29:53
willito38 willito38 is offline
Junior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 12
aver es una idea .... se supone q cuando muestras la tabla de control, en el PBO colocas un LOOP verdad?, entonces supon q tienes un campo llamado "Nombres"



PBO.

LOOP AT tablita WITH CONTROL tctrl_tablita CURSOR tctrl_tablita-current_line.

MODULE unedit_field.

ENDLOOP.

MODULE unedit_field.

IF Apellido = 'VELIZ'.

loop at screen.

if screen-name = 'tablita-apellido'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

endif.

endloop.

ENDIF.

ENDMODULE

Con esto no se deshabilita la columna si el registro con Apellido 'VELIZ', tal vez te ayude es una idea
Responder Con Cita
  #5  
Viejo 20/12/07, 23:43:15
Julio Sánchez Julio Sánchez is offline
Junior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 3
El ejemplo que expone willito38 es lo que intenté proponerte en el punto 2 de mi respuesta anterior.

"Ya en el código, dentro del loop at screen y después de la condición que requieras poner el siguiente código:"

Dependiendo de la condición, estarías poniendo en gris o no la linea que esta leyendo el LOOP.

Lo que propuse en el código es para manejar la línea completa (siempre y cuando todos los campos tengan el mismo grupo) y el ejemplo de willito38 (muy bueno) es para una celda en especial.

Saludos.
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 21:06:38.


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