BAPI creation versus function module creation...

Hi,
I know the difference between BAPI and simple function  module. I have also created custom function module.
But I have not worked on creation of Custom BAPIs.
Is there a much differece in creation of function module and BAPI?
If there is please throw some light on main differences or stepwise differences when I create BAPI versus function module ?
Thanks.
Regards,
Tushar.

Hai Tushar
what is BAPI?
BAPI stands for Business API(Application Program Interface).
I have answered this question before..
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).
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).
Thanks & regards
Sreeni

Similar Messages

  • Error with quantity field:Datasource Creation Using Function Module method

    Problem with DATASOURCE Creation using Function Module method :
    I have created a datasource ZSTANDARD_COST_PRICE using Function Module method . The datasource creation is successfull when I remove the quantity field from the Z table . If I dont remove the quantity field from my Z table it gives an error as "Units Field WAERS for field STPRS of datasource ZSTANDARD_COST_PRICE is hidden". I am not able to remove this error . Please someone guide.
    Let me know if my explanation is not clear enough.
    Thanks in advance,
    Neha.
    Z table definition is as below :
    MATNR MATNR CHAR 18 0 Material Number
    BWKEY BWKEY CHAR 4 0 Valuation area
    LFGJA LFGJA NUMC 4 0 Fiscal Year of Current Period
    STPRS STPRS CURR 11 2 Standard Price   " Here the currency field is WAERS and table T001
    PEINH PEINH DEC 5 0 Price Unit
    VJSTP VJSTP CURR 11 2 Standard price in previous year
    VJPEI VJPEI DEC 5 0 Price unit of previous year.
    Edited by: Neha Rathi on Jan 30, 2009 3:03 PM

    Hi,
    You should add it as one of the main fields as you have added other fields and not as the currency fields...that is..it should be part of the data source and you should be able to see it in RSO2...
    Also if added as i said then it will come as new field in the data source...you can either let it be there...or hide it..
    also if you want to populate it then you will have to write the code for this fields as well.
    Thanks
    Ajeet

  • I need to know thelist of bapi's and function modules used for transaction

    I need to know thelist of bapi's and function modules used for transaction in order to use these FM or BAPI in reading some fields of equipment master and functional loocation.Can any one suggest me some methods...or do i need to write  a report for the same.

    Steps to find the BAPI/function modules used in a transaction
    1) Find the package of the transaction thro' SE93.
    For example the package for the transaction VA03 is VA
    2) Go to Se80, key-in the package (say VA)
    3) You can see the function modules under the folder finction group and
    you can see the BAPI's under the folder Business Engineering-> Business Objects-> double click on the released methods of the Business Objects

  • To know thelist of bapi's and function modules used for transaction IH10

    I need to know thelist of bapi's and function modules used for transaction in order to use these FM or BAPI in reading some fields of equipment master and functional loocation.Can any one suggest me some methods...or do i need to write a report for the same.

    hi,
    provide report name (here: RIEQUI20)
    goto se38 - utilities - cross reference - function modules
    or use report RPR_ABAP_SOURCE_SCAN
    with search string call function
    A.
    Message was edited by:
            Andreas Mann

  • How to Create Customer by BAPI or by Function Module

    Hi all,
    I am new to this forum...
    Please can anyone tell me how to Create Customer by BAPI or by Function Module.....?
    I have tried many of the function modules posted in the threads.. but it couldn't help me out...

    > The only official solution is batchinput and idoc (CREMAS).
    Note that when an IDoc exists, it is often possible to call the function module that is just behind it (see WE57 transaction). SAP would not support that direct call, but if you need to contact SAP support about an issue, you can create the IDoc manually and there's no reason that this issue doesn't arise.
    The only difference with the IDocs is that you don't have any IDoc stored in the database, and even no log in database (so you won't be able to see anything in WE02, etc.).
    Note that it is important to know if this function module does a database commit or not: you can look at the BDFG transaction (I assume there's no BAPI related as it is the initial assumption of my post) to see if IDoc packet processing is allowed or not: if packet processing is allowed, there's no database commit in the function module, otherwise there's one.

  • Info record creation - Bapi or standard function module

    Hi All,
      Is there any std function module or bapi to create Info record in transaction Me11 transaction.
    <REMOVED BY MODERATOR>
    Regards,
    Vinoth.
    Edited by: Alvaro Tejada Galindo on Apr 14, 2008 1:27 PM

    Try with the function module - ME_POST_INFORECORD.
    Thanks,
    Srinivas

  • How to automate the creation of Function Module & Class Object (SE24)

    Experts,
    I have the requirement to automate the creation of any type of programs: ie function module (like how we normally create in SE37 together with the parameters), class object (like how we normally create in SE24 together with attribute & method), normal report (like how we did in SE38), module pool and so on.
    For example. I backuped my program into a flat file (the entire source code in txt formal or HTML) through a download program and I need to upload back this flat file into another installation of SAP.
    Does SAP provide any predefined FM to cater for the above cases or better still, does anyone know of any upload program which I can use for the above requirement.
    Thanks in advance.

    Hi Kris, I can't use the transport system as these are 2 separate SAP installation in a different place. The requirement came in the form of creation of program to be able to generate FM/Class/Report on the go.

  • Save EAN11 field while creating POrder creation through Function module

    Hi All,
    I want to update EAN11 field in material master while creating Purchase Order through function module. I am using function module BAPI_PO_CREATE1 for creating purchase order. There are no structures in the PO creation FM in which EAN11 field is there. I have also tried using function module MEPO_DOC_ITEM_PROCESS for updating EAN11 field. It is not working. Please suggest some method to do that.
    Note: I am receiving EAN11 through an external system by proxy.
    Thanks,
    Chinmay

    Hi,
    Use BAPI_MATERIAL_SAVEDATA to updat ean numbers for materials.
    tables INTERNATIONALARTNOS is used to update EAN.
    Regards,
    Shanmugavel Chandrasekaran

  • Function module creation for IDOC processing...

    hi Experts,
                 i want to create a function module for idoc processing..
    message type: zashpmnt
    idoc type : shpmnt05
    plz tell me which standard FM is used... and tell me what changes i want to do in it....
    Tnx in Advance..

    Hello,
             If you are trying to process an Outbound IDoc for the SHIPMNT05 IDoc Type with an Extension, you can use the IDOC_OUTPUT_SHPMNT Function Module which is assigned to SHPM Process Code.
           In Addition, since you have an IDoc Extension, you are required to populate the Custom Segment / Fields. For this, there is a Customer Function / Exit called EXIT_SAPLV56K_002 which you can use it for adding your Custom Segments to the IDoc ZSHPMNT05.
           If you are writing code in this exit, make sure to create a Project in CMOD.
           Also, ensure that you've made the assignment in WE82 with the Message Type , IDoc Type & the Extension.
           For Inbound, if you would like to Create a Custom Function Module, you can follow the Naming Convention Z_IDOC_INPUT_SHPMNT for which you are required follow the below Steps.
    1. Register the FM as Inbound FM in BD51 T-Code.
    2. Assign the FM to IDoc Type & Extension in WE57.
    3. You'll need to Create a Custom Process Code in WE42 in which you are required to make add your FM.
    4. Maintain Partner Profiles in WE20.
    5. Have the Process Code Migrated to the Testing Environment as creation of Custom Process Code is a Customizing Activity and it requires a Customizing Request to be created / Migrated.
    6. Define the Parameters as defined in the Standard Inbound Function Modules such as IDOC_INPUT_ORDERS , IDOC_INPUT_DELVRY etc.
    Thanks and Regards,
    Venkat Phani Prasad K

  • Date of creation of function module

    Hi Guys,
    is there any possibility to find out the date of creation of a function module.
    For programs, it can be found in the table TRDIR. But I cant find any table for function modules.
    Erik

    TFDIR will give you the name of the function group program and the include number.
    E.g. SAPLZFUNCGROUP Include 01.
    From this you can construct the include name: LZFUNCGROUPU01.
    You can look this up in TRDIR to find the creation date (CDAT) of the function module.
    matt

  • Contact Creation Using Function module

    Hello Expert,
    I want to create  contact as a remote enabled function module for gateway services which function module I have to use for creation on contact??
    Moderated: Please use the search before posting.
    Message was edited by: Andrei Vishnevsky

    Hi,
    Basically you can use
    BAPI_BUPA_CREATE_FROM_DATA this fm allow you to create any kind of BP
    You might also need to use  BAPI_BUPR_CONTP_CREATE in order to create the relationship between the contact and the corresponding BP.
    Dont forget to use also the BAPI_TRANSACTION_COMMIT after the other fm.
    Regards

  • Error in creation of function module in e.c.c 6.0

    HI GURUS,
    i encountered a problem while creating function module in e.c.c 6.0, the error is 'THE MAIN PROGRAM OF DOES NOT BEGIN WITH "FUNCTION-POOL". kindly help me in solving this issue.

    Hi,
    You need to activate the Function Group.
    GO to Se80 --> Select function group from list box --> press enter --> Select you function group > Right click> Activate.
    Thanks,
    Sriram Ponna.

  • Creation of function module for updating the ztable

    Hi,
    I am sending the requirement for ceation of function module for updating the ztable.
    Requirement----
    Table Updation rule (New record)
    While creating a new record the calling function will export the following to the table handling function.
    Table field     Probable Values
    ZORDERNO------->     Sales Delivery no in case of sales orderShipment no in case of transfer order
    UNAME----
    >     User ID
    ZORDTYPE----
    >     SALEOR in case of sales orderTRANSF in case of transfer order
    ZREFDOCNO----
    >Sales Order no in case of sales orderPurchase Order no in case of transfer order
    ZREFDOCNO1----
    >Delivery no in case of transfer order
    The table handling function will calculate the following fields
    Table field     Probable Values
    ZREQNO----
    >Running serial number (incremented by 1 for each new record)
    ZREQDAT     -
    >System date
    ZREQTIME----
    >     System time
    ZSTATUS----
    >OPEN (for all new records)
    Before inserting a new record the table handling function will always check if a previous record exists for the same order / shipment no. if record exists the function will not insert a new record.
    Table Updation rule (Status Update)
    While updating a record the calling function will export the following to the table handling function.
    Table field     Probable Values
    ZORDERNO----
    >Sales order no in case of sales orderShipment no in case of transfer order
    ZSTATUS----
    >CANCEL if cancellation successfulERROR if cancellation not possible (order already processed)
    The table handling function will calculate the following fields
    Table field     Probable Values
    ZSTATDAT----
    >System date
    ZSTATTIME----
    >     System time

    Do you have to create/update new record in Ztable through Function Module ?
    or you need to write FM only for validation?
    Any how, you need to create a Program with Input values for the fields of Ztable, and for rest of fields the Value can be calculated based on input as per your requirement.
    Let me know clearly what exactly u need ?
    Regards,
    Kiran

  • In creation of function module

    hi,
             i created one rfc enabled function module to update the database table agr_define. but, is it possible to create custom function module in updating the any database table by using one function module only by giving the table name and fileds of that table as input.
                 please help me in this case.

    Hi Mukka,
    We could update a table from the function module.
    But take care that we should be locking and unlocking the object before and after updating respectively.
    Regards,
    kiran

  • Creation of Function Module exit

    Hai Friends,
                     I found functional exit called -<b>EXIT_SAPLL2018_001</b>. for
    <b>Transfer order</b> in ware house management. I need ur help to proceed further.
      Pls give me further steps to follow to create Function exit.It is very urgent,
    regrds,
    Prashanth

    Hi,
    go to SMOD <b>MWMBAP01</b>-EXIT_SAPLL2018_001.
        sample code reletd to user exit go thorgh this you will get an idea.
    look in txn CMOD or SMOD, check enhancement 0VRF0001. It uses function module EXIT_SAPL0VRF_001. It is used to manipulate route determination for SD.
    Here is the code
        DATA: ls_xvbpa LIKE xvbpa,
              lf_aland LIKE tvst-aland,
              lf_azone LIKE tvst-azone,
              lf_lland LIKE trolz-lland,
              lf_lzone LIKE trolz-lzone,
              ls_vbadr LIKE vbadr,
              ls_xvbap LIKE xvbap,
              ls_tvst LIKE tvst,
              lv_route LIKE trolz-route.
        LOOP AT xvbap INTO ls_xvbap.
          IF NOT ls_xvbap-vstel IS INITIAL.
            SELECT SINGLE * FROM tvst
              INTO ls_tvst
             WHERE vstel EQ ls_xvbap-vstel.
            IF sy-subrc = 0.
              lf_aland = ls_tvst-aland.
              lf_azone = ls_tvst-azone.
            ENDIF.
          ENDIF.
          READ TABLE xvbpa INTO ls_xvbpa WITH KEY vbeln = ls_xvbap-vbeln
                                                  posnr = ls_xvbap-posnr
                                                  parvw = 'Q1'.
          IF sy-subrc = 0.
            CALL FUNCTION 'SD_ADDRESS_GET'
              EXPORTING
                fif_address_number      = ls_xvbpa-adrnr
              IMPORTING
                fes_address             = ls_vbadr
              EXCEPTIONS
                address_not_found       = 1
                address_type_not_exists = 2
                no_person_number        = 3
                OTHERS                  = 4.
            IF sy-subrc <> 0.
              MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
            ELSE.
              lf_lland = ls_vbadr-land1.
              lf_lzone = ls_vbadr-lzone.
            ENDIF.
          ENDIF.
          CALL FUNCTION 'SD_ROUTE_DETERMINATION'
            EXPORTING
              i_aland             = lf_aland
              i_azone             = lf_azone
              i_lland             = lf_lland
              i_lzone             = lf_lzone
            IMPORTING
              e_route             = lv_route
            EXCEPTIONS
              no_route_found      = 1
              departure_error     = 2
              destination_error   = 3
              invalid_generic_key = 4
              customer_exit_error = 5
              OTHERS              = 6.
          IF sy-subrc <> 0.
            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ELSE.
            ls_xvbap-route = lv_route.
            MODIFY xvbap FROM ls_xvbap TRANSPORTING route.
          ENDIF.
        ENDLOOP.
    Regards

Maybe you are looking for