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

Similar Messages

  • Calling BAPI's from java

    Hi ,
      Is there any way can we call BAPI's in java.   If yes, could you pls tell me the required jar files for that or any useful sites. 
    Thanks in Advance
    JM

    Hi,
    did you check:
    http://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000463654&
    there's some sample code inside
    https://websmp209.sap-ag.de/~sapdownload/011000358700007640702002E/SAPJCo.pdf
    also blogs:
    /people/tarun.telang2/blog/2005/10/03/debugging-a-rfc-call-using-jco-api-part-2
    Regards,
    michal

  • Calling BAPI from VB with ECC 6.0

    I have a Visual Basic 6 application that calls some standard BAPI's in a SAP R/3 system using Frontend 4.6d in order to upload data.  It also calls some custom RFC enabled ABAP to download data.
    We are upgrading to ECC 6.0 with SAP GUI 7.1.
    Can anyone tell me if I can still call BAPI's from VB6 or will I need to upgrade to VB.net?  Are there any changes to references in VB that I will need to make?
    Thanks!!
    Edited by: Jolene Roell on Feb 20, 2009 8:33 AM

    Well I could never figure out a way to call a BAPI from VB6 with ECC 6.  I ended up creating a VB.net dll using the SAP connector to call the BAPIs.  I could then call the dll from my existing VB 6 program.  That cut down on the recoding that I had to do.

  • Calling SAP BAPI Interface from PL/SQL

    Hi,
    How can i call BAPI Interface from PL/SQL.
    If you have any documents or examples please send me.
    Thanks in Advance
    Best Regards,
    Sreekanth

    Hi !
    declare
      req  utl_http.req;
      resp utl_http.resp;
      v_txt clob;
    begin
      req  := UTL_HTTP.begin_request ('http://rp.yoc.de/http/test/mbInfo/1.0/?smsbalance=total','GET','HTTP/1.1');
      resp := UTL_HTTP.get_response  (req);
      dbms_output.put_line(resp.status_code);
      dbms_output.put_line(resp.reason_phrase);
       utl_http.read_text(resp,v_txt);
       dbms_output.put_line(v_txt);
       UTL_HTTP.end_response(resp);
    end;I'm not exactly sure what are you looking for .. but that response from your post you can get with my code ( it's tested ).
    T
    Edited by: ttt on 12.3.2010 5:10
    My code is very "poor" , there is no error checks no header setup's no basic authentication no proxy settings .....

  • Creating webservice using webdynpro java calling bapi from r/3

    hi all,
    as i am new to this area can anyone provide me a guide to create a simple webservice using webdynpro java to call bapi's from r/3?
    i want to consume the created webservice on a .net client.
    Thanks in advance,
    Raghunandan

    You can use the SAP .NET Connector to do it.
    Download from [http://service.sap.com/connectors|http://service.sap.com/connectors].

  • Calling Bapi from Dot Net

    Hi All,
    We are Trying to upload Bapi's From Dot Net.
    When we are uploading Sales Order upload i will get this error ""ERROR: Sales document type DG-1 is not defined"" ,But If i Call Again It is not giving the any error and simply its updating the SAP data base.Not only Sales Order upload but Customer Master upload also First time iam getting :"" Invalid form of address text"" This Error...After Second Exectuion I am getting Sucess Message.
    Why My Bapi Call is Not Sucess for First Call and why it is Getting sucess in Second Exection When i am calling bapi from .Net
    how can i solve my Problem?
    Thank you,
    Madhu
    Edited by: madhubabu rao on Oct 24, 2008 8:20 AM

    Hello,
           Refer to the below Thread & Link respectively.
    Re: Call BAPI WS from .NET
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/12f6d390-0201-0010-e18d-cdb4554a9e75
    Thought it might give you some inputs.
    Thanks and Regards,
    Venkat Phani Prasad Konduri

  • HTTP to RFC (Calling BAPI)

    Hi,
    I am working on creating a Purchase Order in SAP system by calling BAPI's from XI using RFC adapter.
    I defined the following in IR:
    1. Created data types for mapping with BAPI request and response.
    2. Created messsage types and assigned corresponding data types to the message types.
    3. Created one Message Interface (Outbound/Synchronous), Output message - request message type, Input message - response message type.
    4. Create request and response message mapping and one Inteface mapping (with request tab and response tab) properly assigned.
    Defined the following in ID:
    1. Created HTTP business system (no communication channel)
    2. Created communication channel for receiving system (SAP).
    3. Created receiving determination and interface determination, receiver agreement, no sender agreement.
    I sent XML message (required data to create purchase order) from HTTP client but I am getting the response as <b>Unable to determine name of mapping program</b>, my Interface Determination has proper Inbound Interface (ZBAPI_PO_CREATE) and Mapping program (PO_I_MAP). But Why am I getting the reposnse as I said above in my HTTP client?
    Appreciate your help,
    Thanks and Regards,
    Jagadish.

    Hi Jagadish,
    The error lies in Message Mapping .So please check it once again .You have mentioned your steps it seem there is problem in Message mapping..
    Please look at the following Steps..
    IR:
    1.Import Corresponding RFC(BAPI). No need to create Interface Objects( Data type, Message type,Message Interface ) for SAP( RFC ) system..
    2.Create Interface Objects For HTTP System.As you told it is synchronous.
    3.Perform Two Message Mappings
      (A).HTTP Request <--> RFC Req
      (B).RFC  Response<-->HTTP Res
    4.Perform one Interface Mapping which includes Request and Response Mappings ..
    5.Activate all objects..
    ID : what you have done is ok..
    URL: http://<hostname:port>/<path>?<query-string> Make sure your URL is correct or not for( sender HTTP )..
    I think it will hepl you , if it is solved please assign points . If you have any doubt you can call me...
    Thanks
    N.Prasad Babu
    iGATE Global Solutions Hyderabad : 98490 65377

  • 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

  • Call BAPI in Custom ZRFC

    Hi all,
        My requirement is create a  one ZRFC, inside RFC
      call BAPI sales order creation.
    How to call BAPI in side RFC.
            please give step by step.
    Thanks,

    hi,
    First create a RFC FM and than call this BAPI in RFC. the following r the steps.
    1. Create a FM using tcode SE37. go to Attributes TAB --. make Processing type as Remote enabled module.
    2. In the Source ocde of this FM,  call the BAPI FM...
    Hope it is clear to u.
    Regards,
    Deepthi.
    Edited by: deepthi dandibhotla on Sep 23, 2008 1:51 PM

  • From rfc how to call bapi

    Hi
    How to call BAPI FM's from RFC ??
    thanks
    kumar

    Hi Palnati,
                      Use statement  :
                      Call FUNCTION     'Bapi................'
                       DESTINATION     Dest(RFC destination in TCODE SM59)
                         EXPORTING      f1 = …
                                                    f2 = …
                         IMPORTING      f3  = …
                         TABLES            T1 = …
                         EXCEPTIONS ……….
    Reward points if helpful.
    Regards,
    Hemant

  • Calling a Report from Bapi

    Dear  all,
    I am trying to create a customer from external system through bapi. For this is i have to follow these steps.
    1)  I am trying to call a report from external system through bapi.
    2)  I want to pass data from bapi to a bdc program and run it to create a customer.
    3) After creating a customer I need to send the  ceated customer no again to the bapi from where i passed the data to bdc.
    is it possible .
    Give me a good idea on this how to work with it.
    Regards,
    Madhu.

    Hi Madhu,
    SAP has already given standard BAPI to create customer creation "BAPI_CUSTOMER_CREATEFROMDATA". So there is no need for you to create any thing new. Jut test this BAPI first whether this suit your requirement or not. If it satisfy your requirement then call it directly from external system. On how to call this BAPI or other BAPis searc google or SDn you will definetaly find something.
    second approach is if nothing works for you( No BAPI satisfy your requirement) then only go for BDC aapproach. To do that, create a RFC function module( BAPi and RFC FM are diff thing, they looks same  but they are not ). Inside your RFC FM directly write the BDC code to create customer.
    Regards
    Anurag

  • How bapi different from session and call transaction?

    how bapi different from session and call transaction?
    thanks in advance.

    For one, Batch Data Communication (BDC) is older. Business Application Programming Interface (BAPI) came later, about 10 years ago (you can see this already from the name, which contains marketese like "business" ).
    More important though, they are different technologies. With BDC you build the "batch input transaction" yourself, with an ABAP program which creates the "batch input session" ("Batch-Input-Mappe" in german). You then take that session, like an object, and "run" it on a system (most of the time, this is done on a local system by the administrators, after it has been tested for correctness).
    With BAPI, a system (local or remote) exposes its interface to you through some kind of Remote Function Call (RFC). Practically, it tells you: "What do you want to do? Insert that data into Materials Management? Here is the function and the the parameters you have to use for each record". You only work with the Interface - the exposed function. How this function works does not have to interest you. You don't have sessions to "run", you fire your function calls filled with data, one after another and you're done.
    BAPI can be run remotely. With BDC, you probably have to call the administrators of the remote system and send them the session you created for them to run. With BDC you go through the whole transaction in one BDC session, with BAPI you may need more than one "BAPI calls" to do this.
    With BAPI you don't fill obcure field names with values, you just fill the parameters. You can use a BAPI from inside your ABAP program to let a "business object" do some clearly defined work for you, then you can continue with your code doing other things. You don't do this with BDC. With BDC you write a dedicated program that creates the "session", which is then executed separately.
    Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a
    typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is not bi-directional.
    BDC works on the principle of simulating user input for transactional screen, via an ABAP program. Typically the input comes in the form of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The transaction is then started using this internal table as the input and executed in the background.
    In Call Transaction, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling.
    It can also be used for real-time interfaces and custom error handling & logging features. Whereas in Batch Input Sessions, the ABAP
    program creates a session with all the transactional data, and this session can be viewed, scheduled and processed (using Transaction SM35) at a later time. The latter technique has a built-in error processing mechanism too.
    Batch Input (BI) programs still use the classical BDC approach but doesnt require an ABAP program to be written to format the
    BDCDATA. The user has to format the data using predefined structures and store it in a flat file. The BI program then reads this and
    invokes the transaction mentioned in the header record of the file.
    Direct Input (DI) programs work exactly similar to BI programs. But the only difference is, instead of processing screens they validate
    fields and directly load the data into tables using standard function modules. For this reason, DI programs are much faster (RMDATIND - Material Master DI program works at least 5 times faster) than the BDC counterpart and so ideally suited for loading large volume data. DI programs are
    not available for all application areas.
    Business Add-In (BADI) are a new SAP enhancement technique based on ABAP Objects.
    They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
    As with customer exits two different views are available:
    In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
    In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.

  • How to Debug the RFC when the call is made from XI

    Hi
    I will give the brief about the problem
    this call is from Webservice >XI-> R/3 BW (RFC)
    Some transaction were failed with error 'Reason Code not valid ..e.t.c " this error returning from the RFC of the BW system, but as per the inputs from the business t,he reason code are valid and some of other transactions went through sucessfully with same reason code.
    My requiremnt is,,
    i had the XML's of the failed transactions , and i need to push them From XI to BW, and Simultaneously  i need to debug the RFC of BW system and trace the reason for that error.
    Is there any possiblity to do this.
    Please help.
    Thanks in Advance
    Mallik

    Hi
    I will give some more details abou my requirement.
    Some transaction passed from B2B bridge >-XI (RFC)>BW, Failed due to the error returned by BW system in Production environment.
    The RFC is standard one and intern it is calling BAPI (I need to debug a method inside the BAPI which is returning the particular error).
    And i have the XML's of the failed transactions.
    If i want to do this Dev. environment.i will fallow the below steps.
    1) I will add the external break-point on my user-ID (BREAK USERID)
    2) And in XI i will change the user in the RFC communicational channle to my USER ID and password.
    3) From XI Runtime workbench i will send the test message with XML's provided.
    Can any one please confirm that i am going in a correct way...?
    Please correct me if i am wrong.
    Thanks for your help
    Mallikharjuna Reddy

  • 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

  • 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

  • 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.

Maybe you are looking for