Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8065

Problem with exception 'CX_SALV_OBJECT_NOT_FOUND'

$
0
0

Hello everbody:

 

I have the next excecption when I run my code : cx_salv_objetc_not_found

 

This is my code:

 

 

REPORT  ZABRE005.

*----------------------------------------------------------------------*

* INCLUDES                                                             *

*----------------------------------------------------------------------*

INCLUDE ZABRE005A.           "Datos y Parametros Globales

INCLUDE ZABRE005B.           "Subrutinas

 

*----------------------------------------------------------------------*

* Proceso Principal

*----------------------------------------------------------------------*

START-OF-SELECTION.

 

   PERFORM f_get_data.

 

END-OF-SELECTION.

 

   IF NOT gt_data[] IS INITIAL. "is initial = vacia, if not tab[] is inital = sino  esta vacia ejecuta perform

     PERFORM f_procesar.

     PERFORM f_alv_grid_display.

   ENDIF.



**************************************************************************************************************************************



*&---------------------------------------------------------------------*

*&  Include           ZABRE005A

*&---------------------------------------------------------------------*

 

*----------------------------------------------------------------------*

* Includes

*----------------------------------------------------------------------*

INCLUDE <icon>.

 

*----------------------------------------------------------------------*

* TABLES / NODES

*----------------------------------------------------------------------*

TABLES: sflight.

 

*----------------------------------------------------------------------*

* Tipos

*----------------------------------------------------------------------*

TYPES: BEGIN OF ty_data.

         INCLUDE STRUCTURE sflight.

TYPES:

         carrname  TYPE s_carrname,

         cityfrom  TYPE s_from_cit,

         cityto    TYPE s_to_city.

TYPESEND OF ty_data.

 

*----------------------------------------------------------------------*

* Tablas / Estructuras

*----------------------------------------------------------------------*

DATA: gt_data TYPE TABLE OF ty_data,

       gs_data TYPE ty_data.

 

*----------------------------------------------------------------------*

* Reporte ALV

*----------------------------------------------------------------------*

DATA:

   r_container TYPE REF TO cl_gui_custom_container,

   lr_columns TYPE REF TO cl_salv_columns_table,

   lr_column  TYPE REF TO cl_salv_column,

   alv_table TYPE REF TO cl_salv_table. "referencia a la clase table del alv

 

** Declaration for ALV Grid **

DATA : gr_table TYPE REF TO cl_salv_table.

 

** Declarations for ALV Functions

DATA : gr_functions TYPE REF TO cl_salv_functions_list.

 

** Declarations for ALV Events

DATA: gr_events TYPE REF TO cl_salv_events_table.

 

 

** declaration for ALV Columns

DATA : gr_columns TYPE REF TO cl_salv_columns_table,

        gr_column_table  TYPE REF TO cl_salv_column_table,

        gr_column  TYPE REF TO cl_salv_column,

        lt_column_ref TYPE salv_t_column_ref,

        ls_column_ref TYPE salv_s_column_ref.

 

** declaration for Layout Settings

DATA : gr_layout TYPE REF TO cl_salv_layout,

        gr_layout_key TYPE salv_s_layout_key,

        ls_layout TYPE salv_s_layout,

        lt_layout_info TYPE salv_t_layout_info.

 

** Declaration for Global Display Settings

DATA : gr_display TYPE REF TO cl_salv_display_settings,

        lv_title   TYPE lvc_title.

 

** Declaration for Aggregate Function Settings

DATA : gr_aggr    TYPE REF TO cl_salv_aggregations.

 

** Declaration for Sort Function Settings

DATA : gr_sort    TYPE REF TO cl_salv_sorts.

 

** Declaration for Table Selection settings

DATA : gr_select  TYPE REF TO cl_salv_selections.

 

** Declaration for Top of List settings

DATA : gr_content TYPE REF TO cl_salv_form_element.

 

DATA:

*- Individual Column

       lt_salv_not_found   TYPE REF TO   cx_salv_not_found,

*- Exception class

         lv_msg              TYPE          string,

         lv_col_l            TYPE          scrtext_l,

         lv_col_m            TYPE          scrtext_m,

         lv_col_s            TYPE          scrtext_s.

 

*----------------------------------------------------------------------*

* Parametros

*----------------------------------------------------------------------*

SELECT-OPTIONS:

   s_carrid FOR sflight-carrid,

   s_connid FOR sflight-connid,

   s_fldate FOR sflight-fldate.

 

*----------------------------------------------------------------------*

* CLASS lcl_handle_events DEFINITION

*----------------------------------------------------------------------*

*

*----------------------------------------------------------------------*

CLASS lcl_handle_events DEFINITION.

   PUBLIC SECTION.

     METHODS:

     on_user_command FOR EVENT added_function OF cl_salv_events       IMPORTING e_salv_function,

     hotspot_click   FOR EVENT link_click     OF cl_salv_events_table IMPORTING row column.

ENDCLASS. "lcl_handle_events DEFINITION

 

DATA:

     event_handler TYPE REF TO lcl_handle_events.





***********************************************************************************************************************************************


*&---------------------------------------------------------------------*

*&  Include           ZABRE005B

*&---------------------------------------------------------------------*

 

*----------------------------------------------------------------------*

* CLASS lcl_handle_events IMPLEMENTATION

*----------------------------------------------------------------------*

*

*----------------------------------------------------------------------

CLASS lcl_handle_events IMPLEMENTATION.

   METHOD on_user_command.

     CASE sy-ucomm.

*      WHEN 'SNDTIM'.

*        PERFORM f_sndtim_data.

*      WHEN 'SNDCAN'.

*        PERFORM f_sndcan_data.

*      WHEN 'IMPXML'.

*        PERFORM f_impxml_data.

*      WHEN 'VIEXML'.

*        PERFORM f_viexml_data.

       WHEN 'REFRESH'.

         PERFORM f_refresh_data.

*      WHEN 'BDS'.

*        PERFORM f_bds_data.

*      WHEN 'DELETE'.

*        PERFORM f_delete_data.

*      WHEN 'MAIL'.

*        PERFORM f_mail_data.

*      WHEN 'PDF'.

*        PERFORM f_pdf_data.

*      WHEN 'PRNCFDI'.

*        PERFORM f_print_data.

*      WHEN OTHERS.

     ENDCASE.

   ENDMETHOD. "on_user_command

 

 

*    Method that check the event of double click in the grid         *

   METHOD hotspot_click.

     READ TABLE gt_data INDEX row INTO gs_data.

     CHECK sy-subrc = 0.

     CASE column.

       WHEN 'CARRID'.

         CALL FUNCTION 'DR_DISPLAY_CARRID'

           EXPORTING

             carrid = gs_data-carrid.

 

*        SET PARAMETER ID 'VF' FIELD gs_data-vbeln.

*        CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.

*      WHEN 'KUNRG'.

*        SET PARAMETER ID 'KUN' FIELD gs_data-kunrg.

*        CALL TRANSACTION 'FD03' AND SKIP FIRST SCREEN.

*      WHEN 'BELNR'.

*        SET PARAMETER ID 'BLN' FIELD gs_data-belnr.

*        SET PARAMETER ID 'BUK' FIELD gs_data-bukrs.

*        SET PARAMETER ID 'GJR' FIELD gs_data-gjahr.

*        CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

     ENDCASE.

   ENDMETHOD.                    "handle_double_click

ENDCLASS. "lcl_handle_events IMPLEMENTATION

*&---------------------------------------------------------------------*

*&      Form  F_GET_DATA

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM f_get_data .

 

   REFRESH gt_data.

   SELECT *

   INTO CORRESPONDING FIELDS OF TABLE gt_data

   FROM sflight AS a

   LEFT OUTER JOIN scarr AS b ON b~carrid = a~carrid

   LEFT OUTER JOIN spfli AS c ON c~carrid = a~carrid AND

                                 c~connid = a~connid

   WHERE

     a~carrid IN s_carrid AND

     a~connid IN s_connid AND

     a~fldate IN s_fldate.

 

ENDFORM.                    " F_GET_DATA

*&---------------------------------------------------------------------*

*&      Form  F_PROCESAR

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

 

 

FORM f_procesar .

   FIELD-SYMBOLS: <fs_data> TYPE ty_data.

   LOOP AT gt_data ASSIGNING <fs_data>.

 

   ENDLOOP.

ENDFORM.                    " F_PROCESAR

*&---------------------------------------------------------------------*

*&      Form  F_ALV_GRID_DISPLAY

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM f_alv_grid_display .

   CLEAR : gr_table.

 

   TRY.

       CALL METHOD cl_salv_table=>factory

         EXPORTING

           list_display = if_salv_c_bool_sap=>false

         IMPORTING

           r_salv_table = gr_table

         CHANGING

           t_table      = gt_data.

 

     CATCH cx_salv_msg .

   ENDTRY.

   IF gr_table IS INITIAL.

     MESSAGE 'Error Creando ALV Grid ' TYPE 'I' DISPLAY LIKE 'E'.

     STOP.

   ENDIF.

 

** SET PF-STATUS

   gr_table->set_screen_status(

           pfstatus = 'SALV_TABLE_STANDARD'

           report = sy-repid

           set_functions = gr_table->c_functions_all ).

 

** Set Customer Events

   gr_events = gr_table->get_event( ).

 

   CREATE OBJECT event_handler.

   SET HANDLER event_handler->on_user_command  FOR gr_events.

   SET HANDLER event_handler->hotspot_click    FOR gr_events.

 

** Get functions details

   gr_functions = gr_table->get_functions( ).

 

** Activate All Buttons in Tool Bar

   gr_functions->set_all( if_salv_c_bool_sap=>true ).

 

******* Layout Settings  *******

 

 

 

 

   CLEAR : gr_layout, gr_layout_key.

   MOVE sy-repid TO gr_layout_key-report.                        "Set Report ID as Layout Key"

 

   gr_layout = gr_table->get_layout( ).                          "Get Layout of Table"

   gr_layout->set_key( gr_layout_key ).                          "Set Report Id to Layout"

   gr_layout->set_save_restriction( if_salv_c_layout=>restrict_none ). "No Restriction to Save Layout"

*  IF p_var IS INITIAL.

   gr_layout->set_default( if_salv_c_bool_sap=>true ).         "Set Default Variant"

*  ELSE.

*    gr_layout->set_initial_layout( p_var ).                     "Set the Selected Variant as Initial"

*  ENDIF.

 

******* Global Display Settings  *******

   CLEAR : gr_display.

   lv_title = text-t01.

   gr_display = gr_table->get_display_settings( ).               " Global Display settings"

   gr_display->set_striped_pattern( if_salv_c_bool_sap=>true )"Activate Strip Pattern"

   gr_display->set_list_header( lv_title ).                      "Report Header"

 

 

*- Get all the Columns

   gr_columns = gr_table->get_columns( ).

*- Set Column optimization

   gr_columns->set_optimize( 'X' ).

 

*  CALL METHOD  gr_table->set_toolbar_interactive.

*... §7 selections

   DATA: lr_selections TYPE REF TO cl_salv_selections.

 

   lr_selections = gr_table->get_selections( ).

 

*... §7.1 set selection mode

   lr_selections->set_selection_mode( if_salv_c_selection_mode=>row_column ).

*----------------------------------------------------------------------*

*  Set column names

*----------------------------------------------------------------------*

   TRY.

       gr_column ?= gr_columns->get_column( 'MANDT' ).

       gr_column->set_technical( abap_true ).

 

       gr_column_table ?= gr_columns->get_column( 'CARRID' ).

       gr_column_table->set_cell_type( if_salv_c_cell_type=>hotspot ).

*

*      gr_column_table ?= gr_columns->get_column( 'KUNRG' ).

*      gr_column_table->set_cell_type( if_salv_c_cell_type=>hotspot ).

 

 

 

*

*      gr_column_table ?= gr_columns->get_column( 'BELNR' ).

*      gr_column_table->set_cell_type( if_salv_c_cell_type=>hotspot ).

*

*      gr_column ?= gr_columns->get_column( 'XML_CNT' ).

*      gr_column->set_long_text( 'XML' ).

*      gr_column->set_medium_text( 'XML' ).

*      gr_column->set_short_text( 'XML' ).

*

*      gr_column ?= gr_columns->get_column( 'PDF_CNT' ).

*      gr_column->set_long_text( 'PDF' ).

*      gr_column->set_medium_text( 'PDF' ).

*      gr_column->set_short_text( 'PDF' ).

 

     CATCH cx_salv_not_found.

     CATCH cx_salv_existing.

     CATCH cx_salv_data_error.

   ENDTRY.

*----------------------------------------------------------------------*

* Excluir Botones

*----------------------------------------------------------------------*

*  TRY.

*      CALL METHOD gr_functions->set_function

*        EXPORTING

*          name    = 'SNDTIM'

*          boolean = space.

*

*    CATCH cx_salv_not_found .

*    CATCH cx_salv_wrong_call .

*  ENDTRY.

 

*----------------------------------------------------------------------*

* Mostrar Reporte

*----------------------------------------------------------------------*

   CALL METHOD gr_table->display.

ENDFORM.                    " F_ALV_GRID_DISPLAY

*&---------------------------------------------------------------------*

*&      Form  F_REFRESH_DATA

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM f_refresh_data .

   PERFORM f_get_data.

   PERFORM f_procesar.

   gr_table->refresh( ).

ENDFORM.                    " F_REFRESH_DATA


Viewing all articles
Browse latest Browse all 8065

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>