Some doubt on bapi

hi
1)if want to use bapi, we must check the function module in method, right? why so many people use the function module in the abap program?
2)what is the difference for bapi FM and other common FM?
thanks

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
REgards,
Kishore

Similar Messages

  • Doubt in BAPI

    Hi All I have a doubt in BAPI.
    I have created a function module which is remote enabled module. I didnu2019t create any BAPI using Tcode SWO1 or BAPI. Am using this function module in my VB code to get the data from SAP, Its working fine am getting all data from SAP database.
    My Question is since we can use sap Function module (which is remote enabled module) with out creating BAPI. Then what is the use of creating BAPI.?    
    If we click on radio button Remote enabled module is that function module act as BAPI?
    Please help me.
    Regards
    Prajwal K.

    Hi Prajwal,
    Please check this link
    RFC and BAPI Interfaces to SAP Systems
    http://help.sap.com/saphelp_45b/helpdata/en/cf/8ccab761ea11d2804a00c04fada2a1/content.htm
    BAPI's are the remote enabled Function modules which are defined in the Business Object Repository (BOR) as the methods of the business objects.I can say BAPI is the subset of RFC. RFC connects to the other system via BAPI and vice versa.
    BAPI methods 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.BAPI is having all Key fields, methods, interfaces etc.
    Best regards,
    raam

  • Some doubts in Workflow

    HI Gurus ,
    I have some  doubt in workflow basically I know how to use them but i don't know what is functionality ,
    could you plz explain me , else suggest me
    1. why we have to do delegation , what happens at run time if we don't do delegation
    2. What is the diff between task and workitem
    Thanks
    Prasad

    Hello,
    I would suggest searching for "sap workflow" on the internet, buying a SAP workflow book and/or taking a SAP workflow course.
    regards
    Rick Bakker
    Hanabi Technology

  • Some doubts in BW3.5

    <Moderator Message: Please read the rules of engagement. You should not post multiple questions to one thread, also use meaningful subjects.  And don't offer points.>
    HELLO Guys
    I have some doubts regarding SAP BW3.5...cAN anyone please clarify.
    1.this is regarding SID Concept.
    iIn extended start schema,there will be one fact table connected to many dimendion tables.Fact table and Dim tables are connected by dimension IDs.then this Dim table will hold various characteristics.every characteristic will store the characteristic value and address(pointer) to SID table.This SID table will hold again addresses(pointers) to attributes,text and hierarchy tables(if we assume that characteristic have attribute,text,hierarchy) which in turn contain the values.When a query is executed,the OLAP processor searches first for characteristics in dim tables and then with help of dim IDs traces Transaction Data in Fact table relevant for this combination of characteristics and gives output.Did I understand the concept right?
    how does OLAP Processor run if the query is on just text of a characteristic and it doesnot include this characteristic?
    2.how does navigational attr decrease the performance?
    3.cAN YOU ASSIGN
        a. many datasources to one infosource
        b.one datasource to many infosources
        c.many datasources to many infosources...
    can you please give real time scenarios for this....
    4.how do SID concept improve BW/BI.
    thanks
    Surekha Chand
    Edited by: SChandx200 on Jul 2, 2009 7:35 AM
    Edited by: SChandx200 on Jul 2, 2009 7:37 AM
    Edited by: Siegfried Szameitat on Jul 2, 2009 1:09 PM

    Hi,
    You understanding is correct.
    {code)
    how does OLAP Processor run if the query is on just text of a characteristic and it doesnot include this characteristic?
    {code}
    This question of yours is not very clear. Re phrase and post it again.
    2.how does navigational attr decrease the performance?
    Ans:- Say for example in the customer master table customer phone no is the navigational attribute. Now when you select this navigation attriubte in your report then the processor will go and first check the value of Customer say C1 and then determine C1 phone number. Now this look up of cusotmer will happen for every customer . So if say there are huge number of records for which this look up of customer first has to happen then obviously the performance will be impacted.
    Hope it is clear.

  • Some doubts in upgradation

    hi
    i studied some upgradation documents i have some doubts. please dont give any help files or again links for upgradation
    bec i need some scenerio why they need to follow this steps
    Check compounding consistency in MultiProviders
    Info Cubes Fact views
    BEX History
    STD SAP  Report
    0adhoc Templates Activation

    Hi suneel,
    check this links......
    Link: How to SAP BW 3.5 Upgrade Preparation and Post Upgrade CheckList (NW2004)
    Even this might be of use:
    BI 7.0 –Initial Hurdles
    May be useful for you,
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e0c9c8be-346f-2a10-2081-cd99177c1fb9
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10564d5c-cf00-2a10-7b87-c94e38267742
    /message/5971540#5971540 [original link is broken]
    You may wish to check my thread below -
    https://forums.sdn.sap.com/click.jspa?searchID=13971844&messageID=3308304 Broad caster
    Upgrade preparation
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/472443f2-0c01-0010-20ab-fbd380d45881
    /message/3221895#3221895 [original link is broken]

  • Some doubts in j2ee

    Hii..,
    Some doubts in j2ee .plz help with as
    1.What are the main difference between application server and web server
    2. two and three tier architecture differences
    by Anand PC

    Hi,
    1) a) A Web Server understands and supports only HTTP protocol whereas an Application Server supports HTTP,TCP/IP and many more protocols.
    b) Web server mainly deals with sending HTML for display in a Web browser, an application server provides access to business logic for use by client application programs. The application program can use this logic just as it would call a method on an object.
    c) Webserver is used only for jsp and servlets and for static functionality it has limited functionality and it doesn't provide any security ,persistence and it doesn't support EJB and JMS and JAAS like other functionality
    whereas Application server provide all functionalities.
    In short, Applicaion Server is a super set of which Web Server is a sub set.
    2) Two-tier architecture is a client/server architecture , where a request to do some task is sent to the server and the server responds by performing the task.where as a three-tier or a multi tier architecture has client, server and database. Where the client request is sent to the server and the server in turn sends the request to the database. The database sends back the information/data required to the server which inturn sends it to the client.

  • Record mode - some doubts

    Good morning … bom dia …
    I have some doubts about RECORDMODE … follow ...
    Is it necessary development some ABAP code in transformation ? … or in Initial / Final routine ?
    In DTP from DSO to Cube, is mandatory choice the option “change log” ? Or make some filter to select only valid records ?
    Is There some configuration on query ?
    Or the goal is only know how recordmode works, based on the table ROOSOURCE ?
    Thanks in advantage …. Obrigado …
    Kokeny, Marcio
    P.S.: I already read this some documents:
    http://scn.sap.com/people/swapna.gollakota/blog/2007/12/27/how-does-a-datasource-communicates-delta-with-bw
    (How does a datasource communicates "DELTA" with BW?)
    http://scn.sap.com/docs/DOC-54330
    (Recordmode Importance in SAP BI along with Delta Handling)
    http://scn.sap.com/docs/DOC-29927
    (Record mode Concept in SAP BI)
    - Record Mode Concept in Delta Management
    - 0RECORDMODE and Delta type Concepts in Delta Management

    Hi,
    Is it necessary development some ABAP code in transformation ? … or in Initial / Final routine ?
    Why you got above doubt?
    Routines are used as per needs. Not based on 0recordmode.
    In DTP from DSO to Cube, is mandatory choice the option “change log” ? Or make some filter to select only valid records ?
    Not mandatory. if we run first time dtp  with delta mode option then no need to select change log option.
    if we perform dtp as init and later delta then we need to choose changlog option for delta.
    Is There some configuration on query ?
    No. 0RECORDMODE is upto DSO level only to track changes.
    Or the goal is only know how recordmode works, based on the table ROOSOURCE ?
    0record mode works based on data source delta type.
    Data source delta type you cam see from table ROOSOURCE and field deltyp - ABB.ABD.AIE...etc.
    Thanks

  • Have some doubt regarding the  weblog (Lookup's in XI made simpler)

    Hi All,
    I have created the same scenario as mentioned in Siva's weblog (Lookup's in XI made simpler).
    I having some doubts regarding the scenario, it will be great if you help me to resolve the same.
    I am having a file-file scenario where I need to do lookup in database(MS-Access)  through mapping.
    The standard file-file scenario is in place and in addition I have created a receiver jdbc channel . I  have also created the receiver agreement for the same in the cofiguration.
    While creating the receiver agreement you have to specify the interface name which includes the message type…I have specified the normal format which we specify while configuring the jdbc receiver adapter.
    In the message mapping I have created a advance user defined function as mentioned in your weblog which calls my receiver jdbc channel.
    I have also specified the select query to be executed in the mapping program.
    While testing I am getting the following error
    Cannot produce target element /ns0:Role_MT/URole. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    <b>Can you please suggest me what all I need to do in addition to the file-file scenario for this lookup scenario to work.</b>
    Thanks and Regards
    Rahul

    Hi,
    Following is my user defined function
    //write your code here
    String Query = "";
    Channel channel = null;
    DataBaseAccessor accessor = null;
    DataBaseResult resultSet = null;
    Query = "Select URole from  Lookup where UName = '  " + UName[0] + "  ' and UPassword = '  " + Pwd[0] +" '  ";
    try{
    channel = LookupService.getChannel("DB_service","JDBC_channel_receiver");
    accessor = LookupService.getDataBaseAccessor(channel);
    resultSet  = accessor.execute(Query);
    for(Iterator rows = resultSet.getRows();rows.hasNext();){
    Map rowMap = (Map)rows.next();
    result.addValue((String)rowMap.get("URole"));
    catch(Exception ex){
    result.addValue(ex.getMessage());
    finally{
    try{
    if (accessor!= null) accessor.close();
    catch(Exception ex){
    result.addValue(ex.getMessage());
    Thanks and Regards
    Rahul

  • Some doubt with app in E71

    I have installed in my E71 some app that i found like "installers or shortcuts to internet" in Menu->Installations->... i downloaded data to install using my wifi, but now i have some doubt. Are those apps for free? For ex: "Tiger Wood.." "MultiScanner" "Wipresenter" "RT GR"
    If I go to: Menu->Installations->App. mgr. I can find all the apps installed. I have these ones:
    MMSync
    World Mate
    Nokia WebService Support
    Nokia InternetServices S...
    Wireless Presenter by...Advanced Call Manager
    Web Gate Utils Library
    DRM Common Solutions
    Top Hits Solitaires
    Windows Live - Installed by me
    Global Race
    MMIO Framework and...
    MultiScanner
    MMIO Libraries
    Spanish - Installed by me
    Swedish - Installed by me
    Tiger Woods PGA TOUR(R)
    Sorry for bad english...I am spanish native speaker trying to do it well. Thanks

    I was a little worried because some of these applications to be installed, must download data from internet, and I was afraid that when I start the download, could add a surcharge for the price of the application.
    Thanks ofr answering.

  • APP --- SOME DOUBTS.....PLZ HELP

    HI GUYS,,
    I have some doubts in APP.
    1. why do we give next payment date in F110 while we are running payment.....
    2. can we do partial payment for one line item through running APP....
    please help me out..
    Thanks in advance
    Regards,
    pavan
    Moderator: Please, avoid using SMS language and posting basic questions

    HI,
    1. If your provid ethe Next payment run date then system will consider below documents.
        current run date  to next payment run date
        in between any Invoices are getting panalities then those will consider in this current payment run.
    2. partial payment  not consider.
    3. APP will consider downpayments.
    Reg
    Madhu M

  • JDBC Questions have some doubts

    hi,
      Friends i have some doubts on JDBC Adapter . plz give me answere.
    1) Wt is the use of update query in jdbc adapter?
    2) Why did u use the flag field in jdbc table?
    3) How will u send the data into multiple table?
    4) Wt is the receiver str jdbc?
    5 Wt is the jdbc configurations
    thanks in adnvace.

    Hi,
    1) Wt is the use of update query in jdbc adapter?
    --> Update query is used to update the specific record in the database table based on Key fields.
    2) Why did u use the flag field in jdbc table?
    --> the Flag field is used to mark the records which are selected by sender JDBC adapter, so next time those records should not be repeated.
    3) How will u send the data into multiple table?
    --> You can send the data to multiple tables with the help of multi-mapping in the XI.
    Accessing Multiple Tables dynamically using JDBC
    Accessing Multiple Tables dynamically using JDBC
    4) Wt is the receiver str jdbc?
    --> On receiver side JDBC, you can either Insert, Update or delete the records. The storder proceduers are the line of codes written in DB2, From XI you can directly execute these JDBC statements. It will be helpful when you will be working on synchronous scenario and need to modify or deal with multiple tables based on complex logics
    5 Wt is the jdbc configurations
    --> JDBC configuration is based on the JDBC drivers installed.
    Refer - Detail explanation
    http://help.sap.com/saphelp_nw04s/helpdata/en/22/b4d13b633f7748b4d34f3191529946/frameset.htm
    Thanks
    Swarup

  • Hello I have an imac with os x 10.7.5 and I have some doubts:  the new version of garageband 10.0.2 is compatible with os x 10.7.5?

    Hello I have an imac with os x 10.7.5 and I have some doubts:
    the new version of garageband 10.0.2 is compatible with os x 10.7.5?
    I have not installed mavericks. should I install?
    Thanks!!

    It requires 10.9 or later.
    Upgrading to Mavericks
    You can upgrade to Mavericks from Lion or directly from Snow Leopard. Mavericks can be downloaded from the Mac App Store for FREE.
    Upgrading to Mavericks
    To upgrade to Mavericks you must have Snow Leopard 10.6.8 or Lion installed. Download Mavericks from the App Store. Sign in using your Apple ID. Mavericks is free. The file is quite large, over 5 GBs, so allow some time to download. It would be preferable to use Ethernet because it is nearly four times faster than wireless.
        OS X Mavericks- System Requirements
          Macs that can be upgraded to OS X Mavericks
             1. iMac (Mid 2007 or newer) - Model Identifier 7,1 or later
             2. MacBook (Late 2008 Aluminum, or Early 2009 or newer) - Model Identifier 5,1 or later
             3. MacBook Pro (Mid/Late 2007 or newer) - Model Identifier 3,1 or later
             4. MacBook Air (Late 2008 or newer) - Model Identifier 2,1 or later
             5. Mac mini (Early 2009 or newer) - Model Identifier 3,1 or later
             6. Mac Pro (Early 2008 or newer) - Model Identifier 3,1 or later
             7. Xserve (Early 2009) - Model Identifier 3,1 or later
    To find the model identifier open System Profiler in the Utilities folder. It's displayed in the panel on the right.
         Are my applications compatible?
             See App Compatibility Table - RoaringApps.

  • IMac vs Mac Mini, some doubts

    Hello!! Good evening ;-) First of all, I would like to introduce myself. My name is Manu and I am from Spain. I´ve been always a Windows and PC user, but now I´m thinking about the posibility of changing to Mac platform, but I have some doubts.
    I´ve been thinking about buying a Mac Mini, because I have the keyboard, a good display and the mouse, everything... However, I´ve seen that it comes with Intel HD 4000 graphics. I want to use the computer to edit some videos but, specially to some graphic design with Photoshop, or to play some games. I would configure the Mac Mini like this:
    Core i7 de Intel de cuatro núcleos a 2,6 GHz
    SDRAM DDR3 de 16 GB (dos módulos de 8 GB) a 1.600 MHz
    Unidad de memoria sólida de 256 GB
    Guía del usuario (Español)
    Kit de accesorios
    Thi price is  1.448,99 €, so I would loke to have enough computer for at less 4 or 5 years, but with this integrated graphics on the processor, do you think so?
    I´ve also been seeing the graphic cards that iMac includes, but it isn´t also very powerful, even it is a dedicated card.
    What do you think about?
    Thank you very much ;-)
    Manu.
    PD: sorry for my english!! I hope you understand me

    Refurbished machines change by the hour, you need to check frequently and be ready to buy when you find a model that will fit your needs.
    BTW I asked the moderator to remove one of your posts, you were asking for speculation on unreleased products. Please read the Terms of Use you agreed to, specifically it says:
    Submissions  
    Stay on topic. Apple Support Communities is here to help people use Apple products and technologies more effectively. Unless otherwise noted, do not add Submissions about nontechnical topics, including: 
    Speculations or rumors about unannounced products. 
    Discussions of Apple policies or procedures or speculation on Apple decisions.

  • Document Splitting - Some doubts

    Hi,
    I have activated the Doc splitting but have some doubts:
    1. I can see the vendor item getting splitted into different Profit center in the General ledger view. But in FBL3N it shows as DUMMY ( which i believe is Entry view). Now whats the Tcode to see the vendors Profit center wise.
    2. Moreover if i see my FSV in F.01, its not as per the Profit centers.
    So where to see it Profit center wise.
    ON whole, i am interested in see the PCA wise my all balances without running all those F.5D & F.5E programs....SO how to meet the objective
    regards

    Have you run those reports.
    The first one, gives you the total of the Vendor and then you can add to the drill down the Profit Center. This is a new GL report so it takes the data from FAGLFLEX and not BSEG, where the PC is Dummy.
    if you want to know how and why your entry view is Dummy and your general Ledger view is different, this is due to the rules you have set in document splitting.
    You will probably have a default Profit Center and you can also add in Profit Center, Master data config default values for GL accounts and Profit Centers, i.e. the recon account of the Vendor.
    Lastly in terms of the PC in the general ledger view, it will be derived, i.e. from the P&L entry, however it will use the Cost Center, that is linked to a Profit Center and use that for the splitting.
    Hope we are moving in the right direction here.

  • Can any send me some docs on BAPI.

    Can any send me some docs on BAPI. If possible please send the docs on ID :- [email protected]
    Edited by: dilip kushwah on Dec 31, 2007 12:32 AM

    Hi Dilip
    I am sending you some material on BAPI, pls go thru it.
    Pls reward pts if help.
    Regards
    Deepanker
    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
    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
    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 pts if help.
    regards
    Deepanker

Maybe you are looking for