About BAPI ANF BADI

Hi experts,
What is BAPI'S AND BADI'S? give me  information along with some example..

Hi,
Bapi is used to create the Database Entries :
Running BAPI directly hits the Database..for eg PO is created by running Tcode ME21n and the changes are reflected in the ReleVANT TABLES..
LIKE ekko AND ekpo so on ..
But running BAPI is direct way..when u pass all the header and item details..
Whereas BADi is provided in the SAP code just like Customer Exits..
to adjust the User Requirement .
BAdi is Object Oriented..
BAPI (Business Application Programming Interface) :
BAPIis an API method of a business object which intern is a RFC enabled Function Module.
Business Objects are the Objects which has business sence associated to it. Ex. Sales Orders, Purchase Orders etc.
The Properties of BAPI are:
Every BAPI name should start with letters 'BAPI'.
It is an API method of a Business Object.
it does not contain a internal COMMIT statement in the Function Module.
It does not contain "CALL TRANSACTION" statements.
BAPI do not raise 'EXCEPTIONS'.
a RETURN structure is defined as an interface parameter of a BAPI which is used to log all the errors, warnings and the successful processes tha are triggered in the course of execution of a BAPI.
A successful execution of a BAPI requires the data to be commited and this process of performing a COMMIT is achieved by calling the BAPI_TRANSACTION_COMMIT' explicitly if there are no errors logged in the RETURN structure.
There are two types of BAPI's: Instance Dependent & Instance Independent.
BAPI provides an access to the SAP system for external applications to have the business data processed in the form of web services. When BAPI's are used to post the data in SAP system these are used as Function Modules.
for further information check following:
Go to the below link for BAPI.
http://help.sap.com/saphelp_nw04/helpdata/en/e0/9eb2370f9cbe68e10000009b38f8cf/frameset.htm
BAPI
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
BAPI Programming guide: -
http://help.sap.com/saphelp_nw04/helpdata/en/e0/9eb2370f9cbe68e10000009b38f8cf/frameset.htm
BAPI user guide: -
http://help.sap.com/saphelp_46c/helpdata/en/7e/5e115e4a1611d1894c0000e829fbbd/frameset.htm
BAPI STEP BY STEP PROCEDURE: -
http://www.sap-img.com/abap/bapi-step-by-step-guidance.htm
Example:-
http://www.erpgenie.com/abap/bapi/example.htm
PDF download: -
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/200dd1cc-589e-2910-98a9-bb2c48b78dfa
BADI
Business Add-Ins are a new SAP enhancement technique based on ABAP Objects.
Badi’s allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like).
Business Add-Ins can be created at each level within such a system infrastructure
Some BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently.
1} Identify the User Exit suitable for the requirement and that is available in the system:
Code SE18 is used to Identify the BADI available.
Look for the string 'CL_EXITHANDLER' in the standard program. This is a class which has a method 'GET_INSTANCE' which is used to trigger BADI's from the Standard Program. The interface parameter for this static method 'EXIT_NAME' is used to pass the BADI to the method.
Open Standard Program and do a global search 'CL_EXITHANDLER'.
SE18 > give the BADI name found through above search.
CUSTOMER_ADD_DATA > which has a method SAVE_DATA.
2} Implement the User Exit identified through above process.
T.Code SE19 is used to Implement BADI.
SE19 > give the implementation name > Give the Definition name as CUSTOMER_ADD_DATA and the Short Text.
Check these blogs 2 find a BADI:
How to find if we have a BADI in Transaction VB02
Re: BADI for screen enhancement in MM01  transaction
Re: BADI and User exits
How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,
When to Use a BAdI?)
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
How to implement a BAdI And How to Use a Filter
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
Introducing Business Add-Ins
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0d0de
How to implement BAdi in Enhancement Framework
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
Business Add-Ins
http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm
BAdI: Customer-Defined Functions in the Formula Builder
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
Difference Between BADI and User Exits
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept
http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
Regards,
Raj.

Similar Messages

  • Info about BAPI and BADI's

    hi experts,
    i am very new to BAPI  and BADI's
    can you provide some information about this two topics.
    thanks
    shyam

    hi,
    <u><b>BADI.</b></u>
    check any fo the below links. this will def help u.
    http://www.allsaplinks.com/badi.html
    And also download this file....
    http://www.savefile.com/files.php?fid=8913854
    There are other tutorials on this site...
    http://sapbrain.com/Tutorials/tuto_download.html
    BADI'S
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    <u><b>BAPI</b></u>
    http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    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://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
    Regards
    Anver

  • May i know about BAPi and BADI ?

    Hi All,
            I want to learn the Cross Applications in ABAP. Do the BAPI and BADI comes under CA ? Can you please sugges me any tutorials regarding the BAPI and BADI ?
    Rewarded if useful.
    Thanks,
    KK

    Hi,
    check any fo the below links. this will def help u.
    badi.
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    http://www.allsaplinks.com/badi.html
    And also download this file....
    http://www.savefile.com/files.php?fid=8913854
    There are other tutorials on this site...
    http://sapbrain.com/Tutorials/tuto_download.html
    BADI'S
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    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
    BAPI-step by step
    http://www.sapgenie.com/abap/bapi/example.htm
    Check these links.
    BAPI.
    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
    BADI :
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    http://www.allsaplinks.com/badi.html
    http://www.savefile.com/files.php?fid=8913854
    http://sapbrain.com/Tutorials/tuto_download.html
    BADI'S
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    Hope this will help you.
    Regards,
    Ram
    Message was edited by:
            Ram Mohan Naidu Thammineni

  • Could anyone just possibly tell  me about BAPI'S and BADI'S in brief?

    Hi all,
    Could anyone just possibly tell  me about BAPI'S and BADI'S in brief?
    Regards in advance,
    Sanjeev K.V.

    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
    BAPI
    http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    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
    u can check the below the material also
    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.
    Example Code
    U need to give the step_nr, item_nr, cond_count and cond_type so the correct conditon will be updated. If no condition exists for the given parameters, a new condition will be created.
    U can find these parameters for a particular condition type in table KONV.
    *& Form saveTransactionJOCR
    text
    --> p1 text
    <-- p2 text
    FORM saveTransactionJOCR .
    data: salesdocument like BAPIVBELN-VBELN,
    order_header_inx like bapisdh1x,
    order_header_in like bapisdh1,
    return type standard table of bapiret2 with header line,
    conditions_in type standard table of bapicond with header line,
    conditions_inx type standard table of bapicondx with header line,
    logic_switch like BAPISDLS,
    step_nr like conditions_in-cond_st_no,
    item_nr like conditions_in-itm_number,
    cond_count like conditions_in-cond_count,
    cond_type like conditions_in-cond_type.
    salesdocument = wa_order_information-VBELN.
    LOGIC_SWITCH-COND_HANDL = 'X'.
    order_header_inx-updateflag = 'U'.
    conditions
    clear conditions_in[].
    clear conditions_inx[].
    clear: step_nr,
    item_nr,
    cond_count,
    cond_type.
    step_nr = '710'.
    item_nr = '000000'.
    cond_count = '01'.
    cond_type = 'ZCP2'.
    CONDITIONS_IN-ITM_NUMBER = item_nr.
    conditions_in-cond_st_no = step_nr.
    CONDITIONS_IN-COND_COUNT = cond_count.
    CONDITIONS_IN-COND_TYPE = cond_type.
    CONDITIONS_IN-COND_VALUE = 666.
    CONDITIONS_IN-CURRENCY = 'EUR'.
    append conditions_in.
    CONDITIONS_INX-ITM_NUMBER = item_nr.
    conditions_inx-cond_st_no = step_nr.
    CONDITIONS_INX-COND_COUNT = cond_count.
    CONDITIONS_INX-COND_TYPE = cond_type.
    CONDITIONS_INX-UPDATEFLAG = 'U'.
    CONDITIONS_INX-COND_VALUE = 'X'.
    CONDITIONS_INX-CURRENCY = 'X'.
    append conditions_inx.
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
    EXPORTING
    SALESDOCUMENT = salesdocument
    ORDER_HEADER_IN = order_header_in
    ORDER_HEADER_INX = order_header_inx
    LOGIC_SWITCH = logic_switch
    TABLES
    RETURN = return
    CONDITIONS_IN = conditions_in
    CONDITIONS_INX = conditions_inx
    if return-type ne 'E'.
    commit work and wait.
    endif.
    ENDFORM. " saveTransactionJOCR
    Bdc to 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.
    Bapi to VB(Visual Basic)
    Long back I had used the following flow structure to acheive the same.
    Report -> SM59 RFC destination -> COM4ABAP -> VB.exe
    my report uses the rfc destination to create a COM session with com4abap. com4abap calls the vb.exe and manages the flow of data between sap and vb exe.
    You need to have com4abap.exe
    If com4abap is installed you will find it in sapgui installatin directory , C:\Program Files\SAPpc\sapgui\RFCSDK\com4abap.
    else refer OSS note 419822 for installation of com4abap
    after making the settings in com4abap to point to the vb program and setting up rfc destination in sm59 to point to com4abap session , you can use the following function modules to call the vb code.
    for setting up com4abap and rfc destination please refer to the documentation for com4abap.
    Invoke NEW DCOM session
    call function 'BEGIN_COM_SESSION'
    exporting
    service_dest = service_dest "(this will be a RFC destination created in SM59)
    importing
    worker_dest = worker_dest
    exceptions
    connect_to_dcom_service_failed = 1
    connect_to_dcom_worker_failed = 2
    others = 3.
    call function 'create_com_instance' destination worker_dest
    exporting
    clsid = g_c_clsid
    typelib = g_c_typelib
    importing
    instid = g_f_oid
    exceptions
    communication_failure = 1 message g_f_msg
    system_failure = 2 message g_f_msg
    invalid_instance_id = 3
    others = 4.
    call function 'com_invoke' destination worker_dest
    exporting
    %instid = g_f_oid
    %method = 'UpdatePDF'
    sntemp = g_v_const_filent
    snsysid = sy-sysid
    snflag = 'N'
    tables
    rssaptable = g_t_pdfdetail1
    %return = g_t_pdfdetail1 "t_test
    exceptions
    communication_failure = 1 message g_f_msg
    system_failure = 2 message g_f_msg
    invalid_instance_id = 3
    others = 4.
    then close the com session , using
    FM delete_com_instance
    FM END_COM_SESSION
    Reward if u find useful
    Regards
    Nagesh.Paruchuri

  • Need BAPI  and BADI Document

    hi,
    I Need BAPI and BADi Doc.
    Please send doc to my mail id
    [email protected]
    thanks in advance
    sarath

    BAPI.............
    Business add-ins are enhancements to the standard version of the system.
    Business Add-In is a new SAP enhancement technique based on ABAP Objects.
    They can be inserted into the SAP system based on specific user requirements.
    Each Business Add-In has:
    • at least one Business Add-In definition
    • a Business Add-In interface
    • a Business Add-In class that implements the interface
    In order to enhance a program, a Business Add-In must first be defined
    Subsequently two classes are automatically generated:
    • An interface with ‘IF_EX_’ inserted between the first and second characters of the BADI name.
    • An adapter class with ‘CL_EX_’ inserted between the first and second characters of the BADI name.
    The Application developer creates an interface for this Add-In.
    There are multiple ways of searching for BADI.
    • Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    • Finding BADI Using SQL Trace (TCODE-ST05).
    • Finding BADI Using Repository Information System (TCODE- SE84).
    1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for ‘CL_EXITHANDLER=>GET_INSTANCE’.
    Make sure the radio button “In main program” is checked. A list of all the programs with call to the BADI’s will be listed.
    The export parameter ‘EXIT_NAME’ for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter ‘INSTANCE’ will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
    2. Start transaction ST05 (Performance Analysis).
    Set flag field "Buffer trace"
    Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
    Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
    Push the button "Deactivate Trace".
    Push the button "Display Trace".
    The popup screen "Set Restrictions for Displaying Trace" appears.
    Now, filter the trace on Objects:
    • V_EXT_IMP
    • V_EXT_ACT
    Push button "Multiple selections" button behind field Objects
    Fill: V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
    So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
    3. Go to “Maintain Transaction” (TCODE- SE93).
    Enter the Transaction VD02 for which you want to find BADI.
    Click on the Display push buttons.
    Get the Package Name. (Package VS in this case)
    Go to TCode: SE84->Enhancements->Business Add-inns->Definition
    Enter the Package Name and Execute.
    Here you get a list of all the Enhancement BADI’s for the given package MB.
    Have a look at http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    How to develop BADI
    BADI................
    There is nothing enigmatic or complicated about BAdIs. BAdIs are the most up-do-date technique of user-exits where SAP allows us to adjust a standard process to customer-specific requirements. Important: these user-exits are predefined by SAP.
    The really challenging task is to find the appropriate BAdI (transaction SE18). If you have found the right one implementation is just a piece of cake:
    (1) Define an implementation of your BAdI (transaction SE19) => This simply means: I am about to implement this BAdI.
    (2) Generate automatically the class implementing the BAdI (which is usually an interface) (transaction SE19).
    (3) Implement the method of this generated class (transaction SE24).
    (4) Finally, do not forget to activate your implementation (SE19).
    /people/sergey.korolev/blog/2005/03/14/the-time-for-me-to-have-a-badi-of-my-own
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
    http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://www.esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework

  • Difference between BAPI and BADI

    Hi,
    Can anyone explain the difference between BAPI and BADI?

    Hi Naveen,
    BAPI - It is nothing, but a FM which is used to load the data into SAP system. The data may be from the Legacy system.
    BADI - They are the enhancement which can be applied to the standard SAP program as per the business requirement. BADI are the newer version of user exits which uses ABAP OOPs concept.
    Revert back if you have further query.
    Reward points if useful.
    Regards,
    Atish

  • Calling Bapi through BADI gives data statement error

    Dear Experts,
    I am trying to call BAPI through BADI ME_PROCESS_REQ_CUST --> process_item.
    I get an error stating that "The addition OCCURS no longer supported in OO objects"
    If, I remove OCCURS statement I get an error stating that "Tables with headers are no longer supported in OO context" for the following data statement.
    Appreciate, if you could provide possible solution to overcome the problem.
    Regards
    Kumar
    BAPI code is as follows.
    DATA: LV_TABIX LIKE SY-TABIX,
    LT_WMDVSX LIKE BAPIWMDVS OCCURS 0 WITH HEADER LINE,
    LT_WMDVEX LIKE BAPIWMDVE OCCURS 0 WITH HEADER LINE.
    LV_TABIX = SY-TABIX.
    CLEAR: LT_WMDVSX, LT_WMDVEX.
    REFRESH: LT_WMDVSX, LT_WMDVEX.
    Fill communication table
    LT_WMDVSX-REQ_DATE = ET_PROCUREMENT_ITEM-DELIV_DATE.
    LT_WMDVSX-REQ_QTY = ET_PROCUREMENT_ITEM-QUANTITY.
    APPEND LT_WMDVSX.
    Availability check with check rule '03'
    CALL FUNCTION 'BAPI_MATERIAL_AVAILABILITY'
    EXPORTING
    PLANT = ET_PROCUREMENT_ITEM-PLANT
    MATERIAL = ET_PROCUREMENT_ITEM-MATERIAL
    UNIT = ET_PROCUREMENT_ITEM-UNIT
    CHECK_RULE = '03'
    TABLES
    WMDVSX = LT_WMDVSX
    WMDVEX = LT_WMDVEX
    EXCEPTIONS
    OTHERS = 1.
    IF SY-SUBRC EQ 0.
    READ TABLE LT_WMDVEX WITH KEY
    COM_DATE = ET_PROCUREMENT_ITEM-DELIV_DATE.
    IF SY-SUBRC EQ 0.
    ET_PROCUREMENT_ITEM-AVAIL_QTY = LT_WMDVEX-COM_QTY.
    ENDIF.
    ENDIF.

    Hi,
    Occurs is no more supported by SAP ( is an obsolete statement )
    <b>Instead of following code</b>
    DATA: LV_TABIX LIKE SY-TABIX,
    LT_WMDVSX LIKE BAPIWMDVS OCCURS 0 WITH HEADER LINE,
    LT_WMDVEX LIKE BAPIWMDVE OCCURS 0 WITH HEADER LINE.
    you can use
    data: LT_WMDVSX type standard table of BAPIWMDVS,
            LT_WMDVEX type standrad table of  BAPIWMDVE,
            LS_WMDVSX like line of LT_WMDVSX ,      "( work area )
            LS_WMDVEX like line of LT_WMDVEX.       "(work area)
    use workarea to get the data and then append the records from workarea to Internal tables
    Reward points if usefull
    Regards,
    Mohan

  • A Problem about BAPI

    Hi,everyone.
    Now i want to use JCo and BAPI to execute a function(create sales order ps:transaction code is VA01).
    How do i to find the BAPI that i need?
    And where can i find some documents about BAPI?
    Thx~~ a lot
    PS:if this topic isn`t suitable in Java Programming,plz tell me thx ,^^ 
                         by Louis

    HI Louis,
       You can find out the bapis , by running transaction -bapi (Bapi Explorer).
    Here u get a list of standard BAPI's given by SAP.
    u can select appropriate bapi  from here.. Associated with each bapi documentation is there . from this u will get a clear picture of import params ,export params and tables.
    Now to execute  BAPI  or RFC using JCO,
    please go through this sample piece of code. fill the params of standard jco methods with appropriate parameters for your use.
    private static JCO.Client client;
    private static JCO.Repository repository;
    client =
                        JCO.createClient(
                             "<client num>",
                             "<user name>",
                             "<password>",
                             "en",
                             "<server ip or server name>",
                             "<instance number>");
                   client.connect();
                   repository = new JCO.Repository("REP", client);
    try {
    IFunctionTemplate m_read_container;
    m_read_container =repository.getFunctionTemplate("<RFC Name>");
    JCO.Function function_read_cont  = m_read_container.getFunction();
    JCO.ParameterList importparam =
    function_read_cont.getImportParameterList();
    importparam.setValue(<Your value to pass>, "<Import parameter name as in RFC>");
    client.execute(function_read_cont);
    JCO.ParameterList tables =
       function_read_cont.getTableParameterList();
    //For Tables
    JCO.Table container = tables.getTable("<Your table Name from table parameter>");
    for (int iCtr = 0; iCtr < container.getNumRows(); iCtr++) {
    container.setRow(iCtr);
    Strin value = container.getString("<Tale fieldName>");
    JCO.ParameterList exp_abs_read =
    function_read_cont.getExportParameterList();//For Export Params
    JCO.Structure st_abs_read =
    exp_abs_read.getStructure("<If structure using then give structure name>");
    for (int iCtrst = 0;iCtrst < st_abs_read.getNumFields();
                             iCtrst++) {
                             //          String str_field_val = st_abs_read.getString("<Structure Field Name>"));
    String fieldName = st_abs_read.getName(iCtrst);
    } catch (Exception e) {
                                 Regards
                                  Kishor Gopinathan

  • About bapi with help of example

    about bapi with help of example plz dont give links.

    With the correct customizing (order types, etc...) the following BAPI will create a PM order for you.
    Naturally the master data is also required to be created in SAP (Technical objects, Work places, etc...)
    *& Report  Z_BAPI_ALM_ORDER_MAINTAIN_TEST                              *
    REPORT  z_bapi_alm_order_maintain_test.
    TABLES: mara,
            resb.                               "anyagfoglalások táblája
    DATA: it_methods LIKE STANDARD TABLE OF bapi_alm_order_method,
          wa_methods LIKE LINE OF it_methods.
    DATA: it_header LIKE STANDARD TABLE OF bapi_alm_order_headers_i,
          wa_header LIKE LINE OF it_header.
    DATA: it_operation LIKE STANDARD TABLE OF bapi_alm_order_operation,
          wa_operation LIKE LINE OF it_operation.
    DATA: it_component LIKE STANDARD TABLE OF bapi_alm_order_component,
          wa_component LIKE LINE OF it_component.
    DATA: it_component_up LIKE
                          STANDARD TABLE OF bapi_alm_order_component_up,
          wa_component_up LIKE LINE OF it_component_up.
    DATA: et_numbers LIKE STANDARD TABLE OF bapi_alm_numbers,
          wa_numbers LIKE LINE OF et_numbers.
    DATA: et_extension_in LIKE STANDARD TABLE OF bapiparex,
          wa_extension_in LIKE LINE OF et_extension_in.
    DATA: et_return LIKE STANDARD TABLE OF bapiret2,
          wa_return LIKE LINE OF et_return.
    DATA: it_resb LIKE STANDARD TABLE OF resb,
          wa_resb LIKE LINE OF it_resb.
    DATA: lv_commit TYPE i.
    PARAMETERS: p_test AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: p_create RADIOBUTTON GROUP rg1 DEFAULT 'X'.
    SELECTION-SCREEN COMMENT 4(30) text-rcr.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: p_change RADIOBUTTON GROUP rg1.
    SELECTION-SCREEN COMMENT 4(30) text-rch.
    PARAMETERS: p_aufnr LIKE aufk-aufnr MEMORY ID anr.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_compon AS CHECKBOX DEFAULT 'X'.
    PARAMETERS: p_partn AS CHECKBOX DEFAULT 'X'.
    START-OF-SELECTION.
      IF p_aufnr IS INITIAL.
        MOVE '007321002921' TO p_aufnr.
      ENDIF.
      PERFORM it_methods_fill.
      PERFORM it_header_fill.
      PERFORM it_operation_fill.
      IF p_compon = 'X'.
        PERFORM it_component_fill.
      ENDIF.
      REFRESH et_numbers.
      break zaladev.
      CALL FUNCTION 'Z_BAPI_ALM_ORDER_MAINTAIN'
        TABLES
          it_methods             = it_methods
          it_header              = it_header
    *   IT_HEADER_UP           =
    *   IT_HEADER_SRV          =
    *   IT_HEADER_SRV_UP       =
    *   IT_USERSTATUS          =
    *   IT_PARTNER             =
    *   IT_PARTNER_UP          =
          it_operation           = it_operation
    *   IT_OPERATION_UP        =
    *   IT_RELATION            =
    *   IT_RELATION_UP         =
          it_component           = it_component
          it_component_up        = it_component_up
    *   IT_TEXT                = it_text
    *   IT_TEXT_LINES          =
          extension_in           = et_extension_in
          et_return              = et_return
          et_numbers             = et_numbers.
      CLEAR lv_commit.
      LOOP AT et_return INTO wa_return.
        IF wa_return-type = 'S' AND NOT wa_return-message_v2 IS INITIAL.
          IF p_test IS INITIAL.
            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
            lv_commit = 1.
          ENDIF.
          EXIT.
        ENDIF.
      ENDLOOP.
      IF lv_commit IS INITIAL.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      ENDIF.
      break zaladev.
    *&      Form  it_methods_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_methods_fill.
      IF p_create = 'X'.                               "LÉTREHOZÁS
        MOVE '1' TO wa_methods-refnumber.
        MOVE 'HEADER' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%00000000001' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '1' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%000000000010010' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '2' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%000000000010020' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '3' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%0000000000100200010' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '4' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%0000000000100200020' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        IF p_compon = 'X'.
          MOVE 1 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CREATE' TO wa_methods-method.
          MOVE '%00000000001' TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
          MOVE 2 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CREATE' TO wa_methods-method.
          MOVE '%00000000001' TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
        ENDIF.
        MOVE '1' TO wa_methods-refnumber.
        MOVE '' TO wa_methods-objecttype.
        MOVE 'SAVE' TO wa_methods-method.
        MOVE '%00000000001' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
      ELSE.                                            "MÓDOSÍTÁS
        MOVE '1' TO wa_methods-refnumber.
        MOVE 'HEADER' TO wa_methods-objecttype.
        MOVE 'CHANGE' TO wa_methods-method.
        MOVE p_aufnr TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        IF p_compon = 'X'.
          MOVE 1 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CHANGE' TO wa_methods-method.
          MOVE p_aufnr TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
          MOVE 2 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CHANGE' TO wa_methods-method.
          MOVE p_aufnr TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
          MOVE 3 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'DELETE' TO wa_methods-method.
          MOVE p_aufnr TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
        ENDIF.
        MOVE '1' TO wa_methods-refnumber.
        MOVE '' TO wa_methods-objecttype.
        MOVE 'SAVE' TO wa_methods-method.
        MOVE p_aufnr TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
      ENDIF.
    ENDFORM.                    " it_methods_fill
    *&      Form  it_header_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_header_fill .
      IF p_create = 'X'.                               "LÉTREHOZÁS
        MOVE '%00000000001' TO wa_header-orderid.
        MOVE 'D210' TO wa_header-order_type.           "rendelésfajta
        MOVE '2000' TO wa_header-planplant.            "tervez&#337; gyár
        MOVE '19' TO wa_header-mn_wk_ctr.              "fel.munkahely
        MOVE '2000' TO wa_header-plant.                "fel.munkahely gyára
        MOVE 'CUV-SZV-CSUR-ATEM-I...' TO wa_header-funct_loc. "m&#369;sz.hely
        MOVE '' TO wa_header-equipment.                "berendezés
        MOVE '' TO wa_header-material.                 "anyagszám
    *    MOVE '' TO wa_header-LOC_WK_CTR.               "fel.munkahely
    *    MOVE '' TO wa_header-LOC_COMP_CODE.            "vállalat
    *    MOVE sy-datum TO wa_header-START_DATE.         "kezdés dátuma
    *    MOVE sy-datum TO wa_header-FINISH_DATE.        "befejezés dátuma
    *    MOVE '' TO wa_header-BASICSTART.               "kezdés id&#337;pontja
    *   MOVE '' TO wa_header-BASIC_FIN.                "befejezés id&#337;pontja
        MOVE 'Teszt szöveg 1' TO wa_header-short_text.  "szöveg
        APPEND wa_header TO it_header.
      ELSE.                                            "MÓDOSÍTÁS
        MOVE p_aufnr TO wa_header-orderid.
        MOVE 'CUV-SZV-CSUR-ATEM-II..' TO wa_header-funct_loc. "m&#369;sz.hely
        MOVE 'Teszt szöveg módosítva 2' TO wa_header-short_text.  "szöveg
        APPEND wa_header TO it_header.
      ENDIF.
    ENDFORM.                    " it_header_fill
    *&      Form  it_operation_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_operation_fill .
      IF p_create = 'X'.                                "LÉTREHOZÁS
        MOVE 10 TO wa_operation-activity.             "m&#369;velet
        MOVE ''     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE ''     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'M&#369;velet leírása 1.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
    *    MOVE 3      TO wa_operation-quantity.             "mennyiség
    *    MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 10      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 2      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
        MOVE 20 TO wa_operation-activity.             "m&#369;velet
        MOVE ''     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE ''     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'M&#369;velet leírása 2.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
    *    MOVE 5      TO wa_operation-quantity.             "mennyiség
    *    MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 5      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 1      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
        MOVE 20 TO wa_operation-activity.             "m&#369;velet
        MOVE 10     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE ''     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'Alm&#369;velet leírása 2/1.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
    *    MOVE 5      TO wa_operation-quantity.             "mennyiség
        MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 2      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 1      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
        MOVE 20 TO wa_operation-activity.             "m&#369;velet
        MOVE 20     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE '11'     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'Alm&#369;velet leírása 2/2.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
        MOVE 5      TO wa_operation-quantity.             "mennyiség
        MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 3      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 1      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
      ELSE.                                            "MÓDOSÍTÁS
      ENDIF.
    ENDFORM.                    " it_operation_fill
    *&      Form  it_component_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_component_fill.
      IF p_create = 'X'.                                   "LÉTREHOZÁS
        MOVE '0010'            TO wa_component-item_number.
        MOVE '000000023336110300' TO wa_component-material.   "cikkszám
        MOVE '2000'        TO wa_component-plant.      "gyár
        MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 1             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
        MOVE '0020'         TO wa_component-item_number.
        MOVE '000000095000001900' TO wa_component-material.   "cikkszám
        MOVE '2000'         TO wa_component-plant.      "gyár
        MOVE ''             TO wa_component-stge_loc.   "raktár
        MOVE 2              TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'         TO wa_component-activity.   "m&#369;velet
        MOVE 'N'            TO wa_component-item_cat.   "tételtípus
        MOVE '0000000014'   TO wa_component-vendor_no.   "szállító
        APPEND wa_component TO it_component.
      ELSE.                                                "MÓDOSÍTÁS
        SELECT * FROM resb
          INTO TABLE it_resb
          WHERE aufnr EQ p_aufnr.
        IF sy-subrc = 0.
          READ TABLE it_resb INTO wa_resb
            WITH KEY aufnr = p_aufnr.
          MOVE wa_resb-rsnum TO wa_component-reserv_no.
        ELSE.
          CLEAR wa_component-reserv_no.
        ENDIF.
        MOVE '0010'            TO wa_component-item_number.
        MOVE '0001'        TO wa_component-res_item.
    *    MOVE '000000023336110400' TO wa_component-material.   "cikkszám
    *    MOVE '2000'        TO wa_component-plant.      "gyár
    *    MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 6             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
        MOVE 'X' TO wa_component_up-requirement_quantity.
        MOVE 'X' TO wa_component_up-activity.
        APPEND wa_component_up TO it_component_up.
        MOVE '0020'            TO wa_component-item_number.
        MOVE '0002'        TO wa_component-res_item.
    *    MOVE '000000095000001800' TO wa_component-material.   "cikkszám
    *    MOVE '2000'        TO wa_component-plant.      "gyár
    *    MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 6             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0010'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
    *    MOVE 'X' TO wa_component_up-material.
        MOVE 'X' TO wa_component_up-requirement_quantity.
        MOVE 'X' TO wa_component_up-activity.
        APPEND wa_component_up TO it_component_up.
        MOVE '0030'            TO wa_component-item_number.
        MOVE '000000023336110400' TO wa_component-material.   "cikkszám
        MOVE '2000'        TO wa_component-plant.      "gyár
        MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 7             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
      ENDIF.
    ENDFORM.                    " it_component_fill

  • Need BAPI and BAdI In Project Systems

    Hi All,
         Can any one list me out all the BAPI and BAdI available in Project Systems Module or even links.
    Thanks in advance    
    Cheers,
    Prashanth

    Hi Prabhu,
            Is there any other method to find BAPI and BAdI in Project Systems Directly or have you got any list of these which would be very helpful.
    Thanks,
    Prashanth

  • Help bapi and badis?

    hi friends,
    i am new to abap.
    can i get some step by step screen shots for bapi and badis ple?
    Thanking u
    suneel.

    Hi
    DEFINING THE BADI
    1) execute Tcode SE18.
    2) Specify a definition Name : ZBADI_SPFLI
    3) Press create
    4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
    multiple use.
    5) Choose the interface tab
    6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
    7) Dbl clk on interface name to start class builder . specify a method name (name,
    level, desc).
    Method level desc
    Linese;ection instance methos some desc
    8) place the cursor on the method name desc its parameters to define the interface.
    Parameter type refe field desc
    I_carrid import spfli-carrid some
    I_connid import spefi-connid some
    9) save , check and activate…adapter class proposed by system is
    ZCL_IM_IM_LINESEL is genereated.
    IMPLEMENTATION OF BADI DEFINITION
    1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
    2) Specify aname for implementation ZIM_LINESEL
    3) Specify short desc.
    4) Choose interface tab. System proposes a name fo the implementation class.
    ZCL_IM_IMLINESEL which is already generarted.
    5) Specify short desc for method
    6) Dbl clk on method to insert code..(check the code in “AAA”).
    7) Save , check and activate the code.
    Some useful URL
    http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
    Now write a sample program to use this badi method..
    Look for “BBB” sample program.
    “AAA”
    data : wa_flights type sflight,
    it_flights type table of sflight.
    format color col_heading.
    write:/ 'Flight info of:', i_carrid, i_connid.
    format color col_normal.
    select * from sflight
    into corresponding fields of table it_flights
    where carrid = i_carrid
    and connid = i_connid.
    loop at it_flights into wa_flights.
    write:/ wa_flights-fldate,
    wa_flights-planetype,
    wa_flights-price currency wa_flights-currency,
    wa_flights-seatsmax,
    wa_flights-seatsocc.
    endloop.
    “BBB”
    *& Report ZBADI_TEST *
    REPORT ZBADI_TEST .
    tables: spfli.
    data: wa_spfli type spfli,
    it_spfli type table of spfli with key carrid connid.
    *Initialise the object of the interface.
    data: exit_ref type ref to ZCL_IM_IM_LINESEL,
    exit_ref1 type ref to ZIF_EX_BADISPFLI1.
    selection-screen begin of block b1.
    select-options: s_carr for spfli-carrid.
    selection-screen end of block b1.
    start-of-selection.
    select * from spfli into corresponding fields of table it_spfli
    where carrid in s_carr.
    end-of-selection.
    loop at it_spfli into wa_spfli.
    write:/ wa_spfli-carrid,
    wa_spfli-connid,
    wa_spfli-cityfrom,
    wa_spfli-deptime,
    wa_spfli-arrtime.
    hide: wa_spfli-carrid, wa_spfli-connid.
    endloop.
    at line-selection.
    check not wa_spfli-carrid is initial.
    create object exit_ref.
    exit_ref1 = exit_ref.
    call method exit_ref1->lineselection
    EXPORTING
    i_carrid = wa_spfli-carrid
    i_connid = wa_spfli-connid.
    clear wa_spfli.
    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.
    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
    u can check the below the material also
    Example Code
    U need to give the step_nr, item_nr, cond_count and cond_type so the correct conditon will be updated. If no condition exists for the given parameters, a new condition will be created.
    U can find these parameters for a particular condition type in table KONV.
    *& Form saveTransactionJOCR
    text
    --> p1 text
    <-- p2 text
    FORM saveTransactionJOCR .
    data: salesdocument like BAPIVBELN-VBELN,
    order_header_inx like bapisdh1x,
    order_header_in like bapisdh1,
    return type standard table of bapiret2 with header line,
    conditions_in type standard table of bapicond with header line,
    conditions_inx type standard table of bapicondx with header line,
    logic_switch like BAPISDLS,
    step_nr like conditions_in-cond_st_no,
    item_nr like conditions_in-itm_number,
    cond_count like conditions_in-cond_count,
    cond_type like conditions_in-cond_type.
    salesdocument = wa_order_information-VBELN.
    LOGIC_SWITCH-COND_HANDL = 'X'.
    order_header_inx-updateflag = 'U'.
    conditions
    clear conditions_in[].
    clear conditions_inx[].
    clear: step_nr,
    item_nr,
    cond_count,
    cond_type.
    step_nr = '710'.
    item_nr = '000000'.
    cond_count = '01'.
    cond_type = 'ZCP2'.
    CONDITIONS_IN-ITM_NUMBER = item_nr.
    conditions_in-cond_st_no = step_nr.
    CONDITIONS_IN-COND_COUNT = cond_count.
    CONDITIONS_IN-COND_TYPE = cond_type.
    CONDITIONS_IN-COND_VALUE = 666.
    CONDITIONS_IN-CURRENCY = 'EUR'.
    append conditions_in.
    CONDITIONS_INX-ITM_NUMBER = item_nr.
    conditions_inx-cond_st_no = step_nr.
    CONDITIONS_INX-COND_COUNT = cond_count.
    CONDITIONS_INX-COND_TYPE = cond_type.
    CONDITIONS_INX-UPDATEFLAG = 'U'.
    CONDITIONS_INX-COND_VALUE = 'X'.
    CONDITIONS_INX-CURRENCY = 'X'.
    append conditions_inx.
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
    EXPORTING
    SALESDOCUMENT = salesdocument
    ORDER_HEADER_IN = order_header_in
    ORDER_HEADER_INX = order_header_inx
    LOGIC_SWITCH = logic_switch
    TABLES
    RETURN = return
    CONDITIONS_IN = conditions_in
    CONDITIONS_INX = conditions_inx
    if return-type ne 'E'.
    commit work and wait.
    endif.
    ENDFORM. " saveTransactionJOCR
    Bdc to 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.
    Bapi to VB(Visual Basic)
    Long back I had used the following flow structure to acheive the same.
    Report -> SM59 RFC destination -> COM4ABAP -> VB.exe
    my report uses the rfc destination to create a COM session with com4abap. com4abap calls the vb.exe and manages the flow of data between sap and vb exe.
    You need to have com4abap.exe
    If com4abap is installed you will find it in sapgui installatin directory , C:\Program Files\SAPpc\sapgui\RFCSDK\com4abap.
    else refer OSS note 419822 for installation of com4abap
    after making the settings in com4abap to point to the vb program and setting up rfc destination in sm59 to point to com4abap session , you can use the following function modules to call the vb code.
    for setting up com4abap and rfc destination please refer to the documentation for com4abap.
    Invoke NEW DCOM session
    call function 'BEGIN_COM_SESSION'
    exporting
    service_dest = service_dest "(this will be a RFC destination created in SM59)
    importing
    worker_dest = worker_dest
    exceptions
    connect_to_dcom_service_failed = 1
    connect_to_dcom_worker_failed = 2
    others = 3.
    call function 'create_com_instance' destination worker_dest
    exporting
    clsid = g_c_clsid
    typelib = g_c_typelib
    importing
    instid = g_f_oid
    exceptions
    communication_failure = 1 message g_f_msg
    system_failure = 2 message g_f_msg
    invalid_instance_id = 3
    others = 4.
    call function 'com_invoke' destination worker_dest
    exporting
    %instid = g_f_oid
    %method = 'UpdatePDF'
    sntemp = g_v_const_filent
    snsysid = sy-sysid
    snflag = 'N'
    tables
    rssaptable = g_t_pdfdetail1
    %return = g_t_pdfdetail1 "t_test
    exceptions
    communication_failure = 1 message g_f_msg
    system_failure = 2 message g_f_msg
    invalid_instance_id = 3
    others = 4.
    then close the com session , using
    FM delete_com_instance
    FM END_COM_SESSION
    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
    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
    Reward points for useful Answers
    Regards
    Anji

  • BAPI's , BADI ,BDC & IDOC's configuration in sap

    Hi Experts,
    can any one explain how to configure BAPI's , BADI ,BDC & IDOC's in SAP step by step, right answer will get reward points. if u have any noted pls forward to my email id pls....................................
    amar
    [email protected]

    Hi,
    how to configure?
    BAPI are remote functions that can be called by another system or same system...you can use standard BAPI or create your own BAPI. (transaction BAPI and SE37)
    BADI are methods that you can re-define in order to change SAP standard logic for some functionalities...(transaction SE18 and SE19)
    IDOC are structured files in a SAP format that can be customized and used to send or receive data instead of xml or txt or ....files. IDOC can be monitored and checked with a set of transactions.
    Regards.

  • Related to bapi and badi

    as i was a fresher to bapi and badi concepts, and now i want to learn and work on these concepts. so pls any one can suggest how to follow in the way of learning and any meateril links also ....
    pls froward me for both BAPI AND BADI pdf's word docs,ppt's so as i can learn and implement.....
    than x...
    hareesh tadepali

    check this for BADI
    Regards BADI
    Regards
    Prabhu

  • 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

  • BAPI's , BADI ,BDC & IDOC's

    Hi Experts,
    can any one explain how to configure BAPI's , BADI ,BDC & IDOC's in SAP step by step, right answer will get reward points. if u have any noted pls forward to my email id pls....................................
    amar
    [email protected]

    Hi,
    Please find the documents in the Below URL
    https://www.sdn.sap.com/irj/sdn
    http://www.sap-press.com/product.cfm?account=&product=H967
    http://www.easymarketplace.de/
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/e1/8e51341a06084de10000009b38f83b/frameset.htm
    http://help.sap.com/saphelp_40b/helpdata/en/34/62463423538610e10000009b38f83b/frameset.htm
    http://help.sap.com/saphelp_40b/helpdata/en/34/62463423538610e10000009b38f83b/frameset.htm
    http://www.sap-img.com/index.htm
    http://www.sapdevelopment.co.uk/
    http://www.sap-press.de/
    http://www.thespot4sap.com/Articles/SAP_WAS_BSP_Apps.asp
    http://www.sapteched.com/india/
    http://searchsap.techtarget.com/regPage1/1,296503,sid21,00.html
    http://www.sap.com/usa/index.epx
    http://www.erpgenie.com/abap/
    Hope this helpss you
    Regards
    Pavan

Maybe you are looking for