MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Botones en pantalla de seleccion. (foro/showthread.php?t=11997)

javibest 26/03/08 15:09:33

Botones en pantalla de seleccion.
 
Se puede poner en un Report (de tipo 1) un status ? o un boton diferente a los que salen por defecto ? estoy intentando asignar un status en el evento initialization , pero luego no consigo que se ejecute nada . Me salen mensajes de error muy raros ....

vickxo 26/03/08 15:25:11

usa set status
 
Si se puede, de hecho puedes copiar un status de uno estandar o de alguno programilla perdido en tu r3, para signarlo solo usas
SET PF-STATUS 'Z_TU_STATUS'.

Y ya con eso se carga, los eventos se disparan con los codigos de funcion que definas en el set statis, saludos!

DavidXD_XD 26/03/08 15:27:06

Claro q si funciona, dale una chekeada a este post y me comentas ....


javibest 27/03/08 06:44:33

Gracias por las respuestas, pero lo de asignar un status , si lo hago, aparecen los botones, pero si pincho en ellos, me sale un mensaje
"Posicionar el cursor en una seleccion".
No se por qué

Y lo de agregar botones a codigo, no consigo que al pulsarlos se ejecute el evento start-of-selection. Se ejecutan otros que no me sirven ...

ecm 27/03/08 07:15:21

Mando un ejemplo de una pantalla de selección con botones añadidos por código. Añade dos botones a la barra.

REPORT ysel_01 MESSAGE-ID z1.


TABLES: sscrfields, trdir.
DATA v_ucomm LIKE sy-ucomm.
DATA e_smp_dyntxt LIKE smp_dyntxt.
TABLES d020t.
INCLUDE <icon>.
TYPE-POOLS slis.
*----------------------------------------------------------------------*
* Parameters *
*----------------------------------------------------------------------*
SELECT-OPTIONS: repo FOR trdir-name.

SELECTION-SCREEN FUNCTION KEY 1.
SELECTION-SCREEN FUNCTION KEY 2.

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
*break-point.
ENDLOOP.
*----------------------------------------------------------------------*
* EVENT: Initialization
*----------------------------------------------------------------------*
INITIALIZATION.

e_smp_dyntxt-text = 'Botón 1'.
e_smp_dyntxt-icon_id = icon_cancel.
e_smp_dyntxt-icon_text = 'Texto Icono'.
e_smp_dyntxt-quickinfo = 'Quickinfo'.
e_smp_dyntxt-path = 'Path'.
sscrfields-functxt_01 = e_smp_dyntxt.


CONCATENATE icon_okay 'Botón 2'
INTO sscrfields-functxt_02.
*----------------------------------------------------------------------*
* EVENT: validate users entries on the selection screen *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
BREAK-POINT.

*----------------------------------------------------------------------*
* EVENT: Start-Of-Selection
*----------------------------------------------------------------------*
START-OF-SELECTION.
BREAK-POINT.

javibest 27/03/08 08:18:04

pues lo que comentaba , que cuando pulsas en uno de los 2 botones que tu has agregado , se para en el evento at selection screen y no en el start of selection ...

ecm 27/03/08 09:22:21

Creo que no se puede, que solo se lanza el START-OF-SELECTION cuando se pulsa el botón de código 'ONLI', pero se puede hacer un apaño.

AT SELECTION-SCREEN.
clear vl_ucomm.
IF sy-ucomm EQ 'FC01'.
* Se informa alguna variable que indique que botón se ha pulsado
vl_ucomm = sy-ucomm.
* Se obliga al programa a simular que se ha pulsado Ejecutar
sscrfields-ucomm = 'ONLI'.
ENDIF.

START-OF-SELECTION.
*Se mira que valor tiene la variable porque sy-ucom siempre va a tener
* el 'ONLI'
IF vl_ucomm EQ 'FC01'.
.....
ENDIF.


Husos Horarios son GMT. La hora en este momento es 19:19:27.

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