Dc 007- Control Framework: Invalid Processing of ABAP Object Control- DUMP

Hello,
we're upgrading to ECC6 and while running ALV report i get a dump that says that i'm trying to edit a control created with ABAP objects techniques using a function module.
It worked just fine in version 46C.
Is it possible to solve the problem without re-writing the program?
Thanks
Moshe

I'm getting the same error when calling the below BAPI. When the BAPI gets an error, I get a shortdump.
This is being when the user selects a convert planned orders button in a custom developed report that uses the SALV_OM alv grid.
              "Call BAPI to convert planned orders to production orders
               CALL FUNCTION 'BAPI_PRODORD_CREATE_FROM_PLORD'
                 EXPORTING
                   planned_order    = <s_output>-plnum
                   order_type       = 'ZEPR'
*                 ORDER_NUMBER     =
                 IMPORTING
                   production_order = ld_production_order
*                 PROD_ORDER_TYPE  =
                   return           = ld_return
                 EXCEPTIONS
                   OTHERS           = 1.

Similar Messages

  • Parallel processing using ABAP objects

    Hello friends,
                        I had posted in the performance tuning forum , regarding a performance issue problem , I am reposting it as it involves OO concept .
    the link for the previous posting
    Link: [Independent processing of elements inside internal table;
    Here is the scenario,
    I have a internal table with 10 records(indepentent) , and i need to process them .The processing of one record doesnt have any influence on the another . When we go for loop , the performance issue is that , the 10 th record has to wait until the 9 records get processed even though there is no dependency on the output.
    Could some one tell a way out to improve the performance..
    If i am not clear with the question , i would explain it still clearer...
    A internal table has 5 numbers , say( 1,3,4,6,7)
    we are trying to find square of each number ,,,
    If it is a loop the finding of suare of 7 has to wait until 6 is getting completed and it is waste of time ...
    This is related to parallel processing , I have refered to parallel processing documents,But I want to do this conceptually ..
    I am not using conventional procedural paradigm but Object orientedness...I am having a method which is performing this action .What am I supposed to do in that regard.
    Comradely ,
    K.Sibi

    Hi,
    As examplified by Edward, there is no RFC/asynchronous support for Methods of ABAP Objects as such. You would indeed need to "wrap" your method or ABAP Object in a Function Module, that you can then call with the addition "STARTING NEW TASK". Optionally, you can define a Method that will process the results of the Function Module that is executed asynchronously, as demonstrated as well in Edward's program.
    You do need some additional code to avoid the situation where your program takes all the available resources on the Application Server. Theoretically, you cannot bring the server or system down, as there is a system profile parameter that determines the maximum number of asynchronous tasks that the system will allow. However, in a productive environment, it would be a good idea to limit the number of asynchronous tasks started from your program so that other programs can use some as well.
    Function Group SPBT contains a set of Function Modules to manage parallel processing. In particular, FM SPBT_INITIALIZE will "initialize" a Server Group and return the maximum number of Parallel Tasks, as well as the number of free ones at the time of the initialization. The other FM of interest is SPBT_GET_CURR_RESOURCE_INFO, that can be called after the Server Group has been initialized, whenever you want to "fork" a new asynchronous task. This FM will give you the number of free tasks available for Parallel Processing at the time of calling the Function Module.
    Below is a code snippet showing how these Function Modules could be used, so that your program always leaves a minimum of 2 tasks for Parallel Processing, that will be available for other programs in the system.
          IF md_parallel IS NOT INITIAL.
            IF md_parallel_init IS INITIAL.
    *----- Server Group not initialized yet => Initialize it, and get the number of tasks available
              CALL FUNCTION 'SPBT_INITIALIZE'
              EXPORTING
                GROUP_NAME                           = ' '
                IMPORTING
                  max_pbt_wps                          = ld_max_tasks
                  free_pbt_wps                         = ld_free_tasks
                EXCEPTIONS
                  invalid_group_name                   = 1
                  internal_error                       = 2
                  pbt_env_already_initialized          = 3
                  currently_no_resources_avail         = 4
                  no_pbt_resources_found               = 5
                  cant_init_different_pbt_groups       = 6
                  OTHERS                               = 7.
              md_parallel_init = 'X'.
            ELSE.
    *----- Server Group initialized => check how many free tasks are available in the Server Group
          for parallel processing
              CALL FUNCTION 'SPBT_GET_CURR_RESOURCE_INFO'
                IMPORTING
                  max_pbt_wps                 = ld_max_tasks
                  free_pbt_wps                = ld_free_tasks
                EXCEPTIONS
                  internal_error              = 1
                  pbt_env_not_initialized_yet = 2
                  OTHERS                      = 3.
            ENDIF.
            IF ld_free_tasks GE 2.
    *----- We have at leasr 2 remaining available tasks => reserve one
              ld_taskid = ld_taskid + 1.
            ENDIF.
        ENDIF.
    You may also need to program a WAIT statement, to wait until all asynchronous tasks "forked" from your program have completed their processing. Otherwise, you might find yourself in the situation where your main program has finished its processing, but some of the asynchronous tasks that it started are still running. If you do not need to report on the results of these asynchronous tasks, then that is not an issue. But, if you need to report on the success/failure of the processing performed by the asynchronous tasks, you would most likely report incomplete results in your program.
    In the example where you have 10 entries to process asynchronously in an internal table, if you do not WAIT until all asynchronous tasks have completed, your program might report success/failure for only 8 of the 10 entries, because your program has completed before the asynchronous tasks for entries 9 and 10 in your internal table.
    Given the complexity of Parallel Processing, you would only consider it in a customer program for situations where you have many (ie, thousands, if not tens of thousands) records to process, that the processing for each record tends to take a long time (like creating a Sales Order or Material via BAPI calls), and that you have a limited time window to process all of these records.
    Well, whatever your decision is, good luck.

  • Control Framework: Fatal error - GUI cannot be reached-ALV Grid in Bckgrnd

    I have an ALV grid which dumps in the background. But works fine in the foreground.
    I thought I am not using Control framework anywhere. But I get 'COntrol framework :Fatal error - GU cannot be reached' error.
    I am using a docking container that I have split using a splitter.
    I have no custom container in my screen. What else could be causing the Control framework error ? Any suggestions is appreciated. But please do not tell me to use 'REUSE_ALV*' or Classical reporting
    Here are the PBO modules of my screen and here are my data declarations.
    ALV Data declarations :
    data :gt_sort type lvc_t_sort,
            gr_event_handler TYPE REF TO lcl_event_handler ,
         o_docking type ref to cl_gui_docking_container,"Docking Container
         o_grid type ref to cl_gui_alv_grid,"Grid
         o_split type ref to cl_gui_easy_splitter_container,"Splitter
         o_top_container type ref to cl_gui_container,   "Top Container
         o_bottom_container type ref to cl_gui_container,"Bottom Container
         o_document type ref to cl_dd_document.          "Document
    module status_0100 output.
    if o_docking is initial.
      set pf-status 'ZSTATUS_0100'.
      set titlebar 'ZTITLE_0100'.
    Creating Objects
      perform create_objects.
    Filling top of page
      perform fill_top_of_page.
    Filling the fieldcatalog table
    perform build_fieldcat. "we already got'em
    Displaying the output
      perform display_output.
    endif.
    Here is the Form Create_objects called in the PBO.
    form create_objects .
    Creating Docking Container
      CREATE OBJECT o_docking
             EXPORTING
               RATIO                       = '95'.
      IF sy-subrc eq 0.
    Splitting the Docking container
        CREATE OBJECT o_split
          EXPORTING
           PARENT            = o_docking
           sash_position     = 25 "Position of Splitter Bar (in Percent)
           with_border       = 0. "With Border = 1 Without Border = 0
      Placing the containers in the splitter
        o_top_container = o_split->top_left_container .
        o_bottom_container = o_split->bottom_right_container .
      Creating Grid
        CREATE OBJECT o_grid
          EXPORTING
            i_parent          =  o_bottom_container.
      Creating the document
        CREATE OBJECT o_document
        EXPORTING
            style  = 'ALV_GRID'.
         CREATE OBJECT gr_event_handler .
      ENDIF.
    endform.                    " create_objects
    form fill_top_of_page .
    data : lv_char(255) type c.
    Calling the methods for dynamic text
       CALL METHOD o_document->add_gap
        EXPORTING
          width      = 140.
      CALL METHOD o_document->add_text
        EXPORTING
          text          = 'Plant Attainment Report '
          sap_fontsize  = 'Large'
          sap_color     = cl_dd_area=>list_key_int
          sap_emphasis  = cl_dd_area=>strong. " For bold
    Display the data
      CALL METHOD o_document->display_document
        EXPORTING
           parent             = o_top_container.
    Calling the method of ALV to process top of page
      CALL METHOD o_grid->list_processing_events
        EXPORTING
          i_event_name      = 'TOP_OF_PAGE'
          i_dyndoc_id       = o_document.
    endform.                    " fill_top_of_page
    form display_output .
      gx_variant-report = sy-repid.
      gs_layout-zebra = 'X'.
      gs_layout-sel_mode ='X'.
      gs_layout-cwidth_opt = 'X'.
      call method o_grid->set_table_for_first_display
        exporting
          is_variant      = gx_variant
          i_save          = 'A'
          is_layout       = gs_layout
        changing
          it_fieldcatalog = it_fldcat
          it_outtab       = <gt_tabletotal>.
        IF sy-subrc <> 0.
           MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                       WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        SET HANDLER gr_event_handler->handle_print_top_of_page FOR o_grid .
    endform.                    " display_output 
    Edited by: Shareen Hegde on Jul 23, 2009 5:03 PM (I have no clue why 
    .. doesn't work anymore. My code looks messed up..Sorry folks!

    Nilesh,
    If i put all these create objects inside the      IF CL_GUI_ALV_GRID=>OFFLINE( ) IS INITIAL.   ENDIF , will I be still able to use ,
    call method o_grid->set_table_for_first_display
        exporting
          is_variant      = gx_variant
          i_save          = 'A'
          is_layout       = gs_layout
        changing
          it_fieldcatalog = it_fldcat
          it_outtab       = <gt_tabletotal>.
         in background ? WIll I not get - OBJECTS_OBJREF_NOT_ASSIGNED   erorr ?
    How can I call the set_table_for_first_display without creating the object reference ?
    Here is my creat object routine.
    form create_objects .
    * Creating Docking Container
    IF CL_GUI_ALV_GRID=>OFFLINE( ) .
      CREATE OBJECT o_docking
             EXPORTING
               RATIO                       = '95'.
      IF sy-subrc eq 0.
    * Splitting the Docking container
        CREATE OBJECT o_split
          EXPORTING
           PARENT            = o_docking
           sash_position     = 25 "Position of Splitter Bar (in Percent)
           with_border       = 0. "With Border = 1 Without Border = 0
    *   Placing the containers in the splitter
        o_top_container = o_split->top_left_container .
        o_bottom_container = o_split->bottom_right_container .
    *   Creating Grid
        CREATE OBJECT o_grid
          EXPORTING
            i_parent          =  o_bottom_container.
    *   Creating the document
        CREATE OBJECT o_document
        EXPORTING
            style  = 'ALV_GRID'.
         ENDIF.
         CREATE OBJECT gr_event_handler .
    endif.
    endform.                    " create_objects

  • Abap mapping - Error in Control Framework

    Hi Gurus,
    Scenario: IDOC - -- XI -
    Http (post)
    i am using ABAP mapping for IDOC to XML. I am able to test it using sxi_mapping_test which gives me output XML. But, when i test the scenario from RWB, it fails with "SYSFAIL" error in inbound queue as per moni.
    error - "Error in Control Framework".
    Looks like it did not even go to message mapping pipeline step.
    Please help.
    Thank you,
    mk

    HI,
    Hope you have done all the necessary pre-requisites for ABAP mapping
    This may help u- http://help.sap.com/saphelp_47x200/helpdata/en/55/bff20efe8c11d4b54a006094b9456f/content.htm
    just cross verify with this guide-
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
    Please also try to debug as follows...
    put a break point inside your class/method....
    goto tcode SXI_MAPPING_TEST....give in the configuation details of your scenario...and when you execute, give the IDOC-XML, copy it from SXMB_MONI where you are getting the error....
    when you execute, it shoudl stop at the break point that you had set in your class....continue debugging using 'F6' function key, and check where you are hitting this error...
    The chances are that the FM that converts IDOC-XML to flat file format might not have been executed correctly...
    Thanks
    Swarup

  • Error in Control Framework in smart forms programms

    IN VF02 smartforms ENTRY form , I add a function about save PDF at local PC. When I print the smartfomrs,There is ERROR message in update modules.
    IN SM13 can see the ERROR message. 
    Function Module: RV_MESSAGE_UPDATE
    Status :Update was terminated
    Error details: FES 022: Error in Control Framework
    THE CODE:
    FORM processing USING proc_screen
                    CHANGING cf_retcode.
    ******I ADD THE CODE
           PERFORM DOWNLOAD_AS_PDF USING lf_fm_name
                                         ls_control_param
                                         ls_composer_param
                                         ls_bil_invoice
                                         nast
                                         repeat
                                         ls_bil_invoice-HD_ORG
                                         ls_spoolid
                                    CHANGING cf_retcode
    ENDFORM.
    IN DOWNLOAD_AS_PDF  FORM ,I USE FUNCTION : P_fm_name(smartforms function)   CONVERT_OTF   GUI_DOWNLOAD
    WHY the UPDATE MODULE have ERROR MESSAGE???
    How do I solve this problem???

    Hello,
    Your error message is related to GUI_DOWNLOAD, which is a frontend function.
    You simply cannot use it in background, because it puts a file on the
    frontend PC where you start the function (WS = WorkStation).
    Note that GUI_DOWNLOAD is intendted to be used for dialog user
    and will not run at BACKGROUND.
    You can review SAP Library: ABAP Programming (BC-ABA)
    ->Saving Data Externally
      ->Working with Files
        ->File Handling in ABAP
    Regards,
    David

  • Component integration: Control framework / create your own gui controls

    Hi,
    Does anyone know where to find documentation about creating your own gui controls, like cl_gui_picture.
    For example we would like to make a zcl_gui_movie !!!
    Kind regards
    Keld Gregersen

    Hi Keld,
    Check out /people/thomas.jung3/blog/2004/09/01/using-net-windows-controls-in-the-abap-control-framework
    And
    /people/thomas.jung3/blog/2005/05/11/using-classic-activex-controls-in-the-abap-control-framework
    I have been able to create and use my own control in the SAP GUI - but I'm still trying to figure out how to handle any events raised by that control.
    If all you need to do is use the control to display something (like a movie!) it should work...
    If you can get some form of event processing working PLEASE let me know!!!
    Cheers,
    N

  • Start BPM process from ABAP report. Need some investigations.

    Hi there!
    I have to start a BPM process from ABAP report. I found an article http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10d75b45-7fef-2b10-bc8e-c6012e0a9457?QuickLink=index&overridelayout=true and have done everything it describes but the process doesn't start.
    What I've done:
    1) Created a service proxy in SE80.
    2) Created a logical port in SOAMANAGER.
    3) Write a code to start a WebService in ABAP Report.
    But when I start a program nothing happens, no errors.
    What analysis I did:
    1) See logs and traces in SOAMANAGER - there is nothing appears after I start the report.
    2) Tried to test connection to my WebService in SM59 - the connection works, but it use a POST method instead of GET:
      Error: com.sap.engine.services.webservices.espbase.server.additions.wsa.WSAddressingException: com.sap.SOA.wsr.030104 - Expected request method POST. Found GET.
    But I think it is OK and from the report it use a right method.
    3) Tried to delete a logical port - the error of communication problem appears. So it means that all settings are right.
    4) No logs in NWA logs
    My thoughts - if there is not any errors and no result, it can be because the user authorization. E.g. it tried to start a process by a user who doesn't have SAP_BPM_SuperAdmin role. But I can't find a way how to check what really happens. So I want to ask for a help, colleagues:).

    Dear Kirill Zhuklinets,
    Can you share your solution as i am facing the same error while trying to consume BPM webservice from SRM ECC
    Error Message from SRM ECC :
    Exception occurred in communication framework:Error in HTTP Framework:405Method Not Allowed
    Log from BPM Web service
    Error: process()
    [EXCEPTION]
    com.sap.engine.interfaces.webservices.runtime.RuntimeProcessException: com.sap.engine.services.webservices.espbase.server.additions.wsa.WSAddressingException: com.sap.SOA.wsr.030104 - Expected request method POST. Found GET.
    Please share your solution..
    Regards,
    Yasin

  • Parallel Processing through ABAP program

    Hi,
    We are trying to do the parallel processing through ABAP. As per SAP documentation we are using the CALL FUNCTION STARTING NEW TASK DESTINATION.
    We have one Z function Module and as per SAP we are making this Function module (FM)as Remote -enabled module.
    In this FM we would like to process data which we get it from internal table and would like to send back the processed data(through internal table) to the main program where we are using CALL FUNCTION STARTING NEW TASK DESTINATION.
    Please suggest how to achieve this.
    We tried out EXPORT -IMPORT option meaning we used EXPORT internal table in the FM with some memory ID and in the main program using IMPORT internal table with the same memory ID.  But this option is not working even though ID and name of the internal table is not working.
    Also, SAP documentation says that we can use RECEIVE RESULTS FROM FUNCTION 'RFC_SYSTEM_INFO'
    IMPORTING RFCSI_EXPORT = INFO in conjunction with CALL FUNCTION STARTING NEW TASK DESTINATION. Documentation also specifies that "RECEIVE is needed to gather IMPORTING and TABLE returns of an asynchronously executed RFC Function module". But while creating the FM remote-enabled we cant have EXPORT or IMPORT parameters.
    Please help !
    Thanks in advance
    Santosh

    <i>We tried out EXPORT -IMPORT option meaning we used EXPORT internal table in the FM with some memory ID and in the main program using IMPORT internal table with the same memory ID. But this option is not working even though ID and name of the internal table is not working</i>
    I think that this is not working because that memory does not work across sessions/tasks.  I think that the
    IMPORT FROM SHARED BUFFER and EXPORT TO SHARED BUFFER would work.  I have used these in the past and it works pretty good.
    Also,
    here is a quick sample of the "new task" and "recieve" functionality.   You can not specify the importing parameters when call the FM.  You specify them at the recieving end.
    report zrich_0001 .
    data: session(1) type c.
    data: ccdetail type bapi0002_2.
    start-of-selection.
    * Call the transaction in another session...control will be stop
    * in calling program and will wait for response from other session
      call function 'BAPI_COMPANYCODE_GETDETAIL'
               starting new task 'TEST' destination 'NONE'
                   performing set_session_done on end of task
        exporting
          companycodeid             = '0010'
    * IMPORTING
    *   COMPANYCODE_DETAIL        = ccdetails
    *   COMPANYCODE_ADDRESS       =
    *   RETURN                    =
    * wait here till the other session is done
      wait until session = 'X'.
      write:/ ccdetail.
    *       FORM SET_session_DONE
    form set_session_done using taskname.
    * Receive results into messtab from function.......
    * this will also close the session
      receive results from function 'BAPI_COMPANYCODE_GETDETAIL'
        importing
           companycode_detail        = ccdetail.
    * Set session as done.
      session = 'X'.
    endform.
    Hope this helps.
    Rich Heilman

  • Control Framework tree control event not trigerring

    The event handle_node_double_click is not trigerring on the tree controls . I want to display the contents of the nodes on the text editor on trigerring of this event
    *& Report  ZCONTROLS_TREE_TEDIT_SPITTER
    REPORT  zcontrols_tree_tedit_spitter.
    DATA : editor TYPE REF TO cl_gui_textedit,
           tree   TYPE REF TO cl_gui_simple_tree.
    DATA : container TYPE REF TO cl_gui_custom_container,
           splitter  TYPE REF TO cl_gui_easy_splitter_container,
           right     TYPE REF TO cl_gui_container,
           left      TYPE REF TO cl_gui_container.
    DATA : node_itab LIKE node_str OCCURS 0.
          CLASS EVENT_HANDLER DEFINITION
    CLASS event_handler DEFINITION.
      PUBLIC SECTION.
        METHODS : handle_node_double_click
                  FOR EVENT NODE_DOUBLE_CLICK OF cl_gui_simple_tree
                  IMPORTING node_key.
    ENDCLASS.                    "EVENT_HANDLER DEFINITION
          CLASS EVENT_HANDLER IMPLEMENTATION
    CLASS event_handler IMPLEMENTATION.
      METHOD handle_node_double_click.
      perform node_double_click using node_key.
      ENDMETHOD.                    "HANDLE_NODE_DOUBLE_CLICK
    ENDCLASS.                    "EVENT_HANDLER IMPLEMENTATION
    data : handler1 type ref to event_handler.
    START-OF-SELECTION.
      CALL SCREEN 9001.
    *&      Module  start  OUTPUT
          text
    MODULE start OUTPUT.
      SET PF-STATUS 'ZSTAT1'.
      IF container IS INITIAL.
        CREATE OBJECT container
          EXPORTING
             container_name              = 'CONTAINER_NAME'
          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.
        CREATE OBJECT splitter
          EXPORTING
            parent            = container
            orientation       = 1
            name              = 'Mohit'
          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.
        left  = splitter->top_left_container.
        right = splitter->bottom_right_container.
        CREATE OBJECT editor
          EXPORTING
            parent                 = right
            name                   = 'MohitEditor'
          EXCEPTIONS
            error_cntl_create      = 1
            error_cntl_init        = 2
            error_cntl_link        = 3
            error_dp_create        = 4
            gui_type_not_supported = 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.
        CREATE OBJECT tree
          EXPORTING
            parent                      = left
            node_selection_mode         = tree->node_sel_mode_single
            name                        = 'MohitTree'
          EXCEPTIONS
            lifetime_error              = 1
            cntl_system_error           = 2
            create_error                = 3
            failed                      = 4
            illegal_node_selection_mode = 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.
        PERFORM fill_tree.
        CALL METHOD tree->add_nodes
          EXPORTING
            table_structure_name           = 'NODE_STR'
            node_table                     = node_itab
          EXCEPTIONS
            error_in_node_table            = 1
            failed                         = 2
            dp_error                       = 3
            table_structure_name_not_found = 4
            OTHERS                         = 5.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      create object handler1.
      set handler handler1->handle_node_double_click for tree.
      ENDIF.
    ENDMODULE.                 " start  OUTPUT
    *&      Module  USER_COMMAND_9001  INPUT
          text
    MODULE user_command_9001 INPUT.
      CALL METHOD cl_gui_cfw=>dispatch.
    ENDMODULE.                 " USER_COMMAND_9001  INPUT
    *&      Form  fill_tree
          text
    -->  p1        text
    <--  p2        text
    FORM fill_tree .
      DATA : node LIKE node_str.
      CLEAR node.
      node-node_key = 'head_mohit'.
      node-isfolder = 'X'.
      node-text = 'Mohit'.
      APPEND node TO node_itab.
      CLEAR node.
      node-node_key = 'Child1'.
      node-relatkey = 'head_mohit'.
      node-relatship = cl_gui_simple_tree=>relat_last_child.
      node-text = 'Mohit is the best '.
      APPEND node TO node_itab.
      CLEAR node.
      node-node_key = 'Child2'.
      node-relatkey = 'head_mohit'.
      node-relatship = cl_gui_simple_tree=>relat_last_child.
      node-text = 'Mohit is the bestest '.
      APPEND node TO node_itab.
      CLEAR node.
      node-node_key = 'head_JAIN'.
      node-isfolder = 'X'.
      node-text = 'jAIN'.
      APPEND node TO node_itab.
      CLEAR node.
      node-node_key = 'Child3'.
      node-relatkey = 'head_JAIN'.
      node-relatship = cl_gui_simple_tree=>relat_next_sibling.
      node-text = 'cnh INDIA '.
      APPEND node TO node_itab.
      CLEAR node.
      node-node_key = 'Child4'.
      node-relatkey = 'head_JAIN'.
      node-relatship = cl_gui_simple_tree=>relat_last_child.
      node-text = 'SAP  '.
      APPEND node TO node_itab.
    ENDFORM.                    " fill_tree
    *&      Form  node_double_click
          text
         -->P_NODE_KEY  text
    form node_double_click  using  p_node_key type TV_NODEKEY.
    DATA : node LIKE node_str.
    DATA textline(256).
    DATA text_table LIKE STANDARD TABLE OF textline.
    READ TABLE node_itab WITH KEY node_key = p_node_key
                             INTO node.
    endform.                    " node_double_click
    *&      Module  exit  INPUT
          text
    module exit input.
    CASE sy-ucomm.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
    ENDCASE.
    endmodule.                 " exit  INPUT

    Hello Mohit
    Here is a sample routine (taken from BCALV_TREE_02) which you have to add and adapt for your report. It does two things:
    1. Register events that should be handled (required but not sufficient for event handling)
    2. Set event handler for registered events
    The first step is different from ALV grid controls because here all events are already registered with the control (not the control framework).
    Set the event handler (statement SET HANDLER) registers the event handling with the control framework.
    FORM register_events.
    *§4. Event registration: tell ALV Tree which events shall be passed
    *    from frontend to backend.
      DATA: lt_events TYPE cntl_simple_events,
            l_event TYPE cntl_simple_event,
            l_event_receiver TYPE REF TO lcl_tree_event_receiver.
    *§4a. Frontend registration(i):  get already registered tree events.
    * The following four tree events registers ALV Tree in the constructor
    * method itself.
    *    - cl_gui_column_tree=>eventid_expand_no_children
    * (needed to load data to frontend when a user expands a node)
    *    - cl_gui_column_tree=>eventid_header_context_men_req
    * (needed for header context menu)
    *    - cl_gui_column_tree=>eventid_header_click
    * (allows selection of columns (only when item selection activated))
    *   - cl_gui_column_tree=>eventid_item_keypress
    * (needed for F1-Help (only when item selection activated))
    * Nevertheless you have to provide their IDs again if you register
    * additional events with SET_REGISTERED_EVENTS (see below).
    * To do so, call first method  GET_REGISTERED_EVENTS (this way,
    * all already registered events remain registered, even your own):
    call method g_alv_tree->get_registered_events
          importing events = lt_events.
    * (If you do not these events will be deregistered!!!).
    * You do not have to register events of the toolbar again.
    *§4b. Frontend registration(ii): add additional event ids
      l_event-eventid = cl_gui_column_tree=>eventid_node_double_click.
      APPEND l_event TO lt_events.
    *§4c. Frontend registration(iii):provide new event table to alv tree
      CALL METHOD g_alv_tree->set_registered_events
        EXPORTING
          events = lt_events
        EXCEPTIONS
          cntl_error                = 1
          cntl_system_error         = 2
          illegal_event_combination = 3.
      IF sy-subrc <> 0.
        MESSAGE x208(00) WITH 'ERROR'.     "#EC NOTEXT
      ENDIF.
    *§4d. Register events on backend (ABAP Objects event handling)
      CREATE OBJECT l_event_receiver.
      SET HANDLER l_event_receiver->handle_node_double_click FOR g_alv_tree.
    ENDFORM.                               " register_events
    Regards
      Uwe

  • Dispatcher process on ABAP +  JAVA system  does not start.

    Hi all,
    Dispatcher process on ABAP +  JAVA system  does not start.
    Can someone help me to solve this issue in a ABAP+JAVA stack system?
      service p4 ================= ERROR =================
    Core service p4 failed. J2EE Engine cannot be started.
    com.sap.engine.frame.ServiceException: <--Localization failed: ResourceBundle='com.sap.engine.frame.KernelResourceBundle', ID='Can't assign requested addres
    s (errno:227)
    com.sap.engine.services.rmi_p4.dispatcher.TransportMonitor constructor : can't open  server socket.', Arguments: []--> : Can't find resource for bundle java
    .util.PropertyResourceBundle, key Can't assign requested address (errno:227)
    com.sap.engine.services.rmi_p4.dispatcher.TransportMonitor constructor : can't open  server socket.
            at com.sap.engine.services.rmi_p4.dispatcher.TransportMonitor.<init>(TransportMonitor.java:211)
            at com.sap.engine.services.rmi_p4.dispatcher.P4ServiceFrame.start(P4ServiceFrame.java:93)
            at com.sap.engine.core.service630.container.ServiceRunner.startCommunicationServiceFrame(ServiceRunner.java:228)
            at com.sap.engine.core.service630.container.ServiceRunner.run(ServiceRunner.java:158)
            at com.sap.engine.frame.core.thread.Task.run(Task.java:64)
            at com.sap.engine.core.thread.impl6.SingleThread.execute(SingleThread.java:78)
            at com.sap.engine.core.thread.impl6.SingleThread.run(SingleThread.java:148)
    com.sap.engine.frame.ServiceException: <--Localization failed: ResourceBundle='com.sap.engine.frame.KernelResourceBundle', ID='Can't assign requested addres
    s (errno:227)
    com.sap.engine.services.rmi_p4.dispatcher.TransportMonitor constructor : can't open  server socket.', Arguments: []--> : Can't find resource for bundle java
    .util.PropertyResourceBundle, key Can't assign requested address (errno:227)
    com.sap.engine.services.rmi_p4.dispatcher.TransportMonitor constructor : can't open  server socket.
            at com.sap.engine.services.rmi_p4.dispatcher.TransportMonitor.<init>(TransportMonitor.java:211)
            at com.sap.engine.services.rmi_p4.dispatcher.P4ServiceFrame.start(P4ServiceFrame.java:93)
            at com.sap.engine.core.service630.container.ServiceRunner.startCommunicationServiceFrame(ServiceRunner.java:228)
            at com.sap.engine.core.service630.container.ServiceRunner.run(ServiceRunner.java:158)
            at com.sap.engine.frame.core.thread.Task.run(Task.java:64)
            at com.sap.engine.core.thread.impl6.SingleThread.execute(SingleThread.java:78)
            at com.sap.engine.core.thread.impl6.SingleThread.run(SingleThread.java:148)
    [Framework -> criticalShutdown] Core service p4 failed. J2EE Engine cannot be started.
    Nov 9, 2011 6:41:09 AM              com.sap.engine.core.Framework [SAPEngine_System_Thread[impl:6]_26] Fatal: Critical shutdown was invoked. Reason is: Core
    service p4 failed. J2EE Engine cannot be started.
    Please let me know if you need any further information in this regard.
    with regards,
    Raja

    Hi,
    Core service p4 failed. J2EE Engine cannot be started.
    com.sap.engine.frame.ServiceException: <--Localization failed: ResourceBundle='com.sap.engine.frame.KernelResourceBundle', ID='Can't assign requested addres
    Please reboot the server to free up occupied ports. Later start the sap system.
    Regards,
    Deepak kori

  • User- Control Framework: Fatal error - GUI cannot be reached

    Hi,
    I am currently working on a Project , were I am facing an issue.
    I have Inbound IDoc which come, runs a BDC and then Packs HU via transaction VT02N.
    The Problem is when I or some user manually trigger this IDoc via WE19 the code works fine,
    But when an external system sends an IDoc we have system user which does the processing and while doing so it gives out an message "User- Control Framework: Fatal error - GUI cannot be re", we cannot debug this. I managed to capture all system message and save them in a file.
    Could some one kindly help me with this.
    Br,
    AmiT

    hi.
    you are correct , we have used call transaction in N mode,
    But initially it used to work and suddenly its behaving like this.
    Br,
    AmiT

  • ABAP list processing statements in ABAP Objects

    Hi,
    Based on the Online help "The ABAP statements used for list processing are not yet fully available in ABAP Objects".
    Is there any chnage planned about this for the next WAS release?
    Thanks,
    Peter

    Hi Peter
    I believe, most of the measures taken are for some compatibility and performance issues. So, there is no need to expect great changes about this.
    *--Serdar

  • Error in Control Framework: Background job failed

    Hi Experts,
    One background job failed with job log: Error in Control Framework in ECC 6.0 system; the job is supposed to produce a XML report. Can anyone please give some idea on this why it could happen? One SAP note 893534 has described same kind of issue but in CRM system. That note even cant be implemeneted in ECC 6.0. Any workaround? Is it a BASIS issue here?
    Thanks & Regards,
    SKB

    Hello,
    please check the variant. We had this problem, and when checking the variant I got a shortdump because the variant did not fit to the program (there were problems with subscreens in the selection screen). After adjusting the variant with program RSVARDOC_610 the variant was ok.
    I can not check if this solved the problem because the job runs weekly, and the next job is on Monday. But give it a try...
    HTH,
    Jens Hoetger

  • Error in Control Framework with GUI_DOWNLOAD FM

    Dear All,
    I am using GUI_DOWNLOAD FM to download a file in PDF format to presentation server.
    The code has been written in an enhancement spot in a class "/SCA/CL_SVORDER", method "Print" on an SNC server.
    On execution I get the error "Error in Control Framework".
    First I tht that this has something to do with the data table. But when I tried to pass a simple table of Integers in ASC format, it gave the same error.
    Please assist.
    *----Begin of Code Snippet
    data: fullpath type STRING value 'D:\temp\PO.pdf',
    bin_filesize type I,
    filetype type char10 value 'BIN'.
    bin_filesize = numbytes.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
       BIN_FILESIZE                    = bin_filesize
        filename                        = fullpath
       FILETYPE                        = filetype
    IMPORTING
      FILELENGTH                      =
      tables
        data_tab                        = t_data
      FIELDNAMES                      =
    EXCEPTIONS
       FILE_WRITE_ERROR                = 1
       NO_BATCH                        = 2
       GUI_REFUSE_FILETRANSFER         = 3
       INVALID_TYPE                    = 4
       NO_AUTHORITY                    = 5
       UNKNOWN_ERROR                   = 6
       HEADER_NOT_ALLOWED              = 7
       SEPARATOR_NOT_ALLOWED           = 8
       FILESIZE_NOT_ALLOWED            = 9
       HEADER_TOO_LONG                 = 10
       DP_ERROR_CREATE                 = 11
       DP_ERROR_SEND                   = 12
       DP_ERROR_WRITE                  = 13
       UNKNOWN_DP_ERROR                = 14
       ACCESS_DENIED                   = 15
       DP_OUT_OF_MEMORY                = 16
       DISK_FULL                       = 17
       DP_TIMEOUT                      = 18
       FILE_NOT_FOUND                  = 19
       DATAPROVIDER_EXCEPTION          = 20
       CONTROL_FLUSH_ERROR             = 21
       OTHERS                          = 22
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *----End of Code Snippet

    Hi!
    I have the same error, but i need to use CSV Format.
    in another program, i used this with XML format.
      lv_xml = lr_element->to_xml( ).
    Converts the string to xstring
      lv_xxml = wd_this->convert_file( lv_xml ).
    Shows it in a new browser window
      *cl_wd_runtime_services=>attach_file_to_response(*
        *i_filename      = lco_filename*
        *i_content       = lv_xxml*
        *i_mime_type     = lco_mime_type*
        *i_in_new_window = abap_FALSE*
        *i_inplace       = abap_false ).*
    Regards!

  • Control Framework: Fatal error - GUI cannot be reached

    Hello All,
       Iam using BDC for creating a ZCR order throught VA01 - Credit Memo request. When executed in the foreground, it works fine.But when ran in background gives an error message - Control Framework: Fatal error - GUI cannot be reached  and gives a short Dump for 'RAISE_EXCEPTION'.
    Please suggest.

    Normally, BDC should run the same way whether it is in background of Foreground.
    No, BDC does not run  the same way in background and foreground
    To understand BDC in background : different behavior or termination read those OSS notes :
    - [Note 33319 - Batch input: Backgr. runs diff. than in the dialog|https://service.sap.com/sap/support/notes/33319]
    - [Note 311440 - Batch input and controls|https://service.sap.com/sap/support/notes/311440]
    Also this note of interest :
    - [Note 554139 - FAQ 2: Batch input|https://service.sap.com/sap/support/notes/554139]
    Regards,
    Raymond

Maybe you are looking for