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 10/03/11, 09:19:41
Angela27 Angela27 is offline
Senior Member
 
Fecha de Ingreso: ene 2009
Mensajes: 121
Desactivar campo en pantalla

Hola a todos,
Estoy haciendo un informe, y cuando selecciono parametros, necesito que segun un check bock se active un campo y se desactive otro, lo hago con un loop a screen y modify de ese grupo de campo según check box, pero no me hace ni caso
seguro que es una chorrada, pero soy nueva en ABAP, y algo estaré haciendo mal, por fi necesito una manita.

Muchas gracias,
Responder Con Cita
  #2  
Viejo 10/03/11, 09:46:15
Avatar de hugoa77
hugoa77 hugoa77 is offline
Senior Member
 
Fecha de Ingreso: may 2010
Mensajes: 130
Hola Angela, el código del loop at screen lo pusiste en la PBO, no?
El atributo que debes utilizar es "active = 1." o "active = 0."

Saludos,
Hugo
Responder Con Cita
  #3  
Viejo 10/03/11, 10:24:27
Angela27 Angela27 is offline
Senior Member
 
Fecha de Ingreso: ene 2009
Mensajes: 121
Hola Hugo,
muchas gracias,
Lo pongo en at selection-screen output. ¿que es la PBO?
no utilizo active, sino input, para que no deje entrar en ese campo o si.
if screen-group1 = zon.
if pzo1 = 'X'.
screen-input = '1'.
else.
screen-input = '0'.
endif.
endif.
probaré con active.

muchas gracias
Responder Con Cita
  #4  
Viejo 10/03/11, 10:58:05
Avatar de hugoa77
hugoa77 hugoa77 is offline
Senior Member
 
Fecha de Ingreso: may 2010
Mensajes: 130
PBO -> Módulo PBO (Process Before Output)
En la SE80 encontraras los Módulos PBO. Aquí van los códigos que se ejecutan antes de mostrar las pantallas o que modifican las pantallas.
Prueba con esto:

if screen-group1 = zon.
if pzo1 = 'X'.
screen-input = 1. "sin comillas
else.
screen-input = 0. "sin comillas
endif.
endif.
MODIFY SCREEN "modifica finalmente la pantalla

Me cuentas como te fue...
Responder Con Cita
  #5  
Viejo 10/03/11, 12:00:00
Avatar de kiboqac
kiboqac kiboqac is offline
Member
 
Fecha de Ingreso: mar 2007
Localización: Argentina
Mensajes: 55
El problema para mi consiste en que debes realizar un LOOP de la SCREEN para que puedas encontras el Grupo que deseas activar; tambien veo como error esta sentencia:

if screen-group1 = zon.

No deberia ser:

if screen-group1 = 'ZON'.

???
Responder Con Cita
  #6  
Viejo 10/03/11, 13:58:12
Angela27 Angela27 is offline
Senior Member
 
Fecha de Ingreso: ene 2009
Mensajes: 121
Muchas gracias a los dos.
kiboqac , creo que es así, lo vi en un manualillo.

Hugo, le he quitado las comillas, y sigue sin funcionarme, lo que tengo una duda, dices que esto se ejecuta antes de visualizar la pantalla, pero es que antes de visualizarla, todavia no se lo que tengo que activar o desactivar, ya que depende de un campo de la misma pantalla. ¿será que lo tengo que poner en diferente pantalla.? sniff
Yo activo unos campos, dependiendo del primer campo que acepto, que es un check box.
Dime algo por fi..
muchas gracias........................
Responder Con Cita
  #7  
Viejo 10/03/11, 14:54:01
Avatar de hugoa77
hugoa77 hugoa77 is offline
Senior Member
 
Fecha de Ingreso: may 2010
Mensajes: 130
Bueno, te sugeriría que copies todo el código para chequear que puede estar fallando... pero en principio el código debería estar así...

at selection-screen output.
loop at screen.
if screen-group1 = 'ZON'. "con comillas
if pzo1 = 'X'.
screen-input = 1. "sin comillas
else.
screen-input = 0. "sin comillas
endif.
endif.
MODIFY SCREEN.
endloop.

Espero tus comentarios.
Responder Con Cita
  #8  
Viejo 14/03/11, 11:10:12
Angela27 Angela27 is offline
Senior Member
 
Fecha de Ingreso: ene 2009
Mensajes: 121
no me va sniff... ¿alguna sugerencia?

gracias y Sdos
Responder Con Cita
  #9  
Viejo 14/03/11, 14:51:24
FBrazon FBrazon is offline
Member
 
Fecha de Ingreso: feb 2010
Mensajes: 57
Hola Angela, ya resolviste tu problema? Tengo algo que te podría servir
Saludos
Responder Con Cita
  #10  
Viejo 14/03/11, 21:11:39
jarabas jarabas is offline
Senior Member
 
Fecha de Ingreso: ene 2010
Mensajes: 109
A ver si esto te sirve:

el PBO es el proccess Before output
PAI es el proccess after intut

Cuando se carga la pantalla incialmente entra por el PBO, cuando realizas algun evento sobre ella(pulsar un botón, activar un checbox,...) entra por el PAI y despues pasa por el PBO que es donde se deben hacer las validaciones pertinentes.

yo creo que tu lo necesitas para la pantalla de inicio Selection-Screen.
si es así tendrás que poner en el report control,

AT SELECTION-SCREEN OUTPUT.

<metes el código con su loop y su MODIFY SCREEN>

Efectivamente para que sea o no editable(admita/no admita introducir valores) es con SCREEN-INPUT.

Al cargar la pantalla si no está activo el checkbox no hará nada ya qeu lo pones como input = 1 y es el atributo por defecto.

¿cuando pulsas sobre el checkbox no hace mada?
Una pregunta tonta (lo tendrás hecho seguro), has metido en el mismo grupo lo que quieres que no sea editable?

el codigo nos simplificaria la labor de ayudarte

un saludo.
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 10:04:19.


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