Calling a program inside a splitter container

hello All,
Here is my requirement. In the first screen, If I click on a button, then it should pop a dialogue window which will ask for User Input. Once the user gives his input and clicks on "Submit" button of dialogue window, then it should take direct him to a screen which is divided into 3 halves. Each half will show a different graph.
How do I split my main container into 3 equal size rows and display graphs in each container (by submitting a program)?
Thanks in advance to all of you,
Regards,
Ashish

hello All,
Here is my requirement. In the first screen, If I click on a button, then it should pop a dialogue window which will ask for User Input. Once the user gives his input and clicks on "Submit" button of dialogue window, then it should take direct him to a screen which is divided into 3 halves. Each half will show a different graph.
How do I split my main container into 3 equal size rows and display graphs in each container (by submitting a program)?
Thanks in advance to all of you,
Regards,
Ashish

Similar Messages

  • Splitter container with alv grid has to be replaced with a dynpro

    I have a container which I have splitt in 4 areas, on the right half I have two splitter container with alv grids.
    On the left side I have my navigation tree in 2 splitter container.
    I don't know if this really works, but is it possible that I call a dynpro in the splitter container (after using my navigation tree) where still my alv grids exist?

    so it is not able that I can show a dynpro with several text fields?
    or can I introduce the textfields in another version to the container?
    In se80 I think you have the same, there they call another transactions, is it possible that I call a transaction to the right side of a splitter container?

  • Splitter-container calling standard transaction

    We want to create a splitter-container with two elements:
    - Left side displays a control tree (this is OK)
    - Right side displays a standard transaction such as VA03 (not sure how to do this bit)
    Any help would be greatfully received
    PeteA

    Hi,
    Here is a sample program which implements a docking container with a splitter.
    data: docking_left     type ref to cl_gui_docking_container,
          dock_sub_cont1   type ref to cl_gui_container,
          dock_sub_cont2   type ref to cl_gui_container,
          alv_bottom       type ref to cl_gui_alv_grid,
          splitter         type ref to cl_gui_splitter_container,
          html_viewer type ref to cl_gui_html_viewer.
    parameters: p_check.
    at selection-screen output.
      data: it001w type table of t001w with header line.
      data: repid type sy-repid.
      data: url(255).
      repid = sy-repid.
      if docking_left is initial.
    Create the docking and splitter containers
        create object:
             docking_left
                    exporting repid     = repid
                              dynnr     = sy-dynnr
                              side      = docking_left->dock_at_left
                              extension = 525,
             splitter
                      exporting parent = docking_left
                                rows    = 2
                                 columns = 1.
    Set the splitters.
        call method:
                    splitter->set_border
                      exporting border = space,
                    splitter->get_container
                      exporting row            = 1
                                column         = 1
                                receiving container = dock_sub_cont1,
                    splitter->set_row_height
                      exporting id             = 1
                                height         = '25',
                    splitter->get_container
                      exporting row            = 2
                                column         = 1
                                receiving container = dock_sub_cont2.
    HTML control in the first container
        create object html_viewer
                exporting  parent              = dock_sub_cont1
                exceptions cntl_error         = 1
                           cntl_install_error = 2
                           dp_install_error   = 3
                           dp_error           = 4.
        call method:
        html_viewer->load_mime_object
                   exporting
                     object_id  = 'HTMLCNTL_TESTHTM2_SAPLOGO'
                     object_url = 'SAPLOGO.GIF'
                   importing
                     assigned_url = url
                   exceptions object_not_found     = 1
                              dp_error_general     = 2
                              dp_invalid_parameter = 3,
         html_viewer->show_data
             exporting url   = url
             exceptions cntl_error = 1.
    ALV grid in second splitter container.
        select * into corresponding fields of table it001w
                    from t001w.
        create object alv_bottom
                      exporting i_parent = dock_sub_cont2.
        call method alv_bottom->set_table_for_first_display
            exporting
                 i_structure_name       = 'T001W'
            changing
                 it_outtab       = it001w[].
      endif.
    *Reward points
    Regards

  • Docking and splitter container

    Hi,
    I need to create 2 containers as per the attached document, that are resizeable in both x and y axis.
    I have been able to do this, similar to in transaction DWDM, where I have 2 cl_gui_container's inside a customer container.
    But this solution does not allow resizing in the vertical axis, as they are tied inside the "fixed" customer container.
    Is there a way to create the docking and splitters that allow both axis resizing?
    Thanks
    Tony

    Hi Tony,
    of course you can create both types of containers (docking and Splitter).
    Here is an example to create a splitter container :
    Data declarations:
    DATA: lo_gui_container_head     TYPE REF TO cl_gui_container,
             lo_gui_container_costs    TYPE REF TO cl_gui_container,
             lo_gui_splitter_container TYPE REF TO cl_gui_splitter_container,
             lo_event_receiver         TYPE REF TO lcl_event_receiver,
             lo_event_receiver_head    TYPE REF TO lcl_event_receiver_head,
             lo_custom_container_head  TYPE REF TO cl_gui_custom_container.
    part from the source code :
    CREATE OBJECT lo_custom_container_head
           EXPORTING
             container_name = 'ALV_GRID'.
    *Create SPLITTER and SPLITTER panes
    * here we can define if splitters are horizontal or vertical:
         IF rb_hori IS INITIAL.
           lv_rows = 2.
           lv_columns = 1.
         ELSE.
           lv_rows = 1.
           lv_columns = 2.
         ENDIF.
    * create splitter:
         CREATE OBJECT lo_gui_splitter_container
           EXPORTING
             parent  = lo_custom_container_head
             rows    = lv_rows
             columns = lv_columns.
    * Splitter for Header
         CALL METHOD lo_gui_splitter_container->get_container
           EXPORTING
             row       = 1
             column    = 1
           RECEIVING
             container = lo_gui_container_head.
         CALL METHOD lo_gui_splitter_container->set_row_height
           EXPORTING
             id     = 1
             height = 20.
         IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
         ENDIF.
    * 2nd Spiltter for details:
         CALL METHOD lo_gui_splitter_container->get_container
           EXPORTING
             row       = lv_rows
             column    = lv_columns
           RECEIVING
             container = lo_gui_container_costs.
    * splitter for header
         CREATE OBJECT alv_head
           EXPORTING
             i_parent = lo_gui_container_head.
    * Objekt ALV grid mit splitter anlegen:
         CREATE OBJECT alv_grid
           EXPORTING
             i_parent = lo_gui_container_costs.
    * create handlers for both spitters :
    CREATE OBJECT lo_event_receiver_head.
         CREATE OBJECT lo_event_receiver.
         SET HANDLER lo_event_receiver->handle_hotspot_click            FOR alv_grid.
         SET HANDLER lo_event_receiver_head->handle_double_click        FOR alv_head.
         SET HANDLER lo_event_receiver_head->handle_toolbar             FOR alv_head.
         SET HANDLER lo_event_receiver_head->handle_before_user_command FOR alv_head.
         SET HANDLER lo_event_receiver_head->handle_hotspot_click_head  FOR alv_head.
    * display both tables in the spitters:
    CALL METHOD alv_head->set_table_for_first_display
           EXPORTING
             is_layout            = ls_layout
             it_toolbar_excluding = lt_toolbar_excluding[]
             i_default            = lv_default
             i_save               = lv_save
             is_variant           = ls_disvarhead
           CHANGING
             it_outtab            = gt_head[]
             it_fieldcatalog      = gt_cathead.
         CALL METHOD alv_grid->set_table_for_first_display
           EXPORTING
             is_layout            = ls_layout
             is_variant           = ls_disvariant
             i_default            = lv_default
             i_save               = lv_save
             it_toolbar_excluding = lt_toolbar_excluding[]
           CHANGING
             it_outtab            = gt_details[]
             it_fieldcatalog      = gt_fieldcatalog[]
             it_filter            = gt_filter[].
    Hope this helps
    Regards
    Fred

  • How to display 3 alv with top-of-page using splitter container

    Hi,
    I want to display 3 different alv in a single container corresponding to the 3 check boxes on selection screen.
    i.e.
    If user selects 1 check box only one alv should be displayed, if 2 checkboxes selected by user 2 alv should be displayed and same for 3.
    I cannot use 3 different containers bcoz if second checkbox is not selected then that place remains blank. So I am using single container and using splitter container dividing it into the no of rows corresponding to the no. of checkboxs selected by user.
    Now I also want to display top-of-page for each alv. Please guide me how to achieve this.
    Thanks & regards,
    Harshada

    create with some IF_ELSE conditions as i have done below. in my case the same things are required. if error table is there only then it will be displayed, else only output will be displayed.
    * First Main Container
      CREATE OBJECT obj_main1
        EXPORTING
          container_name = 'CC_CONTAINER'
          style          = cl_gui_custom_container=>ws_maximizebox.
    * create top-document
      CREATE OBJECT obj_dyndoc_id
        EXPORTING
          style = 'ALV_GRID'.
      IF pr_view EQ c_x OR pr_stat EQ c_x.
    * First Splitter Container
        CREATE OBJECT obj_splitter1
          EXPORTING
            parent  = obj_main1
            rows    = 2
            columns = 1.
    * Place obj_parent_html in First row First column
    * for Top_of_page
        CALL METHOD obj_splitter1->get_container
          EXPORTING
            row       = 1
            column    = 1
          RECEIVING
            container = obj_parent_html.
    * Place obj_container1 in Second row First column
        CALL METHOD obj_splitter1->get_container
          EXPORTING
            row       = 2
            column    = 1
          RECEIVING
            container = obj_container1.
    * Set the height of Top of page
        CALL METHOD obj_splitter1->set_row_height
          EXPORTING
            id     = 1
            height = 24.
      ELSEIF pr_email EQ c_x.
    * First Splitter Container
        CREATE OBJECT obj_splitter1
          EXPORTING
            parent  = obj_main1
            rows    = 3
            columns = 1.
    * Place obj_parent_html in First row First column
    * for Top_of_page
        CALL METHOD obj_splitter1->get_container
          EXPORTING
            row       = 1
            column    = 1
          RECEIVING
            container = obj_parent_html.
    * Place obj_container1 in First row First column
        CALL METHOD obj_splitter1->get_container
          EXPORTING
            row       = 2
            column    = 1
          RECEIVING
            container = obj_container1.
    * Place obj_container2 in Second row First column
        CALL METHOD obj_splitter1->get_container
          EXPORTING
            row       = 3
            column    = 1
          RECEIVING
            container = obj_container2.
    * Set the height of Top of page
        CALL METHOD obj_splitter1->set_row_height
          EXPORTING
            id     = 1
            height = 24.
      ENDIF.
    Please note there is no need to create a hEADER in the container, but create it for the 1st table only which is always displayed
    ags.
    Edited by: ags on Nov 4, 2009 4:49 PM
    Edited by: ags on Nov 4, 2009 4:50 PM

  • Regarding creation of multiple jobs calling same program

    Hai anand,
    To improve the performance of the report, i think i want to make a try of your new strategy.
    Could you pls give me oultine code of how to create each job for each P_monat by calling
    same program multiple times.
    by the by i have two points to confirm with this.
    1-if we call same program at a time using different job wont it gets data confused with data manipulation
      inside the internal table?
    2-you want me to call each job simultaneously or one after another?
    ambichan.

    hey guys,
    Thanks for your reply.
    As my next step tried to do like this. but leads to short dump. could you pls guide me in submit decleration.
    SELECT-OPTIONS: S_BUKRS FOR T001-BUKRS MEMORY ID BUK OBLIGATORY .
    PARAMETERS: P_GJAHR LIKE BSIS-GJAHR OBLIGATORY,   " FISCAL YEAR
                P_MONAT LIKE BSIS-MONAT OBLIGATORY,  " Current period
                P_BUKRS LIKE T001-BUKRS OBLIGATORY.   " COMPANY CODE
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) TEXT-002 FOR FIELD P_TOTAL.
    PARAMETERS: P_TOTAL AS CHECKBOX .
    SELECTION-SCREEN END OF LINE.
    Start-of-selection.
    jobname = 'ZUSRTEST'.
    call function 'GET_PRINT_PARAMETERS'
      exporting
        no_dialog = 'X'
      importing
       valid = l_valid
       out_parameter = ls_params.
    CALL FUNCTION 'JOB_OPEN'
         EXPORTING
              JOBNAME          = jobname
        IMPORTING
             JOBCOUNT         = jobcount
         EXCEPTIONS
              CANT_CREATE_JOB  = 1
              INVALID_JOB_DATA = 2
              JOBNAME_MISSING  = 3
              OTHERS           = 4.
    if sy-subrc ne 0.
    endif.
    lets assume that my prod system has 6 background work process.
    Here if i input p_monat is 6months then 6 jobs will be created right
    and job p_monat will be as index for jobs job1,job2 job3..job6 etc.
    *job p_monat will be my job names right.
    *I am trying to pass parameter also from main program to calling program
    *but it leads to shortdump error why.
    could you pls help me if my way of declaration in submit can be done or not.
    wk_monat = 01.
    do wk_monat times.
    <b>submit zfipr_vat_report_p1 with s_bukrs = s_bukrs
                               with p_gjahr = p_gjahr
                               with p_monat = wk_monat
                               with p_bukrs = p_bukrs
                               with p_total = p_total
                            via job p_monat
                            number jobcount
             to sap-spool without spool dynpro
               spool parameters ls_params and return.</b>
    wk_monat = wk_monat + 1.
    if wk_monat = p_monat.
    exit.
    endif.
    enddo.
    sdate = sy-datum.
    stime = sy-uzeit + 30.
    CALL FUNCTION 'JOB_CLOSE'
         EXPORTING
            EVENT_PERIODIC              = ' '
              JOBCOUNT                    = jobcount
              JOBNAME                     = jobname
             STRTIMMED                   = 'X'
    Note:
    Also when i execute the main program in background i could not see jobs declared in SM37. i was expecting jobnames job1,job2 till job 6.
    ambichan.

  • Call ABAP Program in Process Chain

    Dear BW Gurus,
    I need to call an Process chain which includes ABAP Program.
    The ABAP Program doesn't have the variants but it accepts the inputs from the user and sets into a YXXXX table.
    I am not getting how to proceed in this regard.
    Kindly guide.
    Best Regards,
    Harsh

    hi,
    chk these links below.. they contain the resolution for your query
    Call ABAP Program in Process Chain
    ABAP in Process Chains
    Also chk this relase which ia an entire guiding one to ABAP Program in Process Chain
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3507aa90-0201-0010-6891-d7df8c4722f7

  • HOW TO CALL FUNCTION MODULE INSIDE SMARTFORM

    PLEASE ANYONE TELL ME, ABOUT  HOW TO CALL FUNCTION MODULE INSIDE SMARTFORM. IT IS VERY URGENT!!!!!!!!!1

    Hi,
      Under Global Definitions, we have 'Form Routines' tab. Under this tab, u can have a dynamic subroutine call. With in FORM and ENDFORM, you can call the Function Module.With in the Program Lines editor, u can define the subroutine........PERFORM. 
    If helpful, reward points.
    Rgds,
    CK

  • Programming to call other programs

    I am in need of direction as I am unable to find any help on my current problem. I am developing a program that will create a database of triples from an xml document. My use of existing programs such as 4suite's '4rdf' which is called by the command prompt has left me with the issue of how do you program in java, to call other programs and/or the command line. I need to pass in arguments and execute the program from within one java program. Is this possible? Help is urgently required. Please help. Cheers Dave.

    Allways happy to assist my follow programmers, this is a class I developed (with help from online documents of course) to contain all my executing needs. Note that you need to place these two classes in a package yourself, they are part of quite a complex one where I use them.
    public class Semaphore {
      protected boolean blocked;
      public Semaphore() { blocked = false; }
      public synchronized void waitUntilSignalled() {
           if(blocked == false){
             try {
                    blocked = true;
                    wait();
                } catch(  InterruptedException e ) { }
      public synchronized void setSignalled() {
        if (blocked == true){
              blocked = false;
              notifyAll();
         public static class ExecStreamThread extends Thread
             InputStream is;
             OutputStream os;
             Semaphore sem;
             public ExecStreamThread(InputStream is, OutputStream redirect)
                 this.is = is;
                 this.os = redirect;
                 sem = null;
             public ExecStreamThread(InputStream is, OutputStream redirect, Semaphore theSem)
                 this.is = is;
                 this.os = redirect;
                 sem = theSem;
             public void run()
                  try
                       PrintWriter pw = pw = new PrintWriter(os);
                       InputStreamReader isr = new InputStreamReader(is);
                       BufferedReader br = new BufferedReader(isr);
                       String line=null;
                       while ( (line = br.readLine()) != null)
                                pw.println(line);
                           pw.flush();
                  } catch (IOException ioe){
                      // don't have to do anything, the parent thread will have found out the process errored
                  // run is complete, signal the semaphore
                  if(sem != null){
                       sem.setSignalled();
         public static final int OSTYPE_WINDOWS = 1;
         public static final int OSTYPE_WINNT = 2;
         public static final int OSTYPE_WINCE = 3;
         public static final int OSTYPE_LINUX = 4;
         public static final int OSTYPE_MAC = 5;
         public static final int OSTYPE_SOLARIS = 6;
         public static final int OSTYPE_NETWARE = 7;
         public static final int OSTYPE_OS2 = 8;
         public static final int OSTYPE_UNKNOWN = 9;
         private static int type = OSTYPE_UNKNOWN;
         private ExecUtil()
              @return an integer identifying the OS (one of the OSTYPE constants)
         public static int getOs()
              if(type == OSTYPE_UNKNOWN){
                   String osname = System.getProperty("os.name").toLowerCase();
                   if(osname.indexOf("windows") != -1){
                        if(osname.indexOf("nt") != -1 || osname.indexOf("2000") != -1 || osname.indexOf("xp") != -1){
                             type = OSTYPE_WINNT;
                        } else if(osname.indexOf("ce") != -1){
                             type = OSTYPE_WINCE;
                        } else {
                             type = OSTYPE_WINDOWS;
                   } else if(osname.indexOf("linux") != -1 || osname.indexOf("bsd") != -1){
                        type = OSTYPE_LINUX;     
                   } else if(osname.indexOf("mac os") != -1 || osname.indexOf("macos") != -1){
                        type = OSTYPE_MAC;
                   } else if(osname.indexOf("solaris") != -1){
                        type = OSTYPE_SOLARIS;     // could also be old freebsd version
                   } else if(osname.indexOf("netware") != -1){
                        type = OSTYPE_NETWARE;
                   } else if(osname.indexOf("os/2") != -1){
                        type = OSTYPE_OS2;
                   } else {
                        type = OSTYPE_UNKNOWN;     
              return type;
              @return the prefix to execute a shell command. For example "command /c " to execute a shell command on windows9X machines.
         public static String getShellString()
                 String appendStr = "";
                 int ostype = getOs();
                 if(ostype == OSTYPE_WINDOWS){
                      appendStr = "command /c ";
                 } else if(ostype == OSTYPE_WINNT || ostype == OSTYPE_WINCE){
                      appendStr = "cmd /c ";     
                 } else if(ostype == OSTYPE_LINUX || ostype == OSTYPE_MAC){
                      appendStr = "/bin/sh -c ";     
                 } // add other shell executers
                 return appendStr;
         /** execute a command and ignore any output it generates (output is sent to System.out and System.err).
              It is valid to pass a command containing multiple parameters
              @param command the command to execute
              @return the exit code the process generated
         public static int exec(String command)
              throws IOException
              return exec(command, false, System.out, System.err);
         /** execute a (shell) command and ignore any output it generates (output is sent to System.out and System.err).
              It is valid to pass a command containing multiple parameters.
              NOTE: only windows (command), winnt (cmd) and linux (sh) shell executions are supported.
              @param command the command to execute
              @param shellCommand should the command be handled as an internal shell command?
              @return the exit code the process generated
         public static int exec(String command, boolean shellCommand)
              throws IOException
              return exec(command, shellCommand, System.out, System.err);
         /** execute a (shell) command and catch the output it generates.
              It is valid to pass a command containing multiple parameters.
              NOTE: only windows (command), winnt (cmd) and linux (sh) shell executions are supported.
              @param command the command to execute
              @param shellCommand should the command be handled as an internal shell command?
              @param output the output stream to send the output of the process to (output is handled as textual data)
              @return the exit code the process generated
         public static int exec(String command, boolean shellCommand, OutputStream output)
              throws IOException
              return exec(command, shellCommand, output, System.err);
         /** execute a command and catch the output it generates.
              It is valid to pass a command containing multiple parameters.
              @param command the command to execute
              @param output the output stream to send the output of the process to (output is handled as textual data)
              @return the exit code the process generated
         public static int exec(String command, OutputStream output)
              throws IOException
              return exec(command, false, output, System.err);
         /** execute a command and catch the output (stdout) and errors (stderr) it generates.
              It is valid to pass a command containing multiple parameters.
              @param command the command to execute
              @param output the output stream to send the output of the process to (output is handled as textual data)
              @param error the output stream to send the error output of the process to (output is handled as textual data)
              @return the exit code the process generated
         public static int exec(String command, OutputStream output, OutputStream error)
              throws IOException
              return exec(command, false, output, error);
         /** execute a command and catch the output (stdout) and errors (stderr) it generates.
              It is valid to pass a command containing multiple parameters.
              NOTE: only windows (command), winnt (cmd) and linux (sh) shell executions are supported.
              @param command the command to execute
              @param shellCommand should the command be handled as an internal shell command?
              @param output the output stream to send the output of the process to (output is handled as textual data)
              @param error the output stream to send the error output of the process to (output is handled as textual data)
              @return the exit code the process generated
         public static int exec(String command, boolean shellCommand, OutputStream output, OutputStream error)
              throws IOException
             if(shellCommand == true){
                  String appendStr = getShellString();
                  command = appendStr + command;
             String[] realcommand;
             if(command.indexOf(" ") != -1){
                  realcommand = command.split(" ");
             } else {
                  realcommand = new String[1];
                  realcommand[0] = command;     
             try{
                  Process ls_proc = Runtime.getRuntime().exec(realcommand);
                   ExecStreamThread execOutput;
                   ExecStreamThread execError;
                   execOutput = new ExecStreamThread(ls_proc.getInputStream(), output);
                   execOutput.start();
                   execError = new ExecStreamThread(ls_proc.getErrorStream(), error);
                   execError.start();
                 int exitvalue = ls_proc.waitFor();     
                   if(output != null) { output.flush(); }
                   if(error != null) { error.flush(); }
                   return exitvalue;
              } catch(Exception e){
                   throw new IOException(e.getMessage());
         public static void main(String[] args)
              try{
                   int code = ExecUtil.exec("javac test.java", System.out, System.err);
                   System.out.println("Exit code was : " + code);
                   code = ExecUtil.exec("java test", System.out, System.err);
                   System.out.println("Exit code was : " + code);
              } catch(IOException e){
                   System.out.println("failed due to exception: " + e);
              try{
                   int code = ExecUtil.exec("dir/w", true, System.out, System.err);
                   System.out.println("Exit code was : " + code);
              } catch(IOException e){
                   System.out.println("failed due to exception: " + e);
    }

  • Reading contents of called standard program

    Hi Experts,
    Calling Program: Zreport
    Called Program: Standard report (Note: with no Start-of-selection event. So, no Spool!).
    I need to read the content of one of the intrnal table of the called program inside my Zreport. Kindly guide how can I achieve this?
    Thanks in advance.
    Udit

    >
    Keshav.T wrote:
    > Use this method retrieving internal table info. during runtime from callstack
    But this is possible only if the internal table is available in the ABAP stack.
    @OP: You can check this thread which is close to what you requirement is. How do I get a variable, or object from ABAP STACK.
    BR,
    Suhas

  • Picture in splitter container

    Is it possible to create a picture in a splitter container?

    What I have is this in PBO:
    DATA splitter3 TYPE REF TO cl_gui_splitter_container.
          CREATE OBJECT container
            EXPORTING
              container_name = 'CONTAINER'.
        CREATE OBJECT splitter1
          EXPORTING
            parent  = container
            rows    = 1
            columns = 2.
        CALL METHOD splitter1->get_container
          EXPORTING
            row       = 1
            column    = 1
          RECEIVING
            container = container_1.
        CREATE OBJECT splitter3
          EXPORTING
            parent  = container_1
            rows    = 3
            columns = 1.
        CALL METHOD splitter3->get_container
          EXPORTING
            row       = 1
            column    = 1
          RECEIVING
            container = container_1_1.
        CALL METHOD splitter3->get_container
          EXPORTING
            row       = 2
            column    = 1
          RECEIVING
            container = container_1_2.
        CALL METHOD splitter3->get_container
          EXPORTING
            row       = 3
            column    = 1
          RECEIVING
            container = container_1_3.
        DATA: o_dd_document TYPE REF TO cl_dd_document.
        CREATE OBJECT o_dd_document.
        CALL METHOD o_dd_document->add_picture
          EXPORTING
            picture_id       = 'ENJOY_SAP'
            width            = '350'.
        CALL METHOD o_dd_document->display_document
              EXPORTING
                reuse_control      = 'X'
                container          = container_1_3.
    *        parent             =
    *      EXCEPTIONS
    *        html_display_error = 1
    *        others             = 2
    The result is that I get a message with that container "container_1_3" is not of same type like the method display_document.

  • Calling external program on application server

    Hi, everyone. I'm trying to call an external program from ABAP by using SM69 and FM SXPG_COMMAND_EXECUTE
    MOVE 'zlong_bat' to ld_comline.         "Maintained using trans SM69
    * Execute external command, contained in 'ld_comline'
      CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
           EXPORTING
                commandname                   = ld_comline
    *           additional_parameters   = ld_param  "Params passed to script
    *           operatingsystem               = 'UNIX'
           IMPORTING
                status                        = ld_status
           TABLES
                exec_protocol                 = ld_output
           EXCEPTIONS
                no_permission                 = 1
                command_not_found             = 2
                parameters_too_long           = 3
                security_risk                 = 4
                wrong_check_call_interface    = 5
                program_start_error           = 6
                program_termination_error     = 7
                x_error                       = 8
                parameter_expected            = 9
                too_many_parameters           = 10
                illegal_command               = 11
                wrong_asynchronous_parameters = 12
                cant_enq_tbtco_entry          = 13
                jobcount_generation_error     = 14
                OTHERS                        = 15.
      IF sy-subrc NE 0.
      ENDIF.
    In the  sm69, I define zlong_bat with
        Operating system command: cmd
         Parameters for operating system command: /c remoteconn.bat
    It can run well if remoteconn.bat contain some simple command of dos like dir, md, mk... But when I call a program from remoteconn.bat, the abap program hang. I also cannot test in sm69 because it hang too.
    If I call direcly from sm 69 with
         Operating system command: cmd
         Parameters for operating system command: /c  psexec.exe
    localhost -u test -p 1234
    or
         Operating system command: C:\psexec.exe
         Parameters for operating system command: 
    localhost -u test -p 1234
    The SM69 also hang.
    Are there any method to call a program from sap without hanging
    of course the program is in its position on application server.
    Thank you in advance.
    Regards,
    Long
    Edited by: dragonking88 on Aug 25, 2010 12:54 PM

    Hi Long Le Hoang,
    I am running a shell script fromSM69 which call psexec.
    shell script runs fine but SM69 execution goes on hold.
    Can you please help me how to terminate SM69 execution.
    Alpa

  • Call ABAP Program from outside SAP

    Hi all,
    How can I call an ABAP program from outside SAP, for example from a C++ executable, a .NET assembly or a JAVA package ? Are their "adapters" provided by SAP for this ?
    Angela

    Hi Angela,
    as mho already stated:
    For external connections to ABAP, the sap-proprietary "remote function call (RFC)" is a common way.
    SAP delivers an RFC-library for this, and for some development environments SAP even offers a connector on top of this library to make connectivity more easy (SAP Java Connector, SAP Business Connector, SAP Connector for Microsoft .Net). An RFC is always starting function modules in ABAP, not ABAP programs, and these function modules need the attribute "remote-enabled".
    (Remark: in the context of SAP NetWeaver Process Integration, SAP offers adapters for connectivity, also for ABAP systems.)
    For ABAP systems on basis code line 6.20 and above, the remote-enabled function modules can externally be used as web services.
    Information on RFC can be found in the SAP Help Portal http://www.help.sap.com, e.g. [RFC Call - Example Program|http://help.sap.com/saphelp_nw04/helpdata/en/3d/733760ccb411d2b4550060941936e3/frameset.htm]. A search in SDN provides links to the Help Portal as well.
    >
    Angela GALACY wrote:
    > For example, what if I develop an EJB inside NetWeaver, will I be able to access this from any J2EE client ?
    This part is beyond the ABAP question, and my guess is pretty simple: like on any other J2EE server.
    Regards, Boris

  • ABAP Objects: Problems with controls in splitter container

    Hi community,
    I have problems with the second control in a splitter container.
    In the left container I build up a <u>list tree</u>.
    On double click on a node a <u>column tree</u> in the right container is created.
    This is working fine.
    But if I double click on another node in the left container the right tree remains unchanged.
    What do I have to do to update/refresh the tree in the right splitter container.
    Thanks in advance.
    Regards
    Ferdi

    Thanks for your reply Thomas and Serdar,
    I now destroy the right container and the right tree control if it exists after the event 'double_click' on a node in the left tree.
    The result is now that the container is created (I can see it on screen) but no tree is shown.
    If I just destroy the tree control but not the container the tree from the first double click on the left tree is shown.
    In the debugger I see that the list tree instance is linked to the caontainer (after first and second creation of tree control)
    Maybe you can see in the coding below what's wrong or missing.
    Coding after EVENT DOUBLE_CLICK in left Tree: <pre>
    destroy ‘old’ tree instance and container
      if not g_container_2 is initial.
        call method g_container_2->free.
        clear: g_container_2, g_tree_2.
      endif.
    create right container
      call method g_splitter->get_container
                exporting row      = 1
                          column   = 2
                receiving container = g_container_2.
    setup the hierarchy header
      hierarchy_header-heading = 'Hierarchy Header'.
      hierarchy_header-width = 37.       
    create a column tree model instance
      create object g_tree_2
        exporting
          node_selection_mode = cl_column_tree_model=>node_sel_mode_single
          item_selection = 'X'
          hierarchy_column_name = 'C1'
          hierarchy_header = hierarchy_header.
    create tree control
      call method g_tree_2->create_tree_control
        exporting
          parent = g_container_2.
      perform add_columns.
      perform define_events.
    set registered events
      call method g_tree_2->set_registered_events
        exporting
          events = events.
      perform get_data.
      perform add_nodes_2.
    expand the root node
      call method g_tree_2->expand_node
        exporting
          node_key = 'Root'
          level_count = 3.
    </pre>
    Regards
    Ferdi
    Message was edited by: Ferdi Meyer

  • GUI Status in Splitter Container

    Hi all...
    how can we change the standard GUI status that comes in splitter container?
    Thanks & Regards,
    Vidya.

    That is not GUI status by the toolbar of the ALV grid. You can customize that (Add custom buttons / delete existing buttons) buttons.
    For taking out the buttons, using the IT_EXCLUDING parameter of the SET_TABLE_FOR_FIRST_DISPLAy.
    For adding buttons, activate the HANDLE_TOOLBAR event and add the buttons in that event. Take a look at the sample program BCALV_GRID_07. You will have to do this individually for each grid.
    Regards,
    Ravi
    Note : Please mark all the helpful answers and close the thread if the question is answered.

Maybe you are looking for

  • Dispute Case:UDM_Dispute Attach document

    Dear All We want to attach document to dispute case. We know attachment function available when someone open the dispute case from inbox but in this way only a person who is assigned as processor can assign the document to dispute case. But if someon

  • About Mac os 10.8

    Hi! I've bought my macbook pro in august this year. And I've just read that I may update my Mac OS X to 10.8 version. May I do it now, or you can't give such present for me, because 30 days after bying are gone? Thanks to read this. Waithing for answ

  • Is there a 64 bit version of Dreamweaver?

    For some reason, the Creative Cloud Utility does not install the 64 bit version of Dreamweaver even though I have a 64 bit system. Why is this? Is there no 64 bit version of Dreamweaver? If there is no 64 bit version of Dreamweaver, why is there no 6

  • Opening CS4 files without CS

    Is there a program or a way to view files created with Illustrator or other CS programs without actually having CS installed or without having the files saved with an alternative extension?

  • Timemachine/restore problems... Files "Gone"

    Timemachine problems... After doing a clean install on my macbook with lion and the did a full system restore from my TM BC, I dont see my files (Doc, Pic, Music, Etc) But my main drive has only 22GB left of 160GB... So I guess the files must be ther