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 02/12/08, 10:22:34
Jarpi Jarpi is offline
Senior Member
 
Fecha de Ingreso: abr 2007
Localización: Argentina
Mensajes: 453
User-command en ALV

Buen día para todos,

Los molesto en esta oportunidad pues se me está presentando una duda que no logro destrabar.

Estoy usando el comando i_callback_user_command para un reporte con ALV y lo que quisiera hacer es que 2 columnas tengan una rutina interna. En este caso, tengo la columna BELNR y otra con un ícono. La columna del doc. lleva al usuario a la trx FB03 y le muestra el asiento, y la otra columna muestra cuando el documento tiene Lista de Anexos.

El problema está en que no puedo hacer que cada columna tenga su propia rutina, alguien podrá darme una mano con esto?? Alguien me dijo que cada columna debería tener distinto sy-ucomm, pero cuando lo chequeo, no es así.

Cualquier ayuda es bienvenida.

Muchas gracias de antemano,
Saludos.
Responder Con Cita
  #2  
Viejo 02/12/08, 14:05:26
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola ... intentalo de esta forma, por ejemplo yo tengo una columna Numero de documento (BELNR) y esta relacionado con una factura (ORIGIN_DOC)

__________________
David Carballido Córdova
Responder Con Cita
  #3  
Viejo 02/12/08, 21:41:30
Jarpi Jarpi is offline
Senior Member
 
Fecha de Ingreso: abr 2007
Localización: Argentina
Mensajes: 453
Hola DavidXD_XD,

Era exactamente lo que necesitaba! Realmente te agradezco mucho, estaba seguro contar con una respuesta tuya, no te cansas de ayudar! Ojalá algún día pueda ayudar como vos.

Muchas gracias nuevamente,
Saludos.
Responder Con Cita
  #4  
Viejo 17/12/08, 16:48:43
Caraver Caraver is offline
Junior Member
 
Fecha de Ingreso: nov 2008
Localización: Sevilla
Mensajes: 27
Dump al hacer doble click

Buenas tardes, he echo la parte para que vaya a la tx vf03 y al dar doble click me da el siguiente dump:
************************************************************
Err.tmpo.ejec. PERFORM_NOT_FOUND
Excep. CX_SY_DYN_CALL_ILLEGAL_FORM
Fecha y hora 17.12.2008 18:42:39

Texto breve
Call (PERFORM) to a non-existent routine.

¿Qué ha sucedido?
There exist various options:
Error in the ABAP Application Program

The current ABAP program "SAPLSLVC_FULLSCREEN" had to be terminated because it
has
come across a statement that unfortunately cannot be executed.
or
Error in the SAP kernel.

The current ABAP "SAPLSLVC_FULLSCREEN" program had to be terminated because the
ABAP processor detected an internal system error.


¿Qué puede hacer?
Note down which actions and inputs caused the error.


To process the problem further, contact you SAP system
administrator.

Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.


Anál.errores
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_FORM', was
not caught in
procedure "USER_COMMAND" "(FORM)", nor was it propagated by a RAISING clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
The program "SAPLSLVC_FULLSCREEN" is meant to execute an external PERFORM,
namely the routine "USER_COMAND " of the program "ZLIST_FACT ", but
this routine does not exist.

This may be due to any of the following reasons:

1. One of the programs "SAPLSLVC_FULLSCREEN" or "ZLIST_FACT " is currently
being developed.
The name "USER_COMAND " of the called routine may be incorrect, or
the routine "USER_COMAND " is not yet implemented in the program "ZLIST_FACT ".
-

2. If the program SAPMSSY1 is involved in the runtime error, one of
the function modules called via RFC is not flagged as remote-capable.
(see Transaction SE37 Goto -> Administration -> RFC flag)

3. There is an inconsistency in the system. The versions of the
programs "SAPLSLVC_FULLSCREEN" and "ZLIST_FACT " do not match.


Notas para corregir errores
- Check that transports to the system are complete.
- Conclude any developments already begun ("SAPLSLVC_FULLSCREEN" and/or
"ZLIST_FACT ").
- Check routine names

If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:

"PERFORM_NOT_FOUND" "CX_SY_DYN_CALL_ILLEGAL_FORM"
"SAPLSLVC_FULLSCREEN" or "LSLVC_FULLSCREENF01"
"USER_COMMAND"

If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:

1. The description of the current problem (short dump)

To save the description, choose "System->List->Save->Local File
(Unconverted)".

2. Corresponding system log

Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".

3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".

4. Details about the conditions under which the error occurred or which
actions and input led to the error.

The exception must either be prevented, caught within proedure
"USER_COMMAND" "(FORM)", or its possible occurrence must be declared in the
RAISING clause of the procedure.
To prevent the exception, note the following:


******************************************************************

Si sabéis por qué puede ser agradezco que me lo digan, llevo todo el día y no tengo npi de por que es, un saludo y gracias
Responder Con Cita
  #5  
Viejo 17/12/08, 18:24:04
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola ... en ese caso creo que lo estas trabajando con REUSE_ALV_GRID_DISPLAY, para ese caso debes pasar como parametros de entrada tanto el programa como el FORM USER_COMMAND de esta manera


Debes comunicar a la funcion los parametros I_CALLBACK_PROGRAM y I_CALLBACK_USER_COMMAND
__________________
David Carballido Córdova
Responder Con Cita
  #6  
Viejo 18/12/08, 09:41:45
Caraver Caraver is offline
Junior Member
 
Fecha de Ingreso: nov 2008
Localización: Sevilla
Mensajes: 27
Esos dos parametros los tengo puesto, mira te paso el codigo a ver si ves algo raro:
Creo que esta todo bien pero me salta el dump, llevo poco tiempo haciendo listado y seguro que se me escapa algo, muchas gracas
Responder Con Cita
  #7  
Viejo 18/12/08, 11:21:26
francesc francesc is offline
Member
 
Fecha de Ingreso: mar 2006
Localización: Barcelona
Mensajes: 58
Te falta una 'M' en USER_COMMAND ,en el nombre que le pasas a la función.
Responder Con Cita
  #8  
Viejo 18/12/08, 11:25:29
Caraver Caraver is offline
Junior Member
 
Fecha de Ingreso: nov 2008
Localización: Sevilla
Mensajes: 27
Muchisimas gracias, llevo 2 días dandome cabezasos, y estoy seguro que no lo hubiera visto, muchas gracias de nuevo
Responder Con Cita
  #9  
Viejo 20/02/09, 13:27:44
Abaunus Abaunus is offline
Senior Member
 
Fecha de Ingreso: nov 2008
Localización: Buenos Aires
Mensajes: 119


Hola David, veo que la tenés clara, te hago dos consultas:
Yo creo los ALV con esa función 'REUSE_ALV_GRID_DISPLAY', pero el único Callback que hago es I_CALLBACK_PROGRAM, ya que los otros los cargo con it_events... ¿cuál es la diferencia?
La otra cosnulta es: ¿cuál es la otra función para los ALV?
Desde ya, gracias,
Saludos
Responder Con Cita
  #10  
Viejo 20/02/09, 14:12:18
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola, bueno hasta donde se el REUSE_ALV_GRID_DISPLAY es un tipo de framework y tbm hace uso de un contenedor y realiza la insercion de datos con objetos, cuando he debuggeado el I_CALLBACK_PROGRAM nos sirve para poder direccionar las subrutinas que se crean para los eventos dentro del framework, x ejm, dentro del codigo existe algo asi


Por eso es necesario transmitir el nombre del programa dentro de la funcion, asi como tambien el evento user command dentro del parametro i_callback_user_command y tbm pasa los mismo con el parametro I_CALLBACK_PF_STATUS_SET, I_CALLBACK_TOP_OF_PAGE para los eventos de menu de barra y cabecera ... los demas eventos que no se especifican como por ejemplo el pie de pagina se trabaja con la tabla de eventos, espero te sirva la info

PD: Si toy ekivocado xfas corregirme
__________________
David Carballido Córdova
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 09:58:46.


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