Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

PARENT_IS_SPLITTER - GUI Control Dump

0 Likes
1,269

I am pressing a custom button in the ALV output (custom program) and getting a short dump with the title 'Exception condition "PARENT_IS_SPLITTER" raised'. This error is raised in a standard constructor CL_GUI_CONTROL. Code snippet from the dump is attached below. This error we got after upgraded the system from 4.6C to ECC6.0. Any help on this is much appreciated. .

DATA temp type ref to cl_gui_container.                             
    temp ?= parent.                                                                                
if not temp is initial.                                             
      if temp->get_container_type( ) =                                  
           cl_gui_container=>CONTAINER_TYPE_SPLITTER                    
           or                                                           
         temp->get_container_type( ) =                                  
                   cl_gui_container=>CONTAINER_TYPE_EASY_SPLITTER and   
                   clsid ne 'SAPGUI.SplitterCtrl.1' and                 
                   clsid ne 'com.sap.platin.cet.GuiSplitterShell'.      
* raise parent_is_splitter.    
      endif.                         
    endif.                           
                                     
    CALL METHOD ME->INIT_CONTROL     
     EXPORTING                       
       CLSID      = CLSID            
       SHELLSTYLE = temp_SHELLSTYLE  
       LIFETIME   = LIFETIME         
       PARENT     = TEMP             
       LICENSEKEY = LICENSEKEY       
       autoalign = autoalign         
     EXCEPTIONS                      
       CNTL_ERROR        = 1         
       CNTL_SYSTEM_ERROR = 2         
       CREATE_ERROR      = 3         
       LIFETIME_ERROR    = 4         
       OTHERS            = 5.        
    CASE SY-SUBRC.                   


Custom Report Code:

 CREATE OBJECT f2400_grid_success "cl_gui_alv_grid
    EXPORTING
      i_parent          = f2400_g_split_container.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

Moderator message - Please use code tags around your code

Edited by: Rob Burbank on Jan 13, 2010 12:22 PM

I am pressing a custom button in the ALV output (custom program) and getting a short dump with the title 'Exception condition "PARENT_IS_SPLITTER" raised'. This error is raised in a standard constructor CL_GUI_CONTROL. Code snippet from the dump is attached below. This error we got after upgraded the system from 4.6C to ECC6.0. Any help on this is much appreciated. .

DATA temp type ref to cl_gui_container.                             
    temp ?= parent.                                                                                
if not temp is initial.                                             
      if temp->get_container_type( ) =                                  
           cl_gui_container=>CONTAINER_TYPE_SPLITTER                    
           or                                                           
         temp->get_container_type( ) =                                  
                   cl_gui_container=>CONTAINER_TYPE_EASY_SPLITTER and   
                   clsid ne 'SAPGUI.SplitterCtrl.1' and                 
                   clsid ne 'com.sap.platin.cet.GuiSplitterShell'.      
* raise parent_is_splitter.    
      endif.                         
    endif.                           
                                     
    CALL METHOD ME->INIT_CONTROL     
     EXPORTING                       
       CLSID      = CLSID            
       SHELLSTYLE = temp_SHELLSTYLE  
       LIFETIME   = LIFETIME         
       PARENT     = TEMP             
       LICENSEKEY = LICENSEKEY       
       autoalign = autoalign         
     EXCEPTIONS                      
       CNTL_ERROR        = 1         
       CNTL_SYSTEM_ERROR = 2         
       CREATE_ERROR      = 3         
       LIFETIME_ERROR    = 4         
       OTHERS            = 5.        
    CASE SY-SUBRC.                   


Custom Report Code:

 CREATE OBJECT f2400_grid_success "cl_gui_alv_grid
    EXPORTING
      i_parent          = f2400_g_split_container.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

Moderator message - Please use code tags around your code

Edited by: Rob Burbank on Jan 13, 2010 12:22 PM

4 REPLIES 4
Read only

guilherme_frisoni
Contributor
0 Likes
975

Hi,

what type is f2400_g_split_container?

Frisoni

Read only

guilherme_frisoni
Contributor
0 Likes
975

Here is a quick example of object orders:


DATA: go_0210_spl TYPE REF TO cl_gui_splitter_container,
      go_0210_con TYPE REF TO cl_gui_container,
      go_0210_alv TYPE REF TO cl_gui_alv_grid.

  IF go_0210_spl IS INITIAL.
    " Create splitter to fill screen
    CREATE OBJECT go_0210_spl
      EXPORTING
        parent  = cl_gui_container=>default_screen
        rows    = 1
        columns = 1
        metric  = '0001'.

    " Set container as "cell" 1,1 of splitter
    go_0210_con = go_0210_spl->get_container( row = 1 column = 1 ).
  ENDIF.

  " Create ALV in container
  IF go_0210_alv IS INITIAL.
    CREATE OBJECT go_0210_alv
      EXPORTING
        i_parent = go_0210_con.
  ENDIF.

Regards,

Frisoni

Read only

0 Likes
975

f2400_g_split_container type is cl_gui_splitter_container

Edited by: Asokan Rajapandian on Jan 14, 2010 11:15 AM

Read only

0 Likes
975

Please find the custom report code mentioned below

CREATE OBJECT f2400_g_custom "cl_gui_custom_container
    EXPORTING
      container_name              = 'Z24_SCR1300_CONTROL'
    EXCEPTIONS
       cntl_error                  = 1
       cntl_system_error           = 2
       create_error                = 3
       lifetime_error              = 4
       lifetime_dynpro_dynpro_link = 5
       others                      = 6.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

* Assign a splitter container to the custom container.

  CREATE OBJECT f2400_g_split_container "cl_gui_splitter_container
    EXPORTING
      parent            = f2400_g_custom "cl_gui_custom_container
      rows              = 2
      columns           = 1
    EXCEPTIONS
      cntl_error        = 1
      cntl_system_error = 2
      others            = 3
      .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

* Assign grid containers to the splitter container.
*Short dump while executing below code
  CREATE OBJECT f2400_grid_success "cl_gui_alv_grid
    EXPORTING
      i_parent          = f2400_g_split_container "cl_gui_splitter_container.

Regards,