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 11/02/13, 07:36:36
Rabadabadou Rabadabadou is offline
Junior Member
 
Fecha de Ingreso: feb 2013
Mensajes: 6
Pasar una clase al EXPORTING de un evento

Buenos dias!

Me presento, he leido mucho en este foro, el cual me ha ayudado este ultimo mes con mi nuevo trabajo! Necesito aprender ABAP, SAP y todo eso, pero es un poco engorroso al principio porque hay demasiados conceptos...

Mi duda viene acerca de los eventos. He visto que un evento puede enviar datos por valor al manejador de eventos, pero yo necesito enviar una clase.

Veamos, tengo una clase en la cual, en un método, quiero lanzar un evento y que envíe otra clase (que se halla dentro de la sección privada de mi clase emisora del evento), pero claro, no puedo enviar clases por valor parece. He visto que existe una cosa que se llama SENDER, aunque no me queda del todo claro para qué es, y eso creo que no me sirve.

Por tanto la pregunta es: se puede enviar un dato en un evento, que sea una clase? Si no, supongo que tendría que arreglármelas de otra forma.

Saludos y gracias!!
Responder Con Cita
  #2  
Viejo 11/02/13, 09:52:28
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Hasta donde yo se, creo que no hay nada que impida enviar una clase como parametro en un evento

Voy a poner un ejemplo inventado de como se haria

Creamos la clase ZCL_CLASE1
Creamos otra clase que se llame ZCL_CLASE2

Dentro de la clase ZCL_CLASE1 creamos el siguiente atributo

GO_CLASE2 type ref to ZCL_CLASE2

Dentro de la clase ZCL_CLASE1 creamos el evento EVENTO1

Iremos a los parametros del evento y definiremos el siguiente parametro

O_REF type ref to ZCL_CLASE2

Despues en la clase ZCL_CLASE1 creamos un metodo llamado LANZA_EVENTO

Dentro del metodo LANZA_EVENTO dispararemos el evento utilizando la instruccion

RAISE EVENT EVENTO1 exporting O_REF = GO_CLASE2
Responder Con Cita
  #3  
Viejo 11/02/13, 11:01:13
Rabadabadou Rabadabadou is offline
Junior Member
 
Fecha de Ingreso: feb 2013
Mensajes: 6
Hola ballan, gracias por tu respuesta!!

Hum perdon por la torpeza es que estoy aprendiendo, pero creo que tu te refieres a clases globales (las que se hacen con el class builder) no? Yo hablo de clases locales.

Yo defino mi isntancia o referencia dentro de la clase con ref to (que es la que quiero enviar en el evento), y luego creo el evento en la clase que lo emite


Pero al hacer eso no me deja, el "IDE" de ABAP me sale rojo como si ese tipo de cosas no se pudieran hacer. Lo único que me deja es poner un value( ) después del exporting. No sé si entiende lo que digo. Quizá es que lo hago mal :S

Saludos
Responder Con Cita
  #4  
Viejo 11/02/13, 13:43:25
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Eso no te va a dejar hacerlo porque lcl_trans no es un objeto de diccionario, solo es una clase local creada en tu programa

Mi recomendacion y mas aun si estas empezando es que NUNCA utilices las clases locales, mejor crea las clases con la SE24 y despues las instancias en tu programa
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:07:28.


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