Connect NDS to r3 for calling bapi

Hi,
How can I connect netweaver developer studio to r3 for calling bapi and rfc?
Many thanks,
I'm new, very new, in the portal development.

HI,
How can I connect netweaver developer studio to r3 for calling bapi and rfc?
will you elaborate more about what you want.
1. If you wan to connect to R3 to create an RFC model for web dynpro project then.
   After creating the project, when you say create an adaptive rfc model a wizard will open
where you can insert the information about server, as load balancing or single server.
2. there you need to give information about host name, instance no,client, username and password.
    after that it will show you all the bapis.
But there is nothing like connecting R3 to NWDS and calling bapi and RFC. as it is a development studio, form where you can develope an application.
after deploying your application on J2EE server(WAS as Java), it will call a BAPI or RFC.
for that you need to create JCO connections between your WAS as JAVA and R3 server

Similar Messages

  • Any program for calling bapi from ABAP step by step

    any program for calling bapi from ABAP step by step
    points will be rewarded,
    thank you,
    Jagrut BharatKumar Shukla

    Hi Jagrut,
    BAPI stands for Business API(Application Program Interface).
    A BAPI is remotely enabled function module ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..
    You can make your function module remotely enabled in attributes of Function module but
    A BAPI are standard SAP function modules provided by SAP for remote access. Also they are part of Businees Objest Repository(BOR).
    BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
    The following standardized BAPIs are provided:
    Reading instances of SAP business objects
    GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
    The BAPI GetList() is a class method.
    GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
    The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
    Create( ) and CreateFromData! ( )
    The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
    Change( )
    The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
    Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
    The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
    Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
    Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
    ex BAPI:
    API_SALESORDER_CREATEFROMDAT1
    BAPI_SALESORDER_CREATEFROMDAT2
    You can get good help form the following links,
    BAPI-step by step
    http://www.sapgenie.com/abap/bapi/example.htm
    list of all bapis
    http://www.planetsap.com/LIST_ALL_BAPIs.htm
    for BAPI's
    http://www.sappoint.com/abap/bapiintro.pdf
    http://www.sappoint.com/abap/bapiprg.pdf
    http://www.sappoint.com/abap/bapiactx.pdf
    http://www.sappoint.com/abap/bapilst.pdf
    http://www.sappoint.com/abap/bapiexer.pdf
    http://service.sap.com/ale
    http://service.sap.com/bapi
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
    http://www.planetsap.com/Bapi_main_page.htm
    http://www.topxml.com/sap/sap_idoc_xml.asp
    http://www.sapdevelopment.co.uk/
    http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf
    Also refer to the following links..
    www.sappoint.com/abap/bapiintro.pdf
    www.sap-img.com/bapi.htm
    www.sap-img.com/abap/bapi-conventions.htm
    www.planetsap.com/Bapi_main_page.htm
    www.sapgenie.com/abap/bapi/index.htm
    Checkout !!
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    http://techrepublic.com.com/5100-6329-1051160.html#
    http://www.sap-img.com/bapi.htm
    http://www.sap-img.com/abap/bapi-conventions.htm
    http://www.sappoint.com/abap/bapiintro.pdf
    http://sap-img.com/bapi.htm
    <b>EG::</b>
    <b>Here is the step by step procedure for creating BAPIs.</b>
    There are 5 different steps in BAPI.
    - Create BAPI Structure
    - Create BAPI Function Module or API Method.
    - Create BAPI object
    - Release BAPI Function Module.
    - Release BAPI object.
    Step1. Creating BAPI Structure:
    - Go to <SE11>.
    - Select Data Type & Enter a name.
    - Click on Create.
    - Note: Always BAPI should be in a development class with request number (Not Local Object).
    - Select Structure & hit ENTER.
    - Enter the fields from your database. Make sure that the first field is the Primary Key Field.
    - Then SAVE & ACTIVATE.
    Step 2. Creating BAPI module:
    - Enter TR.CODE <SE37>.
    - Before entering any thing, from the present screen that you are in, select the menu
    Goto -> Function Groups -> Create Group.
    Enter a name (Note: This name Must start with ZBAPI)
    Let this screen be as it is and open another window and there, enter TR.CODE <SE80).
    Click on the Third ICON that says Inactive Objects.
    Select the group that you just created and click on Activate.
    Notice that the group you created will disappear from the list of inactive objects.
    - Go back to ><SE37> screen and enter a name and hit <ENTER>. Then enter the group name that you just created and activated.
    NOTE: When you release a function module the respective group will be attached to that particular application. It cannot be used for any other application. NEVER include an already existing group that is attached to another module.
    Now click on the first Tab that says [ATTRIBUTES] and select the radio button that says remote-enabled module since we will be accessing this from any external system.
    Then click on the second tab that says [IMPORT].
    Enter a PARAMETER NAME, TYPE and the structure you created in the first step. Also select the check box ‘Pa’. All remotely enabled functional modules MUST be Pa enabled, where Pa means ‘Passed by Value’ and if you don’t select ‘Pa’, then that means it will be passed by reference..
    Then click on tab that says [EXPORT].
    Enter the following as is in the first three fields
    RETURN TYPE BAPIRETURN (These 3 field values are always same)
    Here also select ‘Pa’ meaning Pass by value.
    Note: BAPIRETURN contains structure with message fields.
    Then SAVE and ACTIVATE.
    Step 3. Creating BAPI object:
    - Enter Tr.Code <SWO1> (Note. It is letter ‘O’ and not Zero).
    - Enter a name and then click on create. Enter details.
    NOTE: Make sure that that Object Type and Program name are SAME.
    - Enter Application ‘M’, if you are using standard table Mara. If you are using your own database then select ‘Z’ at the bottom.
    - Then hit <ENTER>.
    - Now we have to add ‘Methods’. High light METHODS and then select the following from the menu:
    Goto Utilities -> API Methods -> Add Methods.
    - Enter function Module name and hit <ENTER>.
    - Select the second FORWARD ARROW button (>)to go to next step.
    - Check if every thing looks ok and again click on FORWARD ARROW button (>).
    - Then select ‘YES’ and click on <SAVE>.
    - Now on a different screen goto TR.CODE <SE37>. Enter Function Module name and select from the top menu Function Module -> Release -> Release.
    - Goback to TR.CODE <SWO1>.
    Here select the menu combination shown below in the same order.
    - Edit -> Change Release Status -> Object Type Component -> To Implemented.
    - Edit -> Change Release Status -> Object Type Component -> To Released.
    - Edit -> Change Release Status -> Object Type -> To Implemented.
    - Edit -> Change Release Status -> Object Type -> To Released.
    - Then click on <SAVE>.
    - Then click on Generate Button (4th button from left hand side looks like spinning wheel).
    - Then Click on the button that says ‘PROGRAM’ to see the source code.
    To check if this is present in work flow goto TR.CODE <BAPI>.
    Here it shows business object repository.
    - First click on the middle button and then select “ALL” and hit ENTER.
    - Goto tab [ALPHABETICAL] and look for the object that you created. This shows that the BAPI object has been created successfully
    <b>Reward pts if found usefull :)</b>
    regards
    Sathish

  • Calling BAPI from java screen

    Hi All
    I want to develop Order entry form in PDK, in that i need to call BAPI...namely "BAPI_SALESORDER_CREATEFROMDAT2".
    Can anybody send me the sample code...
    [email protected]
    Thanks for ur help
    Pradeep

    In PDK you can import RFC modules. For that you have to create a jco connection. The code for calling an simple rfc ....
    package com.satyam.callrfc;
    import com.sap.mw.jco.JCO;
    import com.sapportals.portal.prt.component.*;
    public class rfc extends AbstractPortalComponent
         private JCO.Client jcoClient;
    // proxy for rfc you already assigned...     
         Insert_pgm_PortType insFunc=new Insert_pgm_PortType();
         Zinsert_Pgm_Input ip=new Zinsert_Pgm_Input();
         Zinsert_Pgm_Output op=new Zinsert_Pgm_Output();
        public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)
        this.connect();
         insFunc.messageSpecifier.setJcoClient(jcoClient);
    //setting input params
         ip.setAssociate_Id1("44");
         ip.setCourse_Objt1(2);
         ip.setQlty_Content1(5);
         ip.setSeq_Content1(2);
         ip.setTraining_Id1("22");
         try{
    //calling rfc
         op=insFunc.zinsert_Pgm(ip);
         }catch(Exception e){}
    //display output
              response.write(op.getMessage());
              this.disconnect();
         private void connect() {
                   try {
                        jcoClient =
                             JCO.createClient("client","userid","password","EN","application_system","system_no");
                             jcoClient.connect();
                   } catch (Exception e) {
                        System.out.println("Error connecting to SAP ::" + e.getMessage());
                        e.printStackTrace();
         private void disconnect() {
                   try {
                        jcoClient.disconnect();
                   } catch (Exception e) {
                        System.out.println(
                             "Error dis-connecting to SAP ::" + e.getMessage());
                        e.printStackTrace();
    Hope this helps
    gEorgE

  • How to call BAPI from ABAP Inbound Proxy

    Hi All
    Can some one provide/giude  a sample code on how to call a BAPI from generated Method (Inbound Proxy) and how are the table parameters passed from Proxy to BAPI.
    Thanks
    Ravi/

    Hello Ravi,
    In the proxy before calling the BAPI, construct the table, fill it with the appropiate values by lopping over the proxy request object. Now use this table for calling BAPI
    Cheers,
    Naveen

  • Sample ABAP code for userexits, and calling bapi's

    Hi,
    Can someone please send me sample ABAP code
    1) to do extractor enhancement using user exit.
    2) ABAP program to call BAPI to read live cache order series data in SNP and write to Idocs through some ports.
    3) ABAP routine to generate file name (based on date/country)in the infopackage to upload flatfiles.
    Thank you very much in advance and appreciate any help.
    Regards
    Prasad

    hai ,
    check this code...
    *& Tables
    tables : tstc,     "SAP Transaction Codes
             tadir,    "Directory of Repository Objects
             modsapt,  "SAP Enhancements - Short Texts
             modact,   "Modifications
             trdir,    "System table TRDIR
             tfdir,    "Function Module
             enlfdir,  "Additional Attributes for Function Modules
             tstct.    "Transaction Code Texts
    *& Variables
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    *& Selection Screen Parameters
    selection-screen begin of block a01 with frame title text-001.
    selection-screen skip.
    parameters : p_tcode like tstc-tcode obligatory.
    selection-screen skip.
    selection-screen end of block a01.
    *& Start of main program
    start-of-selection.
    Validate Transaction Code
      select single * from tstc
        where tcode eq p_tcode.
    Find Repository Objects for transaction code
      if sy-subrc eq 0.
        select single * from tadir
           where pgmid    = 'R3TR'
             and object   = 'PROG'
             and obj_name = tstc-pgmna.
        move : tadir-devclass to v_devclass.
        if sy-subrc ne 0.
          select single * from trdir
             where name = tstc-pgmna.
          if trdir-subc eq 'F'.
            select single * from tfdir
              where pname = tstc-pgmna.
            select single * from enlfdir
              where funcname = tfdir-funcname.
            select single * from tadir
              where pgmid    = 'R3TR'
                and object   = 'FUGR'
                and obj_name = enlfdir-area.
            move : tadir-devclass to v_devclass.
          endif.
        endif.
    Find SAP Modifactions
        select * from tadir
          into table jtab
          where pgmid    = 'R3TR'
            and object   = 'SMOD'
            and devclass = v_devclass.
        select single * from tstct
          where sprsl eq sy-langu
            and tcode eq p_tcode.
        format color col_positive intensified off.
        write:/(19) 'Transaction Code - ',
        20(20) p_tcode,
        45(50) tstct-ttext.
        skip.
        if not jtab[] is initial.
          write:/(95) sy-uline.
          format color col_heading intensified on.
          write:/1 sy-vline,
          2 'Exit Name',
          21 sy-vline ,
          22 'Description',
          95 sy-vline.
          write:/(95) sy-uline.
          loop at jtab.
            select single * from modsapt
            where sprsl = sy-langu and
            name = jtab-obj_name.
            format color col_normal intensified off.
            write:/1 sy-vline,
            2 jtab-obj_name hotspot on,
            21 sy-vline ,
            22 modsapt-modtext,
            95 sy-vline.
          endloop.
          write:/(95) sy-uline.
          describe table jtab.
          skip.
          format color col_total intensified on.
          write:/ 'No of Exits:' , sy-tfill.
        else.
          format color col_negative intensified on.
          write:/(95) 'No User Exit exists'.
        endif.
      else.
        format color col_negative intensified on.
        write:/(95) 'Transaction Code Does Not Exist'.
      endif.
    Take the user to SMOD for the Exit that was selected.
    at line-selection.
      get cursor field field1.
      check field1(4) eq 'JTAB'.
      set parameter id 'MON' field sy-lisel+1(10).
      call transaction 'SMOD' and skip first screen.

  • Is it possible to get iPhone audio (telephone calls) from Lightning connection? Music works, but calls switch to internal or extenral speakers, not lightning (for e.g. docking station, car...)!

    Is it possible to get iPhone audio (telephone calls) from Lightning connection? Music works, but calls switch to internal or extenral speakers, not lightning (for e.g. docking station, car...)!
    I want to get the audio out of the lightning connection (the way you get audio when you connect it to a dock). It works properly with music, but when making a telephone call, it switches to the internal speraker. You can change to the external spekers, but you cannot select another audio out. It's also possible to get the telephone audio from the analogue connection, but that's not what I want. I want telephone audio from lightning...
    Would be so great if anybody has an idea

    I must also say that the second update ruined my Lumia's battery life.
    With the first (out-of-the-box) update the phone usually had 30 percent of battery after a quite hard day (e.g. more than an hour of talking via bluetooth handsfree, more than two hours of listening to the music via bluetooth, more than an hour of browsing via wifi, and reading hundreds of e-mails via two mail accounts). I never managed to discharge it after one day (e.g. 14-16 hours) of continous use, no matter how much I talked, listened and browsed.
    Now, with the secod update, it discharges to 20% after 12 hours of laying still almost without use (30 mins of music, less than 15 mins of talking and nothing more), and discharges completely with the usage pattern described above.
    Did the second update contain some Android code?

  • BAPI for calling Z transaction From NON-SAP system

    hi all, am new to BAPI i want to know that can we call any standard or Z transaction from NON-SAP system using BAPI if yes then plz let me know how.???
    thanx...

    BAPI's are not used for calling transactions. They have the same result though, a business partner for example kan be created, and maintained via the GUI, but it can also be done via a BAPI. These BAPI's are created for calling them from (non-) SAP systems since they are remote enabled. However, this means that the calling application / party will have to 'build' some sort of application themselves in order to call these BAPI's from 'outside' of the SAP system.
    The calling application will have to have access to the system, which can be maintained in the remote destination transaction SM59.
    But enough of this, there are lots and lots of posts on SDN about BAPI's, remote destination etc.

  • Calling BAPI(RFC function module) in java? Part 2

    Hi
    Can any body tell me or give me source code for calling give BAPI...i need to give the inputs to that parameters..
    data l_order_header_in    like bapisdhd1.
    data t_return             like bapiret2  occurs 0 with header line.
    data t_order_items_in     like bapisditm occurs 0 with header line.
    data t_order_schedules_in like bapischdl occurs 0 with header line.
    data t_order_partners     like bapiparnr occurs 0 with header line.
    *data t_order_condition_ex like bapicond   occurs 0 with header line.
    *clear   t_order_condition_ex.
    *refresh t_order_condition_ex.
    clear l_order_header_in.
    l_order_header_in-doc_type      =  'TA'.
    l_order_header_in-sales_org     =  'ZZ02'.
    l_order_header_in-distr_chan    =  'Z2'.
    l_order_header_in-division      =  'Z2'.
    *l_order_header_in-purch_no      =  '12'.
    clear   t_order_items_in.
    refresh t_order_items_in.
    t_order_items_in-itm_number     =  '000001'.
    t_order_items_in-material       =  'HAMAM'.                 " 'LBYA1'.
    t_order_items_in-target_qty     =  '0000000000001'.
    t_order_items_in-comp_quant     =  '0000000000001'.
    append t_order_items_in.
    clear   t_order_partners.
    refresh t_order_partners.
    t_order_partners-partn_role     =  'AG'.
    t_order_partners-partn_numb     =  '0000000006'.
    append t_order_partners.
    clear   t_order_schedules_in.
    refresh t_order_schedules_in.
    t_order_schedules_in-itm_number =  '000001'.
    t_order_schedules_in-sched_line =  '0001'.
    t_order_schedules_in-req_qty    =  1.
    append t_order_schedules_in.
    clear   t_order_partners.
    t_order_partners-partn_role     =  'WE'.
    t_order_partners-partn_numb     =  '0000000006'.
    append t_order_partners.
    break kumars.
    call function 'BAPI_SALESORDER_CREATEFROMDAT2'
      exporting
      SALESDOCUMENTIN               =
        order_header_in               = l_order_header_in
      ORDER_HEADER_INX              =
      SENDER                        =
      BINARY_RELATIONSHIPTYPE       =
      INT_NUMBER_ASSIGNMENT         =
      BEHAVE_WHEN_ERROR             =
      LOGIC_SWITCH                  =
      TESTRUN                       =
      CONVERT                       = ' '
    IMPORTING
      SALESDOCUMENT                 =
      tables
        return                        = t_return
        order_items_in                = t_order_items_in
      ORDER_ITEMS_INX               =
        order_partners                = t_order_partners
        order_schedules_in            = t_order_schedules_in
      ORDER_SCHEDULES_INX           =
      ORDER_CONDITIONS_IN           =
      ORDER_CONDITIONS_INX          =
      ORDER_CFGS_REF                =
      ORDER_CFGS_INST               =
      ORDER_CFGS_PART_OF            =
      ORDER_CFGS_VALUE              =
      ORDER_CFGS_BLOB               =
      ORDER_CFGS_VK                 =
      ORDER_CFGS_REFINST            =
      ORDER_CCARD                   =
      ORDER_TEXT                    =
      ORDER_KEYS                    =
      EXTENSIONIN                   =
      PARTNERADDRESSES              =
    break venkat.
    call function 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      WAIT          =
    IMPORTING
      RETURN        =
    Awaiting for ur responses..
    Thx
    PRadeep

    To call an RFC, you need to import that first. For that right click on the project into which you need to add the rfc.
    Import >>import RFC modules from r/3>>Give the package name and a port name for the rfc.
    set the server options as your r/3 server properties.
    Then you can search the Function name >> it will be displayed in the result area>> select it and press finish.
    The RFC will be imported to your project.
    Then you need to create JCO for calling that rfc.
    Here is a sample code which calls an RFC and setting jco..
    import com.sap.mw.jco.JCO;
    import com.sapportals.portal.prt.component.*;
    public class rfc extends AbstractPortalComponent
         private JCO.Client jcoClient;
         Insert_pgm_PortType insFunc=new Insert_pgm_PortType();
         Zinsert_Pgm_Input ip=new Zinsert_Pgm_Input();
         Zinsert_Pgm_Output op=new Zinsert_Pgm_Output();
        public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)
        this.connect();
         insFunc.messageSpecifier.setJcoClient(jcoClient);
    //setting input params
         ip.setAssociate_Id1("44");
         ip.setCourse_Objt1(2);
         ip.setQlty_Content1(5);
         ip.setSeq_Content1(2);
         ip.setTraining_Id1("22");
    //calling RFC
         try{
         op=insFunc.zinsert_Pgm(ip);
         }catch(Exception e){}
              response.write(op.getMessage());
              this.disconnect();
    //creating JCO connection
         private void connect() {
                   try {
                        jcoClient =
                             JCO.createClient("Client","userid","password","Language","servername","Systemid");
                             jcoClient.connect();
                   } catch (Exception e) {
                        System.out.println("Error connecting to SAP ::" + e.getMessage());
                        e.printStackTrace();
         private void disconnect() {
                   try {
                        jcoClient.disconnect();
                   } catch (Exception e) {
                        System.out.println(
                             "Error dis-connecting to SAP ::" + e.getMessage());
                        e.printStackTrace();
    Hope this Helps
    gEorgE

  • Call BAPI from from RFC

    Hi,
    I need to find a way to connect to a sap system from remote in order to reset/change password for the build-in admin users:
    (change: user for himself, reset: by some other user)
    1. sap*
    2. ddic
    3. earlywatch
    ... and java ...
    4. j2ee_admin
    I understad I can use BAPI, but how can I invoke BAPI function with the connector - can you give me some C# example for calling BAPI_USER_CHANGE implementation for example...
    tx,
    shlom

    Do I need to call BAPI_TRANSACTION_COMMIT for each call of BAPI_USER_CHANGE of only once at the end.
    In other words:
    Case 1:
    while not .eof actions
       BAPI_USER_CHANGE
       BAPI_TRANSACTION_COMMIT
    wend
    Case 2
    while not .eof actions
       BAPI_USER_CHANGE
    wend
    BAPI_TRANSACTION_COMMIT

  • Calling  BAPI by using JAVA connector..

    hi friend.. sorry for silly question..
    can u guide me how i can call BAPI in JAVA ..
    i know how to create JCO connection...
    i need to create client for this or not??or not??
    thanks
    NARPAL.

    Hi Rajesh Paranjpe,
    Here is sample code from SAP help:
    import com.sap.mw.jco.*;
    public class Bapi1 extends Object {
       JCO.Client mConnection;
       JCO.Repository mRepository;
       public Bapi1() {
          try {
             // Change the logon information to your own system/user
             mConnection =
                JCO.createClient("001", // SAP client
                  "<userid>", // userid
                  "****", // password
                  null, // language
                  "<hostname>", // application server host name
                  "00"); // system number
            mConnection.connect();
            mRepository = new JCO.Repository("SAPJCo", mConnection);
          catch (Exception ex) {
            ex.printStackTrace();
            System.exit(1);
          JCO.Function function = null;
          JCO.Table codes = null;
          try {
             function = this.createFunction("BAPI_COMPANYCODE_GETLIST");
             if (function == null) {
               System.out.println("BAPI_COMPANYCODE_GETLIST" +
                                  " not found in SAP.");
               System.exit(1);
             mConnection.execute(function);
             JCO.Structure returnStructure =
               function.getExportParameterList().getStructure("RETURN");
             if (! (returnStructure.getString("TYPE").equals("") ||
                    returnStructure.getString("TYPE").equals("S")) ) {
               System.out.println(returnStructure.getString("MESSAGE"));
               System.exit(1);
             codes =
               function.getTableParameterList().getTable("COMPANYCODE_LIST");
             for (int i = 0; i < codes.getNumRows(); i++) {
               codes.setRow(i);
               System.out.println(codes.getString("COMP_CODE") + '\t' +
                                  codes.getString("COMP_NAME"));
          catch (Exception ex) {
            ex.printStackTrace();
            System.exit(1);
          try {
            codes.firstRow();
            for (int i = 0; i < codes.getNumRows(); i++, codes.nextRow()) {
              function = this.createFunction("BAPI_COMPANYCODE_GETDETAIL");
              if (function == null) {
                System.out.println("BAPI_COMPANYCODE_GETDETAIL" +
                                   " not found in SAP.");
                System.exit(1);
         function.getImportParameterList().
           setValue(codes.getString("COMP_CODE"), "COMPANYCODEID");
         function.getExportParameterList().
           setActive(false, "COMPANYCODE_ADDRESS");
         mConnection.execute(function);
         JCO.Structure returnStructure =
           function.getExportParameterList().getStructure("RETURN");
         if (! (returnStructure.getString("TYPE").equals("") ||
                returnStructure.getString("TYPE").equals("S") ||
                returnStructure.getString("TYPE").equals("W")) ) {
            System.out.println(returnStructure.getString("MESSAGE"));
         JCO.Structure detail =
           function.getExportParameterList().
           getStructure("COMPANYCODE_DETAIL");
         System.out.println(detail.getString("COMP_CODE") + '\t' +
                            detail.getString("COUNTRY") + '\t' +
                            detail.getString("CITY"));
      catch (Exception ex) {
        ex.printStackTrace();
        System.exit(1);
      mConnection.disconnect();
    public JCO.Function createFunction(String name) throws Exception {
       try {
         IFunctionTemplate ft =
            mRepository.getFunctionTemplate(name.toUpperCase());
         if (ft == null)
           return null;
         return ft.getFunction();
       catch (Exception ex) {
         throw new Exception("Problem retrieving JCO.Function object.");
    public static void main (String args[]) {
       Bapi1 app = new Bapi1();

  • Unique id for calling thread

    A stored proc can be called by any of the say 200 threads from within a pool of java connections that all sign on with say USER1. Another similar pool can call the same proc that are signed on with USER2. Inside the proc I need to store some SYS_CONTEXT info and retrive it within the same call. I cannot use a package HEADER variable beacuse this is not private to the thread. I cannot use a global variable in the package BODY because between storing the value in the BDY global variable and retrieving it another thread can call the same proc and access the BODY global variable.
    I decide to store in the info ina SYS_CONTEXT using a unique identifier for this thread as the ATTRIBUTE and the info in the VALUE. To compose the unique id for this thread I can issue the following SQl. Which combo will guarantee me a unique id for tis thread that called the stored proc. The calls are synchronous meaning once a thread obtains a connection from the pool to call the stored proc it does not give it up until the proc completes and returns a result to the thread.
    SELECT
    SYS_CONTEXT('USERENV','SESSIONID')
    ,SYS_CONTEXT('USERENV','SESSION_USER')
    ,SYS_CONTEXT('USERENV','SESSION_USERID')
    , ,SYS_CONTEXT('USERENV','SID')
    ,SYS_CONTEXT('USERENV','HOST')
    ,SYS_CONTEXT('USERENV','INSTANCE')
    INTO
    v_sessionid
    ,v_session_user
    ,v_session_userid
    ,v_host
    ,v_instance
    FROM
    DUAL
    ;

    Please don't abuse the forums by posting in many places.
    General Database Discussions

  • SAP PI Interface for Multiple Bapi

    hi,
    i need to expose 2 Bapi (Bapi A and Bapi B) using SAP PI 7.0 using single PI Interface / webservice.
    3rd party --> SAP PI -->SAP ECC6.
    for first option, i can create new Bapi C and include Bapi A & B new Bapi C.  then only expose BAPI C in SAP PI.
    for 2nd Option, i want to import BAPI A & B into SAP PI and used SAP PI capability to run BAPI A & B in sequence.
    if i want to go for 2nd option (just use existing BAPI A & B), how to implement the steps to make the bapi can execute in sequence? any link tutorial wil be help me a lot.

    Hi Hashim,
    try to implement Stefan approach or even you can try below appraoch,
    call BAPI A using SAP PI, then cal BAPI B within BAPI A logic, here you need to import only BAPI A in to PI system.
    better to take help from ABAPer, he will help you on the same.
    Regards,
    Raj

  • Problem in calling bapi

    hi
    i developed one report and one bapi (to create sale order with ref to contract) every thing working fine.
    now my client asked he want to call bapi program from report because my report output is input to bapi for this i maintained check box for every row in report and in application tool bar i maintained one key , suppose he selected one record and press on that key it should move to bapi up to this working fine .for this my logic is
    SET PF-STATUS 'ZCON'.
    At USER-COMMAND.
    CASE SY-UCOMM.
    WHEN 'BAPI'. "this is key
    CALL TRANSACTION 'ZBC'. "zbc = my bapi tcode
    endcase.
    now i have to pass selected record values to bapi input automatically so what i have to write .
    please share information
    thanks in advance
    Moderator message : Duplicate post locked. Continue with the original thread.
    Edited by: Vinod Kumar on Sep 7, 2011 10:32 AM

    Hello Bhavin,
    you have marked your question an self solved. Would be fine if you post your solution.
    Regards
    Gregor

  • Ipod touch 3rd generation will connect to my wifi for a few seconds and then nothing will load. help please?

    I have an ipod touch 3rd generation 64gb and it has iOS 5.1.1 and it will connect to my WiFi for a few seconds and then nothing will load. It says I have full connection bbut nothing works. I have 2nd generation ipod and it connects fine. Along with my laptop and xbox 360. I have tried downgrading it and restoring it from itunes. I also tried forgetting the network and inputting it myself but it sti does the same thing. I even tried resetting my wireless modem but it still didnt make a change. I really could use some help. I can't call apple cause im no longer under warranty.

    Reset the iPod and connect to its syncing computer.  It it shows in iTunes restore the iPod.
    Next see if placing the iPod in recovery mod will allow iTunes t see the iPod so you can restore the iPod.  For recovery mode see:
    iPhone and iPod touch: Unable to update or restore

  • Creation of DB Adaptert for calling stored procedure in MS SQL server

    Hi,
    I need to create a DB adapter to call a stored procedure in MS SQL Server.
    I have gone thru the thread MS SQL Server database connection
    It mentions that we need to use a command line utility for generating the wsdl and xsd for calling stored procedures in MS SQL server. Please provide information where to find this utility and how to use it.
    Any links to tutorials are welcome.
    Thanks !!.
    Silas.

    Command line is required for stored procedures, if you are using the basic options you don't need to worry.
    (1) Download MS SQL Server 2005 JDBC Driver from Microsoft Site. http://msdn.microsoft.com/en-us/data/aa937724.aspx
    (2) The download is self extracting exe file. Extract this into Program Files on your machine. It should create folder as "Microsoft SQL Server 2005 JDBC Driver"
    (3) In above mentioned folder search for sqljdbc.jar copy this file into JDeveloper\JDBC\lib folder.
    (4) Open JDeveloper/jdev/bin/jdev.conf file add following entry.
    AddJavaLibPath C:/Program files/Microsoft SQL Server 2000 Driver for JDBC/lib
    While executing this step make sure that your JDeveloper is closed.
    (5) On command prompt go to J Developer folder and execute following command
    jdev -verbose
    This will open JDeveloper.
    (6) Now go to JDeveloper > Connections > Database Connections > New Database Connection
    (7) Select Third Party JDBC
    (8) Specify MS Sql Server User Name, password and Role.
    (9) In connection page specify following
    - Driver Class: com.microsoft.sqlserver.jdbc.SQLServerDriver
    - For class path browse to C:/Program files/Microsoft SQL Server 2000 Driver for JDBC/lib folder, select sqljdbc.jar add it as library.
    - Specify URL as following.
    jdbc:sqlserver://SERVERNAME:1433;databaseName=MSSQLDBNAME;
    (10) Go to Test page and test it.
    cheers
    James

Maybe you are looking for

  • How to I get a blank default font?

    I needed firefox to display a barcode and it would only show numbers. I installed firefox 14 and all of a sudden my default font went was blank and barcodes would show. I need to know how to do this for my other computers. Thanks!

  • Materialised view runs for ever ...

    Hi I'd appreciate if someone could shine some light on an issue I'm having with a materialised view. I inherited this when I came into my current project, so before you ask me why tables are not partitioned or why a MV is being used for such a scenar

  • Acrobat quits unexpectedly/Distiller unable to install/Patch outside range?

    What the???? I uninstalled CS2, uninstalled Acrobat Pro...then reinstalled it.... When I try to launch Acrobat Pro 7.0 I get the warning: The application Acrobat quit unexpectedly When I try to launch Acrobat Distiller: Error- Adobe Acrobat Distiller

  • Excel Upload in BI

    Dear All, We are working on some Client reports in which certain data like production/consumption isbeing captured in SAP Transaction & stored in SAP tables and can be pulled to BI.But,there is certain set of information like process parameters (Temp

  • GarageBand won't open some songs I've made

    I can't some songs that I have made on the GarageBand app. They have the top right corner folded back and a green arrow pointing down. I have tried to open them but they turn clear, and won't open. HELP!