Segundo empezamos creando la clase:
ZCL_ALV_GRID_MAINP
En Tipos Locales copiamos:
*"* use this source file for any type declarations (class
*"* definitions, interfaces or data types) you need for method
*"* implementation or private method's signature
INCLUDE <icon>.
CLASS cl_gui_cfw DEFINITION LOAD.
CLASS cl_gui_column_tree DEFINITION LOAD.
*"* definitions, interfaces or data types) you need for method
*"* implementation or private method's signature
INCLUDE <icon>.
CLASS cl_gui_cfw DEFINITION LOAD.
CLASS cl_gui_column_tree DEFINITION LOAD.
En Impl. copiamos:
*"* local class implementation for public class
*"* use this source file for the implementation part of
*"* local helper classes
* Defino una clase local para los eventos del toolbar
CLASS lcl_toolbar_event_receiver DEFINITION.
* PUBLIC SECTION.
* METHODS: on_function_selected
* FOR EVENT toolbar OF cl_gui_alv_grid
* IMPORTING
* e_object
* e_interactive.
ENDCLASS. "lcl_toolbar_event_receiver DEFINITION
*---------------------------------------------------------------------*
* Implemento una clase local para los eventos del toolbar
CLASS lcl_toolbar_event_receiver IMPLEMENTATION.
* METHOD on_function_selected.
* DATA: flag_s TYPE c.
*
* CASE fcode.
*
* WHEN '&CRR'.
* flag_s = '1'.
*
* CALL METHOD ZCL_ALV_GRID_MAINP=>pagination
* EXPORTING
* flag_s = flag_s.
*
* WHEN '&CRL'.
* flag_s = '2'.
*
* CALL METHOD ZCL_ALV_GRID_MAINP=>pagination
* EXPORTING
* flag_s = flag_s.
*
* WHEN '&CTL'.
* flag_s = '3'.
*
* CALL METHOD ZCL_ALV_GRID_MAINP=>pagination
* EXPORTING
* flag_s = flag_s.
*
*
* WHEN '&CTR'.
* flag_s = '4'.
*
* CALL METHOD ZCL_ALV_GRID_MAINP=>pagination
* EXPORTING
* flag_s = flag_s.
*
** WHEN '&LIST'.
** flag_s = '5'.
** CALL METHOD zcl_alv_tree_main=>pagination
** EXPORTING
** flag_s = flag_s.
*
* ENDCASE.
* ENDMETHOD. "on_function_selected
ENDCLASS. "lcl_toolbar_event_receiver IMPLEMENTATION
"nota : si deseas crear mas botones desde el programa
" CALL METHOD ao_tree->ao_tree->get_toolbar_object
* IMPORTING
* er_toolbar = ao_toolbar.
*
* CHECK NOT ao_toolbar IS INITIAL.
*
* CALL METHOD ao_toolbar->add_button
* EXPORTING
* fcode = '&XXX'
* icon = 'dd'
* butn_type = cntb_btype_button
* text = ''
* quickinfo = ''
* EXCEPTIONS
* cntl_error = 1
* cntb_btype_error = 2
* cntb_error_fcode = 3
* OTHERS = 4.
* Creas tu propia clase local para los eventos de aquellos botones
"nota : si deseo manipular datos desde el programa lo puedo hacer de la sgte. manera
* ASSIGN ao_tree->at_nodetab->* TO <ta>.
* LOOP AT <ta> INTO <wa>.
* CLEAR at_nodetab2.
* MOVE-CORRESPONDING <wa> TO at_nodetab2. " a cualq tabla del programa
* APPEND at_nodetab2.
* ENDLOOP.
*"* use this source file for the implementation part of
*"* local helper classes
* Defino una clase local para los eventos del toolbar
CLASS lcl_toolbar_event_receiver DEFINITION.
* PUBLIC SECTION.
* METHODS: on_function_selected
* FOR EVENT toolbar OF cl_gui_alv_grid
* IMPORTING
* e_object
* e_interactive.
ENDCLASS. "lcl_toolbar_event_receiver DEFINITION
*---------------------------------------------------------------------*
* Implemento una clase local para los eventos del toolbar
CLASS lcl_toolbar_event_receiver IMPLEMENTATION.
* METHOD on_function_selected.
* DATA: flag_s TYPE c.
*
* CASE fcode.
*
* WHEN '&CRR'.
* flag_s = '1'.
*
* CALL METHOD ZCL_ALV_GRID_MAINP=>pagination
* EXPORTING
* flag_s = flag_s.
*
* WHEN '&CRL'.
* flag_s = '2'.
*
* CALL METHOD ZCL_ALV_GRID_MAINP=>pagination
* EXPORTING
* flag_s = flag_s.
*
* WHEN '&CTL'.
* flag_s = '3'.
*
* CALL METHOD ZCL_ALV_GRID_MAINP=>pagination
* EXPORTING
* flag_s = flag_s.
*
*
* WHEN '&CTR'.
* flag_s = '4'.
*
* CALL METHOD ZCL_ALV_GRID_MAINP=>pagination
* EXPORTING
* flag_s = flag_s.
*
** WHEN '&LIST'.
** flag_s = '5'.
** CALL METHOD zcl_alv_tree_main=>pagination
** EXPORTING
** flag_s = flag_s.
*
* ENDCASE.
* ENDMETHOD. "on_function_selected
ENDCLASS. "lcl_toolbar_event_receiver IMPLEMENTATION
"nota : si deseas crear mas botones desde el programa
" CALL METHOD ao_tree->ao_tree->get_toolbar_object
* IMPORTING
* er_toolbar = ao_toolbar.
*
* CHECK NOT ao_toolbar IS INITIAL.
*
* CALL METHOD ao_toolbar->add_button
* EXPORTING
* fcode = '&XXX'
* icon = 'dd'
* butn_type = cntb_btype_button
* text = ''
* quickinfo = ''
* EXCEPTIONS
* cntl_error = 1
* cntb_btype_error = 2
* cntb_error_fcode = 3
* OTHERS = 4.
* Creas tu propia clase local para los eventos de aquellos botones
"nota : si deseo manipular datos desde el programa lo puedo hacer de la sgte. manera
* ASSIGN ao_tree->at_nodetab->* TO <ta>.
* LOOP AT <ta> INTO <wa>.
* CLEAR at_nodetab2.
* MOVE-CORRESPONDING <wa> TO at_nodetab2. " a cualq tabla del programa
* APPEND at_nodetab2.
* ENDLOOP.
En Sección Pública copiamos:
class ZCL_ALV_GRID_MAINP definition
public
final
create public .
*"* public components of class ZCL_ALV_GRID_MAINP
*"* do not include other source files here!!!
public section.
class-data AO_ALV_OO type ref to ZCL_ALV_GRID_INFO .
class-data AO_CONTAINER_OO type ref to CL_GUI_CUSTOM_CONTAINER .
class-data AO_TOOLBAR_OO type ref to CL_GUI_TOOLBAR .
class-data AW_IS_HIERARCHY_HEADER_OO type TREEV_HHDR .
class-data AT_FIELDCATALOG_OO type LVC_T_FCAT .
class-data AT_TOOLBAR_EXCL_OO type UI_FUNCTIONS .
class-data AP_I_STRUCT_NAME_OO type DD02L-TABNAME .
class-data AP_I_STRUCT_NAME_GRAPHIC_OO type DD02L-TABNAME .
class-data AO_NODETAB_OO type ref to DATA .
class-data AP_I_SAVE_OO type CHAR01 .
class-data AP_I_DEFAULT_OO type CHAR01 .
class-data AW_IS_EXCEPTION_FIELD_OO type LVC_S_L004 .
class-data AT_IT_SPECIAL_GROUPS_OO type LVC_T_SGRP .
type-pools SLIS .
class-data AT_IT_LIST_COMMENTARY_OO type SLIS_T_LISTHEADER .
type-pools SDYDO .
class-data AP_I_LOGO_OO type SDYDO_VALUE .
class-data AP_I_BACKGROUND_ID_OO type SDYDO_KEY .
class-data AT_IT_EXCEPT_QINFO_OO type LVC_T_QINF .
class-data AT_IT_FILTER_OO type LVC_T_FILT .
class-data AW_IS_VARIANT_OO type DISVARIANT .
class-data AP_PROGRAM_OO type PROGNAME .
class-data AP_I_BUFFER_ACTIVE_OO type C .
class-data AP_I_BYPASSING_BUFFER_OO type CHAR01 .
class-data AP_I_CONSISTENCY_CHECK_OO type CHAR1 .
class-data AW_IS_LAYOUT_OO type LVC_S_LAYO .
class-data AW_IS_PRINT_OO type LVC_S_PRNT .
class-data AT_IT_HYPERLINK_OO type LVC_T_HYPE .
class-data AT_IT_GRAPHICS_OO type DTC_T_TC .
class-data AO_IR_SALV_ADAPTER_OO type ref to IF_SALV_ADAPTER .
class-data AT_IT_SORT_OO type LVC_T_SORT .
class-data AT_DROPDOWN_OO type LVC_T_DROP .
class-data AT_REGISTER_OO type LVC_T_F4 .
class-data AO_ALV type ref to ZCL_ALV_GRID_INFO .
class-data AO_NODETAB type ref to DATA .
class-data AO_TOOLBAR type ref to CL_GUI_TOOLBAR .
class-data AW_ES_EXIT_CAUSED_BY_USER type SLIS_EXIT_BY_USER .
class-data AP_I_INTERFACE_CHECK type C .
class-data AP_I_BYPASSING_BUFFER type CHAR01 .
class-data AP_I_BUFFER_ACTIVE type C .
class-data AP_I_CALLBACK_PROGRAM type SY-REPID .
class-data AP_I_CALLBACK_PF_STATUS_SET type SLIS_FORMNAME .
class-data AP_I_CALLBACK_USER_COMMAND type SLIS_FORMNAME .
class-data AP_I_CALLBACK_TOP_OF_PAGE type SLIS_FORMNAME .
class-data AP_I_CALLBACK_HTML_TOP_OF_PAGE type SLIS_FORMNAME .
class-data AP_I_CALLBACK_HTML_END_OF_LIST type SLIS_FORMNAME .
class-data AP_I_STRUCTURE_NAME type DD02L-TABNAME .
class-data AP_I_BACKGROUND_ID type SDYDO_KEY .
class-data AP_I_GRID_TITLE type LVC_TITLE .
class-data AP_I_GRID_SETTINGS type LVC_S_GLAY .
class-data AW_IS_LAYOUT type SLIS_LAYOUT_ALV .
class-data AT_IT_FIELDCAT type SLIS_T_FIELDCAT_ALV .
class-data AT_IT_EXCLUDING type SLIS_T_EXTAB .
class-data AT_IT_SPECIAL_GROUPS type SLIS_T_SP_GROUP_ALV .
class-data AT_IT_SORT type SLIS_T_SORTINFO_ALV .
class-data AT_IT_FILTER type SLIS_T_FILTER_ALV .
class-data AW_IS_SEL_HIDE type SLIS_SEL_HIDE_ALV .
class-data AP_I_DEFAULT type C .
class-data AP_I_SAVE type C .
class-data AW_IS_VARIANT type DISVARIANT .
class-data AT_IT_EVENTS type SLIS_T_EVENT .
class-data AT_IT_EVENT_EXIT type SLIS_T_EVENT_EXIT .
class-data AW_IS_PRINT type SLIS_PRINT_ALV .
class-data AW_IS_REPREP_ID type SLIS_REPREP_ID .
class-data AP_I_SCREEN_START_COLUMN type C .
class-data AP_I_SCREEN_START_LINE type C .
class-data AP_I_SCREEN_END_COLUMN type C .
class-data AP_I_SCREEN_END_LINE type C .
class-data AP_I_HTML_HEIGHT_TOP type I .
class-data AP_I_HTML_HEIGHT_END type I .
class-data AT_IT_ALV_GRAPHICS type DTC_T_TC .
class-data AO_IR_SALV_FULLSCREEN_ADAPTER type ref to CL_SALV_FULLSCREEN_ADAPTER .
class-data AP_E_EXIT_CAUSED_BY_CALLER type C .
class-data AP_I_STRUCT_NAME type DD02L-TABNAME .
class-data AP_PROGRAM type PROGNAME .
class-methods INIT_ALV_OO
importing
value(P_PROGRAM) type PROGNAME
value(P_STRUCTURE) type DD02L-TABNAME
value(P_CONTAINER) type DYNFNAM
!P_HIDE_MC_FC_AUF type XFELD optional
!P_HIDE_MC_FC_AVERAGE type XFELD optional
!P_HIDE_MC_FC_BACK_CLASSIC type XFELD optional
!P_HIDE_MC_FC_CALL_ABC type XFELD optional
!P_HIDE_MC_FC_CALL_CHAIN type XFELD optional
!P_HIDE_MC_FC_CALL_CRBATCH type XFELD optional
!P_HIDE_MC_FC_CALL_CRWEB type XFELD optional
!P_HIDE_MC_FC_CALL_LINEITEMS type XFELD optional
!P_HIDE_MC_FC_CALL_MASTER_DATA type XFELD optional
!P_HIDE_MC_FC_CALL_MORE type XFELD optional
!P_HIDE_MC_FC_CALL_REPORT type XFELD optional
!P_HIDE_MC_FC_CALL_XINT type XFELD optional
!P_HIDE_MC_FC_CALL_XXL type XFELD optional
!P_HIDE_MC_FC_CHECK type XFELD optional
!P_HIDE_MC_FC_COL_INVISIBLE type XFELD optional
!P_HIDE_MC_FC_COL_OPTIMIZE type XFELD optional
!P_HIDE_MC_FC_COUNT type XFELD optional
!P_HIDE_MC_FC_CURRENT_VARIANT type XFELD optional
!P_HIDE_MC_FC_DATA_SAVE type XFELD optional
!P_HIDE_MC_FC_DELETE_FILTER type XFELD optional
!P_HIDE_MC_FC_DESELECT_ALL type XFELD optional
!P_HIDE_MC_FC_DETAIL type XFELD optional
!P_HIDE_MC_FC_EXCL_ALL type XFELD optional
!P_HIDE_MC_FC_EXPCRDATA type XFELD optional
!P_HIDE_MC_FC_EXPCRDESIG type XFELD optional
!P_HIDE_MC_FC_EXPCRTEMPL type XFELD optional
!P_HIDE_MC_FC_EXPMDB type XFELD optional
!P_HIDE_MC_FC_EXTEND type XFELD optional
!P_HIDE_MC_FC_F4 type XFELD optional
!P_HIDE_MC_FC_FILTER type XFELD optional
!P_HIDE_MC_FC_FIND type XFELD optional
!P_HIDE_MC_FC_FIX_COLUMNS type XFELD optional
!P_HIDE_MC_FC_GRAPH type XFELD optional
!P_HIDE_MC_FC_HELP type XFELD optional
!P_HIDE_MC_FC_HTML type XFELD optional
!P_HIDE_MC_FC_INFO type XFELD optional
!P_HIDE_MC_FC_LOAD_VARIANT type XFELD optional
!P_HIDE_MC_FC_LOC_APPEND_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_COPY type XFELD optional
!P_HIDE_MC_FC_LOC_COPY_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_CUT type XFELD optional
!P_HIDE_MC_FC_LOC_DELETE_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_INSERT_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_MOVE_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_PASTE type XFELD optional
!P_HIDE_MC_FC_LOC_PASTE_NEW_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_UNDO type XFELD optional
!P_HIDE_MC_FC_MAINTAIN_VARIANT type XFELD optional
!P_HIDE_MC_FC_MAXIMUM type XFELD optional
!P_HIDE_MC_FC_MINIMUM type XFELD optional
!P_HIDE_MC_FC_PC_FILE type XFELD optional
!P_HIDE_MC_FC_PRINT type XFELD optional
!P_HIDE_MC_FC_PRINT_BACK type XFELD optional
!P_HIDE_MC_FC_PRINT_PREV type XFELD optional
!P_HIDE_MC_FC_REFRESH type XFELD optional
!P_HIDE_MC_FC_REPREP type XFELD optional
!P_HIDE_MC_FC_SAVE_VARIANT type XFELD optional
!P_HIDE_MC_FC_SELECT_ALL type XFELD optional
!P_HIDE_MC_FC_SEND type XFELD optional
!P_HIDE_MC_FC_SEPARATOR type XFELD optional
!P_HIDE_MC_FC_SORT type XFELD optional
!P_HIDE_MC_FC_SORT_ASC type XFELD optional
!P_HIDE_MC_FC_SORT_DSC type XFELD optional
!P_HIDE_MC_FC_SUBTOT type XFELD optional
!P_HIDE_MC_FC_SUM type XFELD optional
!P_HIDE_MC_FC_TO_OFFICE type XFELD optional
!P_HIDE_MC_FC_TO_REP_TREE type XFELD optional
!P_HIDE_MC_FC_UNFIX_COLUMNS type XFELD optional
!P_HIDE_MC_FC_URL_COPY_TO_CLIPB type XFELD optional
!P_HIDE_MC_FC_VARIANT_ADMIN type XFELD optional
!P_HIDE_MC_FC_VIEWS type XFELD optional
!P_HIDE_MC_FC_VIEW_CRYSTAL type XFELD optional
!P_HIDE_MC_FC_VIEW_EXCEL type XFELD optional
!P_HIDE_MC_FC_VIEW_GRID type XFELD optional
!P_HIDE_MC_FC_VIEW_LOTUS type XFELD optional
!P_HIDE_MC_FC_WORD_PROCESSOR type XFELD optional .
class-methods BUILD_ALV_OO
importing
!P_PROGR type PROGNAME .
class-methods BUILD_FIELDCATALOG_OO
importing
!P_STRUCTURE_NAME type DD02L-TABNAME
exporting
!P_FIELDCAT type LVC_T_FCAT .
class-methods HIDE_FUNCTIONS_OO
importing
!P_MC_FC_AUF type XFELD optional
!P_MC_FC_AVERAGE type XFELD optional
!P_MC_FC_BACK_CLASSIC type XFELD optional
!P_MC_FC_CALL_ABC type XFELD optional
!P_MC_FC_CALL_CHAIN type XFELD optional
!P_MC_FC_CALL_CRBATCH type XFELD optional
!P_MC_FC_CALL_CRWEB type XFELD optional
!P_MC_FC_CALL_LINEITEMS type XFELD optional
!P_MC_FC_CALL_MASTER_DATA type XFELD optional
!P_MC_FC_CALL_MORE type XFELD optional
!P_MC_FC_CALL_REPORT type XFELD optional
!P_MC_FC_CALL_XINT type XFELD optional
!P_MC_FC_CALL_XXL type XFELD optional
!P_MC_FC_CHECK type XFELD optional
!P_MC_FC_COL_INVISIBLE type XFELD optional
!P_MC_FC_COL_OPTIMIZE type XFELD optional
!P_MC_FC_COUNT type XFELD optional
!P_MC_FC_CURRENT_VARIANT type XFELD optional
!P_MC_FC_DATA_SAVE type XFELD optional
!P_MC_FC_DELETE_FILTER type XFELD optional
!P_MC_FC_DESELECT_ALL type XFELD optional
!P_MC_FC_DETAIL type XFELD optional
!P_MC_FC_EXCL_ALL type XFELD optional
!P_MC_FC_EXPCRDATA type XFELD optional
!P_MC_FC_EXPCRDESIG type XFELD optional
!P_MC_FC_EXPCRTEMPL type XFELD optional
!P_MC_FC_EXPMDB type XFELD optional
!P_MC_FC_EXTEND type XFELD optional
!P_MC_FC_F4 type XFELD optional
!P_MC_FC_FILTER type XFELD optional
!P_MC_FC_FIND type XFELD optional
!P_MC_FC_FIX_COLUMNS type XFELD optional
!P_MC_FC_GRAPH type XFELD optional
!P_MC_FC_HELP type XFELD optional
!P_MC_FC_HTML type XFELD optional
!P_MC_FC_INFO type XFELD optional
!P_MC_FC_LOAD_VARIANT type XFELD optional
!P_MC_FC_LOC_APPEND_ROW type XFELD optional
!P_MC_FC_LOC_COPY type XFELD optional
!P_MC_FC_LOC_COPY_ROW type XFELD optional
!P_MC_FC_LOC_CUT type XFELD optional
!P_MC_FC_LOC_DELETE_ROW type XFELD optional
!P_MC_FC_LOC_INSERT_ROW type XFELD optional
!P_MC_FC_LOC_MOVE_ROW type XFELD optional
!P_MC_FC_LOC_PASTE type XFELD optional
!P_MC_FC_LOC_PASTE_NEW_ROW type XFELD optional
!P_MC_FC_LOC_UNDO type XFELD optional
!P_MC_FC_MAINTAIN_VARIANT type XFELD optional
!P_MC_FC_MAXIMUM type XFELD optional
!P_MC_FC_MINIMUM type XFELD optional
!P_MC_FC_PC_FILE type XFELD optional
!P_MC_FC_PRINT type XFELD optional
!P_MC_FC_PRINT_BACK type XFELD optional
!P_MC_FC_PRINT_PREV type XFELD optional
!P_MC_FC_REFRESH type XFELD optional
!P_MC_FC_REPREP type XFELD optional
!P_MC_FC_SAVE_VARIANT type XFELD optional
!P_MC_FC_SELECT_ALL type XFELD optional
!P_MC_FC_SEND type XFELD optional
!P_MC_FC_SEPARATOR type XFELD optional
!P_MC_FC_SORT type XFELD optional
!P_MC_FC_SORT_ASC type XFELD optional
!P_MC_FC_SORT_DSC type XFELD optional
!P_MC_FC_SUBTOT type XFELD optional
!P_MC_FC_SUM type XFELD optional
!P_MC_FC_TO_OFFICE type XFELD optional
!P_MC_FC_TO_REP_TREE type XFELD optional
!P_MC_FC_UNFIX_COLUMNS type XFELD optional
!P_MC_FC_URL_COPY_TO_CLIPBOARD type XFELD optional
!P_MC_FC_VARIANT_ADMIN type XFELD optional
!P_MC_FC_VIEWS type XFELD optional
!P_MC_FC_VIEW_CRYSTAL type XFELD optional
!P_MC_FC_VIEW_EXCEL type XFELD optional
!P_MC_FC_VIEW_GRID type XFELD optional
!P_MC_FC_VIEW_LOTUS type XFELD optional
!P_MC_FC_WORD_PROCESSOR type XFELD optional .
class-methods DISPLAY_ALV_OO .
class-methods SEND_DATA_OO
importing
value(P_NODETAB) type DATA
!P_EVT_RIGHT_CLICK type XFELD optional
!P_EVT_LEFT_CLICK_DESIGN type XFELD optional
!P_EVT_MOVE_CONTROL type XFELD optional
!P_EVT_SIZE_CONTROL type XFELD optional
!P_EVT_LEFT_CLICK_RUN type XFELD optional
!P_EVT_ONF1 type XFELD optional
!P_EVT_ONF4 type XFELD optional
!P_EVT_DATA_CHANGED type XFELD optional
!P_EVT_ONDROPGETFLAVOR type XFELD optional
!P_EVT_ONDRAG type XFELD optional
!P_EVT_ONDROP type XFELD optional
!P_EVT_ONDROPCOMPLETE type XFELD optional
!P_EVT_SUBTOTAL_TEXT type XFELD optional
!P_EVT_BEFORE_USER_COMMAND type XFELD optional
!P_EVT_USER_COMMAND type XFELD optional
!P_EVT_AFTER_USER_COMMAND type XFELD optional
!P_EVT_DOUBLE_CLICK type XFELD optional
!P_EVT_DELAYED_CALLBACK type XFELD optional
!P_EVT_DELAYED_CHANGED_SEL_CALL type XFELD optional
!P_EVT_PRINT_TOP_OF_PAGE type XFELD optional
!P_EVT_PRINT_TOP_OF_LIST type XFELD optional
!P_EVT_PRINT_END_OF_PAGE type XFELD optional
!P_EVT_PRINT_END_OF_LIST type XFELD optional
!P_EVT_TOP_OF_PAGE type XFELD optional
!P_EVT_CONTEXT_MENU_REQUEST type XFELD optional
!P_EVT_MENU_BUTTON type XFELD optional
!P_EVT_TOOLBAR type XFELD optional
!P_EVT_HOTSPOT_CLICK type XFELD optional
!P_EVT_END_OF_LIST type XFELD optional
!P_EVT_AFTER_REFRESH type XFELD optional
!P_EVT_BUTTON_CLICK type XFELD optional
!P_EVT_DATA_CHANGED_FINISHED type XFELD optional
!P_EVT_EVT_DELAYED_CHANGE_SELEC type XFELD optional
!P_EVT_EVT_DELAYED_MOVE_CURR_CE type XFELD optional
!P_EVT_EVT_ENTER type XFELD optional
!P_EVT_EVT_MODIFIED type XFELD optional .
class-methods DEFINE_EVENTS_OO
importing
!P_RIGHT_CLICK type XFELD optional
!P_LEFT_CLICK_DESIGN type XFELD optional
!P_MOVE_CONTROL type XFELD optional
!P_SIZE_CONTROL type XFELD optional
!P_LEFT_CLICK_RUN type XFELD optional
!P_ONF1 type XFELD optional
!P_ONF4 type XFELD optional
!P_DATA_CHANGED type XFELD optional
!P_ONDROPGETFLAVOR type XFELD optional
!P_ONDRAG type XFELD optional
!P_ONDROP type XFELD optional
!P_ONDROPCOMPLETE type XFELD optional
!P_SUBTOTAL_TEXT type XFELD optional
!P_BEFORE_USER_COMMAND type XFELD optional
!P_USER_COMMAND type XFELD optional
!P_AFTER_USER_COMMAND type XFELD optional
!P_DOUBLE_CLICK type XFELD optional
!P_DELAYED_CALLBACK type XFELD optional
!P_DELAYED_CHANGED_SEL_CALLBACK type XFELD optional
!P_PRINT_TOP_OF_PAGE type XFELD optional
!P_PRINT_TOP_OF_LIST type XFELD optional
!P_PRINT_END_OF_PAGE type XFELD optional
!P_PRINT_END_OF_LIST type XFELD optional
!P_TOP_OF_PAGE type XFELD optional
!P_CONTEXT_MENU_REQUEST type XFELD optional
!P_MENU_BUTTON type XFELD optional
!P_TOOLBAR type XFELD optional
!P_HOTSPOT_CLICK type XFELD optional
!P_END_OF_LIST type XFELD optional
!P_AFTER_REFRESH type XFELD optional
!P_BUTTON_CLICK type XFELD optional
!P_DATA_CHANGED_FINISHED type XFELD optional
!P_EVT_DELAYED_CHANGE_SELECT type XFELD optional
!P_EVT_DELAYED_MOVE_CURR_CELL type XFELD optional
!P_EVT_ENTER type XFELD optional
!P_EVT_MODIFIED type XFELD optional .
class-methods FREE_PROGRAM_OO .
class-methods CHANGE_ICON_OO
importing
!P_TEXT type STRING
changing
!P_ITEM_IMAGE type TV_IMAGE .
class-methods CHARGE_STRUCTURES_ALV_OO
importing
!P_ALV_I_BUFFER_ACTIVE type ANY optional
!P_ALV_I_BYPASSING_BUFFER type CHAR01 optional
!P_ALV_I_CONSISTENCY_CHECK type CHAR1 optional
!P_ALV_IS_VARIANT_REPORT type REPID optional
!P_ALV_IS_VARIANT_HANDLE type SLIS_HANDL optional
!P_ALV_IS_VARIANT_LOG_GROUP type SLIS_LOGGR optional
!P_ALV_IS_VARIANT_USERNAME type SLIS_USER optional
!P_ALV_IS_VARIANT_VARIANT type SLIS_VARI optional
!P_ALV_IS_VARIANT_TEXT type SLIS_VARBZ optional
!P_ALV_IS_VARIANT_DEPENDVARS type SLIS_DEPVS optional
!P_ALV_I_SAVE type CHAR01 optional
!P_ALV_I_DEFAULT type CHAR01 default 'X'
!P_ALV_IS_LAYOUT_ZEBRA type LVC_ZEBRA optional
!P_ALV_IS_LAYOUT_EDIT type LVC_EDIT optional
!P_ALV_IS_LAYOUT_EDIT_MODE type LVC_EDMO optional
!P_ALV_IS_LAYOUT_NO_KEYFIX type LVC_NOKFIX optional
!P_ALV_IS_LAYOUT_FRONTEND type LVC_FRONT optional
!P_ALV_IS_LAYOUT_OBJECT_KEY type BDS_TYPEID optional
!P_ALV_IS_LAYOUT_DOC_ID type BDS_DOCID optional
!P_ALV_IS_LAYOUT_TEMPLATE type BDS_FILENA optional
!P_ALV_IS_LAYOUT_LANGUAGE type LANG optional
!P_ALV_IS_LAYOUT_GRAPHICS type GUID_32 optional
!P_ALV_IS_LAYOUT_SMALLTITLE type LVC_TITSZ optional
!P_ALV_IS_LAYOUT_NO_HGRIDLN type LVC_HGRID optional
!P_ALV_IS_LAYOUT_NO_VGRIDLN type LVC_VGRID optional
!P_ALV_IS_LAYOUT_NO_HEADERS type LVC_HEADS optional
!P_ALV_IS_LAYOUT_NO_MERGING type LVC_MERGE optional
!P_ALV_IS_LAYOUT_CWIDTH_OPT type LVC_CWO optional
!P_ALV_IS_LAYOUT_TOTALS_BEF type LVC_TOTBEF optional
!P_ALV_IS_LAYOUT_NO_TOTARR type CHAR01 optional
!P_ALV_IS_LAYOUT_NO_TOTEXP type CHAR01 optional
!P_ALV_IS_LAYOUT_NO_ROWMOVE type CHAR01 optional
!P_ALV_IS_LAYOUT_NO_ROWINS type CHAR01 optional
!P_ALV_IS_LAYOUT_NO_COLEXPD type CHAR01 optional
!P_ALV_IS_LAYOUT_NO_F4 type CHAR01 optional
!P_ALV_IS_LAYOUT_COUNTFNAME type LVC_FNAME optional
!P_ALV_IS_LAYOUT_COL_OPT type CHAR01 optional
!P_ALV_IS_LAYOUT_VAL_DATA type CHAR01 optional
!P_ALV_IS_LAYOUT_STYLEFNAME type LVC_FNAME optional
!P_ALV_IS_LAYOUT_NO_ROWMARK type LVC_ROWMK optional
!P_ALV_IS_LAYOUT_NO_TOOLBAR type LVC_TOOLB optional
!P_ALV_IS_LAYOUT_GRID_TITLE type LVC_TITLE optional
!P_ALV_IS_LAYOUT_SEL_MODE type LVC_LIBOX optional
!P_ALV_IS_LAYOUT_BOX_FNAME type LVC_FNAME optional
!P_ALV_IS_LAYOUT_SGL_CLK_HD type LVC_SGLCLH optional
!P_ALV_IS_LAYOUT_NO_TOTLINE type LVC_NOTOTL optional
!P_ALV_IS_LAYOUT_NUMC_TOTAL type LVC_NUMCTO optional
!P_ALV_IS_LAYOUT_NO_UTSPLIT type LVC_UNITSP optional
!P_ALV_IS_LAYOUT_EXCP_FNAME type LVC_EXFNM optional
!P_ALV_IS_LAYOUT_EXCP_ROLLN type LVC_EXROL optional
!P_ALV_IS_LAYOUT_EXCP_CONDS type LVC_EXCON optional
!P_ALV_IS_LAYOUT_EXCP_LED type LVC_EXLED optional
!P_ALV_IS_LAYOUT_EXCP_GROUP type LVC_EXGRP optional
!P_ALV_IS_LAYOUT_DETAILINIT type LVC_DETINI optional
!P_ALV_IS_LAYOUT_DETAILTITL type LVC_DETTIT optional
!P_ALV_IS_LAYOUT_KEYHOT type LVC_KEYHOT optional
!P_ALV_IS_LAYOUT_NO_AUTHOR type LVC_NOAUTH optional
!P_ALV_IS_LAYOUT_XIFUNCKEY type AQS_XIKEY optional
!P_ALV_IS_LAYOUT_XIDIRECT type FLAG optional
!P_ALV_IS_LAYOUT_S_DRAGDROP type LVC_S_DD01 optional
!P_ALV_IS_LAYOUT_INFO_FNAME type LVC_CIFNM optional
!P_ALV_IS_LAYOUT_CTAB_FNAME type LVC_CTFNM optional
!P_ALV_IS_LAYOUT_WEBLOOK type LVC_LOOK optional
!P_ALV_IS_LAYOUT_WEBSTYLE type LVC_STYLE optional
!P_ALV_IS_LAYOUT_WEBROWS type LVC_WEBROW optional
!P_ALV_IS_LAYOUT_WEBXWIDTH type INT4 optional
!P_ALV_IS_LAYOUT_WEBXHEIGHT type INT4 optional
!P_ALV_IS_PRINT_PRINT type CHAR1 optional
!P_ALV_IS_PRINT_PRNT_TITLE type CHAR1 optional
!P_ALV_IS_PRINT_FOOTLINE type LVC_FOOTL optional
!P_ALV_IS_PRINT_PRNT_INFO type CHAR1 optional
!P_ALV_IS_PRINT_RESERVELNS type LVC_RSVLN optional
!P_ALV_IS_PRINT_GRPCHGEDIT type LVC_GCEDIT optional
!P_ALV_IS_PRINT_PRNTLSTINF type LVC_LIINFO optional
!P_ALV_IS_PRINT_PRNTSELINF type LVC_SLINFO optional
!P_ALV_IS_PRINT_NO_COLWOPT type LVC_COLWOP optional
!P_ALV_IS_PRINT_PRINT_CTRL type ALV_S_PCTL optional
!P_ALV_IR_SALV_ADAPTER type ref to IF_SALV_ADAPTER optional .
class-methods CHARGE_T_ALV_SPECIAL_GROUPS_OO
importing
!P_SP_GROUP type LVC_SPGRP optional
!P_TEXT type LVC_TEXT optional .
class-methods CHARGE_T_ALV_HYPERLINK_OO
importing
!P_HANDLE type INT4 optional
!P_HREF type SERVICE_RL optional .
class-methods CHARGE_T_ALV_GRAPHICS_OO
importing
!P_PROP_ID type GFWCUATT optional
!P_PROP_VAL type GFWCUVAC optional .
class-methods CHARGE_T_ALV_EXCEPT_QINFO_OO
importing
!P_TYPE type CHAR01 optional
!P_EXCP_GROUP type LVC_EXGRP optional
!P_FIELDNAME type LVC_FNAME optional
!P_TABNAME type LVC_TNAME optional
!P_VALUE type TEXT80 optional
!P_TEXT type TEXT80 optional .
class-methods CHARGE_T_ALV_SORT_OO
importing
!P_SPOS type SLIS_SPOS optional
!P_FIELDNAME type LVC_FNAME optional
!P_UP type CHAR1 optional
!P_DOWN type CHAR1 optional
!P_GROUP type SLIS_CTRLS optional
!P_SUBTOT type SLIS_DOSUB optional
!P_COMP type CHAR1 optional
!P_EXPA type CHAR1 optional
!P_SELTEXT type SLIS_SCRIT optional
!P_OBLIGATORY type CHAR1 optional
!P_LEVEL type INT4 optional
!P_NO_OUT type CHAR1 optional
!P_INTOPT type LVCIFLAG optional .
class-methods CHARGE_T_ALV_FILTER_OO
importing
!P_FIELDNAME type LVC_FNAME optional
!P_TABNAME type LVC_RTNAME optional
!P_SELTEXT type LVC_TXT optional
!P_VALUF type TEXT80 optional
!P_VALUT type TEXT80 optional
!P_SIGN_ICON type CHAR4 optional
!P_STYPE type CHAR1 optional
!P_DECIMALS type DECIMALS optional
!P_INTLEN type INTLEN optional
!P_CONVEXIT type CONVEXIT optional
!P_EDIT_MASK type LVC_EDTMSK optional
!P_LOWERCASE type LOWERCASE optional
!P_INTTYPE type INTTYPE optional
!P_DATATYPE type DATATYPE_D optional
!P_EXCEPTION type CHAR1 optional
!P_NO_SIGN type LVC_NOSIGN optional
!P_OR type CHAR1 optional
!P_ORDER type ORDER optional
!P_REF_FIELD type LVC_RFNAME optional
!P_REF_TABLE type LVC_RTNAME optional
!P_C_FIELD type LVC_FNAME optional
!P_C_TAB type LVC_TNAME optional
!P_C_VALUE type CHAR5 optional
!P_FLG_CQ type CHAR1 optional
!P_LOW type TEXT80 optional
!P_HIGH type TEXT80 optional
!P_SIGN type CHAR1 optional
!P_OPTION type CHAR2 optional
!P_DD_OUTLEN type LVC_DDLEN optional .
class-methods CHARGE_T_DROPDOWN_OO
importing
!P_HANDLE type INT4 optional
!P_VALUE type LVC_VALUE optional .
class-methods SET_T_DROPDOWN_OO .
class-methods SET_READY_FOR_INPUT_OO
importing
!P_VAL type INT4 default 1 .
class-methods REFRESH_TABLE_DISPLAY_OO .
class-methods INIT_ALV
importing
value(P_PROGRAM) type PROGNAME
value(P_STRUCTURE) type DD02L-TABNAME
!P_HIDE_MC_FC_AUF type XFELD optional
!P_HIDE_MC_FC_AVERAGE type XFELD optional
!P_HIDE_MC_FC_BACK_CLASSIC type XFELD optional
!P_HIDE_MC_FC_CALL_ABC type XFELD optional
!P_HIDE_MC_FC_CALL_CHAIN type XFELD optional
!P_HIDE_MC_FC_CALL_CRBATCH type XFELD optional
!P_HIDE_MC_FC_CALL_CRWEB type XFELD optional
!P_HIDE_MC_FC_CALL_LINEITEMS type XFELD optional
!P_HIDE_MC_FC_CALL_MASTER_DATA type XFELD optional
!P_HIDE_MC_FC_CALL_MORE type XFELD optional
!P_HIDE_MC_FC_CALL_REPORT type XFELD optional
!P_HIDE_MC_FC_CALL_XINT type XFELD optional
!P_HIDE_MC_FC_CALL_XXL type XFELD optional
!P_HIDE_MC_FC_CHECK type XFELD optional
!P_HIDE_MC_FC_COL_INVISIBLE type XFELD optional
!P_HIDE_MC_FC_COL_OPTIMIZE type XFELD optional
!P_HIDE_MC_FC_COUNT type XFELD optional
!P_HIDE_MC_FC_CURRENT_VARIANT type XFELD optional
!P_HIDE_MC_FC_DATA_SAVE type XFELD optional
!P_HIDE_MC_FC_DELETE_FILTER type XFELD optional
!P_HIDE_MC_FC_DESELECT_ALL type XFELD optional
!P_HIDE_MC_FC_DETAIL type XFELD optional
!P_HIDE_MC_FC_EXCL_ALL type XFELD optional
!P_HIDE_MC_FC_EXPCRDATA type XFELD optional
!P_HIDE_MC_FC_EXPCRDESIG type XFELD optional
!P_HIDE_MC_FC_EXPCRTEMPL type XFELD optional
!P_HIDE_MC_FC_EXPMDB type XFELD optional
!P_HIDE_MC_FC_EXTEND type XFELD optional
!P_HIDE_MC_FC_F4 type XFELD optional
!P_HIDE_MC_FC_FILTER type XFELD optional
!P_HIDE_MC_FC_FIND type XFELD optional
!P_HIDE_MC_FC_FIX_COLUMNS type XFELD optional
!P_HIDE_MC_FC_GRAPH type XFELD optional
!P_HIDE_MC_FC_HELP type XFELD optional
!P_HIDE_MC_FC_HTML type XFELD optional
!P_HIDE_MC_FC_INFO type XFELD optional
!P_HIDE_MC_FC_LOAD_VARIANT type XFELD optional
!P_HIDE_MC_FC_LOC_APPEND_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_COPY type XFELD optional
!P_HIDE_MC_FC_LOC_COPY_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_CUT type XFELD optional
!P_HIDE_MC_FC_LOC_DELETE_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_INSERT_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_MOVE_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_PASTE type XFELD optional
!P_HIDE_MC_FC_LOC_PASTE_NEW_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_UNDO type XFELD optional
!P_HIDE_MC_FC_MAINTAIN_VARIANT type XFELD optional
!P_HIDE_MC_FC_MAXIMUM type XFELD optional
!P_HIDE_MC_FC_MINIMUM type XFELD optional
!P_HIDE_MC_FC_PC_FILE type XFELD optional
!P_HIDE_MC_FC_PRINT type XFELD optional
!P_HIDE_MC_FC_PRINT_BACK type XFELD optional
!P_HIDE_MC_FC_PRINT_PREV type XFELD optional
!P_HIDE_MC_FC_REFRESH type XFELD optional
!P_HIDE_MC_FC_REPREP type XFELD optional
!P_HIDE_MC_FC_SAVE_VARIANT type XFELD optional
!P_HIDE_MC_FC_SELECT_ALL type XFELD optional
!P_HIDE_MC_FC_SEND type XFELD optional
!P_HIDE_MC_FC_SEPARATOR type XFELD optional
!P_HIDE_MC_FC_SORT type XFELD optional
!P_HIDE_MC_FC_SORT_ASC type XFELD optional
!P_HIDE_MC_FC_SORT_DSC type XFELD optional
!P_HIDE_MC_FC_SUBTOT type XFELD optional
!P_HIDE_MC_FC_SUM type XFELD optional
!P_HIDE_MC_FC_TO_OFFICE type XFELD optional
!P_HIDE_MC_FC_TO_REP_TREE type XFELD optional
!P_HIDE_MC_FC_UNFIX_COLUMNS type XFELD optional
!P_HIDE_MC_FC_URL_COPY_TO_CLIPB type XFELD optional
!P_HIDE_MC_FC_VARIANT_ADMIN type XFELD optional
!P_HIDE_MC_FC_VIEWS type XFELD optional
!P_HIDE_MC_FC_VIEW_CRYSTAL type XFELD optional
!P_HIDE_MC_FC_VIEW_EXCEL type XFELD optional
!P_HIDE_MC_FC_VIEW_GRID type XFELD optional
!P_HIDE_MC_FC_VIEW_LOTUS type XFELD optional
!P_HIDE_MC_FC_WORD_PROCESSOR type XFELD optional .
class-methods BUILD_ALV
importing
!P_PROGR type PROGNAME .
class-methods BUILD_FIELDCATALOG
importing
!P_STRUCTURE_NAME type DD02L-TABNAME
exporting
!P_FIELDCAT type SLIS_T_FIELDCAT_ALV .
class-methods SEND_DATA
importing
value(P_NODETAB) type DATA .
class-methods DISPLAY_ALV .
class-methods CHARGE_STRUCTURES_ALV
importing
!P_I_INTERFACE_CHECK type C optional
!P_I_BYPASSING_BUFFER type CHAR01 optional
!P_I_BUFFER_ACTIVE type C optional
!P_I_CALLBACK_PROGRAM type SY-REPID optional
!P_I_CALLBACK_PF_STATUS_SET type SLIS_FORMNAME optional
!P_I_CALLBACK_USER_COMMAND type SLIS_FORMNAME optional
!P_I_CALLBACK_TOP_OF_PAGE type SLIS_FORMNAME optional
!P_I_CALLBACK_HTML_TOP_OF_PAGE type SLIS_FORMNAME optional
!P_I_CALLBACK_HTML_END_OF_LIST type SLIS_FORMNAME optional
!P_I_STRUCTURE_NAME type DD02L-TABNAME optional
!P_I_BACKGROUND_ID type SDYDO_KEY optional
!P_I_GRID_TITLE type LVC_TITLE optional
!P_I_GRID_SETTINGS type LVC_S_GLAY optional
!P_LAYOUT_DUMMY type C optional
!P_LAYOUT_NO_COLHEAD type C optional
!P_LAYOUT_NO_HOTSPOT type C optional
!P_LAYOUT_ZEBRA type C optional
!P_LAYOUT_NO_VLINE type C optional
!P_LAYOUT_NO_HLINE type C optional
!P_LAYOUT_CELL_MERGE type C optional
!P_LAYOUT_EDIT type C optional
!P_LAYOUT_EDIT_MODE type C optional
!P_LAYOUT_NUMC_SUM type C optional
!P_LAYOUT_NO_INPUT type C optional
!P_LAYOUT_F2CODE type SY-UCOMM optional
!P_LAYOUT_REPREP type C optional
!P_LAYOUT_NO_KEYFIX type C optional
!P_LAYOUT_EXPAND_ALL type C optional
!P_LAYOUT_NO_AUTHOR type C optional
!P_LAYOUT_DEF_STATUS type C optional
!P_LAYOUT_ITEM_TEXT type CHAR20 optional
!P_LAYOUT_COUNTFNAME type LVC_FNAME optional
!P_LAYOUT_COLWIDTH_OPTIMIZE type C optional
!P_LAYOUT_NO_MIN_LINESIZE type C optional
!P_LAYOUT_MIN_LINESIZE type SY-LINSZ optional
!P_LAYOUT_MAX_LINESIZE type SY-LINSZ optional
!P_LAYOUT_WINDOW_TITLEBAR type SY-TITLE optional
!P_LAYOUT_NO_ULINE_HS type C optional
!P_LAYOUT_LIGHTS_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_LIGHTS_TABNAME type SLIS_TABNAME optional
!P_LAYOUT_LIGHTS_ROLLNAME type DFIES-ROLLNAME optional
!P_LAYOUT_LIGHTS_CONDENSE type C optional
!P_LAYOUT_NO_SUMCHOICE type C optional
!P_LAYOUT_NO_TOTALLINE type C optional
!P_LAYOUT_NO_SUBCHOICE type C optional
!P_LAYOUT_NO_SUBTOTALS type C optional
!P_LAYOUT_NO_UNIT_SPLITTING type C optional
!P_LAYOUT_TOTALS_BEFORE_ITEMS type C optional
!P_LAYOUT_TOTALS_ONLY type C optional
!P_LAYOUT_TOTALS_TEXT type ZECHAR60 optional
!P_LAYOUT_SUBTOTALS_TEXT type ZECHAR60 optional
!P_LAYOUT_BOX_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_BOX_TABNAME type SLIS_TABNAME optional
!P_LAYOUT_BOX_ROLLNAME type DD03P-ROLLNAME optional
!P_LAYOUT_EXPAND_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_HOTSPOT_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_CONFIRMATION_PROMPT type C optional
!P_LAYOUT_KEY_HOTSPOT type C optional
!P_LAYOUT_FLEXIBLE_KEY type C optional
!P_LAYOUT_GROUP_BUTTONS type C optional
!P_LAYOUT_GET_SELINFOS type C optional
!P_LAYOUT_GROUP_CHANGE_EDIT type C optional
!P_LAYOUT_NO_SCROLLING type C optional
!P_LAYOUT_DETAIL_POPUP type C optional
!P_LAYOUT_DETAIL_INITIAL_LINES type C optional
!P_LAYOUT_DETAIL_TITLEBAR type SY-TITLE optional
!P_LAYOUT_HEADER_TEXT type CHAR20 optional
!P_LAYOUT_DEFAULT_ITEM type C optional
!P_LAYOUT_INFO_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_COLTAB_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_LIST_APPEND type C optional
!P_LAYOUT_XIFUNCKEY type AQS_XIKEY optional
!P_LAYOUT_XIDIRECT type FLAG optional
!P_LAYOUT_DTC_LAYOUT type DTC_S_LAYO optional
!P_LAYOUT_ALLOW_SWITCH_TO_LIST type C optional
!P_HIDE_MODE type C optional
!P_HIDE_T_ENTRIES type SLIS_T_SELENTRY_HIDE_ALV optional
!P_I_DEFAULT type C optional
!P_I_SAVE type C optional
!P_VARIANT_REPORT type REPID optional
!P_VARIANT_HANDLE type SLIS_HANDL optional
!P_VARIANT_LOG_GROUP type SLIS_LOGGR optional
!P_VARIANT_USERNAME type SLIS_USER optional
!P_VARIANT_VARIANT type SLIS_VARI optional
!P_VARIANT_TEXT type SLIS_VARBZ optional
!P_VARIANT_DEPENDVARS type SLIS_DEPVS optional
!P_PRINT_PRINT type CHAR1 optional
!P_PRINT_PRNT_TITLE type CHAR1 optional
!P_PRINT_FOOTLINE type LVC_FOOTL optional
!P_PRINT_PRNT_INFO type CHAR1 optional
!P_PRINT_NO_PRINT_SELINFOS type C optional
!P_PRINT_NO_COVERPAGE type C optional
!P_PRINT_NO_NEW_PAGE type C optional
!P_PRINT_RESERVE_LINES type I optional
!P_PRINT_NO_PRINT_LISTINFOS type C optional
!P_PRINT_NO_CHANGE_PRINT_PARAMS type C optional
!P_PRINT_NO_PRINT_HIERSEQ_ITEM type C optional
!P_PRINT_PRINT_CTRL type ALV_S_PCTL optional
!P_REPREPID_TOOL type CHAR2 optional
!P_REPREPID_APPL type CHAR4 optional
!P_REPREPID_SUBC type CHAR2 optional
!P_REPREPID_ONAM type ZECHAR54 optional
!P_I_SCREEN_START_COLUMN type I optional
!P_I_SCREEN_START_LINE type I optional
!P_I_SCREEN_END_COLUMN type I optional
!P_I_SCREEN_END_LINE type I optional
!P_I_HTML_HEIGHT_TOP type I optional
!P_I_HTML_HEIGHT_END type I optional
!P_IR_SALV_FULLSCREEN_ADAPTER type ref to CL_SALV_FULLSCREEN_ADAPTER optional .
class-methods CHARGE_T_SPECIAL_GROUPS
importing
!P_SP_GROUP type CHAR4 optional
!P_TEXT type CHAR40 optional .
class-methods CHARGE_T_SORT
importing
!P_SPOS type ALVDYNP-SORTPOS optional
!P_FIELDNAME type SLIS_FIELDNAME optional
!P_TABNAME type SLIS_FIELDNAME optional
!P_UP type ALVDYNP-SORTUP optional
!P_DOWN type ALVDYNP-SORTDOWN optional
!P_GROUP type ALVDYNP-GROUPLEVEL optional
!P_SUBTOT type ALVDYNP-SUBTOTALS optional
!P_COMP type C optional
!P_EXPA type C optional
!P_OBLIGATORY type C optional .
class-methods CHARGE_T_FILTER
importing
!P_FIELDNAME type SLIS_FIELDNAME optional
!P_TABNAME type SLIS_TABNAME optional
!P_SELTEXT type CHAR40 optional
!P_VALUF type CHAR80 optional
!P_VALUT type CHAR80 optional
!P_VALUF_INT type CHAR80 optional
!P_VALUT_INT type CHAR80 optional
!P_SIGN0 type C optional
!P_SIGN_ICON type CHAR4 optional
!P_OPTIO type CHAR2 optional
!P_STYPE type C optional
!P_DECIMALS type DFIES-DECIMALS optional
!P_INTLEN type DFIES-INTLEN optional
!P_CONVEXIT type DFIES-CONVEXIT optional
!P_EDIT_MASK type SLIS_EDIT_MASK optional
!P_LOWERCASE type DFIES-LOWERCASE optional
!P_INTTYPE type DFIES-INTTYPE optional
!P_DATATYPE type DFIES-DATATYPE optional
!P_EXCEPTION type C optional
!P_NO_SIGN type C optional
!P_OR type C optional
!P_ORDER type ORDER optional
!P_CQVALUE type C optional
!P_REF_FIELDNAME type DFIES-FIELDNAME optional
!P_REF_TABNAME type DFIES-TABNAME optional
!P_DDIC_OUTPUTLEN type DFIES-OUTPUTLEN optional .
class-methods CHARGE_T_EVENTS
importing
!P_NAME type CHAR30 optional
!P_FORM type CHAR30 optional .
class-methods CHARGE_T_EVENTS_EXITS
importing
!P_UCOMM type SY-UCOMM optional
!P_BEFORE type C optional
!P_AFTER type C optional .
class-methods CHARGE_T_GRAPHIC
importing
!P_PROP_ID type GFWCUATT optional
!P_PROP_VAL type GFWCUVAC optional .
class-methods DEFINE_EVENTS
importing
!P_ITEM_DATA_EXPAND type XFELD optional
!P_REPREP_SEL_MODIFY type XFELD optional
!P_CALLER_EXIT type XFELD optional
!P_USER_COMMAND type XFELD optional
!P_TOP_OF_PAGE type XFELD optional
!P_DATA_CHANGED type XFELD optional
!P_TOP_OF_COVERPAGE type XFELD optional
!P_END_OF_COVERPAGE type XFELD optional
!P_FOREIGN_TOP_OF_PAGE type XFELD optional
!P_FOREIGN_END_OF_PAGE type XFELD optional
!P_PF_STATUS_SET type XFELD optional
!P_LIST_MODIFY type XFELD optional
!P_TOP_OF_LIST type XFELD optional
!P_END_OF_PAGE type XFELD optional
!P_END_OF_LIST type XFELD optional
!P_AFTER_LINE_OUTPUT type XFELD optional
!P_BEFORE_LINE_OUTPUT type XFELD optional
!P_SUBTOTAL_TEXT type XFELD optional
!P_GROUPLEVEL_CHANGE type XFELD optional
!P_CONTEXT_MENU type XFELD optional .
class-methods HIDE_FUNCTIONS
importing
!P_MC_FC_AUF type XFELD optional
!P_MC_FC_AVERAGE type XFELD optional
!P_MC_FC_BACK_CLASSIC type XFELD optional
!P_MC_FC_CALL_ABC type XFELD optional
!P_MC_FC_CALL_CHAIN type XFELD optional
!P_MC_FC_CALL_CRBATCH type XFELD optional
!P_MC_FC_CALL_CRWEB type XFELD optional
!P_MC_FC_CALL_LINEITEMS type XFELD optional
!P_MC_FC_CALL_MASTER_DATA type XFELD optional
!P_MC_FC_CALL_MORE type XFELD optional
!P_MC_FC_CALL_REPORT type XFELD optional
!P_MC_FC_CALL_XINT type XFELD optional
!P_MC_FC_CALL_XXL type XFELD optional
!P_MC_FC_CHECK type XFELD optional
!P_MC_FC_COL_INVISIBLE type XFELD optional
!P_MC_FC_COL_OPTIMIZE type XFELD optional
!P_MC_FC_COUNT type XFELD optional
!P_MC_FC_CURRENT_VARIANT type XFELD optional
!P_MC_FC_DATA_SAVE type XFELD optional
!P_MC_FC_DELETE_FILTER type XFELD optional
!P_MC_FC_DESELECT_ALL type XFELD optional
!P_MC_FC_DETAIL type XFELD optional
!P_MC_FC_EXCL_ALL type XFELD optional
!P_MC_FC_EXPCRDATA type XFELD optional
!P_MC_FC_EXPCRDESIG type XFELD optional
!P_MC_FC_EXPCRTEMPL type XFELD optional
!P_MC_FC_EXPMDB type XFELD optional
!P_MC_FC_EXTEND type XFELD optional
!P_MC_FC_F4 type XFELD optional
!P_MC_FC_FILTER type XFELD optional
!P_MC_FC_FIND type XFELD optional
!P_MC_FC_FIX_COLUMNS type XFELD optional
!P_MC_FC_GRAPH type XFELD optional
!P_MC_FC_HELP type XFELD optional
!P_MC_FC_HTML type XFELD optional
!P_MC_FC_INFO type XFELD optional
!P_MC_FC_LOAD_VARIANT type XFELD optional
!P_MC_FC_LOC_APPEND_ROW type XFELD optional
!P_MC_FC_LOC_COPY type XFELD optional
!P_MC_FC_LOC_COPY_ROW type XFELD optional
!P_MC_FC_LOC_CUT type XFELD optional
!P_MC_FC_LOC_DELETE_ROW type XFELD optional
!P_MC_FC_LOC_INSERT_ROW type XFELD optional
!P_MC_FC_LOC_MOVE_ROW type XFELD optional
!P_MC_FC_LOC_PASTE type XFELD optional
!P_MC_FC_LOC_PASTE_NEW_ROW type XFELD optional
!P_MC_FC_LOC_UNDO type XFELD optional
!P_MC_FC_MAINTAIN_VARIANT type XFELD optional
!P_MC_FC_MAXIMUM type XFELD optional
!P_MC_FC_MINIMUM type XFELD optional
!P_MC_FC_PC_FILE type XFELD optional
!P_MC_FC_PRINT type XFELD optional
!P_MC_FC_PRINT_BACK type XFELD optional
!P_MC_FC_PRINT_PREV type XFELD optional
!P_MC_FC_REFRESH type XFELD optional
!P_MC_FC_REPREP type XFELD optional
!P_MC_FC_SAVE_VARIANT type XFELD optional
!P_MC_FC_SELECT_ALL type XFELD optional
!P_MC_FC_SEND type XFELD optional
!P_MC_FC_SEPARATOR type XFELD optional
!P_MC_FC_SORT type XFELD optional
!P_MC_FC_SORT_ASC type XFELD optional
!P_MC_FC_SORT_DSC type XFELD optional
!P_MC_FC_SUBTOT type XFELD optional
!P_MC_FC_SUM type XFELD optional
!P_MC_FC_TO_OFFICE type XFELD optional
!P_MC_FC_TO_REP_TREE type XFELD optional
!P_MC_FC_UNFIX_COLUMNS type XFELD optional
!P_MC_FC_URL_COPY_TO_CLIPBOARD type XFELD optional
!P_MC_FC_VARIANT_ADMIN type XFELD optional
!P_MC_FC_VIEWS type XFELD optional
!P_MC_FC_VIEW_CRYSTAL type XFELD optional
!P_MC_FC_VIEW_EXCEL type XFELD optional
!P_MC_FC_VIEW_GRID type XFELD optional
!P_MC_FC_VIEW_LOTUS type XFELD optional
!P_MC_FC_WORD_PROCESSOR type XFELD optional .
class-methods CHANGE_ICON
importing
!P_TEXT type STRING optional
!P_TEXT2 type STRING optional
changing
!P_ITEM_IMAGE type TV_IMAGE .
class-methods BUILD_VARIANT
changing
!P_I_SAVE type C
!P_VARIANT type DISVARIANT .
class-methods INITIALIZE .
public
final
create public .
*"* public components of class ZCL_ALV_GRID_MAINP
*"* do not include other source files here!!!
public section.
class-data AO_ALV_OO type ref to ZCL_ALV_GRID_INFO .
class-data AO_CONTAINER_OO type ref to CL_GUI_CUSTOM_CONTAINER .
class-data AO_TOOLBAR_OO type ref to CL_GUI_TOOLBAR .
class-data AW_IS_HIERARCHY_HEADER_OO type TREEV_HHDR .
class-data AT_FIELDCATALOG_OO type LVC_T_FCAT .
class-data AT_TOOLBAR_EXCL_OO type UI_FUNCTIONS .
class-data AP_I_STRUCT_NAME_OO type DD02L-TABNAME .
class-data AP_I_STRUCT_NAME_GRAPHIC_OO type DD02L-TABNAME .
class-data AO_NODETAB_OO type ref to DATA .
class-data AP_I_SAVE_OO type CHAR01 .
class-data AP_I_DEFAULT_OO type CHAR01 .
class-data AW_IS_EXCEPTION_FIELD_OO type LVC_S_L004 .
class-data AT_IT_SPECIAL_GROUPS_OO type LVC_T_SGRP .
type-pools SLIS .
class-data AT_IT_LIST_COMMENTARY_OO type SLIS_T_LISTHEADER .
type-pools SDYDO .
class-data AP_I_LOGO_OO type SDYDO_VALUE .
class-data AP_I_BACKGROUND_ID_OO type SDYDO_KEY .
class-data AT_IT_EXCEPT_QINFO_OO type LVC_T_QINF .
class-data AT_IT_FILTER_OO type LVC_T_FILT .
class-data AW_IS_VARIANT_OO type DISVARIANT .
class-data AP_PROGRAM_OO type PROGNAME .
class-data AP_I_BUFFER_ACTIVE_OO type C .
class-data AP_I_BYPASSING_BUFFER_OO type CHAR01 .
class-data AP_I_CONSISTENCY_CHECK_OO type CHAR1 .
class-data AW_IS_LAYOUT_OO type LVC_S_LAYO .
class-data AW_IS_PRINT_OO type LVC_S_PRNT .
class-data AT_IT_HYPERLINK_OO type LVC_T_HYPE .
class-data AT_IT_GRAPHICS_OO type DTC_T_TC .
class-data AO_IR_SALV_ADAPTER_OO type ref to IF_SALV_ADAPTER .
class-data AT_IT_SORT_OO type LVC_T_SORT .
class-data AT_DROPDOWN_OO type LVC_T_DROP .
class-data AT_REGISTER_OO type LVC_T_F4 .
class-data AO_ALV type ref to ZCL_ALV_GRID_INFO .
class-data AO_NODETAB type ref to DATA .
class-data AO_TOOLBAR type ref to CL_GUI_TOOLBAR .
class-data AW_ES_EXIT_CAUSED_BY_USER type SLIS_EXIT_BY_USER .
class-data AP_I_INTERFACE_CHECK type C .
class-data AP_I_BYPASSING_BUFFER type CHAR01 .
class-data AP_I_BUFFER_ACTIVE type C .
class-data AP_I_CALLBACK_PROGRAM type SY-REPID .
class-data AP_I_CALLBACK_PF_STATUS_SET type SLIS_FORMNAME .
class-data AP_I_CALLBACK_USER_COMMAND type SLIS_FORMNAME .
class-data AP_I_CALLBACK_TOP_OF_PAGE type SLIS_FORMNAME .
class-data AP_I_CALLBACK_HTML_TOP_OF_PAGE type SLIS_FORMNAME .
class-data AP_I_CALLBACK_HTML_END_OF_LIST type SLIS_FORMNAME .
class-data AP_I_STRUCTURE_NAME type DD02L-TABNAME .
class-data AP_I_BACKGROUND_ID type SDYDO_KEY .
class-data AP_I_GRID_TITLE type LVC_TITLE .
class-data AP_I_GRID_SETTINGS type LVC_S_GLAY .
class-data AW_IS_LAYOUT type SLIS_LAYOUT_ALV .
class-data AT_IT_FIELDCAT type SLIS_T_FIELDCAT_ALV .
class-data AT_IT_EXCLUDING type SLIS_T_EXTAB .
class-data AT_IT_SPECIAL_GROUPS type SLIS_T_SP_GROUP_ALV .
class-data AT_IT_SORT type SLIS_T_SORTINFO_ALV .
class-data AT_IT_FILTER type SLIS_T_FILTER_ALV .
class-data AW_IS_SEL_HIDE type SLIS_SEL_HIDE_ALV .
class-data AP_I_DEFAULT type C .
class-data AP_I_SAVE type C .
class-data AW_IS_VARIANT type DISVARIANT .
class-data AT_IT_EVENTS type SLIS_T_EVENT .
class-data AT_IT_EVENT_EXIT type SLIS_T_EVENT_EXIT .
class-data AW_IS_PRINT type SLIS_PRINT_ALV .
class-data AW_IS_REPREP_ID type SLIS_REPREP_ID .
class-data AP_I_SCREEN_START_COLUMN type C .
class-data AP_I_SCREEN_START_LINE type C .
class-data AP_I_SCREEN_END_COLUMN type C .
class-data AP_I_SCREEN_END_LINE type C .
class-data AP_I_HTML_HEIGHT_TOP type I .
class-data AP_I_HTML_HEIGHT_END type I .
class-data AT_IT_ALV_GRAPHICS type DTC_T_TC .
class-data AO_IR_SALV_FULLSCREEN_ADAPTER type ref to CL_SALV_FULLSCREEN_ADAPTER .
class-data AP_E_EXIT_CAUSED_BY_CALLER type C .
class-data AP_I_STRUCT_NAME type DD02L-TABNAME .
class-data AP_PROGRAM type PROGNAME .
class-methods INIT_ALV_OO
importing
value(P_PROGRAM) type PROGNAME
value(P_STRUCTURE) type DD02L-TABNAME
value(P_CONTAINER) type DYNFNAM
!P_HIDE_MC_FC_AUF type XFELD optional
!P_HIDE_MC_FC_AVERAGE type XFELD optional
!P_HIDE_MC_FC_BACK_CLASSIC type XFELD optional
!P_HIDE_MC_FC_CALL_ABC type XFELD optional
!P_HIDE_MC_FC_CALL_CHAIN type XFELD optional
!P_HIDE_MC_FC_CALL_CRBATCH type XFELD optional
!P_HIDE_MC_FC_CALL_CRWEB type XFELD optional
!P_HIDE_MC_FC_CALL_LINEITEMS type XFELD optional
!P_HIDE_MC_FC_CALL_MASTER_DATA type XFELD optional
!P_HIDE_MC_FC_CALL_MORE type XFELD optional
!P_HIDE_MC_FC_CALL_REPORT type XFELD optional
!P_HIDE_MC_FC_CALL_XINT type XFELD optional
!P_HIDE_MC_FC_CALL_XXL type XFELD optional
!P_HIDE_MC_FC_CHECK type XFELD optional
!P_HIDE_MC_FC_COL_INVISIBLE type XFELD optional
!P_HIDE_MC_FC_COL_OPTIMIZE type XFELD optional
!P_HIDE_MC_FC_COUNT type XFELD optional
!P_HIDE_MC_FC_CURRENT_VARIANT type XFELD optional
!P_HIDE_MC_FC_DATA_SAVE type XFELD optional
!P_HIDE_MC_FC_DELETE_FILTER type XFELD optional
!P_HIDE_MC_FC_DESELECT_ALL type XFELD optional
!P_HIDE_MC_FC_DETAIL type XFELD optional
!P_HIDE_MC_FC_EXCL_ALL type XFELD optional
!P_HIDE_MC_FC_EXPCRDATA type XFELD optional
!P_HIDE_MC_FC_EXPCRDESIG type XFELD optional
!P_HIDE_MC_FC_EXPCRTEMPL type XFELD optional
!P_HIDE_MC_FC_EXPMDB type XFELD optional
!P_HIDE_MC_FC_EXTEND type XFELD optional
!P_HIDE_MC_FC_F4 type XFELD optional
!P_HIDE_MC_FC_FILTER type XFELD optional
!P_HIDE_MC_FC_FIND type XFELD optional
!P_HIDE_MC_FC_FIX_COLUMNS type XFELD optional
!P_HIDE_MC_FC_GRAPH type XFELD optional
!P_HIDE_MC_FC_HELP type XFELD optional
!P_HIDE_MC_FC_HTML type XFELD optional
!P_HIDE_MC_FC_INFO type XFELD optional
!P_HIDE_MC_FC_LOAD_VARIANT type XFELD optional
!P_HIDE_MC_FC_LOC_APPEND_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_COPY type XFELD optional
!P_HIDE_MC_FC_LOC_COPY_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_CUT type XFELD optional
!P_HIDE_MC_FC_LOC_DELETE_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_INSERT_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_MOVE_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_PASTE type XFELD optional
!P_HIDE_MC_FC_LOC_PASTE_NEW_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_UNDO type XFELD optional
!P_HIDE_MC_FC_MAINTAIN_VARIANT type XFELD optional
!P_HIDE_MC_FC_MAXIMUM type XFELD optional
!P_HIDE_MC_FC_MINIMUM type XFELD optional
!P_HIDE_MC_FC_PC_FILE type XFELD optional
!P_HIDE_MC_FC_PRINT type XFELD optional
!P_HIDE_MC_FC_PRINT_BACK type XFELD optional
!P_HIDE_MC_FC_PRINT_PREV type XFELD optional
!P_HIDE_MC_FC_REFRESH type XFELD optional
!P_HIDE_MC_FC_REPREP type XFELD optional
!P_HIDE_MC_FC_SAVE_VARIANT type XFELD optional
!P_HIDE_MC_FC_SELECT_ALL type XFELD optional
!P_HIDE_MC_FC_SEND type XFELD optional
!P_HIDE_MC_FC_SEPARATOR type XFELD optional
!P_HIDE_MC_FC_SORT type XFELD optional
!P_HIDE_MC_FC_SORT_ASC type XFELD optional
!P_HIDE_MC_FC_SORT_DSC type XFELD optional
!P_HIDE_MC_FC_SUBTOT type XFELD optional
!P_HIDE_MC_FC_SUM type XFELD optional
!P_HIDE_MC_FC_TO_OFFICE type XFELD optional
!P_HIDE_MC_FC_TO_REP_TREE type XFELD optional
!P_HIDE_MC_FC_UNFIX_COLUMNS type XFELD optional
!P_HIDE_MC_FC_URL_COPY_TO_CLIPB type XFELD optional
!P_HIDE_MC_FC_VARIANT_ADMIN type XFELD optional
!P_HIDE_MC_FC_VIEWS type XFELD optional
!P_HIDE_MC_FC_VIEW_CRYSTAL type XFELD optional
!P_HIDE_MC_FC_VIEW_EXCEL type XFELD optional
!P_HIDE_MC_FC_VIEW_GRID type XFELD optional
!P_HIDE_MC_FC_VIEW_LOTUS type XFELD optional
!P_HIDE_MC_FC_WORD_PROCESSOR type XFELD optional .
class-methods BUILD_ALV_OO
importing
!P_PROGR type PROGNAME .
class-methods BUILD_FIELDCATALOG_OO
importing
!P_STRUCTURE_NAME type DD02L-TABNAME
exporting
!P_FIELDCAT type LVC_T_FCAT .
class-methods HIDE_FUNCTIONS_OO
importing
!P_MC_FC_AUF type XFELD optional
!P_MC_FC_AVERAGE type XFELD optional
!P_MC_FC_BACK_CLASSIC type XFELD optional
!P_MC_FC_CALL_ABC type XFELD optional
!P_MC_FC_CALL_CHAIN type XFELD optional
!P_MC_FC_CALL_CRBATCH type XFELD optional
!P_MC_FC_CALL_CRWEB type XFELD optional
!P_MC_FC_CALL_LINEITEMS type XFELD optional
!P_MC_FC_CALL_MASTER_DATA type XFELD optional
!P_MC_FC_CALL_MORE type XFELD optional
!P_MC_FC_CALL_REPORT type XFELD optional
!P_MC_FC_CALL_XINT type XFELD optional
!P_MC_FC_CALL_XXL type XFELD optional
!P_MC_FC_CHECK type XFELD optional
!P_MC_FC_COL_INVISIBLE type XFELD optional
!P_MC_FC_COL_OPTIMIZE type XFELD optional
!P_MC_FC_COUNT type XFELD optional
!P_MC_FC_CURRENT_VARIANT type XFELD optional
!P_MC_FC_DATA_SAVE type XFELD optional
!P_MC_FC_DELETE_FILTER type XFELD optional
!P_MC_FC_DESELECT_ALL type XFELD optional
!P_MC_FC_DETAIL type XFELD optional
!P_MC_FC_EXCL_ALL type XFELD optional
!P_MC_FC_EXPCRDATA type XFELD optional
!P_MC_FC_EXPCRDESIG type XFELD optional
!P_MC_FC_EXPCRTEMPL type XFELD optional
!P_MC_FC_EXPMDB type XFELD optional
!P_MC_FC_EXTEND type XFELD optional
!P_MC_FC_F4 type XFELD optional
!P_MC_FC_FILTER type XFELD optional
!P_MC_FC_FIND type XFELD optional
!P_MC_FC_FIX_COLUMNS type XFELD optional
!P_MC_FC_GRAPH type XFELD optional
!P_MC_FC_HELP type XFELD optional
!P_MC_FC_HTML type XFELD optional
!P_MC_FC_INFO type XFELD optional
!P_MC_FC_LOAD_VARIANT type XFELD optional
!P_MC_FC_LOC_APPEND_ROW type XFELD optional
!P_MC_FC_LOC_COPY type XFELD optional
!P_MC_FC_LOC_COPY_ROW type XFELD optional
!P_MC_FC_LOC_CUT type XFELD optional
!P_MC_FC_LOC_DELETE_ROW type XFELD optional
!P_MC_FC_LOC_INSERT_ROW type XFELD optional
!P_MC_FC_LOC_MOVE_ROW type XFELD optional
!P_MC_FC_LOC_PASTE type XFELD optional
!P_MC_FC_LOC_PASTE_NEW_ROW type XFELD optional
!P_MC_FC_LOC_UNDO type XFELD optional
!P_MC_FC_MAINTAIN_VARIANT type XFELD optional
!P_MC_FC_MAXIMUM type XFELD optional
!P_MC_FC_MINIMUM type XFELD optional
!P_MC_FC_PC_FILE type XFELD optional
!P_MC_FC_PRINT type XFELD optional
!P_MC_FC_PRINT_BACK type XFELD optional
!P_MC_FC_PRINT_PREV type XFELD optional
!P_MC_FC_REFRESH type XFELD optional
!P_MC_FC_REPREP type XFELD optional
!P_MC_FC_SAVE_VARIANT type XFELD optional
!P_MC_FC_SELECT_ALL type XFELD optional
!P_MC_FC_SEND type XFELD optional
!P_MC_FC_SEPARATOR type XFELD optional
!P_MC_FC_SORT type XFELD optional
!P_MC_FC_SORT_ASC type XFELD optional
!P_MC_FC_SORT_DSC type XFELD optional
!P_MC_FC_SUBTOT type XFELD optional
!P_MC_FC_SUM type XFELD optional
!P_MC_FC_TO_OFFICE type XFELD optional
!P_MC_FC_TO_REP_TREE type XFELD optional
!P_MC_FC_UNFIX_COLUMNS type XFELD optional
!P_MC_FC_URL_COPY_TO_CLIPBOARD type XFELD optional
!P_MC_FC_VARIANT_ADMIN type XFELD optional
!P_MC_FC_VIEWS type XFELD optional
!P_MC_FC_VIEW_CRYSTAL type XFELD optional
!P_MC_FC_VIEW_EXCEL type XFELD optional
!P_MC_FC_VIEW_GRID type XFELD optional
!P_MC_FC_VIEW_LOTUS type XFELD optional
!P_MC_FC_WORD_PROCESSOR type XFELD optional .
class-methods DISPLAY_ALV_OO .
class-methods SEND_DATA_OO
importing
value(P_NODETAB) type DATA
!P_EVT_RIGHT_CLICK type XFELD optional
!P_EVT_LEFT_CLICK_DESIGN type XFELD optional
!P_EVT_MOVE_CONTROL type XFELD optional
!P_EVT_SIZE_CONTROL type XFELD optional
!P_EVT_LEFT_CLICK_RUN type XFELD optional
!P_EVT_ONF1 type XFELD optional
!P_EVT_ONF4 type XFELD optional
!P_EVT_DATA_CHANGED type XFELD optional
!P_EVT_ONDROPGETFLAVOR type XFELD optional
!P_EVT_ONDRAG type XFELD optional
!P_EVT_ONDROP type XFELD optional
!P_EVT_ONDROPCOMPLETE type XFELD optional
!P_EVT_SUBTOTAL_TEXT type XFELD optional
!P_EVT_BEFORE_USER_COMMAND type XFELD optional
!P_EVT_USER_COMMAND type XFELD optional
!P_EVT_AFTER_USER_COMMAND type XFELD optional
!P_EVT_DOUBLE_CLICK type XFELD optional
!P_EVT_DELAYED_CALLBACK type XFELD optional
!P_EVT_DELAYED_CHANGED_SEL_CALL type XFELD optional
!P_EVT_PRINT_TOP_OF_PAGE type XFELD optional
!P_EVT_PRINT_TOP_OF_LIST type XFELD optional
!P_EVT_PRINT_END_OF_PAGE type XFELD optional
!P_EVT_PRINT_END_OF_LIST type XFELD optional
!P_EVT_TOP_OF_PAGE type XFELD optional
!P_EVT_CONTEXT_MENU_REQUEST type XFELD optional
!P_EVT_MENU_BUTTON type XFELD optional
!P_EVT_TOOLBAR type XFELD optional
!P_EVT_HOTSPOT_CLICK type XFELD optional
!P_EVT_END_OF_LIST type XFELD optional
!P_EVT_AFTER_REFRESH type XFELD optional
!P_EVT_BUTTON_CLICK type XFELD optional
!P_EVT_DATA_CHANGED_FINISHED type XFELD optional
!P_EVT_EVT_DELAYED_CHANGE_SELEC type XFELD optional
!P_EVT_EVT_DELAYED_MOVE_CURR_CE type XFELD optional
!P_EVT_EVT_ENTER type XFELD optional
!P_EVT_EVT_MODIFIED type XFELD optional .
class-methods DEFINE_EVENTS_OO
importing
!P_RIGHT_CLICK type XFELD optional
!P_LEFT_CLICK_DESIGN type XFELD optional
!P_MOVE_CONTROL type XFELD optional
!P_SIZE_CONTROL type XFELD optional
!P_LEFT_CLICK_RUN type XFELD optional
!P_ONF1 type XFELD optional
!P_ONF4 type XFELD optional
!P_DATA_CHANGED type XFELD optional
!P_ONDROPGETFLAVOR type XFELD optional
!P_ONDRAG type XFELD optional
!P_ONDROP type XFELD optional
!P_ONDROPCOMPLETE type XFELD optional
!P_SUBTOTAL_TEXT type XFELD optional
!P_BEFORE_USER_COMMAND type XFELD optional
!P_USER_COMMAND type XFELD optional
!P_AFTER_USER_COMMAND type XFELD optional
!P_DOUBLE_CLICK type XFELD optional
!P_DELAYED_CALLBACK type XFELD optional
!P_DELAYED_CHANGED_SEL_CALLBACK type XFELD optional
!P_PRINT_TOP_OF_PAGE type XFELD optional
!P_PRINT_TOP_OF_LIST type XFELD optional
!P_PRINT_END_OF_PAGE type XFELD optional
!P_PRINT_END_OF_LIST type XFELD optional
!P_TOP_OF_PAGE type XFELD optional
!P_CONTEXT_MENU_REQUEST type XFELD optional
!P_MENU_BUTTON type XFELD optional
!P_TOOLBAR type XFELD optional
!P_HOTSPOT_CLICK type XFELD optional
!P_END_OF_LIST type XFELD optional
!P_AFTER_REFRESH type XFELD optional
!P_BUTTON_CLICK type XFELD optional
!P_DATA_CHANGED_FINISHED type XFELD optional
!P_EVT_DELAYED_CHANGE_SELECT type XFELD optional
!P_EVT_DELAYED_MOVE_CURR_CELL type XFELD optional
!P_EVT_ENTER type XFELD optional
!P_EVT_MODIFIED type XFELD optional .
class-methods FREE_PROGRAM_OO .
class-methods CHANGE_ICON_OO
importing
!P_TEXT type STRING
changing
!P_ITEM_IMAGE type TV_IMAGE .
class-methods CHARGE_STRUCTURES_ALV_OO
importing
!P_ALV_I_BUFFER_ACTIVE type ANY optional
!P_ALV_I_BYPASSING_BUFFER type CHAR01 optional
!P_ALV_I_CONSISTENCY_CHECK type CHAR1 optional
!P_ALV_IS_VARIANT_REPORT type REPID optional
!P_ALV_IS_VARIANT_HANDLE type SLIS_HANDL optional
!P_ALV_IS_VARIANT_LOG_GROUP type SLIS_LOGGR optional
!P_ALV_IS_VARIANT_USERNAME type SLIS_USER optional
!P_ALV_IS_VARIANT_VARIANT type SLIS_VARI optional
!P_ALV_IS_VARIANT_TEXT type SLIS_VARBZ optional
!P_ALV_IS_VARIANT_DEPENDVARS type SLIS_DEPVS optional
!P_ALV_I_SAVE type CHAR01 optional
!P_ALV_I_DEFAULT type CHAR01 default 'X'
!P_ALV_IS_LAYOUT_ZEBRA type LVC_ZEBRA optional
!P_ALV_IS_LAYOUT_EDIT type LVC_EDIT optional
!P_ALV_IS_LAYOUT_EDIT_MODE type LVC_EDMO optional
!P_ALV_IS_LAYOUT_NO_KEYFIX type LVC_NOKFIX optional
!P_ALV_IS_LAYOUT_FRONTEND type LVC_FRONT optional
!P_ALV_IS_LAYOUT_OBJECT_KEY type BDS_TYPEID optional
!P_ALV_IS_LAYOUT_DOC_ID type BDS_DOCID optional
!P_ALV_IS_LAYOUT_TEMPLATE type BDS_FILENA optional
!P_ALV_IS_LAYOUT_LANGUAGE type LANG optional
!P_ALV_IS_LAYOUT_GRAPHICS type GUID_32 optional
!P_ALV_IS_LAYOUT_SMALLTITLE type LVC_TITSZ optional
!P_ALV_IS_LAYOUT_NO_HGRIDLN type LVC_HGRID optional
!P_ALV_IS_LAYOUT_NO_VGRIDLN type LVC_VGRID optional
!P_ALV_IS_LAYOUT_NO_HEADERS type LVC_HEADS optional
!P_ALV_IS_LAYOUT_NO_MERGING type LVC_MERGE optional
!P_ALV_IS_LAYOUT_CWIDTH_OPT type LVC_CWO optional
!P_ALV_IS_LAYOUT_TOTALS_BEF type LVC_TOTBEF optional
!P_ALV_IS_LAYOUT_NO_TOTARR type CHAR01 optional
!P_ALV_IS_LAYOUT_NO_TOTEXP type CHAR01 optional
!P_ALV_IS_LAYOUT_NO_ROWMOVE type CHAR01 optional
!P_ALV_IS_LAYOUT_NO_ROWINS type CHAR01 optional
!P_ALV_IS_LAYOUT_NO_COLEXPD type CHAR01 optional
!P_ALV_IS_LAYOUT_NO_F4 type CHAR01 optional
!P_ALV_IS_LAYOUT_COUNTFNAME type LVC_FNAME optional
!P_ALV_IS_LAYOUT_COL_OPT type CHAR01 optional
!P_ALV_IS_LAYOUT_VAL_DATA type CHAR01 optional
!P_ALV_IS_LAYOUT_STYLEFNAME type LVC_FNAME optional
!P_ALV_IS_LAYOUT_NO_ROWMARK type LVC_ROWMK optional
!P_ALV_IS_LAYOUT_NO_TOOLBAR type LVC_TOOLB optional
!P_ALV_IS_LAYOUT_GRID_TITLE type LVC_TITLE optional
!P_ALV_IS_LAYOUT_SEL_MODE type LVC_LIBOX optional
!P_ALV_IS_LAYOUT_BOX_FNAME type LVC_FNAME optional
!P_ALV_IS_LAYOUT_SGL_CLK_HD type LVC_SGLCLH optional
!P_ALV_IS_LAYOUT_NO_TOTLINE type LVC_NOTOTL optional
!P_ALV_IS_LAYOUT_NUMC_TOTAL type LVC_NUMCTO optional
!P_ALV_IS_LAYOUT_NO_UTSPLIT type LVC_UNITSP optional
!P_ALV_IS_LAYOUT_EXCP_FNAME type LVC_EXFNM optional
!P_ALV_IS_LAYOUT_EXCP_ROLLN type LVC_EXROL optional
!P_ALV_IS_LAYOUT_EXCP_CONDS type LVC_EXCON optional
!P_ALV_IS_LAYOUT_EXCP_LED type LVC_EXLED optional
!P_ALV_IS_LAYOUT_EXCP_GROUP type LVC_EXGRP optional
!P_ALV_IS_LAYOUT_DETAILINIT type LVC_DETINI optional
!P_ALV_IS_LAYOUT_DETAILTITL type LVC_DETTIT optional
!P_ALV_IS_LAYOUT_KEYHOT type LVC_KEYHOT optional
!P_ALV_IS_LAYOUT_NO_AUTHOR type LVC_NOAUTH optional
!P_ALV_IS_LAYOUT_XIFUNCKEY type AQS_XIKEY optional
!P_ALV_IS_LAYOUT_XIDIRECT type FLAG optional
!P_ALV_IS_LAYOUT_S_DRAGDROP type LVC_S_DD01 optional
!P_ALV_IS_LAYOUT_INFO_FNAME type LVC_CIFNM optional
!P_ALV_IS_LAYOUT_CTAB_FNAME type LVC_CTFNM optional
!P_ALV_IS_LAYOUT_WEBLOOK type LVC_LOOK optional
!P_ALV_IS_LAYOUT_WEBSTYLE type LVC_STYLE optional
!P_ALV_IS_LAYOUT_WEBROWS type LVC_WEBROW optional
!P_ALV_IS_LAYOUT_WEBXWIDTH type INT4 optional
!P_ALV_IS_LAYOUT_WEBXHEIGHT type INT4 optional
!P_ALV_IS_PRINT_PRINT type CHAR1 optional
!P_ALV_IS_PRINT_PRNT_TITLE type CHAR1 optional
!P_ALV_IS_PRINT_FOOTLINE type LVC_FOOTL optional
!P_ALV_IS_PRINT_PRNT_INFO type CHAR1 optional
!P_ALV_IS_PRINT_RESERVELNS type LVC_RSVLN optional
!P_ALV_IS_PRINT_GRPCHGEDIT type LVC_GCEDIT optional
!P_ALV_IS_PRINT_PRNTLSTINF type LVC_LIINFO optional
!P_ALV_IS_PRINT_PRNTSELINF type LVC_SLINFO optional
!P_ALV_IS_PRINT_NO_COLWOPT type LVC_COLWOP optional
!P_ALV_IS_PRINT_PRINT_CTRL type ALV_S_PCTL optional
!P_ALV_IR_SALV_ADAPTER type ref to IF_SALV_ADAPTER optional .
class-methods CHARGE_T_ALV_SPECIAL_GROUPS_OO
importing
!P_SP_GROUP type LVC_SPGRP optional
!P_TEXT type LVC_TEXT optional .
class-methods CHARGE_T_ALV_HYPERLINK_OO
importing
!P_HANDLE type INT4 optional
!P_HREF type SERVICE_RL optional .
class-methods CHARGE_T_ALV_GRAPHICS_OO
importing
!P_PROP_ID type GFWCUATT optional
!P_PROP_VAL type GFWCUVAC optional .
class-methods CHARGE_T_ALV_EXCEPT_QINFO_OO
importing
!P_TYPE type CHAR01 optional
!P_EXCP_GROUP type LVC_EXGRP optional
!P_FIELDNAME type LVC_FNAME optional
!P_TABNAME type LVC_TNAME optional
!P_VALUE type TEXT80 optional
!P_TEXT type TEXT80 optional .
class-methods CHARGE_T_ALV_SORT_OO
importing
!P_SPOS type SLIS_SPOS optional
!P_FIELDNAME type LVC_FNAME optional
!P_UP type CHAR1 optional
!P_DOWN type CHAR1 optional
!P_GROUP type SLIS_CTRLS optional
!P_SUBTOT type SLIS_DOSUB optional
!P_COMP type CHAR1 optional
!P_EXPA type CHAR1 optional
!P_SELTEXT type SLIS_SCRIT optional
!P_OBLIGATORY type CHAR1 optional
!P_LEVEL type INT4 optional
!P_NO_OUT type CHAR1 optional
!P_INTOPT type LVCIFLAG optional .
class-methods CHARGE_T_ALV_FILTER_OO
importing
!P_FIELDNAME type LVC_FNAME optional
!P_TABNAME type LVC_RTNAME optional
!P_SELTEXT type LVC_TXT optional
!P_VALUF type TEXT80 optional
!P_VALUT type TEXT80 optional
!P_SIGN_ICON type CHAR4 optional
!P_STYPE type CHAR1 optional
!P_DECIMALS type DECIMALS optional
!P_INTLEN type INTLEN optional
!P_CONVEXIT type CONVEXIT optional
!P_EDIT_MASK type LVC_EDTMSK optional
!P_LOWERCASE type LOWERCASE optional
!P_INTTYPE type INTTYPE optional
!P_DATATYPE type DATATYPE_D optional
!P_EXCEPTION type CHAR1 optional
!P_NO_SIGN type LVC_NOSIGN optional
!P_OR type CHAR1 optional
!P_ORDER type ORDER optional
!P_REF_FIELD type LVC_RFNAME optional
!P_REF_TABLE type LVC_RTNAME optional
!P_C_FIELD type LVC_FNAME optional
!P_C_TAB type LVC_TNAME optional
!P_C_VALUE type CHAR5 optional
!P_FLG_CQ type CHAR1 optional
!P_LOW type TEXT80 optional
!P_HIGH type TEXT80 optional
!P_SIGN type CHAR1 optional
!P_OPTION type CHAR2 optional
!P_DD_OUTLEN type LVC_DDLEN optional .
class-methods CHARGE_T_DROPDOWN_OO
importing
!P_HANDLE type INT4 optional
!P_VALUE type LVC_VALUE optional .
class-methods SET_T_DROPDOWN_OO .
class-methods SET_READY_FOR_INPUT_OO
importing
!P_VAL type INT4 default 1 .
class-methods REFRESH_TABLE_DISPLAY_OO .
class-methods INIT_ALV
importing
value(P_PROGRAM) type PROGNAME
value(P_STRUCTURE) type DD02L-TABNAME
!P_HIDE_MC_FC_AUF type XFELD optional
!P_HIDE_MC_FC_AVERAGE type XFELD optional
!P_HIDE_MC_FC_BACK_CLASSIC type XFELD optional
!P_HIDE_MC_FC_CALL_ABC type XFELD optional
!P_HIDE_MC_FC_CALL_CHAIN type XFELD optional
!P_HIDE_MC_FC_CALL_CRBATCH type XFELD optional
!P_HIDE_MC_FC_CALL_CRWEB type XFELD optional
!P_HIDE_MC_FC_CALL_LINEITEMS type XFELD optional
!P_HIDE_MC_FC_CALL_MASTER_DATA type XFELD optional
!P_HIDE_MC_FC_CALL_MORE type XFELD optional
!P_HIDE_MC_FC_CALL_REPORT type XFELD optional
!P_HIDE_MC_FC_CALL_XINT type XFELD optional
!P_HIDE_MC_FC_CALL_XXL type XFELD optional
!P_HIDE_MC_FC_CHECK type XFELD optional
!P_HIDE_MC_FC_COL_INVISIBLE type XFELD optional
!P_HIDE_MC_FC_COL_OPTIMIZE type XFELD optional
!P_HIDE_MC_FC_COUNT type XFELD optional
!P_HIDE_MC_FC_CURRENT_VARIANT type XFELD optional
!P_HIDE_MC_FC_DATA_SAVE type XFELD optional
!P_HIDE_MC_FC_DELETE_FILTER type XFELD optional
!P_HIDE_MC_FC_DESELECT_ALL type XFELD optional
!P_HIDE_MC_FC_DETAIL type XFELD optional
!P_HIDE_MC_FC_EXCL_ALL type XFELD optional
!P_HIDE_MC_FC_EXPCRDATA type XFELD optional
!P_HIDE_MC_FC_EXPCRDESIG type XFELD optional
!P_HIDE_MC_FC_EXPCRTEMPL type XFELD optional
!P_HIDE_MC_FC_EXPMDB type XFELD optional
!P_HIDE_MC_FC_EXTEND type XFELD optional
!P_HIDE_MC_FC_F4 type XFELD optional
!P_HIDE_MC_FC_FILTER type XFELD optional
!P_HIDE_MC_FC_FIND type XFELD optional
!P_HIDE_MC_FC_FIX_COLUMNS type XFELD optional
!P_HIDE_MC_FC_GRAPH type XFELD optional
!P_HIDE_MC_FC_HELP type XFELD optional
!P_HIDE_MC_FC_HTML type XFELD optional
!P_HIDE_MC_FC_INFO type XFELD optional
!P_HIDE_MC_FC_LOAD_VARIANT type XFELD optional
!P_HIDE_MC_FC_LOC_APPEND_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_COPY type XFELD optional
!P_HIDE_MC_FC_LOC_COPY_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_CUT type XFELD optional
!P_HIDE_MC_FC_LOC_DELETE_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_INSERT_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_MOVE_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_PASTE type XFELD optional
!P_HIDE_MC_FC_LOC_PASTE_NEW_ROW type XFELD optional
!P_HIDE_MC_FC_LOC_UNDO type XFELD optional
!P_HIDE_MC_FC_MAINTAIN_VARIANT type XFELD optional
!P_HIDE_MC_FC_MAXIMUM type XFELD optional
!P_HIDE_MC_FC_MINIMUM type XFELD optional
!P_HIDE_MC_FC_PC_FILE type XFELD optional
!P_HIDE_MC_FC_PRINT type XFELD optional
!P_HIDE_MC_FC_PRINT_BACK type XFELD optional
!P_HIDE_MC_FC_PRINT_PREV type XFELD optional
!P_HIDE_MC_FC_REFRESH type XFELD optional
!P_HIDE_MC_FC_REPREP type XFELD optional
!P_HIDE_MC_FC_SAVE_VARIANT type XFELD optional
!P_HIDE_MC_FC_SELECT_ALL type XFELD optional
!P_HIDE_MC_FC_SEND type XFELD optional
!P_HIDE_MC_FC_SEPARATOR type XFELD optional
!P_HIDE_MC_FC_SORT type XFELD optional
!P_HIDE_MC_FC_SORT_ASC type XFELD optional
!P_HIDE_MC_FC_SORT_DSC type XFELD optional
!P_HIDE_MC_FC_SUBTOT type XFELD optional
!P_HIDE_MC_FC_SUM type XFELD optional
!P_HIDE_MC_FC_TO_OFFICE type XFELD optional
!P_HIDE_MC_FC_TO_REP_TREE type XFELD optional
!P_HIDE_MC_FC_UNFIX_COLUMNS type XFELD optional
!P_HIDE_MC_FC_URL_COPY_TO_CLIPB type XFELD optional
!P_HIDE_MC_FC_VARIANT_ADMIN type XFELD optional
!P_HIDE_MC_FC_VIEWS type XFELD optional
!P_HIDE_MC_FC_VIEW_CRYSTAL type XFELD optional
!P_HIDE_MC_FC_VIEW_EXCEL type XFELD optional
!P_HIDE_MC_FC_VIEW_GRID type XFELD optional
!P_HIDE_MC_FC_VIEW_LOTUS type XFELD optional
!P_HIDE_MC_FC_WORD_PROCESSOR type XFELD optional .
class-methods BUILD_ALV
importing
!P_PROGR type PROGNAME .
class-methods BUILD_FIELDCATALOG
importing
!P_STRUCTURE_NAME type DD02L-TABNAME
exporting
!P_FIELDCAT type SLIS_T_FIELDCAT_ALV .
class-methods SEND_DATA
importing
value(P_NODETAB) type DATA .
class-methods DISPLAY_ALV .
class-methods CHARGE_STRUCTURES_ALV
importing
!P_I_INTERFACE_CHECK type C optional
!P_I_BYPASSING_BUFFER type CHAR01 optional
!P_I_BUFFER_ACTIVE type C optional
!P_I_CALLBACK_PROGRAM type SY-REPID optional
!P_I_CALLBACK_PF_STATUS_SET type SLIS_FORMNAME optional
!P_I_CALLBACK_USER_COMMAND type SLIS_FORMNAME optional
!P_I_CALLBACK_TOP_OF_PAGE type SLIS_FORMNAME optional
!P_I_CALLBACK_HTML_TOP_OF_PAGE type SLIS_FORMNAME optional
!P_I_CALLBACK_HTML_END_OF_LIST type SLIS_FORMNAME optional
!P_I_STRUCTURE_NAME type DD02L-TABNAME optional
!P_I_BACKGROUND_ID type SDYDO_KEY optional
!P_I_GRID_TITLE type LVC_TITLE optional
!P_I_GRID_SETTINGS type LVC_S_GLAY optional
!P_LAYOUT_DUMMY type C optional
!P_LAYOUT_NO_COLHEAD type C optional
!P_LAYOUT_NO_HOTSPOT type C optional
!P_LAYOUT_ZEBRA type C optional
!P_LAYOUT_NO_VLINE type C optional
!P_LAYOUT_NO_HLINE type C optional
!P_LAYOUT_CELL_MERGE type C optional
!P_LAYOUT_EDIT type C optional
!P_LAYOUT_EDIT_MODE type C optional
!P_LAYOUT_NUMC_SUM type C optional
!P_LAYOUT_NO_INPUT type C optional
!P_LAYOUT_F2CODE type SY-UCOMM optional
!P_LAYOUT_REPREP type C optional
!P_LAYOUT_NO_KEYFIX type C optional
!P_LAYOUT_EXPAND_ALL type C optional
!P_LAYOUT_NO_AUTHOR type C optional
!P_LAYOUT_DEF_STATUS type C optional
!P_LAYOUT_ITEM_TEXT type CHAR20 optional
!P_LAYOUT_COUNTFNAME type LVC_FNAME optional
!P_LAYOUT_COLWIDTH_OPTIMIZE type C optional
!P_LAYOUT_NO_MIN_LINESIZE type C optional
!P_LAYOUT_MIN_LINESIZE type SY-LINSZ optional
!P_LAYOUT_MAX_LINESIZE type SY-LINSZ optional
!P_LAYOUT_WINDOW_TITLEBAR type SY-TITLE optional
!P_LAYOUT_NO_ULINE_HS type C optional
!P_LAYOUT_LIGHTS_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_LIGHTS_TABNAME type SLIS_TABNAME optional
!P_LAYOUT_LIGHTS_ROLLNAME type DFIES-ROLLNAME optional
!P_LAYOUT_LIGHTS_CONDENSE type C optional
!P_LAYOUT_NO_SUMCHOICE type C optional
!P_LAYOUT_NO_TOTALLINE type C optional
!P_LAYOUT_NO_SUBCHOICE type C optional
!P_LAYOUT_NO_SUBTOTALS type C optional
!P_LAYOUT_NO_UNIT_SPLITTING type C optional
!P_LAYOUT_TOTALS_BEFORE_ITEMS type C optional
!P_LAYOUT_TOTALS_ONLY type C optional
!P_LAYOUT_TOTALS_TEXT type ZECHAR60 optional
!P_LAYOUT_SUBTOTALS_TEXT type ZECHAR60 optional
!P_LAYOUT_BOX_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_BOX_TABNAME type SLIS_TABNAME optional
!P_LAYOUT_BOX_ROLLNAME type DD03P-ROLLNAME optional
!P_LAYOUT_EXPAND_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_HOTSPOT_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_CONFIRMATION_PROMPT type C optional
!P_LAYOUT_KEY_HOTSPOT type C optional
!P_LAYOUT_FLEXIBLE_KEY type C optional
!P_LAYOUT_GROUP_BUTTONS type C optional
!P_LAYOUT_GET_SELINFOS type C optional
!P_LAYOUT_GROUP_CHANGE_EDIT type C optional
!P_LAYOUT_NO_SCROLLING type C optional
!P_LAYOUT_DETAIL_POPUP type C optional
!P_LAYOUT_DETAIL_INITIAL_LINES type C optional
!P_LAYOUT_DETAIL_TITLEBAR type SY-TITLE optional
!P_LAYOUT_HEADER_TEXT type CHAR20 optional
!P_LAYOUT_DEFAULT_ITEM type C optional
!P_LAYOUT_INFO_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_COLTAB_FIELDNAME type SLIS_FIELDNAME optional
!P_LAYOUT_LIST_APPEND type C optional
!P_LAYOUT_XIFUNCKEY type AQS_XIKEY optional
!P_LAYOUT_XIDIRECT type FLAG optional
!P_LAYOUT_DTC_LAYOUT type DTC_S_LAYO optional
!P_LAYOUT_ALLOW_SWITCH_TO_LIST type C optional
!P_HIDE_MODE type C optional
!P_HIDE_T_ENTRIES type SLIS_T_SELENTRY_HIDE_ALV optional
!P_I_DEFAULT type C optional
!P_I_SAVE type C optional
!P_VARIANT_REPORT type REPID optional
!P_VARIANT_HANDLE type SLIS_HANDL optional
!P_VARIANT_LOG_GROUP type SLIS_LOGGR optional
!P_VARIANT_USERNAME type SLIS_USER optional
!P_VARIANT_VARIANT type SLIS_VARI optional
!P_VARIANT_TEXT type SLIS_VARBZ optional
!P_VARIANT_DEPENDVARS type SLIS_DEPVS optional
!P_PRINT_PRINT type CHAR1 optional
!P_PRINT_PRNT_TITLE type CHAR1 optional
!P_PRINT_FOOTLINE type LVC_FOOTL optional
!P_PRINT_PRNT_INFO type CHAR1 optional
!P_PRINT_NO_PRINT_SELINFOS type C optional
!P_PRINT_NO_COVERPAGE type C optional
!P_PRINT_NO_NEW_PAGE type C optional
!P_PRINT_RESERVE_LINES type I optional
!P_PRINT_NO_PRINT_LISTINFOS type C optional
!P_PRINT_NO_CHANGE_PRINT_PARAMS type C optional
!P_PRINT_NO_PRINT_HIERSEQ_ITEM type C optional
!P_PRINT_PRINT_CTRL type ALV_S_PCTL optional
!P_REPREPID_TOOL type CHAR2 optional
!P_REPREPID_APPL type CHAR4 optional
!P_REPREPID_SUBC type CHAR2 optional
!P_REPREPID_ONAM type ZECHAR54 optional
!P_I_SCREEN_START_COLUMN type I optional
!P_I_SCREEN_START_LINE type I optional
!P_I_SCREEN_END_COLUMN type I optional
!P_I_SCREEN_END_LINE type I optional
!P_I_HTML_HEIGHT_TOP type I optional
!P_I_HTML_HEIGHT_END type I optional
!P_IR_SALV_FULLSCREEN_ADAPTER type ref to CL_SALV_FULLSCREEN_ADAPTER optional .
class-methods CHARGE_T_SPECIAL_GROUPS
importing
!P_SP_GROUP type CHAR4 optional
!P_TEXT type CHAR40 optional .
class-methods CHARGE_T_SORT
importing
!P_SPOS type ALVDYNP-SORTPOS optional
!P_FIELDNAME type SLIS_FIELDNAME optional
!P_TABNAME type SLIS_FIELDNAME optional
!P_UP type ALVDYNP-SORTUP optional
!P_DOWN type ALVDYNP-SORTDOWN optional
!P_GROUP type ALVDYNP-GROUPLEVEL optional
!P_SUBTOT type ALVDYNP-SUBTOTALS optional
!P_COMP type C optional
!P_EXPA type C optional
!P_OBLIGATORY type C optional .
class-methods CHARGE_T_FILTER
importing
!P_FIELDNAME type SLIS_FIELDNAME optional
!P_TABNAME type SLIS_TABNAME optional
!P_SELTEXT type CHAR40 optional
!P_VALUF type CHAR80 optional
!P_VALUT type CHAR80 optional
!P_VALUF_INT type CHAR80 optional
!P_VALUT_INT type CHAR80 optional
!P_SIGN0 type C optional
!P_SIGN_ICON type CHAR4 optional
!P_OPTIO type CHAR2 optional
!P_STYPE type C optional
!P_DECIMALS type DFIES-DECIMALS optional
!P_INTLEN type DFIES-INTLEN optional
!P_CONVEXIT type DFIES-CONVEXIT optional
!P_EDIT_MASK type SLIS_EDIT_MASK optional
!P_LOWERCASE type DFIES-LOWERCASE optional
!P_INTTYPE type DFIES-INTTYPE optional
!P_DATATYPE type DFIES-DATATYPE optional
!P_EXCEPTION type C optional
!P_NO_SIGN type C optional
!P_OR type C optional
!P_ORDER type ORDER optional
!P_CQVALUE type C optional
!P_REF_FIELDNAME type DFIES-FIELDNAME optional
!P_REF_TABNAME type DFIES-TABNAME optional
!P_DDIC_OUTPUTLEN type DFIES-OUTPUTLEN optional .
class-methods CHARGE_T_EVENTS
importing
!P_NAME type CHAR30 optional
!P_FORM type CHAR30 optional .
class-methods CHARGE_T_EVENTS_EXITS
importing
!P_UCOMM type SY-UCOMM optional
!P_BEFORE type C optional
!P_AFTER type C optional .
class-methods CHARGE_T_GRAPHIC
importing
!P_PROP_ID type GFWCUATT optional
!P_PROP_VAL type GFWCUVAC optional .
class-methods DEFINE_EVENTS
importing
!P_ITEM_DATA_EXPAND type XFELD optional
!P_REPREP_SEL_MODIFY type XFELD optional
!P_CALLER_EXIT type XFELD optional
!P_USER_COMMAND type XFELD optional
!P_TOP_OF_PAGE type XFELD optional
!P_DATA_CHANGED type XFELD optional
!P_TOP_OF_COVERPAGE type XFELD optional
!P_END_OF_COVERPAGE type XFELD optional
!P_FOREIGN_TOP_OF_PAGE type XFELD optional
!P_FOREIGN_END_OF_PAGE type XFELD optional
!P_PF_STATUS_SET type XFELD optional
!P_LIST_MODIFY type XFELD optional
!P_TOP_OF_LIST type XFELD optional
!P_END_OF_PAGE type XFELD optional
!P_END_OF_LIST type XFELD optional
!P_AFTER_LINE_OUTPUT type XFELD optional
!P_BEFORE_LINE_OUTPUT type XFELD optional
!P_SUBTOTAL_TEXT type XFELD optional
!P_GROUPLEVEL_CHANGE type XFELD optional
!P_CONTEXT_MENU type XFELD optional .
class-methods HIDE_FUNCTIONS
importing
!P_MC_FC_AUF type XFELD optional
!P_MC_FC_AVERAGE type XFELD optional
!P_MC_FC_BACK_CLASSIC type XFELD optional
!P_MC_FC_CALL_ABC type XFELD optional
!P_MC_FC_CALL_CHAIN type XFELD optional
!P_MC_FC_CALL_CRBATCH type XFELD optional
!P_MC_FC_CALL_CRWEB type XFELD optional
!P_MC_FC_CALL_LINEITEMS type XFELD optional
!P_MC_FC_CALL_MASTER_DATA type XFELD optional
!P_MC_FC_CALL_MORE type XFELD optional
!P_MC_FC_CALL_REPORT type XFELD optional
!P_MC_FC_CALL_XINT type XFELD optional
!P_MC_FC_CALL_XXL type XFELD optional
!P_MC_FC_CHECK type XFELD optional
!P_MC_FC_COL_INVISIBLE type XFELD optional
!P_MC_FC_COL_OPTIMIZE type XFELD optional
!P_MC_FC_COUNT type XFELD optional
!P_MC_FC_CURRENT_VARIANT type XFELD optional
!P_MC_FC_DATA_SAVE type XFELD optional
!P_MC_FC_DELETE_FILTER type XFELD optional
!P_MC_FC_DESELECT_ALL type XFELD optional
!P_MC_FC_DETAIL type XFELD optional
!P_MC_FC_EXCL_ALL type XFELD optional
!P_MC_FC_EXPCRDATA type XFELD optional
!P_MC_FC_EXPCRDESIG type XFELD optional
!P_MC_FC_EXPCRTEMPL type XFELD optional
!P_MC_FC_EXPMDB type XFELD optional
!P_MC_FC_EXTEND type XFELD optional
!P_MC_FC_F4 type XFELD optional
!P_MC_FC_FILTER type XFELD optional
!P_MC_FC_FIND type XFELD optional
!P_MC_FC_FIX_COLUMNS type XFELD optional
!P_MC_FC_GRAPH type XFELD optional
!P_MC_FC_HELP type XFELD optional
!P_MC_FC_HTML type XFELD optional
!P_MC_FC_INFO type XFELD optional
!P_MC_FC_LOAD_VARIANT type XFELD optional
!P_MC_FC_LOC_APPEND_ROW type XFELD optional
!P_MC_FC_LOC_COPY type XFELD optional
!P_MC_FC_LOC_COPY_ROW type XFELD optional
!P_MC_FC_LOC_CUT type XFELD optional
!P_MC_FC_LOC_DELETE_ROW type XFELD optional
!P_MC_FC_LOC_INSERT_ROW type XFELD optional
!P_MC_FC_LOC_MOVE_ROW type XFELD optional
!P_MC_FC_LOC_PASTE type XFELD optional
!P_MC_FC_LOC_PASTE_NEW_ROW type XFELD optional
!P_MC_FC_LOC_UNDO type XFELD optional
!P_MC_FC_MAINTAIN_VARIANT type XFELD optional
!P_MC_FC_MAXIMUM type XFELD optional
!P_MC_FC_MINIMUM type XFELD optional
!P_MC_FC_PC_FILE type XFELD optional
!P_MC_FC_PRINT type XFELD optional
!P_MC_FC_PRINT_BACK type XFELD optional
!P_MC_FC_PRINT_PREV type XFELD optional
!P_MC_FC_REFRESH type XFELD optional
!P_MC_FC_REPREP type XFELD optional
!P_MC_FC_SAVE_VARIANT type XFELD optional
!P_MC_FC_SELECT_ALL type XFELD optional
!P_MC_FC_SEND type XFELD optional
!P_MC_FC_SEPARATOR type XFELD optional
!P_MC_FC_SORT type XFELD optional
!P_MC_FC_SORT_ASC type XFELD optional
!P_MC_FC_SORT_DSC type XFELD optional
!P_MC_FC_SUBTOT type XFELD optional
!P_MC_FC_SUM type XFELD optional
!P_MC_FC_TO_OFFICE type XFELD optional
!P_MC_FC_TO_REP_TREE type XFELD optional
!P_MC_FC_UNFIX_COLUMNS type XFELD optional
!P_MC_FC_URL_COPY_TO_CLIPBOARD type XFELD optional
!P_MC_FC_VARIANT_ADMIN type XFELD optional
!P_MC_FC_VIEWS type XFELD optional
!P_MC_FC_VIEW_CRYSTAL type XFELD optional
!P_MC_FC_VIEW_EXCEL type XFELD optional
!P_MC_FC_VIEW_GRID type XFELD optional
!P_MC_FC_VIEW_LOTUS type XFELD optional
!P_MC_FC_WORD_PROCESSOR type XFELD optional .
class-methods CHANGE_ICON
importing
!P_TEXT type STRING optional
!P_TEXT2 type STRING optional
changing
!P_ITEM_IMAGE type TV_IMAGE .
class-methods BUILD_VARIANT
changing
!P_I_SAVE type C
!P_VARIANT type DISVARIANT .
class-methods INITIALIZE .
-------------------------------------------------------
Ahora definimos cada método:
METHOD INIT_ALV_OO.
DATA: l_tree_container_name(30) TYPE c.
DATA: at_toolbar_excl TYPE ui_functions.
l_tree_container_name = p_container.
CLEAR at_toolbar_excl.
* creo el contenedor del árbol
CREATE OBJECT ao_container_oo
EXPORTING
container_name = l_tree_container_name
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc <> 0.
MESSAGE ID 'ZHRMSG' TYPE 'E' NUMBER 074.
ENDIF.
** creo el árbol
CREATE OBJECT ao_alv_oo
EXPORTING
i_parent = ao_container_oo
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4.
IF sy-subrc <> 0.
MESSAGE ID 'ZHRMSG' TYPE 'E' NUMBER 074.
ENDIF.
CALL METHOD ao_alv_oo->get_name_program
EXPORTING
p_programa = p_program.
CALL METHOD ZCL_ALV_GRID_MAINP=>build_alv_oo
EXPORTING
p_progr = p_program.
ap_i_struct_name_oo = p_structure.
ap_i_struct_name_graphic_oo = p_structure.
CALL METHOD ZCL_ALV_GRID_MAINP=>build_fieldcatalog_oo
EXPORTING
p_structure_name = p_structure
IMPORTING
p_fieldcat = at_fieldcatalog_oo.
CALL METHOD ZCL_ALV_GRID_MAINP=>hide_functions_oo
EXPORTING
p_mc_fc_auf = p_hide_mc_fc_auf
p_mc_fc_average = p_hide_mc_fc_average
p_mc_fc_back_classic = p_hide_mc_fc_back_classic
p_mc_fc_call_abc = p_hide_mc_fc_call_abc
p_mc_fc_call_chain = p_hide_mc_fc_call_chain
p_mc_fc_call_crbatch = p_hide_mc_fc_call_crbatch
p_mc_fc_call_crweb = p_hide_mc_fc_call_crweb
p_mc_fc_call_lineitems = p_hide_mc_fc_call_lineitems
p_mc_fc_call_master_data = p_hide_mc_fc_call_master_data
p_mc_fc_call_more = p_hide_mc_fc_call_more
p_mc_fc_call_report = p_hide_mc_fc_call_report
p_mc_fc_call_xint = p_hide_mc_fc_call_xint
p_mc_fc_call_xxl = p_hide_mc_fc_call_xxl
p_mc_fc_check = p_hide_mc_fc_check
p_mc_fc_col_invisible = p_hide_mc_fc_col_invisible
p_mc_fc_col_optimize = p_hide_mc_fc_col_optimize
p_mc_fc_count = p_hide_mc_fc_count
p_mc_fc_current_variant = p_hide_mc_fc_current_variant
p_mc_fc_data_save = p_hide_mc_fc_data_save
p_mc_fc_delete_filter = p_hide_mc_fc_delete_filter
p_mc_fc_deselect_all = p_hide_mc_fc_deselect_all
p_mc_fc_detail = p_hide_mc_fc_detail
p_mc_fc_excl_all = p_hide_mc_fc_excl_all
p_mc_fc_expcrdata = p_hide_mc_fc_expcrdata
p_mc_fc_expcrdesig = p_hide_mc_fc_expcrdesig
p_mc_fc_expcrtempl = p_hide_mc_fc_expcrtempl
p_mc_fc_expmdb = p_hide_mc_fc_expmdb
p_mc_fc_extend = p_hide_mc_fc_extend
p_mc_fc_f4 = p_hide_mc_fc_f4
p_mc_fc_filter = p_hide_mc_fc_filter
p_mc_fc_find = p_hide_mc_fc_find
p_mc_fc_fix_columns = p_hide_mc_fc_fix_columns
p_mc_fc_graph = p_hide_mc_fc_graph
p_mc_fc_help = p_hide_mc_fc_help
p_mc_fc_html = p_hide_mc_fc_html
p_mc_fc_info = p_hide_mc_fc_info
p_mc_fc_load_variant = p_hide_mc_fc_load_variant
p_mc_fc_loc_append_row = p_hide_mc_fc_loc_append_row
p_mc_fc_loc_copy = p_hide_mc_fc_loc_copy
p_mc_fc_loc_copy_row = p_hide_mc_fc_loc_copy_row
p_mc_fc_loc_cut = p_hide_mc_fc_loc_cut
p_mc_fc_loc_delete_row = p_hide_mc_fc_loc_delete_row
p_mc_fc_loc_insert_row = p_hide_mc_fc_loc_insert_row
p_mc_fc_loc_move_row = p_hide_mc_fc_loc_move_row
p_mc_fc_loc_paste = p_hide_mc_fc_loc_paste
p_mc_fc_loc_paste_new_row = p_hide_mc_fc_loc_paste_new_row
p_mc_fc_loc_undo = p_hide_mc_fc_loc_undo
p_mc_fc_maintain_variant = p_hide_mc_fc_maintain_variant
p_mc_fc_maximum = p_hide_mc_fc_maximum
p_mc_fc_minimum = p_hide_mc_fc_minimum
p_mc_fc_pc_file = p_hide_mc_fc_pc_file
p_mc_fc_print = p_hide_mc_fc_print
p_mc_fc_print_back = p_hide_mc_fc_print_back
p_mc_fc_print_prev = p_hide_mc_fc_print_prev
p_mc_fc_refresh = p_hide_mc_fc_refresh
p_mc_fc_reprep = p_hide_mc_fc_reprep
p_mc_fc_save_variant = p_hide_mc_fc_save_variant
p_mc_fc_select_all = p_hide_mc_fc_select_all
p_mc_fc_send = p_hide_mc_fc_send
p_mc_fc_separator = p_hide_mc_fc_separator
p_mc_fc_sort = p_hide_mc_fc_sort
p_mc_fc_sort_asc = p_hide_mc_fc_sort_asc
p_mc_fc_sort_dsc = p_hide_mc_fc_sort_dsc
p_mc_fc_subtot = p_hide_mc_fc_subtot
p_mc_fc_sum = p_hide_mc_fc_sum
p_mc_fc_to_office = p_hide_mc_fc_to_office
p_mc_fc_to_rep_tree = p_hide_mc_fc_to_rep_tree
p_mc_fc_unfix_columns = p_hide_mc_fc_unfix_columns
p_mc_fc_url_copy_to_clipboard = p_hide_mc_fc_url_copy_to_clipb
p_mc_fc_variant_admin = p_hide_mc_fc_variant_admin
p_mc_fc_views = p_hide_mc_fc_views
p_mc_fc_view_crystal = p_hide_mc_fc_view_crystal
p_mc_fc_view_excel = p_hide_mc_fc_view_excel
p_mc_fc_view_grid = p_hide_mc_fc_view_grid
p_mc_fc_view_lotus = p_hide_mc_fc_view_lotus
p_mc_fc_word_processor = p_hide_mc_fc_word_processor.
ENDMETHOD. "init_alv
METHOD BUILD_ALV_OO.
ap_program_oo = p_progr.
ENDMETHOD.
METHOD BUILD_FIELDCATALOG_OO.
DATA: lt_fieldcatalog TYPE lvc_t_fcat.
FIELD-SYMBOLS: <fs_fieldcat> TYPE lvc_s_fcat.
CLEAR lt_fieldcatalog.
REFRESH lt_fieldcatalog[].
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = p_structure_name
CHANGING
ct_fieldcat = lt_fieldcatalog.
p_fieldcat = lt_fieldcatalog.
ENDMETHOD.
METHOD HIDE_FUNCTIONS_OO.
IF p_mc_fc_auf = 'X'.
APPEND ao_alv_oo->mc_fc_auf TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_average = 'X'.
APPEND ao_alv_oo->mc_fc_average TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_back_classic = 'X'.
APPEND ao_alv_oo->mc_fc_back_classic TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_call_abc = 'X'.
APPEND ao_alv_oo->mc_fc_call_abc TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_call_chain = 'X'.
APPEND ao_alv_oo->mc_fc_call_chain TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_call_crbatch = 'X'.
APPEND ao_alv_oo->mc_fc_call_crbatch TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_call_crweb = 'X'.
APPEND ao_alv_oo->mc_fc_call_crweb TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_call_lineitems = 'X'.
APPEND ao_alv_oo->mc_fc_call_lineitems TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_call_master_data = 'X'.
APPEND ao_alv_oo->mc_fc_call_master_data TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_call_more = 'X'.
APPEND ao_alv_oo->mc_fc_call_more TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_call_report = 'X'.
APPEND ao_alv_oo->mc_fc_call_report TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_call_xint = 'X'.
APPEND ao_alv_oo->mc_fc_call_xint TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_call_xxl = 'X'.
APPEND ao_alv_oo->mc_fc_call_xxl TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_check = 'X'.
APPEND ao_alv_oo->mc_fc_check TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_col_invisible = 'X'.
APPEND ao_alv_oo->mc_fc_col_invisible TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_col_optimize = 'X'.
APPEND ao_alv_oo->mc_fc_col_optimize TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_count = 'X'.
APPEND ao_alv_oo->mc_fc_count TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_current_variant = 'X'.
APPEND ao_alv_oo->mc_fc_current_variant TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_data_save = 'X'.
APPEND ao_alv_oo->mc_fc_data_save TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_delete_filter = 'X'.
APPEND ao_alv_oo->mc_fc_delete_filter TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_deselect_all = 'X'.
APPEND ao_alv_oo->mc_fc_deselect_all TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_detail = 'X'.
APPEND ao_alv_oo->mc_fc_detail TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_excl_all = 'X'.
APPEND ao_alv_oo->mc_fc_excl_all TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_expcrdata = 'X'.
APPEND ao_alv_oo->mc_fc_expcrdata TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_expcrdesig = 'X'.
APPEND ao_alv_oo->mc_fc_expcrdesig TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_expcrtempl = 'X'.
APPEND ao_alv_oo->mc_fc_expcrtempl TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_expmdb = 'X'.
APPEND ao_alv_oo->mc_fc_expmdb TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_extend = 'X'.
APPEND ao_alv_oo->mc_fc_extend TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_f4 = 'X'.
APPEND ao_alv_oo->mc_fc_f4 TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_filter = 'X'.
APPEND ao_alv_oo->mc_fc_filter TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_find = 'X'.
APPEND ao_alv_oo->mc_fc_find TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_fix_columns = 'X'.
APPEND ao_alv_oo->mc_fc_fix_columns TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_graph = 'X'.
APPEND ao_alv_oo->mc_fc_graph TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_help = 'X'.
APPEND ao_alv_oo->mc_fc_help TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_html = 'X'.
APPEND ao_alv_oo->mc_fc_html TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_info = 'X'.
APPEND ao_alv_oo->mc_fc_info TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_load_variant = 'X'.
APPEND ao_alv_oo->mc_fc_load_variant TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_loc_append_row = 'X'.
APPEND ao_alv_oo->mc_fc_loc_append_row TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_loc_copy = 'X'.
APPEND ao_alv_oo->mc_fc_loc_copy TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_loc_copy_row = 'X'.
APPEND ao_alv_oo->mc_fc_loc_copy_row TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_loc_cut = 'X'.
APPEND ao_alv_oo->mc_fc_loc_cut TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_loc_delete_row = 'X'.
APPEND ao_alv_oo->mc_fc_loc_delete_row TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_loc_insert_row = 'X'.
APPEND ao_alv_oo->mc_fc_loc_insert_row TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_loc_move_row = 'X'.
APPEND ao_alv_oo->mc_fc_loc_move_row TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_loc_paste = 'X'.
APPEND ao_alv_oo->mc_fc_loc_paste TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_loc_paste_new_row = 'X'.
APPEND ao_alv_oo->mc_fc_loc_paste_new_row TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_loc_undo = 'X'.
APPEND ao_alv_oo->mc_fc_loc_undo TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_maintain_variant = 'X'.
APPEND ao_alv_oo->mc_fc_maintain_variant TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_maximum = 'X'.
APPEND ao_alv_oo->mc_fc_maximum TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_minimum = 'X'.
APPEND ao_alv_oo->mc_fc_minimum TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_pc_file = 'X'.
APPEND ao_alv_oo->mc_fc_pc_file TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_print = 'X'.
APPEND ao_alv_oo->mc_fc_print TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_print_back = 'X'.
APPEND ao_alv_oo->mc_fc_print_back TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_print_prev = 'X'.
APPEND ao_alv_oo->mc_fc_print_prev TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_refresh = 'X'.
APPEND ao_alv_oo->mc_fc_refresh TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_save_variant = 'X'.
APPEND ao_alv_oo->mc_fc_save_variant TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_select_all = 'X'.
APPEND ao_alv_oo->mc_fc_select_all TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_send = 'X'.
APPEND ao_alv_oo->mc_fc_send TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_separator = 'X'.
APPEND ao_alv_oo->mc_fc_separator TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_sort = 'X'.
APPEND ao_alv_oo->mc_fc_sort TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_sort_asc = 'X'.
APPEND ao_alv_oo->mc_fc_sort_asc TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_sort_dsc = 'X'.
APPEND ao_alv_oo->mc_fc_sort_dsc TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_subtot = 'X'.
APPEND ao_alv_oo->mc_fc_subtot TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_sum = 'X'.
APPEND ao_alv_oo->mc_fc_sum TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_to_office = 'X'.
APPEND ao_alv_oo->mc_fc_to_office TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_to_rep_tree = 'X'.
APPEND ao_alv_oo->mc_fc_to_rep_tree TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_unfix_columns = 'X'.
APPEND ao_alv_oo->mc_fc_unfix_columns TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_url_copy_to_clipboard = 'X'.
APPEND ao_alv_oo->mc_fc_url_copy_to_clipboard TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_variant_admin = 'X'.
APPEND ao_alv_oo->mc_fc_variant_admin TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_views = 'X'.
APPEND ao_alv_oo->mc_fc_views TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_view_crystal = 'X'.
APPEND ao_alv_oo->mc_fc_view_crystal TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_view_excel = 'X'.
APPEND ao_alv_oo->mc_fc_view_excel TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_view_grid = 'X'.
APPEND ao_alv_oo->mc_fc_view_grid TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_view_lotus = 'X'.
APPEND ao_alv_oo->mc_fc_view_lotus TO at_toolbar_excl_oo.
ENDIF.
IF p_mc_fc_word_processor = 'X'.
APPEND ao_alv_oo->mc_fc_word_processor TO at_toolbar_excl_oo.
ENDIF.
ENDMETHOD. "hide_functions
METHOD DISPLAY_ALV_OO.
FIELD-SYMBOLS: <ta> TYPE table.
ASSIGN ao_nodetab_oo->* TO <ta>.
CALL METHOD ao_alv_oo->set_table_for_first_display
EXPORTING
i_buffer_active = ap_i_buffer_active_oo
i_bypassing_buffer = ap_i_bypassing_buffer_oo
i_consistency_check = ap_i_consistency_check_oo
i_structure_name = ap_i_struct_name_oo
is_variant = aw_is_variant_oo
i_save = ap_i_save_oo
i_default = ap_i_default_oo
is_layout = aw_is_layout_oo
is_print = aw_is_print_oo
it_special_groups = at_it_special_groups_oo
it_toolbar_excluding = at_toolbar_excl_oo
it_hyperlink = at_it_hyperlink_oo
it_alv_graphics = at_it_graphics_oo
it_except_qinfo = at_it_except_qinfo_oo
ir_salv_adapter = ao_ir_salv_adapter_oo
CHANGING
it_outtab = <ta>
it_filter = at_it_filter_oo
it_fieldcatalog = at_fieldcatalog_oo
it_sort = at_it_sort_oo.
ENDMETHOD.
METHOD SEND_DATA_OO.
ao_nodetab_oo = p_nodetab.
FIELD-SYMBOLS: <ti> TYPE table.
ASSIGN ao_nodetab_oo->* TO <ti>.
CALL METHOD ZCL_ALV_GRID_MAINP=>define_events_oo
EXPORTING
p_right_click = p_evt_right_click
p_left_click_design = p_evt_left_click_design
p_move_control = p_evt_move_control
p_size_control = p_evt_size_control
p_left_click_run = p_evt_left_click_run
p_onf1 = p_evt_onf1
p_onf4 = p_evt_onf4
p_data_changed = p_evt_data_changed
p_ondropgetflavor = p_evt_ondropgetflavor
p_ondrag = p_evt_ondrag
p_ondrop = p_evt_ondrop
p_ondropcomplete = p_evt_ondropcomplete
p_subtotal_text = p_evt_subtotal_text
p_before_user_command = p_evt_before_user_command
p_user_command = p_evt_user_command
p_after_user_command = p_evt_after_user_command
p_double_click = p_evt_double_click
p_delayed_callback = p_evt_delayed_callback
p_delayed_changed_sel_callback = p_evt_delayed_changed_sel_call
p_print_top_of_page = p_evt_print_top_of_page
p_print_top_of_list = p_evt_print_top_of_list
p_print_end_of_page = p_evt_print_end_of_page
p_print_end_of_list = p_evt_print_end_of_list
p_top_of_page = p_evt_top_of_page
p_context_menu_request = p_evt_context_menu_request
p_menu_button = p_evt_menu_button
p_toolbar = p_evt_toolbar
p_hotspot_click = p_evt_hotspot_click
p_end_of_list = p_evt_end_of_list
p_after_refresh = p_evt_after_refresh
p_button_click = p_evt_button_click
p_data_changed_finished = p_evt_data_changed_finished
p_evt_delayed_change_select = p_evt_evt_delayed_change_selec
p_evt_delayed_move_curr_cell = p_evt_evt_delayed_move_curr_ce
p_evt_enter = p_evt_evt_enter
p_evt_modified = p_evt_evt_modified.
ENDMETHOD.
METHOD DEFINE_EVENTS_OO.
DATA: events TYPE cntl_simple_events,
event TYPE cntl_simple_event,
l_event_receiver TYPE REF TO lcl_toolbar_event_receiver.
CLEAR events.
IF p_evt_delayed_change_select = 'X'.
CALL METHOD ao_alv_oo->register_edit_event
EXPORTING
i_event_id = ao_alv_oo->mc_evt_delayed_change_select.
ENDIF.
IF p_evt_delayed_move_curr_cell = 'X'.
CALL METHOD ao_alv_oo->register_edit_event
EXPORTING
i_event_id = ao_alv_oo->mc_evt_delayed_move_curr_cell.
ENDIF.
IF p_evt_enter = 'X'.
CALL METHOD ao_alv_oo->register_edit_event
EXPORTING
i_event_id = ao_alv_oo->mc_evt_enter.
ENDIF.
IF p_evt_modified = 'X'.
CALL METHOD ao_alv_oo->register_edit_event
EXPORTING
i_event_id = ao_alv_oo->mc_evt_modified.
ENDIF.
IF p_right_click = 'X'.
SET HANDLER ao_alv_oo->ev_right_click FOR ao_alv_oo.
ENDIF.
IF p_left_click_design = 'X'.
SET HANDLER ao_alv_oo->ev_left_click_design FOR ao_alv_oo.
ENDIF.
IF p_move_control = 'X'.
SET HANDLER ao_alv_oo->ev_move_control FOR ao_alv_oo.
ENDIF.
IF p_size_control = 'X'.
SET HANDLER ao_alv_oo->ev_size_control FOR ao_alv_oo.
ENDIF.
IF p_left_click_run = 'X'.
SET HANDLER ao_alv_oo->ev_left_click_run FOR ao_alv_oo.
ENDIF.
IF p_onf1 = 'X'.
SET HANDLER ao_alv_oo->ev_onf1 FOR ao_alv_oo.
ENDIF.
IF p_onf4 = 'X'.
SET HANDLER ao_alv_oo->ev_onf4 FOR ao_alv_oo.
ENDIF.
IF p_data_changed = 'X'.
SET HANDLER ao_alv_oo->ev_data_changed FOR ao_alv_oo.
ENDIF.
IF p_ondropgetflavor = 'X'.
SET HANDLER ao_alv_oo->ev_ondropgetflavor FOR ao_alv_oo.
ENDIF.
IF p_ondrag = 'X'.
SET HANDLER ao_alv_oo->ev_ondrag FOR ao_alv_oo.
ENDIF.
IF p_ondrop = 'X'.
SET HANDLER ao_alv_oo->ev_ondrop FOR ao_alv_oo.
ENDIF.
IF p_ondropcomplete = 'X'.
SET HANDLER ao_alv_oo->ev_ondropcomplete FOR ao_alv_oo.
ENDIF.
IF p_subtotal_text = 'X'.
SET HANDLER ao_alv_oo->ev_subtotal_text FOR ao_alv_oo.
ENDIF.
IF p_before_user_command = 'X'.
SET HANDLER ao_alv_oo->ev_before_user_command FOR ao_alv_oo.
ENDIF.
IF p_user_command = 'X'.
SET HANDLER ao_alv_oo->ev_user_command FOR ao_alv_oo.
ENDIF.
IF p_after_user_command = 'X'.
SET HANDLER ao_alv_oo->ev_after_user_command FOR ao_alv_oo.
ENDIF.
IF p_double_click = 'X'.
SET HANDLER ao_alv_oo->ev_double_click FOR ao_alv_oo.
ENDIF.
IF p_delayed_callback = 'X'.
SET HANDLER ao_alv_oo->ev_delayed_callback FOR ao_alv_oo.
ENDIF.
IF p_delayed_changed_sel_callback = 'X'.
SET HANDLER ao_alv_oo->ev_del_changed_sel_callback FOR ao_alv_oo.
ENDIF.
IF p_print_top_of_page = 'X'.
SET HANDLER ao_alv_oo->ev_print_top_of_page FOR ao_alv_oo.
ENDIF.
IF p_print_top_of_list = 'X'.
SET HANDLER ao_alv_oo->ev_print_top_of_list FOR ao_alv_oo.
ENDIF.
IF p_print_end_of_page = 'X'.
SET HANDLER ao_alv_oo->ev_print_end_of_page FOR ao_alv_oo.
ENDIF.
IF p_print_end_of_list = 'X'.
SET HANDLER ao_alv_oo->ev_print_end_of_list FOR ao_alv_oo.
ENDIF.
IF p_top_of_page = 'X'.
SET HANDLER ao_alv_oo->ev_top_of_page FOR ao_alv_oo.
ENDIF.
IF p_context_menu_request = 'X'.
SET HANDLER ao_alv_oo->ev_context_menu_request FOR ao_alv_oo.
ENDIF.
IF p_menu_button = 'X'.
SET HANDLER ao_alv_oo->ev_menu_button FOR ao_alv_oo.
ENDIF.
IF p_toolbar = 'X'.
SET HANDLER ao_alv_oo->ev_toolbar FOR ao_alv_oo.
ENDIF.
IF p_hotspot_click = 'X'.
SET HANDLER ao_alv_oo->ev_hotspot_click FOR ao_alv_oo.
ENDIF.
IF p_end_of_list = 'X'.
SET HANDLER ao_alv_oo->ev_end_of_list FOR ao_alv_oo.
ENDIF.
IF p_after_refresh = 'X'.
SET HANDLER ao_alv_oo->ev_after_refresh FOR ao_alv_oo.
ENDIF.
IF p_button_click = 'X'.
SET HANDLER ao_alv_oo->ev_button_click FOR ao_alv_oo.
ENDIF.
IF p_data_changed_finished = 'X'.
SET HANDLER ao_alv_oo->ev_data_changed_finished FOR ao_alv_oo.
ENDIF.
ENDMETHOD.
METHOD FREE_PROGRAM_OO.
CALL METHOD cl_gui_cfw=>flush
EXCEPTIONS
cntl_system_error = 1
cntl_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
CASE sy-subrc.
WHEN '1'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 492.
WHEN '2'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 493.
WHEN OTHERS.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDCASE.
ENDIF.
CALL METHOD ao_alv_oo->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
CASE sy-subrc.
WHEN '1'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 494.
WHEN '2'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 495.
WHEN OTHERS.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDCASE.
ENDIF.
CALL METHOD ao_container_oo->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
CASE sy-subrc.
WHEN '1'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 074.
WHEN '2'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 496.
WHEN OTHERS.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDCASE.
ENDIF.
LEAVE TO SCREEN 0.
ENDMETHOD.
METHOD CHANGE_ICON_OO.
DATA: status_icon TYPE icons-text.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = p_item_image
text = p_text
info = p_text
add_stdinf = 'X'
IMPORTING
RESULT = status_icon
EXCEPTIONS
icon_not_found = 1
outputfield_too_short = 2
OTHERS = 3.
IF sy-subrc <> 0.
CASE sy-subrc.
WHEN '1'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 490.
WHEN '2'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 491.
WHEN OTHERS.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDCASE.
ENDIF.
p_item_image = status_icon.
ENDMETHOD.
METHOD CHARGE_STRUCTURES_ALV_OO.
aw_is_variant_oo-report = p_alv_is_variant_report.
aw_is_variant_oo-handle = p_alv_is_variant_handle.
aw_is_variant_oo-log_group = p_alv_is_variant_log_group.
aw_is_variant_oo-username = p_alv_is_variant_username.
aw_is_variant_oo-variant = p_alv_is_variant_variant.
aw_is_variant_oo-text = p_alv_is_variant_text.
aw_is_variant_oo-dependvars = p_alv_is_variant_dependvars.
***************************************************************
aw_is_layout_oo-zebra = p_alv_is_layout_zebra.
aw_is_layout_oo-edit = p_alv_is_layout_edit.
aw_is_layout_oo-edit_mode = p_alv_is_layout_edit_mode.
aw_is_layout_oo-no_keyfix = p_alv_is_layout_no_keyfix.
aw_is_layout_oo-frontend = p_alv_is_layout_frontend.
aw_is_layout_oo-object_key = p_alv_is_layout_object_key.
aw_is_layout_oo-doc_id = p_alv_is_layout_doc_id.
aw_is_layout_oo-template = p_alv_is_layout_template.
aw_is_layout_oo-language = p_alv_is_layout_language.
aw_is_layout_oo-graphics = p_alv_is_layout_graphics.
aw_is_layout_oo-smalltitle = p_alv_is_layout_smalltitle.
aw_is_layout_oo-no_hgridln = p_alv_is_layout_no_hgridln.
aw_is_layout_oo-no_vgridln = p_alv_is_layout_no_vgridln.
aw_is_layout_oo-no_headers = p_alv_is_layout_no_headers.
aw_is_layout_oo-no_merging = p_alv_is_layout_no_merging.
aw_is_layout_oo-cwidth_opt = p_alv_is_layout_cwidth_opt.
aw_is_layout_oo-totals_bef = p_alv_is_layout_totals_bef.
aw_is_layout_oo-no_totarr = p_alv_is_layout_no_totarr.
aw_is_layout_oo-no_totexp = p_alv_is_layout_no_totexp.
aw_is_layout_oo-no_rowmove = p_alv_is_layout_no_rowmove.
aw_is_layout_oo-no_rowins = p_alv_is_layout_no_rowins.
aw_is_layout_oo-no_colexpd = p_alv_is_layout_no_colexpd.
aw_is_layout_oo-no_f4 = p_alv_is_layout_no_f4.
aw_is_layout_oo-countfname = p_alv_is_layout_countfname.
aw_is_layout_oo-col_opt = p_alv_is_layout_col_opt.
aw_is_layout_oo-val_data = p_alv_is_layout_val_data.
aw_is_layout_oo-stylefname = p_alv_is_layout_stylefname.
aw_is_layout_oo-no_rowmark = p_alv_is_layout_no_rowmark.
aw_is_layout_oo-no_toolbar = p_alv_is_layout_no_toolbar.
aw_is_layout_oo-grid_title = p_alv_is_layout_grid_title.
aw_is_layout_oo-sel_mode = p_alv_is_layout_sel_mode.
aw_is_layout_oo-box_fname = p_alv_is_layout_box_fname.
aw_is_layout_oo-sgl_clk_hd = p_alv_is_layout_sgl_clk_hd.
aw_is_layout_oo-no_totline = p_alv_is_layout_no_totline.
aw_is_layout_oo-numc_total = p_alv_is_layout_numc_total.
aw_is_layout_oo-no_utsplit = p_alv_is_layout_no_utsplit.
aw_is_layout_oo-excp_fname = p_alv_is_layout_excp_fname.
aw_is_layout_oo-excp_rolln = p_alv_is_layout_excp_rolln.
aw_is_layout_oo-excp_conds = p_alv_is_layout_excp_conds.
aw_is_layout_oo-excp_led = p_alv_is_layout_excp_led.
aw_is_layout_oo-excp_group = p_alv_is_layout_excp_group.
aw_is_layout_oo-detailinit = p_alv_is_layout_detailinit.
aw_is_layout_oo-detailtitl = p_alv_is_layout_detailtitl.
aw_is_layout_oo-keyhot = p_alv_is_layout_keyhot.
aw_is_layout_oo-no_author = p_alv_is_layout_no_author.
aw_is_layout_oo-xifunckey = p_alv_is_layout_xifunckey.
aw_is_layout_oo-xidirect = p_alv_is_layout_xidirect.
aw_is_layout_oo-s_dragdrop = p_alv_is_layout_s_dragdrop.
aw_is_layout_oo-info_fname = p_alv_is_layout_info_fname.
aw_is_layout_oo-ctab_fname = p_alv_is_layout_ctab_fname.
aw_is_layout_oo-weblook = p_alv_is_layout_weblook.
aw_is_layout_oo-webstyle = p_alv_is_layout_webstyle.
aw_is_layout_oo-webrows = p_alv_is_layout_webrows.
aw_is_layout_oo-webxwidth = p_alv_is_layout_webxwidth.
aw_is_layout_oo-webxheight = p_alv_is_layout_webxheight.
****************************************************
aw_is_print_oo-prnt_title = p_alv_is_print_prnt_title.
aw_is_print_oo-footline = p_alv_is_print_footline.
aw_is_print_oo-prnt_info = p_alv_is_print_prnt_info.
aw_is_print_oo-reservelns = p_alv_is_print_reservelns.
aw_is_print_oo-grpchgedit = p_alv_is_print_grpchgedit.
aw_is_print_oo-prntlstinf = p_alv_is_print_prntlstinf.
aw_is_print_oo-prntselinf = p_alv_is_print_prntselinf.
aw_is_print_oo-no_colwopt = p_alv_is_print_no_colwopt.
aw_is_print_oo-print_ctrl = p_alv_is_print_print_ctrl.
***************************************************
ap_i_save_oo = p_alv_i_save.
ap_i_default_oo = p_alv_i_default.
ap_i_buffer_active_oo = p_alv_i_buffer_active.
ap_i_bypassing_buffer_oo = p_alv_i_bypassing_buffer.
ap_i_consistency_check_oo = p_alv_i_consistency_check.
ao_ir_salv_adapter_oo = p_alv_ir_salv_adapter.
ENDMETHOD.
METHOD CHARGE_T_ALV_SPECIAL_GROUPS_OO.
DATA: aw_special_groups TYPE lvc_s_sgrp.
CLEAR aw_special_groups.
aw_special_groups-sp_group = p_sp_group.
aw_special_groups-text = p_text.
APPEND aw_special_groups TO at_it_special_groups_oo.
ENDMETHOD.
METHOD CHARGE_T_ALV_HYPERLINK_OO.
DATA: aw_hyperlink TYPE LVC_S_HYPE.
CLEAR aw_hyperlink.
aw_hyperlink-handle = p_handle.
aw_hyperlink-href = p_href.
APPEND aw_hyperlink TO at_it_hyperlink_oo.
ENDMETHOD.
METHOD CHARGE_T_ALV_GRAPHICS_OO.
DATA: aw_graph TYPE dtc_s_tc.
CLEAR aw_graph.
aw_graph-prop_id = p_prop_id.
aw_graph-prop_val = p_prop_val.
APPEND aw_graph TO at_it_graphics_oo.
ENDMETHOD.
METHOD CHARGE_T_ALV_EXCEPT_QINFO_OO.
DATA: aw_excep TYPE lvc_s_qinf.
CLEAR aw_excep.
aw_excep-type = p_type.
aw_excep-excp_group = p_excp_group.
aw_excep-fieldname = p_fieldname.
aw_excep-tabname = p_tabname.
aw_excep-value = p_value.
aw_excep-text = p_text.
APPEND aw_excep TO at_it_except_qinfo_oo.
ENDMETHOD.
METHOD CHARGE_T_ALV_SORT_OO.
DATA: aw_sort TYPE lvc_s_sort.
CLEAR aw_sort.
aw_sort-spos = p_spos .
aw_sort-fieldname = p_fieldname .
aw_sort-up = p_up .
aw_sort-down = p_down.
aw_sort-group = p_group.
aw_sort-subtot = p_subtot.
aw_sort-comp = p_comp .
aw_sort-expa = p_expa .
aw_sort-seltext = p_seltext.
aw_sort-obligatory = p_obligatory.
aw_sort-level = p_level.
aw_sort-no_out = p_no_out.
aw_sort-intopt = p_intopt.
APPEND aw_sort TO at_it_sort_oo.
ENDMETHOD.
METHOD CHARGE_T_ALV_FILTER_OO.
DATA: aw_filter TYPE lvc_s_filt.
CLEAR aw_filter.
aw_filter-fieldname = p_fieldname.
aw_filter-tabname = p_tabname .
aw_filter-seltext = p_seltext .
aw_filter-valuf = p_valuf .
aw_filter-valut = p_valut .
aw_filter-sign_icon = p_sign_icon.
aw_filter-stype = p_stype.
aw_filter-decimals = p_decimals.
aw_filter-intlen = p_intlen.
aw_filter-convexit = p_convexit.
aw_filter-edit_mask = p_edit_mask.
aw_filter-lowercase = p_lowercase.
aw_filter-inttype = p_inttype.
aw_filter-datatype = p_datatype.
aw_filter-exception = p_exception.
aw_filter-no_sign = p_no_sign.
aw_filter-or = p_or.
aw_filter-order = p_order.
aw_filter-ref_field = p_ref_field.
aw_filter-ref_table = p_ref_table.
aw_filter-c_field = p_c_field.
aw_filter-c_tab = p_c_tab.
aw_filter-c_value = p_c_value.
aw_filter-flg_cq = p_flg_cq.
aw_filter-low = p_low.
aw_filter-high = p_high.
aw_filter-sign = p_sign.
aw_filter-option = p_option.
aw_filter-dd_outlen = p_dd_outlen.
APPEND aw_filter TO at_it_filter_oo.
ENDMETHOD.
METHOD CHARGE_T_DROPDOWN_OO.
DATA: aw_drop TYPE lvc_s_drop .
CLEAR aw_drop.
aw_drop-handle = p_handle.
aw_drop-value = p_value.
APPEND aw_drop TO at_dropdown_oo.
ENDMETHOD.
METHOD SET_T_DROPDOWN_OO.
CALL METHOD ao_alv_oo->set_drop_down_table
EXPORTING
it_drop_down = at_dropdown_oo.
ENDMETHOD.
METHOD SET_READY_FOR_INPUT_OO.
CALL METHOD ao_alv_oo->set_ready_for_input
EXPORTING
i_ready_for_input = p_val.
ENDMETHOD.
method REFRESH_TABLE_DISPLAY_OO.
CALL METHOD ao_alv_oo->refresh_table_display.
endmethod.
METHOD INIT_ALV.
CALL METHOD ZCL_ALV_GRID_MAINP=>build_alv
EXPORTING
p_progr = p_program.
ap_i_struct_name = p_structure.
CALL METHOD ZCL_ALV_GRID_MAINP=>build_fieldcatalog
EXPORTING
p_structure_name = p_structure
IMPORTING
p_fieldcat = at_it_fieldcat.
*
CALL METHOD ZCL_ALV_GRID_MAINP=>hide_functions
EXPORTING
p_mc_fc_auf = p_hide_mc_fc_auf
p_mc_fc_average = p_hide_mc_fc_average
p_mc_fc_back_classic = p_hide_mc_fc_back_classic
p_mc_fc_call_abc = p_hide_mc_fc_call_abc
p_mc_fc_call_chain = p_hide_mc_fc_call_chain
p_mc_fc_call_crbatch = p_hide_mc_fc_call_crbatch
p_mc_fc_call_crweb = p_hide_mc_fc_call_crweb
p_mc_fc_call_lineitems = p_hide_mc_fc_call_lineitems
p_mc_fc_call_master_data = p_hide_mc_fc_call_master_data
p_mc_fc_call_more = p_hide_mc_fc_call_more
p_mc_fc_call_report = p_hide_mc_fc_call_report
p_mc_fc_call_xint = p_hide_mc_fc_call_xint
p_mc_fc_call_xxl = p_hide_mc_fc_call_xxl
p_mc_fc_check = p_hide_mc_fc_check
p_mc_fc_col_invisible = p_hide_mc_fc_col_invisible
p_mc_fc_col_optimize = p_hide_mc_fc_col_optimize
p_mc_fc_count = p_hide_mc_fc_count
p_mc_fc_current_variant = p_hide_mc_fc_current_variant
p_mc_fc_data_save = p_hide_mc_fc_data_save
p_mc_fc_delete_filter = p_hide_mc_fc_delete_filter
p_mc_fc_deselect_all = p_hide_mc_fc_deselect_all
p_mc_fc_detail = p_hide_mc_fc_detail
p_mc_fc_excl_all = p_hide_mc_fc_excl_all
p_mc_fc_expcrdata = p_hide_mc_fc_expcrdata
p_mc_fc_expcrdesig = p_hide_mc_fc_expcrdesig
p_mc_fc_expcrtempl = p_hide_mc_fc_expcrtempl
p_mc_fc_expmdb = p_hide_mc_fc_expmdb
p_mc_fc_extend = p_hide_mc_fc_extend
p_mc_fc_f4 = p_hide_mc_fc_f4
p_mc_fc_filter = p_hide_mc_fc_filter
p_mc_fc_find = p_hide_mc_fc_find
p_mc_fc_fix_columns = p_hide_mc_fc_fix_columns
p_mc_fc_graph = p_hide_mc_fc_graph
p_mc_fc_help = p_hide_mc_fc_help
p_mc_fc_html = p_hide_mc_fc_html
p_mc_fc_info = p_hide_mc_fc_info
p_mc_fc_load_variant = p_hide_mc_fc_load_variant
p_mc_fc_loc_append_row = p_hide_mc_fc_loc_append_row
p_mc_fc_loc_copy = p_hide_mc_fc_loc_copy
p_mc_fc_loc_copy_row = p_hide_mc_fc_loc_copy_row
p_mc_fc_loc_cut = p_hide_mc_fc_loc_cut
p_mc_fc_loc_delete_row = p_hide_mc_fc_loc_delete_row
p_mc_fc_loc_insert_row = p_hide_mc_fc_loc_insert_row
p_mc_fc_loc_move_row = p_hide_mc_fc_loc_move_row
p_mc_fc_loc_paste = p_hide_mc_fc_loc_paste
p_mc_fc_loc_paste_new_row = p_hide_mc_fc_loc_paste_new_row
p_mc_fc_loc_undo = p_hide_mc_fc_loc_undo
p_mc_fc_maintain_variant = p_hide_mc_fc_maintain_variant
p_mc_fc_maximum = p_hide_mc_fc_maximum
p_mc_fc_minimum = p_hide_mc_fc_minimum
p_mc_fc_pc_file = p_hide_mc_fc_pc_file
p_mc_fc_print = p_hide_mc_fc_print
p_mc_fc_print_back = p_hide_mc_fc_print_back
p_mc_fc_print_prev = p_hide_mc_fc_print_prev
p_mc_fc_refresh = p_hide_mc_fc_refresh
p_mc_fc_reprep = p_hide_mc_fc_reprep
p_mc_fc_save_variant = p_hide_mc_fc_save_variant
p_mc_fc_select_all = p_hide_mc_fc_select_all
p_mc_fc_send = p_hide_mc_fc_send
p_mc_fc_separator = p_hide_mc_fc_separator
p_mc_fc_sort = p_hide_mc_fc_sort
p_mc_fc_sort_asc = p_hide_mc_fc_sort_asc
p_mc_fc_sort_dsc = p_hide_mc_fc_sort_dsc
p_mc_fc_subtot = p_hide_mc_fc_subtot
p_mc_fc_sum = p_hide_mc_fc_sum
p_mc_fc_to_office = p_hide_mc_fc_to_office
p_mc_fc_to_rep_tree = p_hide_mc_fc_to_rep_tree
p_mc_fc_unfix_columns = p_hide_mc_fc_unfix_columns
p_mc_fc_url_copy_to_clipboard = p_hide_mc_fc_url_copy_to_clipb
p_mc_fc_variant_admin = p_hide_mc_fc_variant_admin
p_mc_fc_views = p_hide_mc_fc_views
p_mc_fc_view_crystal = p_hide_mc_fc_view_crystal
p_mc_fc_view_excel = p_hide_mc_fc_view_excel
p_mc_fc_view_grid = p_hide_mc_fc_view_grid
p_mc_fc_view_lotus = p_hide_mc_fc_view_lotus
p_mc_fc_word_processor = p_hide_mc_fc_word_processor.
ENDMETHOD. "init_alv
METHOD BUILD_ALV.
ap_program = p_progr.
ENDMETHOD.
METHOD BUILD_FIELDCATALOG.
DATA: lt_field_t TYPE slis_t_fieldcat_alv,
lwa_catalog_rewrite TYPE slis_fieldcat_alv,
* lw_ztfldcat TYPE ztfldcat,
* lw_ztfldlyt TYPE ztfldlyt,
lw_color TYPE slis_specialcol_alv.
FIELD-SYMBOLS: <fs1> LIKE LINE OF lt_field_t.
CLEAR lt_field_t.
REFRESH lt_field_t[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = ap_program
i_structure_name = p_structure_name
i_internal_tabname = p_structure_name
i_inclname = ap_program
CHANGING
ct_fieldcat = lt_field_t
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
CASE sy-subrc.
WHEN '1'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 497.
WHEN '2'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 498.
WHEN OTHERS.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDCASE.
ENDIF.
p_fieldcat = lt_field_t.
ENDMETHOD.
METHOD SEND_DATA.
ao_nodetab = p_nodetab.
FIELD-SYMBOLS: <ti> TYPE table.
ASSIGN ao_nodetab->* TO <ti>.
ENDMETHOD.
METHOD DISPLAY_ALV.
FIELD-SYMBOLS: <ta> TYPE table.
ASSIGN ao_nodetab->* TO <ta>.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_interface_check = ap_i_interface_check
i_bypassing_buffer = ap_i_bypassing_buffer
i_buffer_active = ap_i_buffer_active
i_callback_program = ap_i_callback_program
i_callback_pf_status_set = ap_i_callback_pf_status_set
i_callback_user_command = ap_i_callback_user_command
i_callback_top_of_page = ap_i_callback_top_of_page
i_callback_html_top_of_page = ap_i_callback_html_top_of_page
i_callback_html_end_of_list = ap_i_callback_html_end_of_list
i_structure_name = ap_i_structure_name
i_background_id = ap_i_background_id
i_grid_title = ap_i_grid_title
i_grid_settings = ap_i_grid_settings
is_layout = aw_is_layout
it_fieldcat = at_it_fieldcat
it_excluding = at_it_excluding
it_special_groups = at_it_special_groups
it_sort = at_it_sort
it_filter = at_it_filter
is_sel_hide = aw_is_sel_hide
i_default = ap_i_default
i_save = ap_i_save
is_variant = aw_is_variant
it_events = at_it_events
it_event_exit = at_it_event_exit
is_print = aw_is_print
is_reprep_id = aw_is_reprep_id
i_screen_start_column = ap_i_screen_start_column
i_screen_start_line = ap_i_screen_start_line
i_screen_end_column = ap_i_screen_end_column
i_screen_end_line = ap_i_screen_end_line
i_html_height_top = ap_i_html_height_top
i_html_height_end = ap_i_html_height_end
it_alv_graphics = at_it_alv_graphics
ir_salv_fullscreen_adapter = ao_ir_salv_fullscreen_adapter
IMPORTING
e_exit_caused_by_caller = ap_e_exit_caused_by_caller
es_exit_caused_by_user = aw_es_exit_caused_by_user
TABLES
t_outtab = <ta>
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
CASE sy-subrc.
WHEN '1'.
MESSAGE ID 'ZHRMSG' TYPE 'I' NUMBER 489.
WHEN OTHERS.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDCASE.
ENDIF.
ENDMETHOD.
METHOD CHARGE_STRUCTURES_ALV.
ap_i_interface_check = p_i_interface_check.
ap_i_bypassing_buffer = p_i_bypassing_buffer.
ap_i_buffer_active = p_i_buffer_active.
ap_i_callback_program = p_i_callback_program.
ap_i_callback_pf_status_set = p_i_callback_pf_status_set.
ap_i_callback_user_command = p_i_callback_user_command.
ap_i_callback_top_of_page = p_i_callback_top_of_page.
ap_i_callback_html_top_of_page = p_i_callback_html_top_of_page.
ap_i_callback_html_end_of_list = p_i_callback_html_end_of_list.
ap_i_structure_name = p_i_structure_name.
ap_i_background_id = p_i_background_id.
ap_i_grid_title = p_i_grid_title.
ap_i_grid_settings = p_i_grid_settings.
aw_is_layout-dummy = p_layout_dummy.
aw_is_layout-no_colhead = p_layout_no_colhead.
aw_is_layout-no_hotspot = p_layout_no_hotspot.
aw_is_layout-zebra = p_layout_zebra.
aw_is_layout-no_vline = p_layout_no_vline.
aw_is_layout-no_hline = p_layout_no_hline.
aw_is_layout-cell_merge = p_layout_cell_merge.
aw_is_layout-edit = p_layout_edit.
aw_is_layout-edit_mode = p_layout_edit_mode.
aw_is_layout-numc_sum = p_layout_numc_sum.
aw_is_layout-no_input = p_layout_no_input.
aw_is_layout-f2code = p_layout_f2code.
aw_is_layout-reprep = p_layout_reprep.
aw_is_layout-no_keyfix = p_layout_no_keyfix.
aw_is_layout-expand_all = p_layout_expand_all.
aw_is_layout-no_author = p_layout_no_author.
aw_is_layout-def_status = p_layout_def_status.
aw_is_layout-item_text = p_layout_item_text.
aw_is_layout-countfname = p_layout_countfname.
aw_is_layout-colwidth_optimize = p_layout_colwidth_optimize.
aw_is_layout-no_min_linesize = p_layout_no_min_linesize.
aw_is_layout-min_linesize = p_layout_min_linesize.
aw_is_layout-max_linesize = p_layout_max_linesize.
aw_is_layout-window_titlebar = p_layout_window_titlebar.
aw_is_layout-no_uline_hs = p_layout_no_uline_hs.
aw_is_layout-lights_fieldname = p_layout_lights_fieldname.
aw_is_layout-lights_tabname = p_layout_lights_tabname.
aw_is_layout-lights_rollname = p_layout_lights_rollname.
aw_is_layout-lights_condense = p_layout_lights_condense.
aw_is_layout-no_sumchoice = p_layout_no_sumchoice.
aw_is_layout-no_totalline = p_layout_no_totalline.
aw_is_layout-no_subchoice = p_layout_no_subchoice.
aw_is_layout-no_subtotals = p_layout_no_subtotals.
aw_is_layout-no_unit_splitting = p_layout_no_unit_splitting.
aw_is_layout-totals_before_items = p_layout_totals_before_items.
aw_is_layout-totals_only = p_layout_totals_only.
aw_is_layout-totals_text = p_layout_totals_text.
aw_is_layout-subtotals_text = p_layout_subtotals_text.
aw_is_layout-box_fieldname = p_layout_box_fieldname.
aw_is_layout-box_tabname = p_layout_box_tabname.
aw_is_layout-box_rollname = p_layout_box_rollname.
aw_is_layout-expand_fieldname = p_layout_expand_fieldname.
aw_is_layout-hotspot_fieldname = p_layout_hotspot_fieldname.
aw_is_layout-confirmation_prompt = p_layout_confirmation_prompt.
aw_is_layout-key_hotspot = p_layout_key_hotspot.
aw_is_layout-flexible_key = p_layout_flexible_key.
aw_is_layout-group_buttons = p_layout_group_buttons.
aw_is_layout-get_selinfos = p_layout_get_selinfos.
aw_is_layout-group_change_edit = p_layout_group_change_edit.
aw_is_layout-no_scrolling = p_layout_no_scrolling.
aw_is_layout-detail_popup = p_layout_detail_popup.
aw_is_layout-detail_initial_lines = p_layout_detail_initial_lines.
aw_is_layout-detail_titlebar = p_layout_detail_titlebar.
aw_is_layout-header_text = p_layout_header_text.
aw_is_layout-default_item = p_layout_default_item.
aw_is_layout-info_fieldname = p_layout_info_fieldname.
aw_is_layout-coltab_fieldname = p_layout_coltab_fieldname.
aw_is_layout-list_append = p_layout_list_append.
aw_is_layout-xifunckey = p_layout_xifunckey.
aw_is_layout-xidirect = p_layout_xidirect.
aw_is_layout-dtc_layout = p_layout_dtc_layout.
aw_is_layout-allow_switch_to_list = p_layout_allow_switch_to_list.
aw_is_sel_hide-mode = p_hide_mode.
aw_is_sel_hide-t_entries = p_hide_t_entries.
ap_i_default = p_i_default.
ap_i_save = p_i_save.
aw_is_variant-report = p_variant_report. "UNA EN ESPECIAL
aw_is_variant-handle = p_variant_handle.
aw_is_variant-log_group = p_variant_log_group.
aw_is_variant-username = p_variant_username.
aw_is_variant-variant = p_variant_variant.
aw_is_variant-text = p_variant_text.
aw_is_variant-dependvars = p_variant_dependvars.
aw_is_print-print = p_print_print.
aw_is_print-prnt_title = p_print_prnt_title.
aw_is_print-footline = p_print_footline.
aw_is_print-prnt_info = p_print_prnt_info.
aw_is_print-no_print_selinfos = p_print_no_print_selinfos.
aw_is_print-no_coverpage = p_print_no_coverpage.
aw_is_print-no_new_page = p_print_no_new_page.
aw_is_print-reserve_lines = p_print_reserve_lines.
aw_is_print-no_print_listinfos = p_print_no_print_listinfos.
aw_is_print-no_change_print_params = p_print_no_change_print_params.
aw_is_print-no_print_hierseq_item = p_print_no_print_hierseq_item.
aw_is_print-print_ctrl = p_print_print_ctrl.
aw_is_reprep_id-tool = p_reprepid_tool.
aw_is_reprep_id-appl = p_reprepid_appl.
aw_is_reprep_id-subc = p_reprepid_subc.
aw_is_reprep_id-onam = p_reprepid_onam.
ap_i_screen_start_column = p_i_screen_start_column.
ap_i_screen_start_line = p_i_screen_start_line.
ap_i_screen_end_column = p_i_screen_end_column.
ap_i_screen_end_line = p_i_screen_end_line.
ap_i_html_height_top = p_i_html_height_top.
ap_i_html_height_end = p_i_html_height_end.
ao_ir_salv_fullscreen_adapter = p_ir_salv_fullscreen_adapter.
ENDMETHOD.
METHOD CHARGE_T_SPECIAL_GROUPS.
DATA: aw_sg TYPE slis_sp_group_alv.
CLEAR aw_sg.
aw_sg-sp_group = p_sp_group.
aw_sg-text = p_text.
APPEND aw_sg TO at_it_special_groups.
ENDMETHOD.
METHOD CHARGE_T_SORT.
DATA: aw_sort TYPE slis_sortinfo_alv.
CLEAR aw_sort.
aw_sort-spos = p_spos.
aw_sort-fieldname = p_fieldname.
aw_sort-tabname = p_tabname.
aw_sort-up = p_up.
aw_sort-down = p_down.
aw_sort-group = p_group.
aw_sort-subtot = p_subtot.
aw_sort-comp = p_comp.
aw_sort-expa = p_expa.
aw_sort-obligatory = p_obligatory.
APPEND aw_sort TO at_it_sort.
ENDMETHOD.
METHOD CHARGE_T_FILTER.
DATA: aw_filter TYPE slis_filter_alv.
CLEAR aw_filter.
aw_filter-fieldname = p_fieldname.
aw_filter-tabname = p_tabname.
aw_filter-seltext = p_seltext.
aw_filter-valuf = p_valuf.
aw_filter-valut = p_valut.
aw_filter-valuf_int = p_valuf_int.
aw_filter-valut_int = p_valut_int.
aw_filter-sign0 = p_sign0.
aw_filter-sign_icon = p_sign_icon.
aw_filter-optio = p_optio.
aw_filter-stype = p_stype.
aw_filter-decimals = p_decimals.
aw_filter-intlen = p_intlen.
aw_filter-convexit = p_convexit.
aw_filter-edit_mask = p_edit_mask.
aw_filter-lowercase = p_lowercase.
aw_filter-inttype = p_inttype.
aw_filter-datatype = p_datatype.
aw_filter-exception = p_exception.
aw_filter-no_sign = p_no_sign.
aw_filter-or = p_or.
aw_filter-order = p_order.
aw_filter-cqvalue = p_cqvalue.
aw_filter-ref_fieldname = p_ref_fieldname.
aw_filter-ref_tabname = p_ref_tabname.
aw_filter-ddic_outputlen = p_ddic_outputlen.
APPEND aw_filter TO at_it_filter.
ENDMETHOD.
METHOD CHARGE_T_EVENTS.
DATA: aw_events TYPE slis_alv_event.
CLEAR aw_events.
aw_events-name = p_name.
aw_events-form = p_form.
APPEND aw_events TO at_it_events.
ENDMETHOD.
METHOD CHARGE_T_EVENTS_EXITS.
DATA: aw_event_e TYPE slis_event_exit.
CLEAR aw_event_e.
aw_event_e-ucomm = p_ucomm.
aw_event_e-before = p_before.
aw_event_e-after = p_after.
APPEND aw_event_e TO at_it_event_exit.
ENDMETHOD.
METHOD CHARGE_T_GRAPHIC.
DATA: aw_graph TYPE dtc_s_tc.
CLEAR aw_graph.
aw_graph-prop_id = p_prop_id.
aw_graph-prop_val = p_prop_val.
APPEND aw_graph TO at_it_alv_graphics.
ENDMETHOD.
METHOD DEFINE_EVENTS.
DATA: d_event TYPE slis_alv_event.
DATA: t_events TYPE TABLE OF slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = t_events.
IF p_item_data_expand = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_item_data_expand
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_item_data_expand TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_reprep_sel_modify = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_reprep_sel_modify
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_reprep_sel_modify TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_caller_exit = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_caller_exit_at_start
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_caller_exit_at_start TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_user_command = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_user_command
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_user_command TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_top_of_page = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_top_of_page
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_top_of_page TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_data_changed = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_data_changed
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_data_changed TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_top_of_coverpage = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_top_of_coverpage
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_top_of_coverpage TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_end_of_coverpage = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_end_of_coverpage
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_end_of_coverpage TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_foreign_top_of_page = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_foreign_top_of_page
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_foreign_top_of_page TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_foreign_end_of_page = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_foreign_end_of_page
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_foreign_end_of_page TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_pf_status_set = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_pf_status_set
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_pf_status_set TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_list_modify = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_list_modify
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_list_modify TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_top_of_list = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_top_of_list
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_top_of_list TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_end_of_page = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_end_of_page
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_end_of_page TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_end_of_list = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_end_of_list
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_end_of_list TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_after_line_output = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_after_line_output
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_after_line_output TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_before_line_output = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_before_line_output
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_before_line_output TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_subtotal_text = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_subtotal_text
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_subtotal_text TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_grouplevel_change = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_grouplevel_change
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_grouplevel_change TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
IF p_context_menu = 'X'.
READ TABLE t_events WITH KEY name = slis_ev_context_menu
INTO d_event.
IF sy-subrc <= 2.
MOVE slis_ev_context_menu TO d_event-form.
APPEND d_event TO t_events.
ENDIF.
ENDIF.
at_it_events = t_events.
ENDMETHOD.
METHOD HIDE_FUNCTIONS.
IF p_mc_fc_auf = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_auf TO at_it_excluding.
ENDIF.
IF p_mc_fc_average = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_average TO at_it_excluding.
ENDIF.
IF p_mc_fc_back_classic = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_back_classic TO at_it_excluding.
ENDIF.
IF p_mc_fc_call_abc = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_call_abc TO at_it_excluding.
ENDIF.
IF p_mc_fc_call_chain = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_call_chain TO at_it_excluding.
ENDIF.
IF p_mc_fc_call_crbatch = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_call_crbatch TO at_it_excluding.
ENDIF.
IF p_mc_fc_call_crweb = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_call_crweb TO at_it_excluding.
ENDIF.
IF p_mc_fc_call_lineitems = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_call_lineitems TO at_it_excluding.
ENDIF.
IF p_mc_fc_call_master_data = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_call_master_data TO at_it_excluding.
ENDIF.
IF p_mc_fc_call_more = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_call_more TO at_it_excluding.
ENDIF.
IF p_mc_fc_call_report = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_call_report TO at_it_excluding.
ENDIF.
IF p_mc_fc_call_xint = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_call_xint TO at_it_excluding.
ENDIF.
IF p_mc_fc_call_xxl = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_call_xxl TO at_it_excluding.
ENDIF.
IF p_mc_fc_check = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_check TO at_it_excluding.
ENDIF.
IF p_mc_fc_col_invisible = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_col_invisible TO at_it_excluding.
ENDIF.
IF p_mc_fc_col_optimize = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_col_optimize TO at_it_excluding.
ENDIF.
IF p_mc_fc_count = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_count TO at_it_excluding.
ENDIF.
IF p_mc_fc_current_variant = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_current_variant TO at_it_excluding.
ENDIF.
IF p_mc_fc_data_save = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_data_save TO at_it_excluding.
ENDIF.
IF p_mc_fc_delete_filter = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_delete_filter TO at_it_excluding.
ENDIF.
IF p_mc_fc_deselect_all = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_deselect_all TO at_it_excluding.
ENDIF.
IF p_mc_fc_detail = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_detail TO at_it_excluding.
ENDIF.
IF p_mc_fc_excl_all = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_excl_all TO at_it_excluding.
ENDIF.
IF p_mc_fc_expcrdata = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_expcrdata TO at_it_excluding.
ENDIF.
IF p_mc_fc_expcrdesig = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_expcrdesig TO at_it_excluding.
ENDIF.
IF p_mc_fc_expcrtempl = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_expcrtempl TO at_it_excluding.
ENDIF.
IF p_mc_fc_expmdb = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_expmdb TO at_it_excluding.
ENDIF.
IF p_mc_fc_extend = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_extend TO at_it_excluding.
ENDIF.
IF p_mc_fc_f4 = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_f4 TO at_it_excluding.
ENDIF.
IF p_mc_fc_filter = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_filter TO at_it_excluding.
ENDIF.
IF p_mc_fc_find = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_find TO at_it_excluding.
ENDIF.
IF p_mc_fc_fix_columns = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_fix_columns TO at_it_excluding.
ENDIF.
IF p_mc_fc_graph = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_graph TO at_it_excluding.
ENDIF.
IF p_mc_fc_help = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_help TO at_it_excluding.
ENDIF.
IF p_mc_fc_html = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_html TO at_it_excluding.
ENDIF.
IF p_mc_fc_info = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_info TO at_it_excluding.
ENDIF.
IF p_mc_fc_load_variant = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_load_variant TO at_it_excluding.
ENDIF.
IF p_mc_fc_loc_append_row = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_loc_append_row TO at_it_excluding.
ENDIF.
IF p_mc_fc_loc_copy = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_loc_copy TO at_it_excluding.
ENDIF.
IF p_mc_fc_loc_copy_row = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_loc_copy_row TO at_it_excluding.
ENDIF.
IF p_mc_fc_loc_cut = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_loc_cut TO at_it_excluding.
ENDIF.
IF p_mc_fc_loc_delete_row = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_loc_delete_row TO at_it_excluding.
ENDIF.
IF p_mc_fc_loc_insert_row = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_loc_insert_row TO at_it_excluding.
ENDIF.
IF p_mc_fc_loc_move_row = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_loc_move_row TO at_it_excluding.
ENDIF.
IF p_mc_fc_loc_paste = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_loc_paste TO at_it_excluding.
ENDIF.
IF p_mc_fc_loc_paste_new_row = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_loc_paste_new_row TO at_it_excluding.
ENDIF.
IF p_mc_fc_loc_undo = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_loc_undo TO at_it_excluding.
ENDIF.
IF p_mc_fc_maintain_variant = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_maintain_variant TO at_it_excluding.
ENDIF.
IF p_mc_fc_maximum = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_maximum TO at_it_excluding.
ENDIF.
IF p_mc_fc_minimum = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_minimum TO at_it_excluding.
ENDIF.
IF p_mc_fc_pc_file = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_pc_file TO at_it_excluding.
ENDIF.
IF p_mc_fc_print = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_print TO at_it_excluding.
ENDIF.
IF p_mc_fc_print_back = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_print_back TO at_it_excluding.
ENDIF.
IF p_mc_fc_print_prev = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_print_prev TO at_it_excluding.
ENDIF.
IF p_mc_fc_refresh = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_refresh TO at_it_excluding.
ENDIF.
IF p_mc_fc_save_variant = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_save_variant TO at_it_excluding.
ENDIF.
IF p_mc_fc_select_all = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_select_all TO at_it_excluding.
ENDIF.
IF p_mc_fc_send = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_send TO at_it_excluding.
ENDIF.
IF p_mc_fc_separator = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_separator TO at_it_excluding.
ENDIF.
IF p_mc_fc_sort = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_sort TO at_it_excluding.
ENDIF.
IF p_mc_fc_sort_asc = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_sort_asc TO at_it_excluding.
ENDIF.
IF p_mc_fc_sort_dsc = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_sort_dsc TO at_it_excluding.
ENDIF.
IF p_mc_fc_subtot = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_subtot TO at_it_excluding.
ENDIF.
IF p_mc_fc_sum = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_sum TO at_it_excluding.
ENDIF.
IF p_mc_fc_to_office = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_to_office TO at_it_excluding.
ENDIF.
IF p_mc_fc_to_rep_tree = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_to_rep_tree TO at_it_excluding.
ENDIF.
IF p_mc_fc_unfix_columns = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_unfix_columns TO at_it_excluding.
ENDIF.
IF p_mc_fc_url_copy_to_clipboard = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_url_copy_to_clipboard TO at_it_excluding.
ENDIF.
IF p_mc_fc_variant_admin = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_variant_admin TO at_it_excluding.
ENDIF.
IF p_mc_fc_views = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_views TO at_it_excluding.
ENDIF.
IF p_mc_fc_view_crystal = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_view_crystal TO at_it_excluding.
ENDIF.
IF p_mc_fc_view_excel = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_view_excel TO at_it_excluding.
ENDIF.
IF p_mc_fc_view_grid = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_view_grid TO at_it_excluding.
ENDIF.
IF p_mc_fc_view_lotus = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_view_lotus TO at_it_excluding.
ENDIF.
IF p_mc_fc_word_processor = 'X'.
APPEND cl_gui_alv_grid=>mc_fc_word_processor TO at_it_excluding.
ENDIF.
ENDMETHOD. "hide_functions
METHOD CHANGE_ICON.
DATA: status_icon TYPE icons-text.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = p_item_image
text = p_text
info = p_text2
add_stdinf = 'X'
IMPORTING
RESULT = status_icon
EXCEPTIONS
icon_not_found = 1
outputfield_too_short = 2
OTHERS = 3.
p_item_image = status_icon.
ENDMETHOD.
METHOD BUILD_VARIANT.
IF p_i_save IS INITIAL.
p_i_save = 'A'.
ENDIF.
IF p_variant-variant IS INITIAL.
p_variant-variant = '/STANDARD'.
ENDIF.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = p_i_save
CHANGING
cs_variant = p_variant
EXCEPTIONS
not_found = 2.
ap_i_save = p_i_save.
aw_is_variant = p_variant.
ENDMETHOD.
METHOD INITIALIZE.
REFRESH at_it_fieldcat.
REFRESH at_it_excluding.
REFRESH at_it_special_groups.
REFRESH at_it_sort.
REFRESH at_it_filter.
REFRESH at_it_events.
REFRESH at_it_event_exit.
REFRESH at_it_alv_graphics.
ENDMETHOD.
HOLA ME SALE UN ERROR AL EJECUTAR EL ZCL_ALV_GRID_MAIN.
ResponderEliminarTHE TYPE "SLIS_T_LISTHEADER" IS UNKNOWN