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
PeteAHi,
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
TonyHi 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,
Harshadacreate 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,
Harshhi,
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 -
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 PMHi 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 ?
AngelaHi 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
FerdiThanks 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
-
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
-
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