#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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 |
#3
|
|||
|
|||
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. |
#4
|
|||
|
|||
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 |
#5
|
||||
|
||||
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 |
#6
|
|||
|
|||
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 |
#7
|
|||
|
|||
Te falta una 'M' en USER_COMMAND ,en el nombre que le pasas a la función.
|
#8
|
|||
|
|||
Muchisimas gracias, llevo 2 días dandome cabezasos, y estoy seguro que no lo hubiera visto, muchas gracias de nuevo
|
#9
|
|||
|
|||
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 |
#10
|
||||
|
||||
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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|