Añadir boton
http://www.sap-basis-abap.com/abap/add-button-to-alv-toolbar-with-reuse-alv-list-display.htm
TOP
Añadir campo flag a la estrucdtura definida para el uso de la tabla.
Type-pools: slis.
DATA: gtd_fieldcat TYPE slis_t_fieldcat_alv,
gwa_layout TYPE slis_layout_alv.
MAI
llenar los datos en la tabla interna.
START-OF-SELECTION.
PERFORM cargar_data.
PERFORM construir_alv.
F02
*----------------------------------------------------------------------*
***INCLUDE ZTEMP_CJ_F02 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form construir_alv
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM construir_alv.
PERFORM construir_catalogo.
PERFORM construir_layout .
PERFORM mostrar_alv.
ENDFORM. " construir_alv
*&---------------------------------------------------------------------*
*& Form construir_catalogo
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM construir_catalogo.
DATA: li_idx TYPE i VALUE 0.
ADD 1 TO li_idx.
PERFORM llenar_fieldcat USING li_idx 'GTS_AUFK_AFPO' 'GJAHR' ''
'Año' '7' '' ''.
ADD 1 TO li_idx.
PERFORM llenar_fieldcat USING li_idx 'GTS_AUFK_AFPO' 'GJAHR1' ''
'Ejercicio Doc. Contable' '7' '' ''.
ADD 1 TO li_idx.
PERFORM llenar_fieldcat USING li_idx 'GTS_AUFK_AFPO' 'MENSA' ''
'Mensaje' '7' '' ''.
ENDFORM. " construir_catalogo
*&---------------------------------------------------------------------*
*& Form mostrar_alv
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM mostrar_alv.
DATA: ls_repid TYPE sy-repid.
ls_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = ls_repid
i_structure_name = 'GTS_AUFK_AFPO'
i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command = 'USER_COMMAND_000'
i_callback_html_top_of_page = 'TOP_OF_PAGE_SPLIT'
is_layout = gwa_layout
it_fieldcat = gtd_fieldcat[]
TABLES
t_outtab = gts_aufk_afpo
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. " mostrar_alv
*&---------------------------------------------------------------------*
*& Form construir_layout
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM construir_layout.
CLEAR gwa_layout.
gwa_layout-zebra = 'X'.
gwa_layout-edit_mode = space.
gwa_layout-box_fieldname = 'FLAG'.
ENDFORM. " construir_layout
*&---------------------------------------------------------------------*
*& Form llenar_fieldcat
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_LI_IDX text
* -->P_0028 text
* -->P_0029 text
* -->P_0030 text
* -->P_0031 text
* -->P_0032 text
* -->P_0033 text
* -->P_0034 text
*----------------------------------------------------------------------*
FORM llenar_fieldcat USING pi_pos LIKE sy-cucol
pi_tabla TYPE slis_tabname
pi_campo TYPE slis_fieldname
pi_key TYPE c
pi_text TYPE dd03p-scrtext_l
pi_len TYPE dd03p-outputlen
pi_ctabla TYPE slis_tabname
pi_ccampo TYPE slis_fieldname.
DATA lwa_fieldcat TYPE slis_fieldcat_alv.
lwa_fieldcat-col_pos = pi_pos.
lwa_fieldcat-tabname = pi_tabla.
lwa_fieldcat-fieldname = pi_campo.
lwa_fieldcat-key = pi_key.
lwa_fieldcat-seltext_l = pi_text.
lwa_fieldcat-outputlen = pi_len.
lwa_fieldcat-ctabname = pi_ctabla.
lwa_fieldcat-cfieldname = pi_ccampo.
APPEND lwa_fieldcat TO gtd_fieldcat.
CLEAR lwa_fieldcat.
ENDFORM. " llenar_fieldcat
*---------------------------------------------------------------------*
* FORM pf_status *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> P_EXTAB *
*---------------------------------------------------------------------*
FORM set_status USING p_extab TYPE slis_t_extab.
SET PF-STATUS 'STATUS_000' EXCLUDING p_extab.
ENDFORM. "PF_STATUS
*
*---------------------------------------------------------------------*
* FORM user_command_own *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> L_UCOMM *
* --> RS_SELFIELD *
*---------------------------------------------------------------------*
FORM user_command_000 USING l_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE l_ucomm.
WHEN '&ACTU'.
ENDCASE.
ENDFORM.
No comments:
Post a Comment