_____________________________________________________________
VERSION 6.4 (COMO COMPARTO EL PGMA Y SUS INCLUDES? ESQUE NO ME DEJA ATACHARLOS TODOS PERO HAY VAN SOLO 3 RUTINAS)
PROGRAME LO QUE ME DIJISTES EN LA RUTINA DEL TOP ANTES DEL ENDFORM
_____________________________________________________________
ESTA ES LA RUTINA DEL DISPLAY ALV
_____________________________________________________________
*&---------------------------------------------------------------------*
*& Form F_DISPLAY_ALV_REPORT *
*&---------------------------------------------------------------------*
* Display alv report on output screen *
*----------------------------------------------------------------------*
FORM f_display_alv_report .
* Local variables------------------------------------------------------*
DATA: lv_program TYPE sy-repid,
i_lvc_s_glay LIKE lvc_s_glay.
i_lvc_s_glay-edt_cll_cb = 'X'.
CLEAR w_variant.
lv_program = sy-repid.
* Variant for ALV.
w_variant-report = lv_program.
w_variant-variant = p_vari.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = lv_program
i_callback_pf_status_set = 'C'
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'F_ALV_TOP'
i_structure_name = 'I_ALV'
i_grid_settings = i_lvc_s_glay
is_layout = w_layout
it_fieldcat = i_fieldcat
it_sort = it_sortCat
i_default = c_x
i_save = c_a
is_variant = w_variant
it_events = i_events
TABLES
t_outtab = i_alv
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> c_zeros.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1
sy-msgv2
sy-msgv3
sy-msgv4.
ENDIF.
ENDFORM. " F_DISPLAY_ALV_REPORT
_____________________________________________________________
ESTA ES LA RUTINA DEL TOP
_____________________________________________________________
*&---------------------------------------------------------------------*
*& Form f_alv_top *
*&---------------------------------------------------------------------*
* Routine To generate the headed one of the ALV *
*----------------------------------------------------------------------*
FORM f_alv_top.
* Local Variables------------------------------------------------------*
DATA: lv_date(10) TYPE c,
lv_layout(50) TYPE c,
lv_textvar LIKE varit-vtext,
lv_variant(50) TYPE c.
* to verify that the Head does not have data.
REFRESH i_list_top.
* CHECK i_list_top[] IS INITIAL.
* Change Sy-Datum by Sy-Datlo.
WRITE sy-datlo TO lv_date DD/MM/YYYY.
* Create the name of the file to be generated.
CLEAR: i_gs_line.
i_gs_line-typ = c_s.
i_gs_line-key = text-t03. "File
i_gs_line-info = p_displ.
APPEND i_gs_line TO i_list_top.
* Create Date
CLEAR: i_gs_line.
i_gs_line-typ = c_s.
i_gs_line-key = text-t01. "Date
i_gs_line-info = lv_date.
APPEND i_gs_line TO i_list_top.
* Create User
CLEAR: i_gs_line.
i_gs_line-typ = c_s. "Line type [H]eader
i_gs_line-key = text-t02. "User
i_gs_line-info = sy-uname.
APPEND i_gs_line TO i_list_top.
CLEAR: i_gs_line.
* Create Total Records
CLEAR: i_gs_line.
i_gs_line-typ = c_s. "Line type [H]eader
i_gs_line-key = text-t04. "Total records
i_gs_line-info = v_tot_reg_t.
APPEND i_gs_line TO i_list_top.
CALL FUNCTION 'RS_VARIANT_TEXT'
EXPORTING
curr_report = sy-cprog
langu = sy-langu
variant = sy-slset
IMPORTING
v_text = lv_textvar
EXCEPTIONS
no_text = 1.
IF sy-subrc EQ c_zeros.
CONCATENATE sy-slset
lv_textvar
INTO lv_variant
SEPARATED BY space.
ENDIF.
* i_gs_line-typ = c_s. " Line type [H]eader
* i_gs_line-key = text-t05. " Variant
* i_gs_line-info = lv_variant.
* APPEND i_gs_line TO i_list_top.
* Create the Third label of Title
CLEAR: i_gs_line.
CONCATENATE p_vari
v_text_lay
INTO lv_layout
SEPARATED BY space.
CLEAR: i_gs_line.
i_gs_line-typ = c_s. " Line type [H]eader
i_gs_line-key = text-t06. " Layout
i_gs_line-info = lv_layout.
APPEND i_gs_line TO i_list_top.
* Write the Headed
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_list_top.
ENDFORM. " f_alv_top
_____________________________________________________________
ESTA ES LA RUTINA DE DATA_CHANGED
_____________________________________________________________
*&---------------------------------------------------------------------*
*& Form DATA_CHANGED
*&---------------------------------------------------------------------*
* Modifies the CheckBox in the ALV Report
*----------------------------------------------------------------------*
* <--P_I_EXTAB text
*----------------------------------------------------------------------*
FORM data_changed
USING rr_data TYPE REF TO cl_alv_changed_data_protocol.
DATA : ls_mod_cell TYPE lvc_s_modi,
lv_value TYPE lvc_value.
SORT rr_data->mt_mod_cells BY row_id .
LOOP AT rr_data->mt_mod_cells INTO ls_mod_cell.
IF ls_mod_cell-fieldname = 'DESPU'.
READ TABLE i_alv index ls_mod_cell-row_id .
IF sy-subrc = 0.
i_alv-despu = ls_mod_cell-value.
MODIFY i_alv index ls_mod_cell-row_id.
CALL METHOD rr_data->MODIFY_CELL
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = 'DESPU'
i_value = ls_mod_cell-value.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
__________________
Saludos
Alabado Seas Yhavé.
-Hay Un Mundo Mejor Cuando Aprendes a AMAR
|