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 13/06/06, 14:41:00
tniaboc tniaboc is offline
Member
 
Fecha de Ingreso: abr 2006
Mensajes: 58
Como se añaden botones al status de una alv??

He probado copiandome el status standard y modificandolo y añadiendo esto
, pero no me visualiza los nuevos botones que me creo en el status nuevo
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = 'X'
I_CALLBACK_PROGRAM = g_repid
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
* I_STRUCTURE_NAME =
IS_LAYOUT = gs_layout
IT_FIELDCAT = gt_fieldcat[]




FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: li_count TYPE I.
IF r_ucomm EQ '%ADD'.
* LOOP AT %g00 WHERE mark EQ 'X'.
* ADD 1 TO li_count.
* ENDLOOP.
* IF li_count GT 0.
* gc_delete_flag = 'X'.
* r_ucomm = '&F03'. "Back arraow
* ELSE.
* MESSAGE W000 WITH 'Please highlight the rows to be deleted!'.
* ENDIF.
ENDIF.
ENDFORM. "User_command

*****************************************
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZSTANDARD' excluding rt_extab.
ENDFORM. "Set_pf_status
Responder Con Cita
  #2  
Viejo 14/06/06, 07:20:52
mbonilla mbonilla is offline
Junior Member
 
Fecha de Ingreso: mar 2006
Mensajes: 29
Buenas,

Te debería de ir si tienes el status creado,activo, etc y la llamada a la función alv tal como dices.

De todas formas, te mando aquí un programa de prueba que tuve que hacer,
y si que sale, ya me dices,

* Pasos esenciales (Buscar el simbolo '§')
* ----------------
* 1. Definición estructuras y tablas necesarias
* 2. Definimos la tabla con los datos de salida
* 3. Toma de datos
* 4. Definición estructura y formato de salida
* 5. Mostrar listado


*<-- § Paso 1. Definicion estructuras y tablas necesarias

* Type Pool donde vienen definidas todas las estructuras y tablas
TYPE-POOLS: slis.
* Catálogo de campos: contiene la descripción de los campos de salida
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
* Especificaciones de la disposición de la lista: descripción de la
* estructura de salida
gs_layout TYPE slis_layout_alv,
* Nombre del programa
g_repid LIKE sy-repid.
*<-- § Paso 2. Definimos la tabla con los datos de salida
TYPES: BEGIN OF st_output,
* marca(1) type c.
xmark(1) TYPE c.
INCLUDE STRUCTURE /bic/pfm_munici.
TYPES: END OF st_output.
DATA: gt_slis_t_fieldcat_alv TYPE slis_t_fieldcat_alv.
DATA: gt_line TYPE STANDARD TABLE OF st_output WITH HEADER LINE.
DATA: BEGIN OF i_muni OCCURS 0.
* mark type c.
INCLUDE STRUCTURE /bic/pfm_munici.
DATA: END OF i_muni.

INITIALIZATION.
g_repid = sy-repid.

START-OF-SELECTION.
*<-- § Paso 3. Toma de datos
PERFORM toma_datos.
*<-- § Paso 4. Estructura y formato de salida
PERFORM init_fieldcat.
PERFORM init_layout.
*<-- § Paso 5. Mostrar listado
* set pf-status 'ZNUEVO'.
PERFORM listado.
loop at gt_line.
write: 'Actualizado'.
write: /.
endloop.

*&&-----------------------------------------------------------------&&*
* SUBRUTINAS DEL PROGRAMA *
*&&-----------------------------------------------------------------&&*
*---------------------------------------------------------------------*
* FORM INIT_FIELDCAT *
*---------------------------------------------------------------------*
FORM init_fieldcat.
* Mediante esta tabla vamos a definir los campos que queremos mostrar
* en el listado de salida.
gt_fieldcat-fieldname = '/BIC/FM_MUNICI'.
gt_fieldcat-ref_tabname = '/BIC/PFM_MUNICI'.
APPEND gt_fieldcat. CLEAR gt_fieldcat.
gt_fieldcat-fieldname = '/BIC/FM_COMARC'.
gt_fieldcat-ref_tabname = '/BIC/PFM_MUNICI'.
APPEND gt_fieldcat. CLEAR gt_fieldcat.
gt_fieldcat-fieldname = 'COUNTRY'.
gt_fieldcat-ref_tabname = '/BIC/PFM_MUNICI'.
APPEND gt_fieldcat. CLEAR gt_fieldcat.
gt_fieldcat-fieldname = 'REGION'.
gt_fieldcat-ref_tabname = '/BIC/PFM_MUNICI'.
APPEND gt_fieldcat. CLEAR gt_fieldcat.
* gt_fieldcat-fieldname = 'MENGE'.
* gt_fieldcat-ref_tabname = 'EKPO'.
* APPEND gt_fieldcat. CLEAR gt_fieldcat.
* gt_fieldcat-fieldname = 'MEINS'.
* gt_fieldcat-ref_tabname = 'EKPO'.
* APPEND gt_fieldcat. CLEAR gt_fieldcat.
ENDFORM. "init_fieldcat
*---------------------------------------------------------------------*
* FORM INIT_LAYOUT *
*---------------------------------------------------------------------*
FORM init_layout.
* Mediante esta estructura podemos definir el formato de salida
gs_layout-zebra = 'X'.
* Queremos que aparezca con marcador, para poder seleccionar las líneas
gs_layout-box_tabname = 'GT_LINE'.
gs_layout-box_fieldname = 'XMARK'.
gs_layout-f2code = '&amp;ETA'.
gs_layout-detail_popup = 'X'.
ENDFORM. "init_layout
*---------------------------------------------------------------------*
* FORM TOMA_DATOS *
*---------------------------------------------------------------------*
FORM toma_datos.
* Los datos deben guardarse en la tabla interna de salida
SELECT * FROM /bic/pfm_munici
UP TO 100 ROWS
INTO CORRESPONDING FIELDS OF TABLE gt_line.

ENDFORM. " TOMA_DATOS
*---------------------------------------------------------------------*
* FORM LISTADO *
*---------------------------------------------------------------------*
FORM listado.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = g_repid
i_callback_pf_status_set = 'STATUS_SET'
i_callback_user_command = 'USER_COMMAND '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = gt_line
EXCEPTIONS
program_error = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.



ENDFORM. " LISTADO


*--------------------------------------------------------------------- *
* FORM F_USER_COMMAND *
*--------------------------------------------------------------------- *
* Podemos controlar todos los user_command activados por el usuario *
*--------------------------------------------------------------------- *
* --> L_UCOMM *
* --> L_SELFIELD *
*--------------------------------------------------------------------- *
FORM user_command USING l_ucomm LIKE sy-ucomm
l_selfield TYPE slis_selfield.

READ TABLE gt_line INDEX l_selfield-tabindex.

CASE l_ucomm.
WHEN 'TEST'.
write: 'Municipio-----'.
write: /.

when 'LOG'.
leave to list-processing.
loop at gt_line.
if gt_line-xmark ne space.
write: 'Actualizado'.
write: /.
endif.
endloop.
* PERFORM listado.

ENDCASE.


.
ENDFORM. "user_command

*--------------------------------------------------------------------- *
* FORM status_set *
*--------------------------------------------------------------------- *
* Podemos definir nuestro PF-STATUS. Incluso podemos aprovechar el
* que nos da el ALV y añadir los que nos interese, o eliminar aquellos
* del ALV que no nos interesen
*--------------------------------------------------------------------- *
* --> RT_EXTAB *
*--------------------------------------------------------------------- *
FORM status_set USING rt_extab TYPE slis_t_extab.
DATA: l_status(20) TYPE c.

SET PF-STATUS 'ZNUEVO'.
ENDFORM. "status_set
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 23:37:17.


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