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 24/02/07, 20:31:30
jplozano jplozano is offline
Member
 
Fecha de Ingreso: feb 2007
Mensajes: 31
Insertar botón en la barra de herramientas del ALV

Hola a todos:

Tengo preparado un ALV y necesito insetar un botón en la barra de herramientas mediante código, he visto algún ejemplo pero con programación orientada a objetos pero yo tengo un ALV de tipo grid normalillo.

La idea poder insertar un botón y capturar cuando ese botón sea pulsado para llamar a un formulario, bueno cuando descubra como.

Saludos.
Responder Con Cita
  #2  
Viejo 25/02/07, 21:26:48
JAC JAC is offline
Junior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 27
Hola jplozano yo tengo el mismo problema que tú. Te comento lo que se hasta ahora a ver si nos podemos ayudar mutuamente.

Por lo visto cuanto tu llamas a la función alv grid. De la siguiente forma
En donde pone i_callback_top_of_page lo que estas poniendo en realidad es una llamada a una perform por lo que tienes que tener en tú programa una form con la siguiente forma.
Desda aqui puedes pinchar en SET PF-STATUS 'ALV' y de esta forma crearas el status.

Por lo que es posible deducir que para tratar el evento que va a producir el status deberías tener un form que se llamase 'USER_COMMAND'. Es decir de esta forma.

Pero la verdad es que a mi me da un dump me dice lo siguiente

Errores tiempo ejecució
MOVE_TO_LIT_NOTALLOWED_NODATA
ocurrido el 25.02.2007 a 23:15:39

>> Dump breve ABAP no almacenado completamente (muy grande)


Assignment error: Overwriting a protected field.

Siento responderte con una pregunta pero la verdad es que no se por donde seguir a ver si la gente del foro nos echa una mano.
Archivos Adjuntos
Tipo de Archivo: txt ZTIENDA01.txt (10.0 KB, 119 visitas)
Responder Con Cita
  #3  
Viejo 26/02/07, 06:59:15
jplozano jplozano is offline
Member
 
Fecha de Ingreso: feb 2007
Mensajes: 31
Hola JAC:

Yo está parte creo que la tengo más o menos resuelta. Por lo que he visto mí código es muy parecido al tuyo. Te lo adjunto por si tú ves alguna diferencia.

form user_command_01 using ucomm like sy-ucomm
selfield type slis_selfield.

READ TABLE ti_datos INDEX selfield-tabindex into wa_datos.
check sy-subrc = 0.

case ucomm.
* Doble Click
when '&IC1'.
CASE SELFIELD-FIELDNAME.
WHEN 'CHECKBOX'.
wa_datos-checkbox = 'X'.
modify ti_datos from wa_datos index sy-tabix.
ucomm = '&REFRESH'.
WHEN OTHERS.
ENDCASE.
endcase.
endform. "user_command_01

Lo unico que yo controlo si se punsa en una columna para activar un checkbox.

Saludos. Espero que te sirva.
Responder Con Cita
  #4  
Viejo 26/02/07, 14:01:37
JAC JAC is offline
Junior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 27
Smile

jplozano me puedes decir que le has puesto para rellenar el argumento
IT_EVENTS, es que creo que este es mi problema. Que es precisamente donde se rellena el evento a que form esta asociado.

Si me equivoco que alguién me corrija gracias.
Responder Con Cita
  #5  
Viejo 27/02/07, 13:41:16
jplozano jplozano is offline
Member
 
Fecha de Ingreso: feb 2007
Mensajes: 31
Te pasó la llamada a la función entera, por si quieres compararla.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
i_callback_user_command = 'USER_COMMAND_01'
* i_callback_pf_status_set = 'SET_PF_STATUS_01'
i_structure_name = 't_trabajo '
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
IT_SORT = GT_SORT[]
IT_EXCLUDING = GT_EXCLUDE[]
* I_DEFAULT = 'X'
I_SAVE = ' ' "Grabar Variante
IS_VARIANT = ls_vari
IT_EVENTS = GT_EVENTS[]
TABLES
T_OUTTAB = t_materiales
EXCEPTIONS
program_error = 1
OTHERS = 2.

Suerte.
Responder Con Cita
  #6  
Viejo 09/01/14, 21:04:39
Renzo_bravo Renzo_bravo is offline
Junior Member
 
Fecha de Ingreso: ene 2014
Mensajes: 2
Solución

1. Visualizar el programa SAPLSLVC_FULLSCREEN.
2. Desplegar Status GUI.
3. clic derecho sobre STANDARD_FULLSCREEN.
4. clic en copiar.
5. escoger el programa destino y colocar un nombre.
6. Editar nuestro programa Z y luego ingresar al status copiado. Modificar ó añadir el botón requerido.

Funciona!!!
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 13:07:11.


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