What is BAPI?

hi Experts,
   What is BAPI?How can i create BAPI?Can u provide me step by step procedure regarding this?
thanks
Surya

BAPI stands for Business Application Programming Interface.
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.

Similar Messages

  • What is BAPI and where does it use

    Hi all
    What is BAPI and where does it useful for us. And as a functional consultant how much should i know it.
    regards
    Subrat

    Hi Subrat,
    You can get the information of whatis BAPI in SAP help link below...
    http://help.sap.com/saphelp_46c/helpdata/en/a5/3ec8464ac011d1894e0000e829fbbd/content.htm
    As a Functional consultent, it depends how close you are with the technical part of the implementation. if you are involved in some technical part, you need this information...
    Best Regards,
    Venkat.

  • Prompt please, whether is what either BAPI or FM for deblocking pp-orders

    Hello.
    Prompt please, whether is what either BAPI or FM for deblocking pp-orders (STAT=I0002, it is similar to that, as for example does transaction CO02, COHV).
    Im voraus danke,
    Anton.

    Manish:
    A connection object cannot exist without an address, and has only one, so deletion is not possible.  You can change the address of a CO, or you can mark them for deletion.
    regards,
    bill.

  • What method, BAPI, etc. is used to launch a standard SAP transaction?

    Hello friends,
    Is there a simple way of finding out what method, BAPI, FM, etc. is used  to launch a standard SAP transaction?
    I was told that instead of CALL TRANSACTION using BDCDATA stuff, I can use the method or BAPI or FM, or whatever to get the same results. The problem is I don't know how to find out this information.
    Apparently using BDCDATA for a CALL TRANSACTION form within an ABAP  program can be hazardous because of SAP's upgrades, new releases etc... If one of the screens is modified during the next release, then the BDCDATA will no longer work. So I need to launch a transaction from within my ABAP  without having to worry about future changes implemented by SAP.
    Any ideas?
    Your help is greatly appreciated,

    Hi,
    It depends on which transaction you are looking for. Usually it comes by experience. You can search in SE37 or transaction BAPI to find out relevant BAPI suitable for you. All BAPI FMs starts with name BAPI.
    eg: If you want to findout the BAPI for VA01 transaction, try like this.
    SE37=> enter BAPIsalescreate* and click F4.
    You can see below list of FMs.
    BAPI_SALESDOCU_CREATEFROMDATA
    BAPI_SALESORDER_CREATEFROMDAT1
    BAPI_SALESORDER_CREATEFROMDAT2
    BAPI_SALESORDER_CREATEFROMDATA
    BAPI_SALES_DEL_SCHEDULE_CREATE
    BAPI_SALESORDER_PROXY_CREATE
    BAPI_SALESDOCU_CREATEFROMDATA1
    BAPI_SALESDOCU_CREATEWITHDIA
    By looking at the name we can identify upto 60%. Just go through the FM documentation and see if it works for u and how to use it.
    SCN is always there to help us out. But before posting to ask for a BAPI, please search and give a try to findout:)
    Thanks,
    Vinod.

  • SAP PP-What is BAPI & how it relates with PP-module

    What is BAPI & how it relates with PP-module

    hi
    SAP has introduced object-oriented technology by making SAP processes and data available in the form of SAP business objects.
    External applications can access SAP business objects through standardized, platform-independent interfaces - die Business Application Programming Interfaces (BAPIs). The SAP Business Objects and their BAPIs provide an open, object-oriented view of the business processes and data in an SAP System.
    This guide provides an overview of the SAP business objects, SAP interface types, and their BAPIs as well as the Business Object Repository where business objects and BAPIs are defined and stored.
    go with this link
    http://help.sap.com/saphelp_47x200/helpdata/en/7e/5e114a4a1611d1894c0000e829fbbd/frameset.htm
    -ashok

  • Hi guru's what is bapi

    hi guru's what is bapi how we use bapi

    HI,
    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.
    BAPI-step by step
    http://www.sapgenie.com/abap/bapi/example.htm
    just refer to the link below
    http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g
    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.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#
    Example Code
    we use the function module for creating PO
    BAP_PO_CTREAT1.
    constants : c_x value 'X'.
    data: del_date type sy-datum.
    data: pohead type bapimepoheader.
    data: poheadx type bapimepoheaderx.
    data: exp_head type bapimepoheader.
    data: return type table of bapiret2 with header line.
    data: poitem type table of bapimepoitem with header line.
    data: poitemx type table of bapimepoitemx with header line.
    data: posched type table of bapimeposchedule with header line.
    data: poschedx type table of bapimeposchedulx with header line.
    data: ex_po_number type bapimepoheader-po_number.
    parameters: p_matnr type ekpo-matnr.
    parameters: p_werks type ekpo-werks.
    parameters: p_lgort type ekpo-lgort.
    parameters: p_menge type ekpo-menge.
    parameters: p_lifnr type ekko-lifnr.
    parameters: p_ekorg type ekko-ekorg.
    parameters: p_ekgrp type ekko-ekgrp.
    parameters: p_bukrs type ekko-bukrs.
    Header Level Data
    pohead-comp_code = p_bukrs.
    pohead-doc_type = 'NB' .
    pohead-creat_date = sy-datum .
    pohead-vendor = p_lifnr.
    pohead-purch_org = p_ekorg.
    pohead-pur_group = p_ekgrp.
    pohead-langu = sy-langu .
    pohead-doc_date = sy-datum.
    poheadx-comp_code = c_x.
    poheadx-doc_type = c_x.
    poheadx-creat_date = c_x.
    poheadx-vendor = c_x.
    poheadx-langu = c_x.
    poheadx-purch_org = c_x.
    poheadx-pur_group = c_x.
    poheadx-doc_date = c_x.
    Item Level Data
    poitem-po_item = 1.
    poitem-material = p_matnr.
    poitem-plant = p_werks.
    poitem-stge_loc = p_lgort.
    poitem-quantity = p_menge.
    append poitem.
    poitemx-po_item = 1.
    poitemx-po_itemx = c_x.
    poitemx-material = c_x.
    poitemx-plant = c_x .
    poitemx-stge_loc = c_x .
    poitemx-quantity = c_x .
    poitemx-tax_code = c_x .
    poitemx-item_cat = c_x .
    poitemx-acctasscat = c_x .
    append poitemx.
    Schedule Line Level Data
    posched-po_item = 1.
    posched-sched_line = 1.
    posched-del_datcat_ext = 'D'.
    del_date = sy-datum + 1.
    write del_date to posched-delivery_date.
    posched-deliv_time = '000001'.
    posched-quantity = p_menge.
    append posched.
    poschedx-po_item = 1.
    poschedx-sched_line = 1.
    poschedx-po_itemx = c_x.
    poschedx-sched_linex = c_x.
    poschedx-del_datcat_ext = c_x.
    poschedx-delivery_date = c_x.
    poschedx-quantity = c_x.
    append poschedx.
    call function 'BAPI_PO_CREATE1'
    exporting
    poheader = pohead
    poheaderx = poheadx
    testrun = ' '
    importing
    exppurchaseorder = ex_po_number
    expheader = exp_head
    tables
    return = return
    poitem = poitem
    poitemx = poitemx
    poschedule = posched
    poschedulex = poschedx.
    call function 'BAPI_TRANSACTION_COMMIT'
    exporting
    wait = 'X'.
    if not ex_po_number is initial.
    call function 'DEQUEUE_ALL'.
    else.
    call function 'DEQUEUE_ALL'.
    message i036.
    Check this
    http://www.sap-img.com/abap/bapi-step-by-step-guidance.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/7e/5e114a4a1611d1894c0000e829fbbd/frameset.htm
    http://www.sapgenie.com/abap/bapi/example.htm
    http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    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://www.sapgenie.com/abap/bapi/example.htm
    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://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
    <b>Reward is usefull</b>

  • Hui guru's what is BAPI comit

    hui guru's what is BAPI comit

    When ever we run a BAPI that is changing the database we should do commit work to write the changes to database.
    Function module "BAPI_TRANSACTION_COMMIT" is a FM which does the commit work.
    When a BAPI is used in transaction called externally to change data in SAP system BAPI_TRANSACTION_COMMIT function should be called to write the changes to the database.
    PATTERN
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    WAIT =
    IMPORTING
    RETURN =
    It has 2 parameters.
    wait = If it is blank then the function commits changes to database but doesnot wait.If wait is set to some value then after commit work the system waits.
    return = It gives messages when commit fails only when wait is set to some value else if wait is blank and commit fails the system crashes without any message.
    If a BAPI is run from a program where it changes the database and a commit work doesnot follow it then the system crashes also it locks certain database elements.

  • What are BAPI's

    Dear All,
                Could you tell me what are BAPI? and how are they related to RFC? How do BAPI's work?
    Regards,
    Ashish

    Hi Ashish,
    Short Intro:
    BAPI wil work as a function module only just tht its an RFC can be called by external systems.
    BAPIs are created as methods of business objects.if u goto SWO1 transaction and give a BO say BUS2038 you will see some methods in them.They are all BAPIs.
    If you goto transaction BAPI,you can find all the methods created by SAP and impelmented as Function modules and they are all RFCs.But an RFC is not necessarily a BAPI.It can be a normal function module in SAP whose attribute has been set to RFC,which means u r making it available to be called by external systems
    like our wrapper BAPIs,are simple RFCs and not BAPIs
    This can provide you all information around BAPI's
    http://help.sap.com/saphelp_nw04/helpdata/en/e0/9eb2370f9cbe68e10000009b38f8cf/frameset.htm
    Regards,
    Vinayak Kamath

  • What is BAPI?How to create a BAPI? Difference b/w BAPI and BDC

    Hi all,
    Can some one help me regarding...
    What is an BAPI?where it is used?
    How to create a BAPI?
    What is the difference between BAPI and BDC Program?
    Iam in Initial stage regarding BAPI concept.
    Please respond me soon.
    Thanks,
    Lee

    HI,
    Here it is:
    BAPI Programming Guide
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
    BAPI User Guide
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
    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://ifr.sap.com/catalog/query.asp
    STEP BY STEP for BAPI
    http://sap-img.com/abap/bapi-step-by-step-guidance.htm
    <b>DIFFERENCE between BAPI and BDC</b>
    BDC is traditional way of coding the transactions for uploading the legacy data, Sap is changing all transactions to Object oriented programming. Since BAPI is Object based and supports all the new transactions it is preffered over BDC. More over BAPI's process data faster than BDC.
    BAPI is a SAP-supplied function module with a defined interface, which allows you to interact with various business objects. SAP guarantees the integrity of your database for anything updated using a BAPI. BDC is a method of driving screens programatically, for updating SAP data. BAPIs are generally faster than BDCs.
    A BAPI is faster because it is updating the DB "directly". Whereas BDC with call
    transaction goes through the whole screen sequence like any user would do, simply put, fills screens.
    However - there is not always a BAPI for a particular transaction and not all functions that are performed by a transaction can be done by a BAPI. BDCs produce error sessions which can be processed by the user, while BAPIs don't.
    First choose the BAPI ,if there is no BAPI go for BDC.
    why BAPI first not BDC.
    SAP comes up with Change in Version, so each and every time they will change the screens/number etc.
    so you have to change your BDC programs accordingly.
    and also Most of the Latest versions transactions are Enjoy Transaction. they will not support BDC's in Background.
    But Using BAPI's No such disadvantages.
    A BAPI is faster because it is updating the DB "directly" through ABAP code.
    A BDC with call transaction goes through the whole screen sequence like any user would do, simply put, it is filling screens.
    Actually it depends on your requirement but BAPI is more effective as it is standard function module to update SAP databases rather than BDC.
    using bdc over bapi has advantages and also disadvantages
    advantages:
    1. using bdc we can upload data into database tables using 2 ways
    1. foreground -
    means that user interaction is there for each and every record.
    2. back ground -
    no user interaction and tasks are done automatically.
    using these two options is one of the greatest advantage over bapi.
    2. in bdc call transaction method we can control the display of screen resolution which is not possible with bapi's
    3. bdc is generally used for transferring of large amount of data than bapi's
    4.session method of bdc allows us to place data directly in application server and then finally transfered into sap database tables
    disadvantages:
    1.bdc is only used for sap to sap system data transferring
    2. bapis's generally works more faster than bdc's
    3. using bapis we can connect to remote systems and also to non sap systems.
    if useful reward some points.
    A BAPI is a method of a SAP Business Object. BAPI enables SAP and third party applications to interact and integrate
    with each other at the Business Object / Process level.
    Check this link to know more about BAPI.
    http://www.sapgenie.com/abap/bapi/example.htm
    http://sappoint.com/abap/
    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. .
    To know more about BDC,
    check the link.
    http://sappoint.com/abap/
    Main differences are...
    In case of bdc data transfer takes place from flat file into sap system ie the file existing in sap system to sap sytem
    where is bapi's r remotly enabled function modules which are assigned to some business objects n used to transfer the data between different business partners who are using different systems other than sap.
    not only that...
    when you plan to upgrade your system version then bdc willnot support those upgradations where as bapi's will support.
    <b><REMOVED BY MODERATOR></b>
    Manish
    Message was edited by:
            Alvaro Tejada Galindo

  • What is bapi and what is badi

    Hi gurus
    what is the difference between bapi and badi. Where do we use these two concepts. 
    Thanks in advance

    hI ,
    badi : Business add-ins are enhancements to the standard version of the system. 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.
    You can differentiate between single-use and multiple use Business Add-Ins. The distinction is based on the procedure or event character of an enhancement. In the first case, the program waits for the enhancement to return something, usually a return code. A typical example could be a benefit calculation in HR. Depending on the implementation, alternative calculations can be executed. With multiple use add-ins, an event that may be of interest to other components is processed in program flow. Any number of components could use this event as a “hook” to hang their own additional actions on to.
    In addition to importing parameters, you can also use changing parameters for multiple-use Business Add-Ins. There is no sequence control for multiple-use implementations of BadIs. Therefore, using changing parameters can cause problems. There is no guarantee that implementations will not overwrite the results of previous implementations. Sequence control is technically impossible, since at the time of the definition the interface does not know which implementations there will be and which parameters will be changed by implementations. It is not possible to have a decision as to which implementation should be executed before which other (future) implementation.
    Example:
    In a particular application, you want to be able to continue processing indexes after another component has saved data (in other words, the system should allow you to use an add-in after saving). Since this point in time can be useful for different purposes, you can create an enhancement here that can be used by multiple subscribers.
    To create a multiple-use Business Add-In, proceed as follows:
           1.      Define an add-in and select the Multiple Use checkbox from the Administration tab.
           2.      Define an interface with the method OBJECT_SAVED'and the importing parameter OBJECTNAME.
    Calling your enhancement in the application program:
    program event.
    data exit_obj type ref to if_ex_event.
    call method cl_exithandler =>get_instance
         changing instance = exit.
    form save_object using obj_name type c.
    update …
    call method exit_obj->object_saved
         exporting objectname = obj_name.
    endform.
    For the caller it is irrelevant whether (and how many) subscribers use the event as a starting point for further actions. The active implementations are called in the adapter method.
    BAPI :
    BAPI/RFC Interface
    A remote function call is a call to a function module running in a system different from the caller's.
    The remote function can also be called from within the same system (as a remote call), but usually caller and callee will be in different systems.
    In the SAP System, the ability to call remote functions is provided by the Remote Function Call interface system (RFC). RFC allows for remote calls between two SAP Systems (R/3 or R/2), or between an SAP System and a non-SAP System.
    RFC consists of the following interfaces:-
    A calling interface for ABAP programs
    Any ABAP program can call a remote function using the CALL FUNCTION...DESTINATION statement. The DESTINATION parameter tells the SAP System that the called function runs in a system other than the caller's.
    RFC communication with the remote system happens as part of the CALL FUNCTION statement.
    RFC functions running in an SAP System must be actual function modules, and must be registered in the SAP System as "remote".
    When both caller and called program are ABAP programs, the RFC interface provides both partners to the communication. The caller may be any ABAP program, while the called program must be a function module registered as remote.
    Calling interfaces for non-SAP programs
    When either the caller or the called partner is a non-ABAP program, it must be programmed to play the other partner in an RFC communication.
    To help implement RFC partner programs in non-SAP Systems, SAP provides-
    External Interfaces
    RFC-based and GUI-based interfaces can be used by external programs to call function modules in SAP R/2 or R/3 systems and execute them in these systems.
    Vice versa, ABAP programs in R/2 or R/3 can use the functions provided by external programs via these interfaces.
    M<reward if useful>
    Thanks
    Jagadeesh
    Edited by: Jagadeshwar Gollapelly on Mar 20, 2008 5:34 AM

  • Documentation says not to use Commits inside the FM in the actions.. what about BAPI Commits?

    I see in the customization documentation that we should not be using Commit statements in the FMs inside the Actions.. what about when we're calling BAPIs and they require a BAPI commit call?
    thanks,
    Robert

    Hi Robert,
    For BAPIs you need to set the commit level in the action definition as for function modules. SAP help portal provides following information about BAPIs and COMMIT WORK:
    "The BAPI transaction model must afford the user explicit transaction control. Therefore, if several BAPIs are called together, the caller can decide him/herself when to execute a COMMIT WORK (or, as the case may be, a ROLLBACK WORK). This means that BAPIs themselves cannot (generally) execute a COMMIT WORK command."
    I hope this infomration can help
    Best wishes
    Christoph

  • What is "BAPI" where it is used in SD module.

    Dear Guru’s,
           Can you please explain with an example where “BAPI” is useful in SD Module?
    Regards,
    Bhanu

    Dear friend,
    SAP created the Business Framework to allow the technical integration and exchange of business data among SAP components and between SAP and non-SAP components. Important components of the Business Framework are the Business Application Programming Interfaces (BAPIs), which represent visible interfaces at the component boundaries and whose properties serve to integrate these components. 
    The integration can include both components within a local network and components that are connected with one another through the Internet.
    BAPIs allow integration at the business level, not the technical level. This provides for greater stability in the link, and independence from the underlying communication technology.
    You can get all the standard SAP BAPI functions with the transactions code 'BAPI'.
    You can use it for third party sales process.
    go to the link you will find the details
    http://www.sap-img.com/bapi.htm
    Reward points if it helps you.
    Sadanand.

  • What are bapis for work order

    hai gurus can any one tell me the bapis to create delete and update the workorders, and bapis to read resources, employee,workcenter, and association of employee with work center
    thanx in advance
    afzal

    Hi,
    BAPI
    BAPI_ALM_ORDER_MAINTAIN
    BAPI ALM_PM_NOTIFICATION_CREATE.
    fm's
    IQS0_CHANGE_NOTIF_TO_ORDER or IQS0_CREATE_NOTIF_TO_ORDER
    Try with this BAPI....BAPI_ALM_NOTIF_CREATE
    Functionality
    You can use this BAPI to create a new maintenance- or service notification. You can create certain fields from the notification header as well as items, causes, tasks, actions and long texts for this. You can also maintain partner data.
    Technical note
    To create items, causes, tasks, or actions, the sort field must be filled.
    When you create a cause, the sort field of the item must also be filled.
    When you create a long text, the fields OBJTYP and OBJKEY must be filled. OBJTYP can have the following values:
    1. QMEL - Notification header
    2. QMFE - Notification item
    3. QMUR - Notification cause
    4. QMSM - Notification task
    5. QMMA - Notification action
    OBJKEY must have the corresponding sort field for the values named above. The combination of sort field of item/cause, item/task and item/action must be unique within a notification. If you leave the sort field empty and the OBJTYP = QME, then a long text is created for the notification header.
    In the field REFOBJECTKEY an external reference can be transferred. The link between external reference keys and R/3 keys is transferred in the export table KEY_RELATIONSHIP. If the fields SENDER, REFOBJECTTYPE and REFRELTYPE are filled, then an object link can be created at notification header level.
    <b>Reward points if useful</b>
    Regards
    Ashu

  • What are BAPI /API for Installed Base in CRM ??

    Hi Experts
    Can any body give list of BAPI /API for IBASE Processing...??
    Thanks,
    AK

    IB_CRM_ADD
    CRM_IBASE_CHECK_TYP
    IB_CRM_API
    CRM_IBASE_ADDRESS_SEARCH
    CRM_IBASE_CHANGE
    CRM_IBASE_COMP_ADDRESS_SEARCH
    CRM_IBASE_COMP_CHANGE
    CRM_IBASE_COMP_CHANGE_TYPE2
    CRM_IBASE_COMP_CREATE
    CRM_IBASE_COMP_DELETE
    CRM_IBASE_COMP_FIND
    CRM_IBASE_COMP_FIND_MULTI
    CRM_IBASE_COMP_FIND_MULTI_R
    CRM_IBASE_COMP_GET_ADDRESS
    CRM_IBASE_COMP_GET_DETAIL
    CRM_IBASE_COMP_GET_FATHER
    CRM_IBASE_COMP_GET_HIERARCHY
    CRM_IBASE_COMP_GET_PARTNER
    CRM_IBASE_COMP_GOTO_DETAIL
    CRM_IBASE_COMP_GOTO_PARTNER
    CRM_IBASE_COMP_IMPORT_DETAIL
    CRM_IBASE_COMP_IMPORT_SUBSCR
    CRM_IBASE_COMP_INDOBJ_SEARCH
    CRM_IBASE_COMP_INDOBJ_SEARCH_R
    CRM_IBASE_COMP_MOVE
    CRM_IBASE_COMP_PARTNER_SEARCH
    CRM_IBASE_COMP_PARTNER_SEARCHR
    CRM_IBASE_COMP_TABLEINFO
    CRM_IBASE_COMP_TRANSL_PARAM
    CRM_IBASE_COPY
    CRM_IBASE_CREATE
    CRM_IBASE_DEQUEUE
    CRM_IBASE_DRILL_DOWN_FOR_COMP
    CRM_IBASE_ENQUEUE
    CRM_IBASE_FIND
    CRM_IBASE_FIND_MULTI
    CRM_IBASE_FREE
    CRM_IBASE_GET_ADDRESS
    CRM_IBASE_GET_ALL
    CRM_IBASE_GET_CHANGE_STATUS
    CRM_IBASE_GET_DETAIL
    CRM_IBASE_GET_HANDLE
    CRM_IBASE_GET_PARTNER
    CRM_IBASE_GOTO_DETAIL
    CRM_IBASE_GOTO_PARTNER
    CRM_IBASE_INITIALIZE
    CRM_IBASE_PARTNER_SEARCH
    CRM_IBASE_PARTNER_SEARCH_RANGE
    CRM_IBASE_SAVE
    CRM_IBASE_SET_HANDLE
    CRM_IBASE_TABLEINFO
    CRM_IBASE_TRANSL_PARAM
    IB_BAPI_IBASE
    BAPI_IBASE_CREATE
    BAPI_IBASE_GET_DETAIL
    BAPI_IBASE_SAVE
    IB_BAPI_COMP
    BAPI_IBASE_COMP_CREATE
    BAPI_IBASE_COMP_GET_DETAIL
    BAPI_IBASE_CREATE
    IB_IBASE_CREATE
    IB_IBASE_CREATE_INITIAL
    CRM_IBASE_COMP_CREATE
    CRM_IBASE_CREATE
    IB_COM2_CREATE_IBASE
    IB_COM_CREATE_IBASE_INITIAL
    *--- Fetch Ibase Handle
        IF ib_handle IS INITIAL.
          CALL FUNCTION 'IB_COM_NEW'
               IMPORTING
                    e_ibco_handle = l_handle.
          ib_handle = l_handle.
        ENDIF.
    <b>Pl. Do reward the points</b>
    Regards,
    Arjun

  • What the advantages of having an BAPI over Other data migrations

    What the advantages of having an BAPI over Other data migrations

    Th advantages of BAPI
    1. Simple to use (its just an FM)
    2. Not cumbersome like bdc
    where we have to record each and every screen
    sequence.
    3. SAP guarantees the consistency
    of bapi in future releases.
    One of the big plusses for BAPIs is that the interface and function are not supposed to change. This is a big plus when you do upgrades or hot packs because the transaction can change (format, required inputs etc) which means you then need to update the call transaction.
    Some of the BAPIs are better documented and easier to use than others.
    You usually need to perform the BAPI that actually does the COMMIT after you call your BAPI.
    The Program coding for calling a BAPI is usually cleaner than setting up the screen flow etc for the Call Transaction.
    You don't need to worry about special data circumstances interrupting the normal data flow of the screens and causing errors because of that.
    BAPIs probably have better performance since they don't do the screen flow processing.
    In general if the BAPI exists for the transaction you want to perform and you can figure out how to use it the BAPI is probably the best way to go.
    This is just from my experience working with both BAPI and Call Transaction. I have had some very good successes with BAPIs, but very occasionally found that I could not get the BAPI to perform the update I needed.
    Refer the transaction BAPI for detail information.
    You can also refer to below links:
    http://www.sapgenie.com/abap/bapi/example.htm
    Basic learning guide:
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    BAPI intro:
    http://www.sappoint.com/abap/bapiintro.pdf
    Overview:
    http://www.planetsap.com/Bapi_main_page.htm
    Also have a look at the following link :
    http://www.planetsap.com/LIST_ALL_BAPIs.htm
    Go through the following Document
    Bapi to create customer master
    BAPI_CUSTOMER_CREATEFROMDATA
    BAPI_CUSTOMER_CREATEFROMDATA1
    Or you can use FM SD_CUSTOMER_MAINTAIN_ALL
    what is BAPI?
    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.
    Check these Links out
    http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
    http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
    http://www.sap-img.com/fu033.htm
    http://www.sap-img.com/abap/ale-bapi.htm
    Please check out this thread..
    Re: bapi
    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
    Java Connector(JCO) can call not only BAPI's but also the function modules which are remotely enabled..
    BAPI's as i said earlier are remotely enabled function modules..
    Hence, JCO can call also BAPI's(n not only BAPI's as u mentioned).
    Check the following BDC over BAPI
    The steps to be followed are :
    1. Find out the relevant BAPI (BAPI_SALESORDER_CHANGE for VA02).
    [for VA01 use BAPI_SALESORDER_CREATEFROMDAT2]
    2. Create a Z program and call the BAPi (same as a Funtion module call).
    2. Now, if you see this BAPi, it has
    -> Importing structures.
    eg: SALESDOCUMENT: this will take the Sales order header data as input.
    -> Tables parameters:
    eg: ORDER_ITEM_IN: this will take the line item data as input.
    Note :
    Only specify fields that should be changed
    Select these fields by entering an X in the checkboxes
    Enter a U in the UPDATEFLAG field
    Always specify key fields when changing the data, including in the checkboxes
    The configuration is an exception here. If this needs to be changed, you need to complete it again fully.
    Maintain quantities and dates in the schedule line data
    Possible UPDATEFLAGS:
    U = change
    D = delete
    I = add
    Example
    1. Delete the whole order
    2. Delete order items
    3. Change the order
    4. Change the configuration
    Notes
    1. Minimum entry:
    You must enter the order number in the SALESDOCUMENT structure.
    You must always enter key fields for changes.
    You must always specify the update indicator in the ORDER_HEADER_INX.
    2. Commit control:
    The BAPI does not run a database Commit, which means that the application must trigger the Commit
    so that the changes are read to the database. To do this, use the BAPI_TRANSACTION_COMMIT BAPI.
    For further details... refer to the Function Module documentation for the BAPi.

Maybe you are looking for

  • Skype account restricted

    I bought a skype unlimited call to India. I am using it for calling relatives, local call and my friends. Suddenly I got an email stating below: Fair usage policy violation blocking We have noticed some prohibited usage of your Skype subscription. As

  • Repackager installation monitoring error in windows 8.1

    The repackager wizard --> installation monitoring starts the executable below C:\Program Files (x86)\AdminStudio\2013\Repackager\iLaunch.exe Then an error pops up InstallMonitor 64bit Launcher InjectLibrary32 failed. Error: 5 InjectLibrary64 failed.

  • SQLDeveloper 3.2 - I can't see trigger code

    Hi people In some cases, I can't see trigger code. I didn't find a pattern to determine what kind of trigger has an invisible code. For example, in my instance I can't see code of SCOTT.AFTER_INS_UPD_ON_EMP trigger, but I see it in SQL tab for SCOTT.

  • Starting a Iphone 4

    Just a simple question. I have just bought a iphone4 and i want to start it despite my phone operator has not send me the simcard Can i start my iphone with itunes without the operator simcard thank you for your help regards Alain

  • How do you get rid of error -37 on itunes?

    Trying to download IOS 5 on my Ipod Touch 4G and after awhile an error box pops up in iTunes "Error occurred while updating ipod (-37). If you continue all data will be lost from your ipod." How can I fix this?