Call From Cobol Program on OS 390

 

Don Ferguson <[email protected]> writes:
What does IBM offer in this space? I guess its possible to envisage
calling an EJB from a COBOL program over IIOP, but no-one has tried
it. If this is how IBM does it then it should work with us also under 6.1
andy
Roman wrote:
Hi .
Try to WLS6 and WTC -- weblogic tuxedo connector and Elink 4 for connectivity
between OS390 CICS and Tuxedo.
IBM Websphere offers more as for EJB - OS390 system. But Weblogic is better
J2EE server (global view), in my opinion.
Roman
"Cameron Purdy" <[email protected]> wrote:
I'd suggest CORBA (2.3 or later).
Cameron Purdy
Tangosol, Inc.
http://www.tangosol.com
+1.617.623.5782
WebLogic Consulting Available
"Marc Lenart" <[email protected]> wrote in message
news:3a8956f2$[email protected]..
Can you steer me in the right direction as to how I can call a sessionbean from a
cobol program on the OS390 platform? An example wouyld be helpful.Thank
You!

Similar Messages

  • External procedure call for cobol programs

    I'm trying to call cobol programs using external procedure calls. I followed metalink doc#119543.1 but when the cobol shared library is called from PL/SQL, the session hangs. I'm running Oracle 9.2.0.4 EE, Microfocus Server Express 2.2, C for AIX v6, and AIX 5.2 (64-bit). If you know how to get this working or you have a working test case, please post a reply. Thanks.

    You know that there are several steps to it :
    1.- Make a library from cobol a the source code in a file
    2.- Check the listener parameters to call external procedures and the service in the client
    3.- Make a library inside the database
    4.- Create the procedure that is going to call the
    procedure.
    Did you do those steps?
    Joel P�rez

  • How to edit a program dynamically called from another program

    Hi all,
    Can anyone help me in coding for a program which call's another
    report dynamically from selection screen(for instance z_dynam_called)
    and retreive the whole content of the dynamically called program(z_dynam_called)
    into an internal table and replace the contents of the internal table  with some new code and put it back in z_dynam_called and save it.
    Thanks in advance.
    Needful will be rewarded with points

    Hi,
    Follow this:
    1) U can pass data from one program to another in a single login using SAP memory......
    2) u can create a DBtable update dat table using ur first pgm and fetch from second program.....
    3) U can pass the report output using EXPORT TO MEMORY addition and get it back using IMPORT FROM MEMORY..........
    Eg:
    Export the selected rows to the next program
    EXPORT final TO MEMORY ID 'ABC'.
    CALL TRANSACTION 'XXX'.
    XXX is the tcode for the other program where u want to import the values.
    In the second program
    INITIALIZATION.
    IMPORT the internal table from the first program
    IMPORT final FROM MEMORY ID 'ABC'.
    Thanks and Regards,
    Reward If Helpful

  • How to access system calls from java program?

    i am having a doubt regarding accessing system calls from a Java program like accessing unix system calls from a c program.

    Runtime.getRuntime().exec("line command here");
    example:
    Runtime.getRuntime().exec("ls -la");

  • Program rbdapp01 when called from a program is not working

    Hi Guys,
    I am calling the program rbdapp01 from a custom program to reprocess an inbound ASN with IDOC status of 64. The code is listed as below in the custom program.
    SUBMIT rbdapp01
    WITH docnum = i_report_tab-docnum
    WITH p_output = C_FALSE
    AND RETURN.
    After the execution of the custom program, the IIDOC is not processed and it remains in the status 64 with a message "Re processing deleted , inbound delivery IDOC , ,". When I run the program in debug mode, I can see that the control is going into the rbdapp01 program. But some where along the line, it is failing for what ever may be the reason and it does not process the IDCO, but it only populates the message.
    But when I execute the same program rbdapp01 for the same IDOC from SE38, the IDOC is processed fine.
    Looks like, I am missing something when I am calling this program rbdapp01 in another custom program. Any advice is really appreciated.
    Regards
    Rupesh.

    Hi,
    Please make use of this method of submit
    DATA : rspar_tab  TYPE TABLE OF rsparams,
            rspar_line LIKE LINE OF rspar_tab.
      rspar_line-selname = 'DOCNUM'.
        rspar_line-sign    = 'I'.
        rspar_line-option  = EQ'.
        rspar_line-low     = .
        rspar_line-high     = .
        APPEND rspar_line TO rspar_tab.
    SUBMIT RBDAPP01 WITH SELECTION-TABLE rspar_tab.
    Try to implement this code, hope this help outs
    Thanks & Regards
    Suresh

  • Screen does not seem to reflect changes when called from main program.....

    Hi all,
            here's an issue that i've been trying to solve for a few days now,
    i had created a screen in the screen painter, inside which i've included a table control (screen number 100: ).
    i, then created a second screen pointing to the same program as screen 100 and assigned screen number 200 to it. so both scrn 100 and scrn 200 has got table controls and the validations occur in modules from the same program.
    the issue i face is that, while any changes i make in screen 100 works fine when i call screen 100 from the main program;  it does not work when i try to modify the table control in screen 200. for example, if i were to add a new column, it messes up the allignment of the other columns in screen 200, i can't seem to assign fixed colums, etc....
    has anyone come across similar issues? if so how can i solve it? could it be an error with the SAP GUI?
    any response will be appreciated. points will be rewarded as well... if that's how things work here.
    Thanks,
    David.
    Edited by: david joseph on Aug 14, 2008 2:33 AM

    >
    david joseph wrote:
    > Hi all,
    >         here's an issue that i've been trying to solve for a few days now,
    > i had created a screen in the screen painter, inside which i've included a table control (screen number 100: ).
    >  i, then created a second screen pointing to the same program as screen 100 and assigned screen number 200 to it. so both scrn 100 and scrn 200 has got table controls and the validations occur in modules from the same program.
    >
    > the issue i face is that, while any changes i make in screen 100 works fine when i call screen 100 from the main program;  it does not work when i try to modify the table control in screen 200. for example, if i were to add a new column, it messes up the allignment of the other columns in screen 200, i can't seem to assign fixed colums, etc....
    >
    > has anyone come across similar issues? if so how can i solve it? could it be an error with the SAP GUI?
    >
    > Thanks,
    > David.
    >
    > Edited by: david joseph on Aug 14, 2008 2:33 AM
    Hi David,
    The description of the problem is not so clear.
    Let me know where I'm wrong, you have 2 screens and 2 different tablecontrols ? When you do any changes from the sapgui to the screen 100 there is no problem. But when you do that to the screen 200 is messes up ?
    My logic with table controls
    if you want 2 screens to share the same control then add the control to a subscreen
    when you want to have 2 screens with 2 differents controls :
    in main program
    CONTROLS : tc_100 type TABLEVIEW USING SCREEN 100.
    CONTROLS : tc_200 type TABLEVIEW USING SCREEN 200.
    In screen 100 / 200 assure the name of the controls are tc_100 / tc_200....
    Using this method I never have any problem....

  • BRMS Connector - Calling from ABAP program

    Hi,
    I got some error when I changed the BRFPlus from decision table to BRMS connector when calling it from an ABAP program.
    Is there any difference in the calling of those BRFs from ABAP to get the data?
    Thanks!

    Hi Carsten:
    There are documents in SCN on how to call a BRFPlus from a webdynpro.  Is the call to a BRFPlus Function from a CRM-BSP very different?  I mean, in the Webdynpro documents we found in SCN, they use the terms: controller, methods and classed, which are also terms used in BSPs, hence out of our ignorance we assume there should not be much of a difference.
    It is important to clarify that I am not a developer, but this is all to get an idea whether the scenario is totally different, or to know if what we are trying to accomplish is not possible, which I doubt.
    Any help or link is appreciated.
    Thanks,
    Juan

  • Background Job call from a program

    Hi all,
    We have a program which runs for max of 5 minutes (say).
    It is scheduled to run every minute in SM36 so that it keeps continuing to run.
    But sometimes even when the previous job is running the one starts up, thereby creating inconsistent results.
    So we need to call the job from the running program itself.
    How should we go abt this ? Is there any other way available to solve this ?
    Thanks in Advance,
    Regards,
    Vivek K

    Hi,
    Managing Jobs from the Job Overview
    Use
    The Job Overview, or Job Maintenance, screen is the single, central area for completing a wide range of tasks related to monitoring and managing jobs, including defining jobs; scheduling, rescheduling, and copying existing jobs; rescheduling and editing jobs and job steps; repeating a job; debugging an active job; reviewing information about a job; canceling a job's release status; canceling and deleting jobs; comparing the specifications of several jobs; checking the status of jobs; reviewing job logs; and releasing a job so it can run.
    Procedures
    Specifying Jobs
    To display the Job Overview screen, choose CCMS ® Jobs ® Maintenance or call Transaction SM37. Before entering the Job Overview screen, the system first displays the Select Background Jobs screen, where you must select the criteria for the jobs you want to manage. These criteria include:
    Job name (which can contain a wildcard (*) to select jobs with related names oru2014by using the wildcard aloneu2014any job). Required.
    Name of the user who scheduled the job (the wildcard is allowed here as well). Required.
    Job status
    Planned or actual start time of the job.
    Job start condition or event linked to the start condition
    Job step
    When and how often the job runs, or " periodicity"
    You can also choose Extended Job Selection, where you can more precisely define the specific criteria that determine which jobs to select. If you have administrator Authorizations for Background Processing, you can display jobs in all clients. Without this authorization, only jobs in the client that you are logged on to will be displayed.
    Once you have set the criteria for you job selection, choose Execute.
    Managing and Monitoring Jobs
    Once you have called the Job Overview screen (Transaction SM37 or CCMS ® Jobs ® Maintenance) and selected which jobs you want to manage as described above, you can choose from a wide range of management tasks.
    To copy a single existing job, choose Job ® Copy.
    To reschedule or edit job steps or attributes of a single job, choose Job ® Change. A job step is an independent unit of work within a background job. Each job step can execute an ABAP or external program. Other variants or authorizations may be used for each job step. The system allows you to display ABAP programs and variants. You can scan a program for syntax errors. You can also display the authorizations for an authorized user of an ABAP job step.
    To repeat a single job, choose Job ® Repeat scheduling.
    To debug an active job, choose Job ® Capture: active job. Only a single selection is allowed. If an active job seems to be running incorrectly (e.g., running for an excessively long time), you can interrupt and analyze it in debugging mode in a background process, and then either release it again or stop it altogether.
    You will be able to capture a background job only if you are logged on to the SAP server on which the job is running. To find server information in the Job Overview, select and mark the job, then choose Job ® Job details.
    To review information about a job, choose Job ® Job details. Details displayed can include:
    current job status
    periodicity, or the repetition interval
    other jobs linked to the current job, either as previous or subsequent jobs
    defined job steps
    spool requests generated by the current job
    To cancel a job's "Released" status, select the job or jobs from the Job Overview list and choose Job ® Release -> Scheduled.
    To cancel a job from running but keep the job definition available, select the job or jobs from the Job Overview list and choose Job ® Cancel active job.
    To delete a job entirely, select the job or jobs from the Job Overview list and choose Job ® Delete. Jobs with the status of Ready or Running cannot be deleted.
    To compare the specifications of more than one job, select the jobs from the Job Overview list and choose Job ® Compare jobs.
    To check the status of jobs, select the job or jobs from the Overview Job list and choose Job ® Check status. This allows you to either change the job status back to Planned or cancel the job altogether. This is especially useful when a job has malfunctioned.
    To review job logs, select a job or jobs with the status Completed or Canceled from the Job Overview list and choose Goto ® Job log.
    To release a job so it can run, select a job from the Job Overview list and choose Goto ® Release.
    Regards,
    Jagadish

  • Using 6.0.2 just updated, Firefox has stopped responding to web page calls from other programs such as Thunderbird. How can I fix this?

    running Windows 7, Firefox 6.0.2 and Thunderbird 3.0.2

    Unfortunately I tried that and it didn't work. Thanks for the help though. I tried to uninstall and it said I couldn't because the file is corrupt or something, but I think I finally got it uninstalled and/or deleted or whatever, but now I try to reinstall/download it again from the beginning and I can't. No matter what I do I can not get Firefox working again. No matter how many times I try to redownload it. Any other suggestions?

  • Need urgent help. Execution of .exe files by calling from java program

    This program can execute small .exe files which donot take inputs. But does not work for exe files that take input and just hangs. What could be the problem. If anyone helps me I would be very grateful.
    Server code :-
    import java.io.*;
    import java.net.*;
    public class Server1 {
         private Player[] players;
         private ServerSocket server;
         private ExecHelper exh;
         String command = null;
         String message = null;
         public Server1() {
              players = new Player[5];
              try {
                   server = new ServerSocket( 12345, 5 );
                   System.out.println("Server started...");
                   System.out.println("Waiting for request...");
              catch( IOException ioe ) {
                   ioe.printStackTrace();
                   System.exit( 1 );
         } //end Server constructor
         public void execute() {
              for( int i = 0; i < players.length; i++ )
              try {
                   players[i] = new Player( server.accept() );
                   players.start();
              catch( IOException ioe ) {
                   ioe.printStackTrace();
                   System.exit( 1 );
         public static void main( String args[] ) {
              Server1 ser = new Server1();
              ser.execute();
              System.exit( 1 );
         private class Player extends Thread {
              private Socket connection;
              private ObjectOutputStream output;
              private ObjectInputStream input;
              public Player( Socket socket ) {
                   connection = socket;
                   try {
                        input = new ObjectInputStream( connection.getInputStream());
                        output = new ObjectOutputStream( connection.getOutputStream());
                        output.flush();
                   catch( IOException ioe ) {
                        ioe.printStackTrace();
                        System.exit( 1 );
              public void run() {
                   try {
                        message = "Enter a command:";
                        output.writeObject( message );
                        output.flush();
                        do {
                             command = ( String ) input.readObject();
                             String osName = System.getProperty( "os.name" );
                             String[] cmd = new String[3];
                             if( osName.equals( "Windows 2000" )) {
                                  cmd[0] = "cmd.exe";
                                  cmd[1] = "/c";
                                  cmd[2] = command;
                             else if( osName.equals( "Windows NT" ) ) {
                             cmd[0] = "cmd.exe" ;
                             cmd[1] = "/C" ;
                             cmd[2] = command ;
                             Runtime rt = Runtime.getRuntime();
                             Process proc = rt.exec( cmd );
                             exh = new ExecHelper( proc, output, input);
                        } while( !command.equals( "TERMINATE" ) );
                   catch( Throwable t ) {
                        t.printStackTrace();
         } //end class Player
         public class ExecHelper implements Runnable {
         private Process process;
         private InputStream pErrorStream;
         private InputStream pInputStream;
         private OutputStream pOutputStream;
         private InputStreamReader isr;
         private InputStreamReader esr;
         private PrintWriter outputWriter;
         private ObjectOutputStream out;
         private ObjectInputStream in;
         private BufferedReader inBuffer;
         private BufferedReader errBuffer;
         private Thread processThread;
         private Thread inReadThread;
         private Thread errReadThread;
         private Thread outWriteThread;
         public ExecHelper( Process p, ObjectOutputStream output, ObjectInputStream input ) {
              process = p;
              pErrorStream = process.getErrorStream();
              pInputStream = process.getInputStream();
              pOutputStream = process.getOutputStream();
              outputWriter = new PrintWriter( pOutputStream, true );
              in = input;
              out = output;
              processThread = new Thread( this );
              inReadThread = new Thread( this );
              errReadThread = new Thread( this );
              outWriteThread = new Thread( this );
              processThread.start();
              inReadThread.start();
              errReadThread.start();
              outWriteThread.start();
         public void processEnded( int exitValue ) {
              try {
                   Thread.sleep( 1000 );
              catch( InterruptedException ie ) {
                   ie.printStackTrace();
         public void processNewInput( String input ) {
              try {
                   out.writeObject( "\n" + input );
                   out.flush();
                   catch( IOException ioe ) {
                   ioe.printStackTrace();
         public void processNewError( String error ) {
              try {
                   out.writeObject( "\n" + error );
                   out.flush();
         catch( IOException ioe ) {
                   ioe.printStackTrace();
         public void println( String output ) {
              outputWriter.println( output + "\n" );
         public void run() {
              if( processThread == Thread.currentThread()) {
                   try {
                        processEnded( process.waitFor());
                   catch( InterruptedException ie ) {
                        ie.printStackTrace();
              else if( inReadThread == Thread.currentThread() ) {
                   try {
                        isr = new InputStreamReader( pInputStream );
                        inBuffer = new BufferedReader( isr );
                        String line = null;
                        while(( line = inBuffer.readLine()) != null ) {
                                  processNewInput( line );
                   catch( IOException ioe ) {
                        ioe.printStackTrace();
              else if( outWriteThread == Thread.currentThread() ) {
                   try {
                        String nline = null;
                        nline = ( String ) in.readObject();
                        println( nline );
                   catch( ClassNotFoundException cnfe ) {
                   //     cnfe.printStackTrace();
                   catch( IOException ioe ) {
                        ioe.printStackTrace();
              else if( errReadThread == Thread.currentThread() ) {
                   try {
                        esr = new InputStreamReader( pErrorStream );
                        errBuffer = new BufferedReader( esr );
                        String nline = null;
                        while(( nline = errBuffer.readLine()) != null ) {
                             processNewError( nline );
                   catch( IOException ioe ) {
                        ioe.printStackTrace();
    Client code :-
    // client.java
    import java.io.*;
    import java.net.*;
    public class Client {
         private ObjectOutputStream output;
         private ObjectInputStream input;
         private String chatServer;
         private String message = "";
         private Socket client;
         public Client( String host ) {
              chatServer = host;
         private void runClient() {
              try {
                   connectToServer();
                   getStreams();
                   processConnection();
              catch( EOFException eofe ) {
                   System.err.println( "Client terminated connection ");
              catch( IOException ioe ) {
                   ioe.printStackTrace();
              finally {
                   closeConnection();
         } //end method runClient
         private void connectToServer() throws IOException {                                                                 
              System.out.println( "Attempting connection...\n");
              client = new Socket( InetAddress.getByName( chatServer ), 12345);
              System.out.println( "Connected to : "+ client.getInetAddress().getHostName());
         private void getStreams() throws IOException {
              output = new ObjectOutputStream( client.getOutputStream());
              output.flush();
              input = new ObjectInputStream( client.getInputStream());
         private void processConnection() throws IOException {
         while( true ){
                   try {
                        message = ( String ) input.readObject();
                        System.out.print( message );
                        InputStreamReader isr = new InputStreamReader( System.in);
                        BufferedReader br = new BufferedReader( isr );
                        String line = null ;
                        line = br.readLine();
                             output.writeObject(line);
                             output.flush();
                   catch( ClassNotFoundException cnfe) {
                        System.out.println( "\nUnknown object type received");
         } //end processConnection
         private void closeConnection() {
              System.out.println( "\nClosing connection");
              try {
                   output.close();
                   input.close();
                   client.close();
              catch( IOException ioe ) {
                   ioe.printStackTrace();
         public static void main( String args[] ) {
              Client c;
              if( args.length == 0 )
                   c = new Client( "127.0.0.1" );
              else
                   c = new Client( args[0] );
              c.runClient();

    pay close attention to the comments in this thread
    http://forum.java.sun.com/thread.jspa?threadID=769142&messageID=4383764#4383764

  • Calling Cobol program from PL/SQL

    What is the caling convention for PL/SQL to call a Cobol program?

    You cannot do it directly from PL/SQL. PL/SQL is.. well, kind of abstract ito the actual platform it runs on. PL/SQL cannot talk directly to operating system. It cannot (itself) do socket calls, file I/O calls, use the printer, etc.
    <p>
    All this has to be done using a lower level implementation library - like UTL_FILE for example that wraps internal C written modules that does file I/O. PL/SQL can call these to do I/O on its behalf. Ditto for wrappers like UTL_TCP and others.
    <p>
    There is no default wrapper for calling external processes from PL/SQL. It can however be done indirectly using the external procedure (EXTPROC) feature, or using Java to do it.
    <p>
    The latter is the easiest. You create a Java stored proc that can access the operating system and run external programs and commands. You punch a big hole in the Oracle Java security to allow this Java stored proc access to the operating system. Next you create a PL/SQL wrapper for this Java proc which then in turn can be called from PL/SQL.
    Just remember that you MUST secure this hole you've punched into Oracle security. If any Oracle user can access this PL/SQL wrapper, they can hack, compromise, trash or simply destroy your entire Oracle account on that server.
    Here is the basic code:
    create or replace and compile Java Source named "OSCommand" as
    -- java:        OS COMMAND
    -- descr:       Executes an Operating System Command using the JAVA RTS
    -- IN parameter:        os command to execute (including fully qualified path names)
    -- OUT parameter:       returncode [\nstring]
    --                      where string a max of 32000 chars of the output of the command
    --                      (note that \n is used as separators in the string)
    --                      returncode=-1   Java RTS error occurred (e.g. command does not exist)
    --                      returncode=255  o/s command failed (e.g. invalid command params)
    import java.io.*;
    import java.lang.*;
    public class OSCommand{
            public static String Run(String Command){
                    Runtime rt = Runtime.getRuntime();
                    int     rc = -1;
                    try{
                            Process p = rt.exec( Command );
                            int bufSize = 32000;
                            int len = 0;
                            byte buffer[] = new byte[bufSize];
                            String s = null;
                            BufferedInputStream bis = new BufferedInputStream( p.getInputStream(), bufSize );
                            len = bis.read( buffer, 0, bufSize );
                            rc = p.waitFor();
                            if ( len != -1 ){
                                    s = new String( buffer, 0, len );
                                    return( s );
                            return( rc+"" );
                    catch (Exception e){
                            e.printStackTrace();
                            return(  "-1\ncommand[" + Command + "]\n" + e.getMessage() );
    show errors
    create or replace function OSexec( cCommand IN string ) return varchar2 is
    -- function:    OS EXEC
    -- descr:       PL/SQL wrapper for the Java OSCOMMAND stored proc
    language        JAVA
    name            'OSCommand.Run(java.lang.String) return java.lang.String';
    show errors
    -- Punching a hole into the Java VM sandbox. The following must be run as
    -- sysdba. Substitute SCOTT with the applicable schema that owns the OSEXEC
    -- and OSCOMMAND stored procs.
    declare
            SCHEMA  varchar2(30) := 'SCOTT';
    begin
            dbms_java.grant_permission(
                    SCHEMA,
                    'SYS:java.io.FilePermission',
                    '<<ALL FILES>>',
                    'execute'
            dbms_java.grant_permission(
                    SCHEMA,
                    'SYS:java.lang.RuntimePermission',
                    'writeFileDescriptor',
            dbms_java.grant_permission(
                    SCHEMA,
                    'SYS:java.lang.RuntimePermission',
                    'readFileDescriptor',
    commit;
    end;
    -- example: running the Unix/Linux date command to get the current date and time
    SQL> select OSexec('/usr/bin/date') as STDOUT from dual;
    STDOUT
    Fri Sep  1 08:09:34 SAST 2006
    1 row selected.
    SQL>Edited by: Billy Verreynne on Sep 4, 2008 6:26 PM to make the code snippet readable with the new Jive forum s/w.

  • Calling an external cobol program

    I have a web page that passes and retrieves a data string to an activeX object that in turn calls a cobol program that does all the work. Is it possible to do this with Application Express?
    Message was edited by:
    user511722

    I don't know much about COBOL, but if you can fire the COBOL program from the command line of the ApEx host, you can also use DBMS_SCHEDULER with the EXECUTABLE option.
    Search the PL/SQL forum with the above uppercase keywords for examples of how to write the procedure call.
    I'm assuming you are using 10G.

  • 'BAPI_QUOTATION_CREATEFROMDATA2'  behaves different while called from SE38

    Dear Friends
    I am trying to run the bapi 'BAPI_QUOTATION_CREATEFROMDATA2' and 'BAPI_TRANSACTION_COMMIT' in proper sequence as recommended by SAP.
    I am entering the minimum data recommended by SAP help on this BAPI.
    When I run the above senario manually from transaction SE37 and selecting
    from the menu  Function Module -> Test -> Test Sequence,
    everything works fine and this also creates a quote and when I check, it
    is adding lots of extra related data.
    However, when I call the same two functions from another program (SE38),
    even though I am entering the same Data, I get different behaviour and
    also the quote is not getting created. When I check the ls_return value,
    it says that 'sold-to-party' is missing.  I don't know why this problem
    doesn't arise when I run the BAPI manually from SE37.
    I would appreciate if you can please give me any feedback or some expert comments.
    Please see the SE38 program that I am using to test these two BAPIs.
    ==========================================================
    *& Report  ZQUOTECREATE_TEST
    report  zquotecreate_test.
    data: ls_quotation_header_in        type  bapisdhd1,
          ls_behave_when_error          type  bapiflag-bapiflag,
          ls_quotation_partners         like  bapiparnr occurs 1 with header line,
          ls_return                     like  bapiret2  occurs 1 with header line.
    ls_quotation_header_in-distr_chan = '12'.
    ls_quotation_header_in-division = '00'.
    ls_quotation_header_in-sales_org = '1000'.
    ls_quotation_header_in-doc_type = 'AG'.
    ls_behave_when_error              = 'P'.
    ls_quotation_partners-partn_role = 'SP'.
    ls_quotation_partners-partn_numb = '1012'.
    call function 'BAPI_QUOTATION_CREATEFROMDATA2'
      exporting
        quotation_header_in            = ls_quotation_header_in
        BEHAVE_WHEN_ERROR              = ls_BEHAVE_WHEN_ERROR
    importing
      salesdocument                  =  ls_salesdocument
      tables
        return                         = ls_return
        quotation_partners             = ls_quotation_partners
    call function 'BAPI_TRANSACTION_COMMIT'
    exporting
       wait          = ' '
    IMPORTING
      RETURN        =

    Dear friends
    I figured out the conversion problem involving 'QT' and 'AG'.
    There is this flag 'CONVERT' which doesn't affect while running manually but while calling from SE38, I have to turn it on by putting a value 'X" and so the AG-QT issue is resolved
    So if you can please respond to the other problem with error 'Please enter sold-to-party or ship-to-party', I would appreciate.
    Again with the same test data, the above error message doesn't show up while running the BAPI manually from SE37 and QUOTE gets created successfully. However, when the same BAPI is called from SE38 program I get the above error message and QUOTE doesnt get created.

  • BAPI_TRIP_CREATE_FROM_DATA works in SE37, but not from external program

    BAPI_TRIP_CREATE_FROM_DATA works in SE37, but gives error when calling from external program.
    The error is "Deserialisation failed". I have the WSDL generated by a Web Service wizard in SE 37,
    so there should not be any problem like element name or case(upper/lower) mismatch etc. I populate all mandatory fields.
    I am using the web service created by wizard in a InfoPath form.
    This is the exact error:
    The SOAP response indicates that an error occurred:
    Deserialisation failed

    Thanks for this pointer. I downloaded the code and looked at the same. It very useful as conceptual and coding guidance. However, there are many BAPis working in our product already, only a few return the same error "Deserialisation failed" The sample you pointed out uses BAPI_FLTRIP_CREATE but we have problem with the following BAPIs:
    BAPI_TRIP_CREATE_FROM_DATA
    BAPI_ADDRESSEMP_CREATE
    BAPI_FAMILY_CREATE
    All of them give error similar to following:
    Deserialisation failed
    <detail>
        <n0:SimpleTransformationFault xmlns:n0="http://www.sap.com/transformation-templates">
                    <MainName>/1BCDWB/WSS0071212021944898000</MainName>
                    <ProgName>/1BCDWB/WSS0071212021944898000</ProgName>
                    <Line>170 </Line>
                    <Valid>X</Valid>
                    <ReferenceFault>
                                    <DescriptionText>Error accessing the ref. node 'EMPLOYEENUMBER'</DescriptionText>
                                    <RefName>EMPLOYEENUMBER</RefName>
                    </ReferenceFault>
                    <Caller>
                                    <Class>CL_SRG_RFC_PROXY_CONTEXT</Class>
                                    <Method>IF_SXML_PART~DECODE</Method><Positions>1 </Positions>
                    </Caller>
       </n0:SimpleTransformationFault>
    </detail>
    Any more suggestions are most welcome and highly appreciated.

  • BAPI calling from a non SAP system.

    Dear Experts,
    I would like to know how can I call a BAPI from a non SAP system, a breif idea/with example ( from any non SAP system ) and sample coding will be highly appreciated.
    Thanks, Sudeep..

    Hi,
    there are couple of possibilities. For example you can export your BAPI as a web service and then use standard tools for web services. There are also libraries to allow RFC calls from different programming languages. You can see all possibilities such as SAP Java connector supported by SAP on https://service.sap.com/connectors. There are also additional libraries not supported by SAP such as SAPRFC extension module for PHP. As you can see there are so many ways how to call RFC enabled FM. You can find examples for each method here on SCN.
    Cheers

Maybe you are looking for

  • Help on Partner Function

    Dear All, Please tell me what is the purpose of Partner Function 'SP - Forwarding Agent'? What is its meaning, its function & procedure how can I use it? In my company, we have some orders from our Dealers. Means they are only bringing the orders, ne

  • User name in JDBC connection

    I have a problem when I tried to set up a jdbc connection in WL 11g. - I create a new JDBC Data Source and put user=userpen in the Properties box under the Configuration/Connection Pool tab. - When I go to Targets tab and check the AdminService box,

  • Problem with Router 54g2

    Hi,  I want configure router 54g2 for work mode bridge , but I can't . I have read manual but I can't find instruction enough for procedure. Somebody can help me ? The router 54g2 work mode bridge ?  Thank very much  Bruno Steven 

  • RA00 Discount on net, RA01 Discount on Gross

    Hi I am trying to have a discount in the purchasing order, I used RA00, but I don t know exactelty the difference between RA00 RA01. practically they seem similar when I use them. please provide a concrete example to explain me the difference betewee

  • Can't update iPod software to 1.2.1

    I have 30Gb iPod video. Currently running version 1.2 with iTunes version 7 on a souped up Mac G4. I can't get it to update to v1.2.1 as iTunes offers. Keeps coming back with 'cannot be updated because it contains files that are in use by another app