- REPORT zini_prg_plantilla.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ PLANTILLA DE PROGRAMACION OOP
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ Pa'lante
- CLASS zini_cl_DATA DEFINITION DEFERRED.
- CLASS zini_cl_EVENTS DEFINITION DEFERRED.
- CLASS zini_cl_MAIN DEFINITION DEFERRED.
- CLASS zini_cl_PARAMS DEFINITION DEFERRED.
- CLASS zini_cl_DYNPRO DEFINITION DEFERRED.
- CLASS zini_cl_bridge DEFINITION DEFERRED.
- CLASS ZINI_cl_ALV DEFINITION DEFERRED.
- CLASS ZINI_cl_ALV_event DEFINITION DEFERRED.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ DEFINICION PARAMETROS : Importa los parámetros de un report
- CLASS zini_cl_bridge DEFINITION FINAL .
- PUBLIC SECTION.
- TYPES: BEGIN OF ty_family,
- my_bridge TYPE REF TO zini_cl_bridge,
- my_data TYPE REF TO zini_cl_data,
- my_events TYPE REF TO zini_cl_events,
- my_main TYPE REF TO zini_cl_main,
- my_dynpro TYPE REF TO zini_cl_dynpro,
- my_alv type REF TO zini_cl_alv,
- END OF ty_family.
- DATA: my_family TYPE ty_family.
- METHODS: constructor,
- sync_family.
- ENDCLASS.
- CLASS zini_cl_params DEFINITION FINAL.
- PUBLIC SECTION.
- CONSTANTS: c_version TYPE string VALUE '01.03'.
- *--[ 01.00 - BASE de la plantilla
- *--[ 01.01 - Anyadido BRIDGE de comunicaciones para gobernarlos a todos
- *--[ 01.02 - Anyadido clase de eventos ALV de ejemplo
- *--[ 01.03 - Anyadido creacion de ALVs
- TYPES: BEGIN OF ty_params,
- name(8),
- kind TYPE rsscr_kind, "S / P
- length TYPE i, "<--- hay que / 2
- dtyp(4),
- objeto TYPE REF TO data,
- END OF ty_params.
- DATA: t_tab TYPE STANDARD TABLE OF ty_params.
- METHODS:
- constructor IMPORTING p_report TYPE string,
- load_params,
- get_param IMPORTING p_name TYPE string
- EXPORTING p_valor_s TYPE ANY TABLE
- p_valor_p TYPE any,
- set_param IMPORTING p_name TYPE string
- p_valor_s TYPE ANY TABLE OPTIONAL
- p_valor_p TYPE any OPTIONAL.
- PRIVATE SECTION.
- DATA: l_REPORT TYPE rsvar-report,
- t_selctab TYPE STANDARD TABLE OF rsscr,
- l_tab LIKE LINE OF t_tab.
- ENDCLASS.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ DEFINICION DATA
- CLASS zini_cl_DATA DEFINITION FINAL.
- PUBLIC SECTION.
- DATA: my_params TYPE REF TO zini_cl_params,
- *--[ Controles Generales
- g_error TYPE sysubrc,
- g_test TYPE xfeld,
- *--[ Controles de pantallas
- g_okcode TYPE sy-ucomm,
- g_save TYPE xfeld.
- METHODS constructor.
- ENDCLASS.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ DEFINICION : MAIN
- CLASS zini_cl_main DEFINITION FINAL.
- PUBLIC SECTION.
- DATA: my_family TYPE zini_cl_bridge=>ty_family.
- METHODS: constructor,
- data_load,
- data_work,
- data_check,
- data_list.
- PRIVATE SECTION.
- METHODS:
- sync_family.
- ENDCLASS.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ DEFINICION : EVENTOS
- CLASS zini_cl_events DEFINITION FINAL.
- PUBLIC SECTION.
- DATA: my_family TYPE zini_cl_bridge=>ty_family.
- METHODS: constructor IMPORTING p_data TYPE REF TO zini_cl_DATA,
- eve_initialization,
- eve_start_of_selection,
- eve_end_of_selection.
- ENDCLASS.
- CLASS zini_cl_dynpro DEFINITION FINAL.
- PUBLIC SECTION.
- DATA: my_family TYPE zini_cl_bridge=>ty_family.
- METHODS: popup_to_save RETURNING VALUE(p_salir_sin_grabar) TYPE xfeld,
- pbo_xxxx,
- pai_xxxx,
- PAI_XXXXe. "<-- AT EXIT-COMMAND
- ENDCLASS.
- CLASS ZINI_cl_ALV_event DEFINITION FINAL.
- PUBLIC SECTION .
- DATA: my_family TYPE zini_cl_bridge=>ty_family.
- METHODS:
- handle_data_changed
- FOR EVENT data_changed OF cl_gui_alv_grid
- IMPORTING er_data_changed "Type Ref To CL_ALV_CHANGED_DATA_PROTOCOL
- e_onf4 "Type CHAR01
- e_onf4_before "Type CHAR01
- e_onf4_after "Type CHAR01
- e_ucomm, "Type SY-UCOMM
- handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
- IMPORTING e_object "Type Ref To CL_ALV_EVENT_TOOLBAR_SET
- e_interactive, "Type CHAR01
- handle_menu_button
- FOR EVENT menu_button OF cl_gui_alv_grid
- IMPORTING e_object "Type Ref To CL_CTMENU
- e_ucomm, "Type SY-UCOMM,
- handle_user_command FOR EVENT user_command OF cl_gui_alv_grid
- IMPORTING e_ucomm, "type sy-ucomm,
- handle_hotspot_click
- FOR EVENT hotspot_click OF cl_gui_alv_grid
- IMPORTING e_row_id "Type LVC_S_ROW
- e_column_id "Type LVC_S_COL
- es_row_no, "Type LVC_S_ROID
- handle_context_menu
- FOR EVENT context_menu_request OF cl_gui_alv_grid
- IMPORTING e_object.
- ENDCLASS.
- CLASS zini_cl_alv DEFINITION.
- PUBLIC SECTION.
- TYPES:
- BEGIN OF ty_alv,
- id TYPE i,
- name TYPE c LENGTH 50,
- grid TYPE REF TO cl_gui_alv_grid,
- layout TYPE lvc_s_layo,
- variant TYPE disvariant,
- t_fcat TYPE lvc_t_fcat,
- t_sort TYPE lvc_t_sort,
- toolbar TYPE ui_functions,
- filtros TYPE lvc_t_filt,
- event TYPE REF TO zini_cl_alv_event,
- END OF ty_alv.
- DATA: t_alv TYPE STANDARD TABLE OF ty_alv,
- G_alv TYPE ty_alv.
- DATA: my_family TYPE zini_cl_bridge=>ty_family.
- METHODS:
- constructor,
- get_alv IMPORTING i_name TYPE string OPTIONAL
- i_ID TYPE i OPTIONAL
- RETURNING VALUE(r_alv) TYPE ty_alv,
- set_alv IMPORTING i_ALV TYPE ty_alv,
- set_events IMPORTING I_data_changed TYPE xfeld OPTIONAL
- i_toolbar TYPE xfeld OPTIONAL
- i_menu TYPE xfeld OPTIONAL
- i_user_command TYPE xfeld OPTIONAL
- i_hotspot TYPE xfeld OPTIONAL
- i_context_menu TYPE xfeld OPTIONAL,
- create IMPORTING i_name TYPE string OPTIONAL
- i_parent TYPE REF TO CL_GUI_CONTAINER
- RETURNING VALUE(r_alv) TYPE ty_alv,
- set_fieldcatalog_ddic IMPORTING i_St_name TYPE string
- RETURNING VALUE(t_fcat) TYPE lvc_t_fcat,
- set_fieldcatalog_itab
- CHANGING t_table TYPE table
- RETURNING VALUE(t_fcat) TYPE lvc_t_fcat,
- set_display IMPORTING i_save TYPE char1 OPTIONAL
- i_id TYPE i OPTIONAL
- i_name TYPE string OPTIONAL
- CHANGING t_table TYPE table.
- PRIVATE SECTION.
- METHODS:
- alv_ini. "<-- Incializamos el ALV
- ENDCLASS.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ IMPLEMENTACIONES
- CLASS zini_cl_alv IMPLEMENTATION.
- METHOD set_events.
- CHECK g_alv IS NOT INITIAL.
- CHECK g_alv-grid IS NOT INITIAL.
- g_alv-event = NEW zini_cl_alv_event( ).
- g_alv-event->my_family = me->my_family.
- IF I_data_changed = abap_true.
- SET HANDLER g_alv-event->handle_data_changed FOR g_alv-grid.
- g_alv-grid->set_ready_for_input( 1 ).
- g_alv-grid->register_edit_event( cl_gui_alv_grid=>mc_evt_enter ).
- g_alv-grid->register_edit_event( cl_gui_alv_grid=>mc_evt_modified ).
- ENDIF.
- IF i_toolbar = abap_true.
- SET HANDLER g_alv-event->handle_toolbar FOR g_alv-grid.
- g_alv-grid->set_toolbar_interactive( ).
- ENDIF.
- IF i_menu = abap_true.
- SET HANDLER g_alv-event->handle_menu_button FOR g_alv-grid.
- g_alv-grid->set_toolbar_interactive( ).
- ENDIF.
- IF i_user_command = abap_true.
- SET HANDLER g_alv-event->handle_user_command FOR g_alv-grid.
- g_alv-grid->set_toolbar_interactive( ).
- ENDIF.
- IF i_hotspot = abap_true.
- SET HANDLER g_alv-event->handle_hotspot_click FOR g_alv-grid.
- ENDIF.
- IF i_context_menu = abap_true.
- SET HANDLER g_alv-event->handle_context_menu FOR g_alv-grid.
- ENDIF.
- t_alv[ id = g_alv-id ] = g_alv.
- ENDMETHOD.
- METHOD set_alv.
- TRY.
- t_ALV[ id = i_ALV-id ] = i_ALV.
- g_alv = i_alv. "<-- Por defecto
- CATCH cx_root.
- ENDTRY.
- ENDMETHOD.
- METHOD create.
- check i_parent is not INITIAL.
- CLEAR g_alv.
- alv_ini( ).
- g_alv-id = lines( t_alv ) + 1.
- g_alv-name = COND #( WHEN i_name IS SUPPLIED THEN i_name ELSE g_alv-id ).
- g_alv-grid = NEW cl_gui_alv_grid( i_parent = i_parent ).
- APPEND g_alv TO t_alv.
- r_alv = g_alv.
- ENDMETHOD.
- METHOD get_alv.
- CLEAR r_ALV.
- TRY.
- IF i_name IS SUPPLIED.
- r_alv = t_alv[ name = to_upper( i_name ) ].
- ELSEIF i_ID IS SUPPLIED.
- r_alv = t_alv[ id = i_id ].
- ENDIF.
- g_alv = r_alv. "<-- Metemos el global
- CATCH cx_root.
- CLEAR r_ALV.
- ENDTRY.
- ENDMETHOD.
- METHOD set_display.
- DATA(l_save) = CONV char01( '' ).
- IF i_save IS SUPPLIED.
- l_save = to_upper( i_save ).
- ENDIF.
- *I_SAVE = blank " sAVE layout option will not be there .
- *I_SAVE = 'X' " Global layout only
- *I_SAVE = 'A' " BOTH User specific and global
- *I_SAVE = 'U' " only user specific only
- IF l_save CO 'XAU '.
- ELSE.
- CLEAR l_save.
- ENDIF.
- IF i_name IS SUPPLIED OR i_id IS SUPPLIED.
- g_alv = get_alv( EXPORTING i_id = i_id i_name = to_upper( i_name ) ).
- ENDIF.
- G_alv-grid->set_table_for_first_display( "<-- Displayamos el por defecto
- EXPORTING
- i_buffer_active = abap_false
- i_bypassing_buffer = abap_true
- is_variant = g_alv-variant
- is_layout = g_alv-layout
- i_save = l_save
- it_toolbar_excluding = g_alv-toolbar
- CHANGING
- it_fieldcatalog = g_alv-t_fcat
- it_sort = g_alv-t_sort
- it_filter = g_alv-filtros
- it_outtab = t_table ).
- ENDMETHOD.
- METHOD set_fieldcatalog_itab.
- cl_salv_table=>factory( IMPORTING r_salv_table = DATA(l_alv) CHANGING t_table = t_table ).
- t_fcat = cl_salv_controller_metadata=>get_lvc_fieldcatalog(
- r_columns = l_alv->get_columns( )
- r_aggregations = l_alv->get_aggregations( ) ).
- ENDMETHOD.
- METHOD set_fieldcatalog_ddic.
- DATA(i_name) = CONV dd02l-tabname( to_upper( i_st_name ) ).
- CHECK i_name IS NOT INITIAL.
- CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
- EXPORTING
- i_buffer_active = abap_false
- i_structure_name = i_NAME
- i_client_never_display = 'X'
- i_bypassing_buffer = abap_true
- CHANGING
- ct_fieldcat = t_fcat
- EXCEPTIONS
- inconsistent_interface = 1
- program_error = 2
- OTHERS = 3.
- ENDMETHOD.
- METHOD constructor.
- ENDMETHOD.
- METHOD alv_ini.
- CLEAR g_ALV.
- me->G_alv-layout-zebra = abap_true.
- me->G_alv-layout-sel_mode = 'A'.
- me->G_alv-layout-cwidth_opt = abap_false.
- me->G_alv-variant-report = sy-repid.
- me->G_alv-variant-handle = '1'.
- ENDMETHOD.
- ENDCLASS.
- CLASS ZINI_cl_ALV_event IMPLEMENTATION.
- METHOD handle_context_menu.
- * IF node_key = 'Root'.
- * menu->add_function(
- * EXPORTING
- * fcode = 'APAQ'
- * text = 'Añadir Paquete'
- * ftype = abap_false ).
- *
- * ELSE.
- * menu->add_function(
- * EXPORTING
- * fcode = 'MDEL'
- * text = 'Borrar'
- * ftype = abap_false ).
- * endif.
- ENDMETHOD.
- METHOD handle_hotspot_click.
- * CASE e_column_id.
- * WHEN 'NOMBRE_CAMPO'.
- * endcase.
- ENDMETHOD.
- METHOD handle_menu_button.
- * e_object->add_function( fcode = di-menu-function
- * icon = di-menu-icon
- * text = di-menu-text ).
- ENDMETHOD.
- METHOD handle_toolbar.
- * e_object->mt_toolbar = VALUE #( BASE e_object->mt_toolbar
- * ( butn_type = 0
- * function = 'COPY'
- * icon = icon_system_copy
- * text = ''
- * quickinfo = 'Copiar Seleccionados'
- * disabled = abap_false )
- * ).
- ENDMETHOD.
- METHOD handle_user_command.
- * CASE e_ucomm.
- * WHEN 'XXXX'.
- * endcase.
- ENDMETHOD.
- METHOD handle_data_changed.
- * LOOP AT er_data_changed->MT_deleted_rows INTO DATA(l_row).
- * ENDLOOP.
- *
- * LOOP AT er_data_changed->mt_inserted_rows INTO DATA(l_ins).
- * ENDLOOP.
- *
- * LOOP AT er_data_changed->mt_good_cells INTO DATA(ls_good).
- *
- * CHECK ls_good-fieldname CP 'XXXX'.
- *
- * DATA(l_campo) = ls_good-fieldname.
- * CALL METHOD er_data_changed->modify_cell
- * EXPORTING
- * i_row_id = ls_good-row_id
- * i_fieldname = CONV #( l_campo )
- * i_value = sy-uname.
- *
- * ENDLOOP.
- ENDMETHOD.
- ENDCLASS.
- CLASS zini_cl_dynpro IMPLEMENTATION.
- METHOD pbo_xxxx.
- CASE sy-dynnr.
- WHEN '0100'.
- WHEN '0200'.
- WHEN '0300'.
- ENDCASE.
- ENDMETHOD.
- METHOD pai_xxxx.
- CASE sy-dynnr.
- WHEN '0100'.
- WHEN '0200'.
- WHEN '0300'.
- ENDCASE.
- ENDMETHOD.
- METHOD PAI_XXXXe.
- CASE sy-dynnr.
- WHEN '0100'.
- WHEN '0200'.
- WHEN '0300'.
- ENDCASE.
- ENDMETHOD.
- METHOD popup_to_save.
- CLEAR p_salir_sin_grabar.
- IF my_family-my_data->G_test = abap_true.
- p_salir_sin_grabar = abap_true.
- EXIT.
- ENDIF.
- DATA: l_ans(1).
- CALL FUNCTION 'POPUP_TO_CONFIRM'
- EXPORTING
- titlebar = TEXT-z01 "<-- ¡Advertencia!
- * DIAGNOSE_OBJECT = ' '
- text_question = TEXT-z02 "¿Desea salir sin grabar?
- text_button_1 = TEXT-z03 "Sí
- text_button_2 = TEXT-z04 "No
- default_button = '2'
- display_cancel_button = abap_false
- start_column = 50
- iv_quickinfo_button_1 = TEXT-z05 "<-- Salir sin grabar
- iv_quickinfo_button_2 = TEXT-z06 "<-- Cancelar acción
- IMPORTING
- answer = l_ans
- EXCEPTIONS
- text_not_found = 1
- OTHERS = 2.
- IF sy-subrc EQ 0.
- IF l_ans = '1'.
- *--[ Bye Bye Bye
- p_salir_sin_grabar = abap_true.
- ENDIF.
- ENDIF.
- ENDMETHOD.
- ENDCLASS.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ IMPLEMETACION : PARAMETROS
- CLASS zini_cl_params IMPLEMENTATION.
- METHOD set_param.
- FIELD-SYMBOLS: <fft> TYPE table, <ff> TYPE any.
- CHECK p_name IS NOT INITIAL.
- TRY.
- DATA(l_tipo) = t_tab[ name = to_upper( p_name ) ]-kind.
- DATA(l_new) = t_tab[ name = to_upper( p_name ) ]-objeto.
- CASE l_tipo.
- WHEN 'S'. ASSIGN l_new->* TO <fft>. <fft> = p_valor_s.
- WHEN 'P'. ASSIGN l_new->* TO <ff>. <ff> = p_valor_p.
- ENDCASE.
- CATCH cx_root.
- CLEAR sy-subrc.
- ENDTRY.
- ENDMETHOD.
- METHOD get_param.
- FIELD-SYMBOLS: <fft> TYPE table, <ff> TYPE any.
- CHECK p_name IS NOT INITIAL.
- TRY.
- DATA(l_tipo) = t_tab[ name = to_upper( p_name ) ]-kind.
- DATA(l_new) = t_tab[ name = to_upper( p_name ) ]-objeto.
- CASE l_tipo.
- WHEN 'S'. ASSIGN l_new->* TO <fft>. p_valor_s = <fft>.
- WHEN 'P'. ASSIGN l_new->* TO <ff>. p_valor_p = <ff>.
- ENDCASE.
- CATCH cx_root.
- CLEAR sy-subrc.
- ENDTRY.
- ENDMETHOD.
- METHOD constructor.
- l_report = p_report.
- load_params( ).
- ENDMETHOD.
- METHOD load_params.
- REFRESH: t_tab, t_selctab.
- PERFORM load_sscr IN PROGRAM rsdbrunt TABLES t_selctab
- USING l_REPORT
- CHANGING sy-subrc.
- LOOP AT t_selctab INTO DATA(l_f) WHERE kind CA 'SP'.
- MOVE-CORRESPONDING l_f TO l_tab.
- l_tab-length = l_tab-length DIV 2.
- CASE l_tab-kind.
- WHEN 'P'.
- CREATE DATA l_tab-objeto TYPE (l_f-type) LENGTH l_tab-length.
- WHEN 'S'.
- DATA:
- gr_structdescr TYPE REF TO cl_abap_structdescr,
- gr_tabledescr TYPE REF TO cl_abap_tabledescr,
- gr_datadescr TYPE REF TO cl_abap_datadescr,
- * gr_typedescr TYPE REF TO cl_abap_typedescr,
- gt_components TYPE abap_component_tab,
- gw_component TYPE LINE OF abap_component_tab,
- gr_wa TYPE REF TO data,
- gr_tab TYPE REF TO data.
- FIELD-SYMBOLS: <fs_wa> TYPE any.
- FIELD-SYMBOLS: <fs_tab> TYPE table.
- MOVE 'SIGN' TO gw_component-name.
- REFRESH gt_components.
- gw_component-type ?= cl_abap_elemdescr=>get_c( p_length = 1 ).
- INSERT gw_component INTO TABLE gt_components.
- MOVE 'OPTION' TO gw_component-name.
- gw_component-type ?= cl_abap_elemdescr=>get_c( p_length = 2 ).
- INSERT gw_component INTO TABLE gt_components.
- MOVE 'LOW' TO gw_component-name.
- gw_component-type ?= cl_abap_elemdescr=>get_c( p_length = l_tab-length ).
- INSERT gw_component INTO TABLE gt_components.
- MOVE 'HIGH' TO gw_component-name.
- gw_component-type ?= cl_abap_elemdescr=>get_c( p_length = l_tab-length ).
- INSERT gw_component INTO TABLE gt_components.
- * get structure descriptor -> GR_STRUCTDESCR
- gr_structdescr ?= cl_abap_structdescr=>create( gt_components ).
- * create work area of structure GR_STRUCTDESCR -> GR_WA
- CREATE DATA gr_wa TYPE HANDLE gr_structdescr.
- ASSIGN gr_wa->* TO <fs_wa>.
- gr_datadescr ?= gr_structdescr.
- gr_tabledescr ?= cl_abap_tabledescr=>create( gr_datadescr ).
- * Create dynmaic internal table
- CREATE DATA l_tab-objeto TYPE HANDLE gr_tabledescr.
- ENDCASE.
- APPEND l_tab TO t_tab.
- AT LAST.
- *--[ Cargamos los registros
- FIELD-SYMBOLS: <f_so> TYPE ANY TABLE,
- <f_pa> TYPE any.
- LOOP AT t_tab INTO l_tab.
- CASE l_tab-kind .
- WHEN 'S'.
- DATA(l_name) = |{ l_tab-name }[]|.
- ASSIGN (l_name) TO <f_so>.
- set_param( EXPORTING p_name = CONV #( l_tab-name ) p_valor_s = <f_so>[] ).
- WHEN 'P'.
- ASSIGN (l_tab-name) TO <f_pa>.
- set_param( EXPORTING p_name = CONV #( l_tab-name ) p_valor_p = <f_pa> ).
- ENDCASE.
- ENDLOOP.
- ENDAT.
- ENDLOOP.
- ENDMETHOD.
- ENDCLASS.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ IMPLEMETACION : data
- CLASS zini_cl_data IMPLEMENTATION. "<-- Definición de los DATOS
- METHOD constructor.
- my_params = NEW zini_cl_params( CONV #( sy-repid ) ).
- * l_param->get_param( EXPORTING p_name = 'P_01' IMPORTING p_valor_p = p_norel ).
- * l_param->get_param( EXPORTING p_name = 'S_fecha' IMPORTING p_valor_s = ff ).
- ENDMETHOD.
- ENDCLASS.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ IMPLEMETACION : EVENTOS
- CLASS zini_cl_events IMPLEMENTATION.
- METHOD constructor.
- my_family-my_data = p_data.
- ENDMETHOD.
- METHOD eve_initialization.
- ENDMETHOD.
- METHOD eve_start_of_selection.
- my_family-my_data->my_params->load_params( ). " Rrecargamos
- my_family-my_main->data_load( ).
- ENDMETHOD.
- METHOD eve_end_of_selection.
- my_family-my_main->data_list( ).
- ENDMETHOD.
- ENDCLASS.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *--[ IMPLEMETACION : MAIN
- CLASS zini_cl_main IMPLEMENTATION.
- METHOD sync_family.
- *--[ Sincronizamos toda la familia
- MOVE-CORRESPONDING my_family-my_bridge->my_family TO: my_family,
- my_family-my_bridge->my_family-my_events->my_family,
- my_family-my_bridge->my_family-my_dynpro->my_family.
- ENDMETHOD.
- METHOD constructor.
- *--[ Creamos los objetos
- my_family-my_bridge = NEW zini_cl_bridge( ).
- my_family-my_bridge->my_family-my_data = NEW zini_cl_data( ).
- my_family-my_bridge->my_family-my_events = NEW zini_cl_events( my_family-my_data ).
- my_family-my_bridge->my_family-my_main = me.
- my_family-my_bridge->my_family-my_dynpro = NEW zini_cl_dynpro( ).
- my_family-my_bridge->my_family-my_alv = new zini_cl_alv( ).
- my_family-my_bridge->sync_family( ). "<-- Sincronizamos
- ENDMETHOD.
- METHOD data_load. ENDMETHOD.
- METHOD data_list. ENDMETHOD.
- METHOD data_work. ENDMETHOD.
- METHOD data_check. ENDMETHOD.
- ENDCLASS.
- CLASS zini_cl_bridge IMPLEMENTATION.
- METHOD constructor.
- my_family-my_bridge = me.
- ENDMETHOD.
- METHOD sync_family.
- *--[ Sincronizamos toda la familia
- MOVE-CORRESPONDING my_family-my_bridge->my_family TO: my_family-my_bridge->my_family-my_MAIN->my_family,
- my_family-my_bridge->my_family-my_events->my_family,
- my_family-my_bridge->my_family-my_dynpro->my_family,
- my_family-my_bridge->my_family-my_ALV->my_family.
- ENDMETHOD.
- ENDCLASS.
- INITIALIZATION.
- BREAK-POINT.
- DATA(my_main) = NEW zini_cl_main( ).
- my_main->my_family-my_events->eve_initialization( ).
- START-OF-SELECTION.
- my_main->my_family-my_events->eve_start_of_selection( ).
- END-OF-SELECTION.
- my_main->my_family-my_events->eve_end_of_selection( ).
Última modificación de la página el 03 May 2026 a las 07h35
Powered by
PmWiki