Execute ABAP code from within SAPScript code


Do u have any question??? or are you trying to give suggestion???
If u have query how to call a report in script here is ur answer
The Form :
The report :
DATA : BEGIN OF it_input_table OCCURS 10.
DATA : END OF it_input_table.
* déclaration de la table output_table contenant les
variables exportées
DATA : BEGIN OF it_output_table OCCURS 0.
DATA : END OF it_output_table.
DATA : w_ebeln LIKE ekko-ebeln,
* w_vbeln LIKE vbak-vbeln,
w_zcdffa LIKE vbak-zcdffa.
FORM cde_cent TABLES input output.
it_input_table[] = input[].
it_output_table[] = output[].
READ TABLE it_input_table INDEX 1.
MOVE it_input_table-value TO w_ebeln.
input = w_ebeln
output = w_ebeln.
INTO w_zcdffa
WHERE ebeln = w_ebeln.
it_output_table-name = 'CDECENT'.
MOVE w_zcdffa TO it_output_table-value.
MODIFY it_output_table INDEX 1.
output[] = it_output_table[].
Reward all helpfull anwers

Similar Messages

  • Execute shell command from within pascal code

    Hello there,
    I am trying to execute a shell command from within my pascal code. I use XCode together with FreePascal. I have tried something like:
    exec ('program', 'options');
    adding the 'Dos' unit to the Uses clause of my program.
    Thus, e.g.,
    exec ('mkdir', '/A')
    to create a directory with the name 'A'.
    However, my attempts so far were unsuccessful. Can anyone help me on this, and perhaps provide a simple example of how to do it right?
    Thank you in advance,

    In the mean time, I found the problem myself. I am just posting the solution here for anyone that is interested. My original solution was correct, in that the 'Dos' Unit must be added, and that the right command is 'exec'. There was however a problem with the correct path to the program that I wanted to invoke. In the shell, this program was accessible from anywhere. However, in the 'exec' command, the full path to the program must be given. Since I am not a Unix expert, I don't know the reason for this.
    So, in summary, the solution is:
    Uses Dos;
    exec ('full path to program', 'program options');
    e.g.: exec ('/bin/sh', '/run.sh') to process the commands in the file /run.sh
    Hope this may be of help to anyone else.
    Mac OS X (10.3.9)
    Mac OS X (10.3.9)
    Mac OS X (10.3.9)

  • Debugging ABAP Code From Within WebDynpro

    Hi experts,
    I would like to check whether i can debug ABAP code from within webdynpro if i m using a remote J2EE server.
    So netweaver development studio is on my machine
    J2ee server is on a remote machine
    R/3 is also on another remote machine

    Hi Daniel,
    One thing note here is
    "You have debugging authorization in the ABAP Workbench in the relevant system.
    Since debugging in the ABAP system via load balancing is not supported, you must reconfigure your JCO destinations so that the calls take place on a dedicated ABAP application server. For Web Dynpro, this is done in the Web Dynpro Content Administrator. In the destination maintenance, specify Single Server Connection as the Destination Type ".
    Other than that ideally it works with j2ee and abap on diff systems.

  • How to get the Weblogic Server Id from within java code

    I would like to log which server (among a cluster) a certain job is running on. Is there a way to get the server id from within Java code (this code is in a session bean if that is relevant.)
    By server id I mean the "Name" column in the summary of servers on the weblogic console.

    Use the two entries close to the bottom of the page: "list WebLogic
    display MBean attributes and operations:showMBean.jsp"
    Anatoly wrote:
    That page has these items on it:
    which one do you think helps with my issue?
    Misc WebLogic examples
    Execute tasks in parallel using WebLogic Execute Threads
    Weblogic stats (5.1)
    Reload Servlet(s) programmatically (5.1)
    Network classload from WebLogic:using reflection,or the launcher
    Weblogic 5.1 debugging properties
    Seppuku pattern readme
    Using dynamic proxies to intercept EJB invocations (6.1)
    list WebLogic MBeans:listMBeans.jsp
    display MBean attributes and operations:showMBean
    Thanks to Marcelo Caldas for filter by type option and nice UI!
    Using com.sun.jdmk.comm.HtmlAdaptorServer with WebLogic 6.1
    "Cameron Purdy" <[email protected]> wrote in message news:<3c7a745d$[email protected]>...
    JMX ... see http://dima.dhs.org/misc/ for some info on JMX in Weblogic.
    Cameron Purdy
    Tangosol, Inc.
    Clustering Weblogic? You're either using Coherence, or you should be!
    Download a Tangosol Coherence eval today at http://www.tangosol.com/
    "Anatoly" <[email protected]> wrote in message
    news:[email protected]..
    Does anyone know who to get the managing server URL's port
    from within the EJB code running on Weblogic 6.1?
    The URL port is not default (not 7001), but when creating
    initial context, I am not specifying the URL in properties.
    Due to that, trying to the the PROVIDER_URL property from
    environment does not return anything.
    Appreciate any responses.
    [email protected]

  • Need to start JINI registrar instance from within the code

    HI All,
    I need to write JUnits for our app using JINI for which we need to start JINI registrar from within the code and then publish some services to it.
    Any idea how we could be starting the JINI registrar from Java Code ? Any thoughts/suggestions/pointers would be highly appreciated.
    Thanks in advance

    Hi Senthil,
    You can directly call the outer class method. Otherwise use the following way MyDialog.this.close(); (But there is no close() method in Dialog!!)
    If this is not you expected, give me more details about problem.
    (Siva E.)

  • Is it possible, when i call a vi from within my code, to pass to it parameters as input and to return some values too?

    Hi There!
    I am currently calling a vi from within my code. However, what i would like to do, is to pass it 2 int values when i call it and for it to return 2 int values when it is done!
    Any advice on how i can do this please.

    Hi Matrix,
    is there a reason you do it this way? By Ref (it is called dynamically loading)
    If you place the VI directly on the BD of a VI you can just wire things up.
    Now if you need dynamically loading. hoover the open VI-ref function and right click on the type specifier and select create constant. Then right click browse, browse to your VI. Now you have the connector pane.
    But if I were you I just use VI directly, because you'll keep connections active between the two VI's
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • Is it possible to call an executable of compiled c code from within LabVIEW?

    I can compile 'genesis' (the name of the code we are planning to use) under unix: it produces an executable which can be
    linked to user-constructed c files which contain specific crossover and/or
    mutation strategies, so once a user has the executable, it is not
    neccesary to re-compile the main GA everytime a user mucks around with the
    combination rules. I think that a question is, can you call the (or any)
    executable from within LabView?
    Alan Homer

    You can call executables using the System Exec VI, which can be found in the Communications palette.
    Try to take over the world!

  • Execute PL/SQL block with named binds from within java code?

    Hi guys,
    Is there any good way to execute my PL/SQL code, for example
    BEGIN         :x := :x+1; END;
    from my Java code? I need nothing complicated, just static code block with named binds.
    I have tried the Oracle exetnded JDBC (setXXXbyName methods):
      public static void main(String[] args){     try {     Class.forName("oracle.jdbc.driver.OracleConnection");     Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","user","password"); String SQL="begin :x:=:x+1; end;"; OracleCallableStatement stmt; stmt=(OracleCallableStatement)conn.prepareCall(SQL); stmt.setIntAtName("x", 5); stmt.registerOutParameter("x", Types.INTEGER); stmt.execute(); System.out.println(stmt.getInt("x"));     } catch (Exception x) { x.printStackTrace();    }   }
    And get the java.sql.SQLException: operation not allowed: Ordinal binding and Named binding cannot be combined!
    Then i've tried SQLJ appoach:
      public static void main(String[] args){     try {     Class.forName("oracle.jdbc.driver.OracleConnection");     Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","user","password");       Oracle.connect(conn);       System.out.println("Connected!");           int x=3;       #sql { BEGIN         :x := :x+1;       END; };           System.out.println("x=" + x);     } catch (Exception x) { x.printStackTrace();    }   }
    And x=3 had retuned... Although 4 expected.
    Then, I've set parameter sqlj.bind-by-identifier=true
    And result is another exception! java.sql.SQLException: Missing IN or OUT parameter at index:: 2
    Can you please mark my mistakes/point to correct solution?
    Thanks in advance,

    Found another solution, this time working at least...
      public void testPLSQL() {
           String dynamicSQL=
                "declare\n" +
                "  v_CursorID  INTEGER;\n" +
                "  v_BlockStr  VARCHAR2(500);\n" +
                "  v_Dummy     INTEGER;\n" +
                "  v_x         String(18);\n" +
                "BEGIN\n" +
                "  v_CursorID := DBMS_SQL.OPEN_CURSOR;\n" +
                "  v_BlockStr :=?;" +
                "  DBMS_SQL.PARSE(v_CursorID, v_BlockStr, DBMS_SQL.V7);\n" +
                "  v_x:=?;"+
                "  DBMS_SQL.BIND_VARIABLE(v_CursorID, ':x', v_x,18);\n" +
                "  v_Dummy := DBMS_SQL.EXECUTE(v_CursorID);\n" +
                "  DBMS_SQL.VARIABLE_VALUE(v_CursorID, ':x', v_x);\n" +
                "  DBMS_SQL.CLOSE_CURSOR(v_CursorID);\n" +
                "  ?:=v_x;"+
                "  COMMIT;\n" +
                "EXCEPTION\n" +
                "  WHEN OTHERS THEN\n" +
                "    DBMS_SQL.CLOSE_CURSOR(v_CursorID);\n" +
                "    RAISE;\n" +
                "END DynamicPLSQL;";
             try {
                   Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","user", "password");
         String SQL="begin :x:=:x+1; end;";
         OracleCallableStatement stmt;
         stmt.setString(1, SQL);
         int x=3;
         stmt.setInt(2, x);
         stmt.registerOutParameter(3,     Types.INTEGER);
         assertEquals(4, x);
             } catch (Exception ex) {
      }Now the only thing I need is to code some kind of preprocessor of SQL block, to prepare the dynamicSQL lair for SQL critter...
    Please please please show me something less complicated! :8}

  • Signing Jars from within Java Code

    I would like to sign a jar file from within my Java code. Reason for this is that I wish to update a jar file at runtime, throw away the class loader that loaded the jar, and load the updated code inside a new classloader.
    One problem, however: The jar file has to be signed before loading it. How can I do this from my Java program? Or do I need to have the jarsigner tool available at the location where I resign the jar?
    Thanks in advance,

    In the meantime I found an answer to my problem. In rt.jar there exists a class sun.security.tools.JarSigner, which can be used for exactly this purpose. Not completely portable, but it'll do the trick.

  • PL/SQL: Executing a procedure from within another procedure

    Hello, I'm a newbie and I need help on how to execute procedures from within another procedure. The procedure that I call from within the procedure have return values that I want to check.
    I tried: EXECUTE(user_get_forum_info(p_forumid, var_forum_exists, var_forum_access, var_forumname));
    but I get the error message:
    PLS-00103: Encountered the symbol "USER_GET_FORUM_INFO" when expecting one of the following::= . ( @ % ; immediate
    The symbol ":=" was substituted for "USER_GET_FORUM_INFO" to continue.
    And when I tried: EXECUTE(user_get_forum_info(p_forumid, var_forum_exists, var_forum_access, var_forumname));
    I get the error message:
    PLS-00222: no function with name 'USER_GET_FORUM_INFO' exists in this scope
    PL/SQL: Statement ignored
    The procedure USER_GET_FORUM_INFO exists. (don't understand why it says "no FUNCTION with name", it's a procedure I'm executing)
    I'm stuck so thanks for any help...
    Below is all the code. I'm using Oracle 9i on RedHat Linux 7.3.
    CREATE OR REPLACE PROCEDURE user_forum_requestsaccess (
    p_forumid IN NUMBER,
    p_requestmessage IN VARCHAR2
    var_forumid NUMBER;
    var_forum_exists NUMBER;
    var_forum_access NUMBER;
    request_exists NUMBER;
    var_forumname VARCHAR2(30);
    SELECT SIGN(NVL((SELECT request_id FROM forum.vw_all_forum_requests WHERE forum_id = p_forumid AND db_user = user),0)) INTO request_exists FROM DUAL;
    EXECUTE(user_get_forum_info(p_forumid, var_forum_exists, var_forum_access, var_forumname));
    IF var_forum_exists = 0 THEN
    ELSIF var_forum_access = 1 THEN
    ELSIF request_exists = 1 THEN
    INSERT INTO tbl_forum_requests VALUES (SEQ_TBL_FORUM_REQ_REQ_ID.NEXTVAL, SYSDATE, p_requestmessage, p_forumid, user);
    INSERT INTO tbl_forum_eventlog VALUES (SEQ_TBL_FORUM_EVNTLOG_EVNT_ID.NEXTVAL,SYSDATE,1,'User ' || user || ' requested access to forum ' || var_forumname || '.', p_forumid,user);
    END IF;
    THEN RAISE_APPLICATION_ERROR(-20003,'Forum doesnt exist.');
    THEN RAISE_APPLICATION_ERROR(-20004,'User already have access to this forum.');
    THEN RAISE_APPLICATION_ERROR(-20005,'A request to this forum already exist.');
    GRANT EXECUTE ON user_forum_requestsaccess TO forum_user;
    Regards Goran

    you don't have to use execute when you want to execute a procedure (only on sql*plus, you would use it)
    just give the name of the funtion
    create or replace procedure test
        dbms_output.put_line('this is the procedure test');
    end test;
    create or replace procedure call_test
        dbms_output.put_line('this is the procedure call_test going to execute the procedure test');
    end call_test;
        dbms_output.put_line('this is an anonymous block calling the procedure call_test');

  • Detect print program name from within Sapscript. Is this possible?.

    We have a situation whereby for the single and group delivery we have two print programs printing to one Sapscript form. This is exactly what we need, with one exception being the title. What I would like to do is detect the print program and change the title accordingly. Does anyone know if this is possible?.

    Hi Jason,
    hhhmm, the obvious answer sy-repid is of course bogus, because that would contain the program from the SAPscript environment. I wonder though if sy-cprog is of any use - probably not, but was too lazy to test this...
    In general though I'd recommend though to use some better marker than program name. E.g. don't you have any existing global field that can be used (e.g. are you using the same delivery type, same output type, ...)? If you don't have one, maybe you should consider putting a global variable in both print programs that you fill to indicate which type you're processing.
    In theory you could of course determine the program name, even from SAPscript, with the help of a ABAP form routine that evaluates the call stack and returns the program name of the print program. Or you could evaluate TNAPR as suggested by the previous poster, but I'm not sure if that's available by default (like the NAST record); I thought not, but my memory might serve me wrong. If not, I'd personally go with the markup variable (ideally existing content, if not available new one) as this seems the cleaner approach.
    Cheers, harald

  • Executing OS command from within PL/SQL...

    I would like to know if you can issue operating system command
    from within a PL/SQL block on Oracle Database(not developer
    2k) .Is there any built in package for the same ? Like a similar
    command is available in forms i.e HOST .
    Can anyone help please ?
    Thank You

    The only documentation I have seen uses dbms_pipe which
    communicates with a host 3gl program, usually C, which in turn
    issues a call to the c function system(). You could also mimic
    these same actions without using dbms_pipe by using a extproc
    program linked to the database if you are running db version 8.0
    or above. See the pl/sql procedure manual for dbms_pipe examples.
    Raghavendra (guest) wrote:
    : Hi
    : I would like to know if you can issue operating system command
    : from within a PL/SQL block on Oracle Database(not developer
    : 2k) .Is there any built in package for the same ? Like a
    : command is available in forms i.e HOST .
    : Can anyone help please ?
    : Thank You
    : Cheers
    : Raghavendra

  • Problem executing .bat file from within Java class

    I'm stumped: I have no problem executing a .bat file that sets classpaths and executes a Java jar, but when I try to execute other executables first and then the .jar, my application hangs and since the DOS box doesn't come up over my GUI, I can't see what's going on.
    This works:
    public void execute() throws Exception {
    String s = "c:\\cs47auxs\\omnijar\\omni.bat";
    Process p = Runtime.getRuntime().exec("\"" + s + "\"");
    "The Database Has Been Successfully Reloaded.",
    "Information Message",
    Here's the .bat 'omni.bat'
    set JAVA_HOME=c:\j2sdk1.4.2_04\bin
    %JAVA_HOME%\java -jar C:\CS47AUXS\OMNILOADJAR\OmniLoad.jar
    This doesn't work:
    public void execute() throws Exception {
    String s = "c:\\cs47auxs\\omnijar\\jobomni.bat";
    Process p = Runtime.getRuntime().exec("\"" + s + "\"");
    "The Database Has Been Successfully Reloaded.",
    "Information Message",
    Here's the .bat file 'jobomni.bat'
    SET JH=C:\J2SDK1.4.2_04\BIN
    %JH%\java -jar omniload.jar
    Can anyone shed some light here? Even when I execute the application from the command line the new DOS box doesn't become visible nor can I see any errors. If I could just get that visibility, I could probably figure out what is going wrong.

    Same problem with me as well.... Badly looking for a solution...
    I predict the following:
    - If your batch file has pretty less number of dos/shell commands then it gets executed fine with exec() and proc.waitFor();
    - If you increase the number of dos/shell commands in the bat file then try executing it then it definately hangs at proc.waitFor();
    Even "cmd.exe /C C:\\test.bat" hangs... if the commands are more...
    Is this some sort of bug? or am i doing anything wrong? I tried searching for solution on the net and search forums... but couldnt find a solution for the same.. not sure where i missed, what i missed...
    Incase some one finds a solution.. do post it here...
    Message was edited by:

  • Debugging ABAP Code From Within Webdynpro Application

    Hello Experts,
    We use ABAP RFC Function in Our Java Webdynpro application, We need to debug the parameters pass from the webdynpro application to the ABAP Function.
    In order to do that we:
    1. Defined a JCO connection with "Single Server Connection" as the Destination Type.
    2. We have loged on to the relevant system and client using SAP GUI with the same user that run the webdynpro application.
    3. We have activate the external debugging in se80 Utilities -> Settings
    4. We have set an HTTP (external) breakpoint in the ABAP code,
    As mentioned in the article:
    However, we recieve a dump in the R3 system:
    RFC debugging is only possible with dialog user
    What happened?
    You attempted to debug a program by RFC. However, in this destination
    there is a user whose user type permits communication without dialog.
    This means, for example, that debugging with a system user is not
    What can you do?
    Restart the program and take note of the following:
    You can do one of the following:
    1. You can change the user listed in the RFC destination and enter a
    dialog user.
    2. In the target system of RFC you can change the user type of the user
    listed in the RFC destination to 'dialog'.
    3. You can avoid this runtime error by omitting the RFC debugging.
    If in the ABAP debugger the statement cursor points to the statement
    (CALL FUNCTION ... DESTINATION), you must choose the function
    We checked and the user we use is defined as dialog in SU01 and the user that the webdynpro use to call the functio is the same user as was logged in.
    What else should we do?

    Hello Eyal,
    You mentioned the following..
    1. Defined a JCO connection with "Single Server Connection" as the Destination Type. 2. We have loged on to the relevant system and client using SAP GUI with the same user that run the webdynpro application.*<---The system that you logged into is your source system*
    3. We have activate the external debugging in se80 Utilities -> Settings
    4. We have set an HTTP (external) breakpoint in the ABAP code,
    and the name of the system defined in the RFC connection will be your target system.
    As per the response (dump error message) in this target system you need to have a dialog user.
    And this dialog user needs to be defined in the RFC destination that is being used to connect to the target system.

  • Execute .Bat file from pl/sql code

    Can you please let me know that how can I execute the .Bat file from pl/sql procedure? Does anybody have a sample code??

    This may help you

Maybe you are looking for

  • HT204053 My family owns 3 computers, how can we share, or better yet, centralize our music when we have 3 different apple ID?

    My family owns 3 computers, how can we share, or better yet, centralize our music when we have 3 different Apple ID? How can we sync all 3 computers music content on itunes Match? Even when only one purchases music?

  • N97 SMS Memory

    Hi! My Nokia N97 failed yesterday so I had to hard reset it and than reinstall the operating software.  I am now re-programming all the settings on my phone, but for some reason, in SMS, I can not set the memory to E: Mass Memory, it will only stay o

  • The 'not member of any group' smart group stopped working

    Since upgradng to Lion I notice that the Smart Group in Address book which I set to: "Card - is not member of - any group" has stopped working. I used to find this very useful since I like all my contacts to be assigned to one group, and this helps m

  • Bluetooth option has disapeared

    Hi, am running ios7.0.4 on iphone 4 suddenly my bluetooth option has disapeared from my settings. there is a bluetooth button in the quick access (finger swipe up) page but when i press it nothing happens..am confused as to reason for sudden lack of

  • Source Not Found Error while Debugging

    Hello, I get annoying Errors while debugging a midlet. I reinstalled all programms an created a new midlet suite + midlet but the error is still there and the Midlet doesnt start. i got Eclipse Version: 3.2.2, Eclipse ME 1.6.6, the newest WTK 2.5 and