Customize change docs for classification

Hi all,
I need to activate change documentation in order to be able to track changes for classification characteristics. In SPRO found that I can set it in Cross-Application Components >> Classification System >> Classes >> Maintain Object Types and Class Types
I'm interested in tracking changes of materials so chose table MARA and class type Material Class but to activate change docs there is need to set first "multiple objs allowed" and to do it I had to start RCCLUKA2 program. I did it for my class type, program has finished, it has created 2 files in DIR_HOME (DSKSSK,DSAUSP). Files are still on application server.
And here is my problem because checkbox "Multiple objs allowed" in SPRO still is not checked in spite of fact that program has finished without any errors. I tried to run report once again but got message: "Entries already exist in the INOB; check data"
I checked table TCLA field MULTOBJ and it's is empty for my Class Type. I have no idea what to do. Please help what to do in such situation and how to activate this change documentation for classification.
Thanks in advance for any help!
Best regards,
Darek

There are a couple of reason but part of it is following the whole "Don't change SAP standard, rather create a copy with a z naming convention for changes principle".
As a consulting company and given the fact that we are not the owners of the system, we sometimes don't have the opportunity to investigate if any objects are used elsewhere and in some cases, users themselves aren't aware that they are using the system in other areas (for example, some people don't realise that documents in the DMS are used in other areas like EH&S). By creating copies, we eliminate the possibility of making a change which may adversely affect another working area of the system that the project initiator is unaware of. It doesn't happen often that you make a change that impacts on others, but i'd rather take precautions than solve the issues afterwards.
We've also found that in some cases customers are incorrectly using something for the wrong purpose. For example, we found someone using the document structure type for reporting areas in another area of PM so we couldn't implement EasyDMS because they had changed one of the standard object types.
Edited by: Athol Hill on May 6, 2009 10:38 PM

Similar Messages

  • Change documents for Classification View

    Hi,
    Can anyone please tell me how to activate Change documents for the Classification view of material master.  if we activate that one what will be consequences?
    Thanks in adavance

    CHANGING CLASSIFICATION VIEW FOR MATERIAL USING BAPI
    ->CREATE CHARACTERISTIC USING TCODE CT04
    ->CREATE CLASS USING TCODE CL01 .
    -> RUN THIS PROGRAM TO CHANGE THE CLASSIFICATION VIEW
    PARAMETERS: P_MATNR TYPE MARA-MATNR. "MATERIAL
    DATA: OBJECTKEY TYPE BAPI1003_KEY-OBJECT,
    OBJECTTABLE TYPE BAPI1003_KEY-OBJECTTABLE,
    CLASSNUM TYPE BAPI1003_KEY-CLASSNUM,
    CLASSTYPE TYPE BAPI1003_KEY-CLASSTYPE,
    ALLOCVALUESNUMNEW TYPE TABLE OF BAPI1003_ALLOC_VALUES_NUM WITH HEADER LINE,
    ALLOCVALUESCHARNEW TYPE TABLE OF BAPI1003_ALLOC_VALUES_CHAR WITH HEADER LINE,
    ALLOCVALUESCURRNEW TYPE TABLE OF BAPI1003_ALLOC_VALUES_CURR WITH HEADER LINE,
    RETURN TYPE TABLE OF BAPIRET2 WITH HEADER LINE.
    OBJECTKEY = P_MATNR.
    OBJECTTABLE = 'MARA'.
    CLASSNUM = 'MTS_CABLE_BIN1'. "CLASS(CREATED USING CL01)
    CLASSTYPE = '023'. "CLASS TYPE (023 FOR BATCH)
    CALL FUNCTION 'BAPI_OBJCL_CHANGE'
    EXPORTING
    OBJECTKEY = OBJECTKEY
    OBJECTTABLE = OBJECTTABLE
    CLASSNUM = CLASSNUM
    CLASSTYPE = CLASSTYPE
    STATUS = '1'
    STANDARDCLASS =
    CHANGENUMBER =
    KEYDATE = SY-DATUM
    NO_DEFAULT_VALUES = ' '
    IMPORTING
    CLASSIF_STATUS =
    TABLES
    ALLOCVALUESNUMNEW = ALLOCVALUESNUMNEW
    ALLOCVALUESCHARNEW = ALLOCVALUESCHARNEW
    ALLOCVALUESCURRNEW = ALLOCVALUESCURRNEW
    RETURN = RETURN
    LOOP AT RETURN.
    WRITE: / RETURN-TYPE ,RETURN-MESSAGE.
    ENDLOOP.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    WAIT =
    IMPORTING
    RETURN =
    BY VENKAT

  • Change docs for purchase order

    Hi,
    By which t.code we can see the chnage document for the purchase order. and which changes have been done?
    Regards
    Deepak Sharma

    Hi,
    You can check it in me22n or me23n itself.
    Goto Environment -> Header Changes or Item Changes.
    Rgds,

  • Change Doc for Auth Changes to Profiles directly in Production

    We use CUA and Profile Generator. 
    How can I prove that Roles and Authorizations in the profiles assigned to roles are not being edited directly in production (they are transported in). 
    When I use SUIM, for Roles, For Authorizations, or for any option under "For Roles"....I don't see any indication that the change came from the dev or assurance systems (nor any indication it was changed directly in production). 
    If I choose the "for authorization" view, it appears to find only a few temporary roles which could have been created and/or maintained directly in production.    How can I be assured?
    Our Transport logs from the dev system were a bit corrupted by a Client "refresh" copy action so I can't look at those to see if the date of change of the role coincides with a transport in E070 or E071 tables.
    thank you for any thoughts! 
    PS Table CD1251 is not populated in our system.

    >
    David Berry wrote:
    > Hi Bernhard
    >
    > Should this be allowed at all in prod? If an ungenerated role (or even one without a profile) makes it to production should security be generating? SUPC warns about generating in a productive client and there is the chance that a T-P* profile is created accidentally.
    I would allow it, especially for emergency cases (maybe not for all admins). Nowadays with auth/new_buffering=4 it should not be so dangerous anymore to generate in production....
    b.rgds, Bernhard
    Edited by: Bernhard Hochreiter on Nov 17, 2010 3:47 PM

  • What is the impact - Activating Change Logs for Material Classification Dta

    To activate Change Logs for Material Classification Data I must first set the flag for "Multiple Objs Allowed" for the Class Type 001 Material Class. I am curious of what the impact of setting this flag will be. Also, is there a way to measure the DASD impact of activating the Change logging for this data.
    Thankyou
    Kevin

    In addition to the performance impact the process of turning on Change Logs for Classification data will convert the tables KSSK and AUSP to use an internal SAP number as a key instead of the Material number. This will cause problems for any custom programs that access those files directly and expect the material number to be the key. This file conversion occurs during the execution of program RCCLUKA2 which is used to Flag the change logs for existing records. This can be reversed by running report RMCLINOB. Because of the above impact we decided here to NOT implement this change in production.

  • Change document for LIKP

    Dear Experts,
        I need to create a customizing change event for LIKP,
    but I couldn't find the change document for LIKP.
        Did anyone has ever create change doc. for LIKP and
    share experience ?
    thanks in advance.
    Minter

    Dear Ramki,
           Thanks for ur first reply.But after I create event
    for the object LIEFERUNG, I could not see fields for table LIKP in SWEC.
    Regards,
    Minter

  • Change Documents for Material Classification data Changes

    Dear Friends,
    We have configured custom classification objects for material master and also we are able to maintain the material characteristics using MM01, MM02 and also using ALE interface. But I am not able to find the Change Documents in any of the table CDHDR & CDPOS. Please let me know what needs to be done to capture the change documents for a material classification changes in this case.
    Many thanks for you inadvance.
    Beast regards,
    Mallikarjun.

    Change logging of all Classification (including Material Classification) is controlled in the Class type configuration.
    SPRO -> Cross Application Components -> Classification System -> Classes -> Maintain Object types and Class types -> Select Object Table = MARA -> Double Click Class Types under MARA -> Select Class Type 001 and Display -> Check whether "Change Docs" check box is checked on.
    Also check that another flag "Chg. docs for Class" is set on all Objects under the Class type too (by double clicking the Objects folder for a Class type).
    If the Change docs flag is checked on for the relevant Class type and Object then change docs are logged in CDHDR and CDPOS tables for object "CLASSIFY"
    Also the "Change docs" flag cannot be set unless the "Multiple objects allowed" flag is also set in the Class type configuration.
    Please refer [SAP Note 65124 - Classification Change Documents|https://service.sap.com/sap/support/notes/65124]
    Also the above note says and I quote: If "Multiple objects allowed" indicator is not set, start the RCCLUKA2 program. The classification data are converted and the indicator 'Multiple object types allowed' is set. Now you can set the indicator 'Change documents' in Customizing of the class type. However, it only says that change documents are generally possible for this class type. Therefore you have to select objects under 'OBJECTS' for which the change documents are to be written.
    So if the Class type doesn't have "Multiple objects allowed" set (along with Change docs flag not set), there is also a conversion that needs to be run using program RCCLUKA2.
    Also when you transport the configuration to a target system, the program RCCLUKA2 should be run again, refer [Note 379180 - Classification data disappeared|https://service.sap.com/sap/support/notes/379180 ]

  • Display changes for classification in customer master data

    Dear Experts,
    In Customer master data, FD03, we have additional classification (Extras - Classification).
    My question is, if we changed the classification in master data, how to know when the display changes of the classification?
    I have checked through tcode FD04 but no display changes found of classifications.
    Kindly advice.
    Thank you

    Hi Suhas,
    Thanks for your reply.
    I have checked but environment-doc changes is grey.
    I thougt its a authorization issue but after checked from /nsu53, my authorization is already completed.
    Kindly advice.
    Thank you

  • Problem with Change Doc BANF for BUS2009

    Hi,
      The scenario of mine is to trigger the REJECTION_STOP event of BUS2009  when a PR rejection is cancelled for that I am using Change documents.
    I have created an entry in SWEC for change doc object BANFand BO BUS2009- REJECTION_STOP.
    The problem is the Event Container is not getting filled and bcoz of that Workflow is going on error.When I see the Workflow log in SWi1 I can't find the values for my WF container element BUS2009.
    Do I have to explicitly fill the Event container in my case.If so how to do that
    Kindly suggest....

    Hi,
    Please Check all Binding Parts...that is the Problem over there..
    Go to SWUE enter ur Object and Event and check in SWEL and in ur Inbox.
    Thanks and Regards,
    Prabhakar Dharmala

  • Am creating document with Pages. pages are in "portrait" orientation, but two charts at end need to be "landscape". changing the orientation for one section changes it for entire doc. can i have different orientations in Pages for different sections?

    am creating a document with Pages.  all pages using "portrait" orientation, except 2 appendices need to be in "landscape".  in Word for Windows it is possible to have different page orientations for different sections of a document.  is that possible with Pages.  Even when i put the appendices in a different section, changing the page orientation changes it for the entire doc.

    Make a separate document the size and orientation you want.
    Turn that into a pdf and add it back into the original Pages document or into the pdf from from that document.
    Peter

  • Activate Change pointers for TREX classification search for Business Objects

    Hey all...
    Does anyone out here has any idea on how to activate the change pointers for TREX classification search for business objects: - for me I am specifically doing it for Materials and Customers.
    Okay, let me explain the issue: -
    For TREX search, we need to schedule a background job for Delta Indexing. But Alas! Delta indexing does not capture the changes to Classification data of the business object.
    For this we activated the change documents for the particular class in the customizing. But to my surprise, change documents and change pointers for TREX are entrirely different.
    How do I know:
    Change ID of CDHDR does not correspond to Change pointer in table COM_SE_CPOINTER. Now by activating the change documents I am getting entry in CDHDR and CDPOS but the mentioned change pointer table still does not get the entry.
    I searched for BTEs and I got the below: -
    Now to me the very obvious one was 4003, but it is not called while changing the classification data for materials. Ofcourse I activated the Product and the function module.
    and now I am stuck!!
    Any pointers for the Change pointers would be really appreciated??
    Please share your knowledge even if you don't know the exact answer . I am new to TREX so possibly vague conversations could provide me a hint .
    Thanks,
    Best Regards,
    Shreya

    Hi Guys,
    This issue was solved by implementing the BTE 4005 (OPEN_FI_PERFORM_00004005_E). This particular event is triggered in the update task for saving changes to business object. So In my function module (corresponding to BTE), I have explicitly called the method to write an entry in COM_SE_CPOINTER, because we just need the reference of business object for which classification data is changed.
    Please refer the below code for more clarity.
    BTE position: -
    method called in FM to write change pointer.
    Thanks anyways, for all the responses.
    Cheers,
    Shreya

  • Trigger CREMAS change pointer for vendor classification change in XK02/FK02

    Hi,
    I have a business case where I need to trigger a change pointer of type CREMAS whenever a client modifies vendor classification in transactions FK02/XK02.  I realize classificatiion/characteristics have their own change pointer types (CLFMAS, CHRMAS, etc.), but I was wondering if there was a user exit/BADI available for this scenario where I can manually create a change pointer.  I need the characteristic data to be part of a custom IDoc type (based off of CREMAS03), and it's no problem to include this data in the custom IDoc, but I need a way to trigger the change pointer if the clients changes vendor characteristic data, and nothing else. 
    I also went into transaction BD52 for type CREMAS to see if there's another row for classification (CLASSIFY), but couldn't figure out the right object type.
    There's a BADI called CACL_VALUE_CHANGE that triggers when vendor classification is changed, where I can generate my change pointer, but it's triggered before the client saves which means I would have a useless change pointer. 
    Does anyone have any ideas on what my options are?  I hope I've elaborated enough
    Thanks,
    Chris

    I figured out a way to do this which was to implement the BDCP_BEFORE_WRITE BADI which allows you to interrogate a change pointer based on an IDoc message type before it's saved to the database.  For starters, change pointers for message type CLFMAS must be activated in order for this to work, even though I'm not interested in those eventual IDocs. 
    In the IF_EX_BDCP_BEFORE_WRITE~FILTER_BDCPV_BEFORE_WRITE method of the BADI implementation, I was able to loop through all of the change pointers about to be created and this is where I was able to obtain the vendor number the classification is being applied to.  I actually added another line to the internal table that's changeable in the method for CREMAS and it worked out well.
    The only thing that was difficult was to debug this baby.  No matter how you set the breakpoint, it just never hits it until I discovered it's called using an UPDATE TASK.  I found an unorthodox method to debug this situation on the web which is to force an endless loop before your custom code such as.........
    while sy-subrc <> 98.
    endwhile.
    <custom code here>
    Once your process runs, it will be sitting in an endless loop in an update task which you can view in transaction SM50.  From here, you can highlight this line then you can click on "Program Session > Program > Debugging" to debug your code.  It's not something I was used to, but it allowed me to debug in the end.  I would hope there's better ways, but this worked for now.
    I hope this helps someone else!
    Cheers,
    Chris

  • How to extend and customize EarHcmAnalytics.ear for OTBI reporting

    The requirement is to extend the ADF objects that's serving the OBIEE application for OTBI, see the line between OBIEE and BI VO's in [OTBI architecture |http://docs.oracle.com/cd/E15586_01/fusionapps.1111/e21363/frameset.htm?ch02s01s01s01.html] and [VO for OTBI|http://docs.oracle.com/cd/E15586_01/fusionapps.1111/e15524/adv_bi_vos.htm#BEICJFHA] . In this case, the EAR file is EarHcmAnalytics.ear. This EAR file does not have any class that provide customization. I've compared this EAR EarHcmAnalytics.ear vs the EarHcmCompensation.ear to verify that there is no Ext*.jar nor any customization classes in the adf-config.xml. Although I've updated the jdev.conf's ide.extension.extra.search.path to point to the exploded hcmAnalytics EAR, JDev didn't find any customization class in the adf-config.xml. Normally, if there's a customization class specified and not class found, the error message would indicate that customization is disabled because it could not load the customization class.
    In the adf-config.xml for the hcmAnalytics EAR, I try to find any class similar to this section in the adf-config.xml for hcmCompensation EAR but found none.
    Excerpted from adf-config.xml of hcmCompensation EAR
    <mds:customization-class name="oracle.apps.fnd.applcore.customization.GlobalCC"/>
    <mds:customization-class name="oracle.apps.fnd.applcore.customization.SiteCC"/>
    <mds:customization-class name="oracle.apps.fnd.applcore.customization.EnterpriseCC"/>
    <mds:customization-class name="oracle.apps.hcm.common.core.HcmCountryCC"/>
    <mds:customization-class name="oracle.apps.hcm.common.core.HcmOrganizationCC"/>
    <mds:customization-class name="oracle.apps.fnd.applcore.customization.UserCC"/>
    Logically, having no customization class might make sense because this hcmAnalytics application is not end-user facing, i.e. NO USER would login to this application. It's strictly an integration point as the data source/web service to be invoked from the RPD of the OBIEE application. It's not intended to support the usual personalization, and different layer customization for a Fusion transactional application. This hcmAnalytics EAR has no UI classes, only ADF BC ones.
    However, the question remain, if my company need to change the VO objects that are exposed to the OTBI reports, how could we extend (changing existing seeded VO's in EAR) or Customize (adding new VO object into EAR)? Here are business scenarios for each case:
    1. Extend existing VO: A OTBI report need to have new column which is missing from current VO. My company need to modify/extend the existing VO using customization class or some other method, then re-import/add the new VO column into RPD so report could pull data from new column. What is the solution to extend/modify existing VO that are in EarHcmAnalytics.ear file?
    2. Add new VO: A company-specific security requirement need to pull in OTBI report data from new table(s) that doesn't existing in seeded Fusion DB. New VO must be built, preferably in same EarHcmAnalytics.ear so we reuse the same ADF connection pool in RPD. I need to create new VO, AM and put the JAR file in the APP-INF/lib. But we also need to rebuild/repackage the whole EarHcmAnalytics.ear file. So what kind of project we should use so we could add new VO and repackage the EarHcmAnalytics.ear properly because a MAR deployment is not sufficient.
    Lastly is there Oracle document somewhere that explain this setup? We have seen information for extending/customizing Fusion transactional Application (EarHcmCompensation.ear), but not the ADF-BC analytics application (EarHcmAnalytics.ear) for the OTBI. If such info exists, please provide links or notes.
    Thanks
    -Duc

    Hi Jani,
    After startup, in Customization Context window, I see it defaults to "View without Customizations" radio box checked; Grey-ed out option to "Edit with following Customization Context"; nothing listed in layer; Customization Context: None; and link to "Overide global layer values".
    I could filter to any ADFbc VO object, but customize menu in right click is disabled (make sense since nothing is listed in customization context, e.g. global). If I click on link to "Override global layer values", it would open an empty XML window but I'm not clear what to override.
    My understanding is to allow customization, a few things must be present and set
    * Enabled Seeded customization is selected in project properties' ADF view
    * Project should have CustomizationLayerValues.xml file to define which layer can be customized (what to show in customization context list of the "Customization Context" window)
    * List of ADF customization class names in adf-config.xml
    * Actual customization classes found and loaded from classpath by JDev
    I assume that the hcmAnalytics should still have the CustomizationLayerValues.xml to allow global layer customization for ADFbc components rather than forcing client to make up/override this file. How can I get "global layer" to be visible for customization context?
    Complete message lists in Jdev's Messages - log pane after startup
    Customizations are disabled for the node "JobPVO.xml" because it is not part of the project contentset.
    Mar 22, 2013 8:48:21 AM oracle.security.jps.internal.common.util.StrictValidationEventHandler handleEvent
    WARNING: Failed to validate the xml content. SchemaLocation: schemaLocation value = 'http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd' must have even number of URI's. Location: unavailable.
    Mar 22, 2013 8:48:24 AM oracle.adf.share.ADFContext isHighPerformanceEnvEnabled
    WARNING: Exception while querying ExalogicOptimizationsEnabled Attribute
    Mar 22, 2013 8:48:25 AM oracle.adf.share.ADFContext isHighPerformanceEnvEnabled
    WARNING: Exception while querying ExalogicOptimizationsEnabled Attribute
    Mar 22, 2013 8:48:27 AM oracle.adf.share.ADFContext getCurrent
    WARNING: Automatically initializing a DefaultContext for getCurrent.
    Caller should ensure that a DefaultContext is proper for this use.
    Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
    This message may be avoided by performing initADFContext before using getCurrent().
    For more information please enable logging for oracle.adf.share.ADFContext at FINEST level.
    Excerpted from Windows's cmd console after startup. Many many similar warning about missing extension.xml in all jars from hcmAnalytics EAR before this excerpt.
    java.io.FileNotFoundException: file:/C:/JDeveloper/EarHcmAnalytics.ear/APP-INF/lib/HcmBatchProcessCoreProcess.jar!/meta-
    inf/extension.xml
    at oracle.ide.net.JarIndex.getLOCFromHash(JarIndex.java:1259)
    at oracle.ide.net.JarIndex.getLOC(JarIndex.java:1164)
    at oracle.ide.net.JarIndex.access$1000(JarIndex.java:62)
    at oracle.ide.net.JarIndex$12.run(JarIndex.java:583)
    at oracle.ide.net.JarIndex$12.run(JarIndex.java:579)
    at oracle.ide.net.JarIndex.runLocked(JarIndex.java:1565)
    at oracle.ide.net.JarIndex.run(JarIndex.java:1472)
    at oracle.ide.net.JarIndex.openInputStream(JarIndex.java:578)
    at oracle.ide.net.JarURLFileSystemHelper.openInputStream(JarURLFileSystemHelper.java:381)
    at oracle.ide.net.URLFileSystem.openInputStream(URLFileSystem.java:1321)
    at oracle.ideimpl.jsr198.VirtualFileSystemHelperImpl.openInputStream(VirtualFileSystemHelperImpl.java:170)
    at javax.ide.net.VirtualFileSystem.openInputStream(VirtualFileSystem.java:1239)
    at javax.ide.extension.spi.JARExtensionSource.getInputStream(JARExtensionSource.java:123)
    at javax.ide.extension.spi.DependencyTree.loadMinimal(DependencyTree.java:105)
    at javax.ide.extension.spi.DependencyTree.buildTree(DependencyTree.java:176)
    at javax.ide.extension.ExtensionRegistry.loadExtensions(ExtensionRegistry.java:155)
    at oracle.ideimpl.extension.ExtensionManagerImpl.loadExtensions(ExtensionManagerImpl.java:510)
    at javax.ide.extension.ExtensionRegistry.initialize(ExtensionRegistry.java:381)
    at oracle.ideimpl.extension.ExtensionManagerImpl.initialize(ExtensionManagerImpl.java:954)
    at javax.ide.Service.getService(Service.java:68)
    at javax.ide.extension.ExtensionRegistry.getExtensionRegistry(ExtensionRegistry.java:400)
    at oracle.ide.ExtensionRegistry.getExtensionRegistry(ExtensionRegistry.java:191)
    at oracle.ide.IdeCore.startupImpl(IdeCore.java:1385)
    at oracle.ide.Ide.startup(Ide.java:703)
    at oracle.ideimpl.DefaultIdeStarter.startIde(DefaultIdeStarter.java:35)
    at oracle.ideimpl.Main.start(Main.java:184)
    at oracle.ideimpl.Main.main(Main.java:146)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.ide.boot.PCLMain.callMain(PCLMain.java:62)
    at oracle.ide.boot.PCLMain.main(PCLMain.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.classloader.util.MainClass.invoke(MainClass.java:128)
    at oracle.ide.boot.IdeLauncher.bootClassLoadersAndMain(IdeLauncher.java:189)
    at oracle.ide.boot.IdeLauncher.launchImpl(IdeLauncher.java:89)
    at oracle.ide.boot.IdeLauncher.launch(IdeLauncher.java:65)
    at oracle.ide.boot.IdeLauncher.main(IdeLauncher.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.ide.boot.Launcher.invokeMain(Launcher.java:713)
    at oracle.ide.boot.Launcher.launchImpl(Launcher.java:115)
    at oracle.ide.boot.Launcher.launch(Launcher.java:68)
    at oracle.ide.boot.Launcher.main(Launcher.java:57)
    java.io.FileNotFoundException: file:/C:/JDeveloper/EarHcmAnalytics.ear/APP-INF/lib/HcmBatchProcessCorePublicProcess.jar!
    /meta-inf/extension.xml
    at oracle.ide.net.JarIndex.getLOCFromHash(JarIndex.java:1259)
    at oracle.ide.net.JarIndex.getLOC(JarIndex.java:1164)
    at oracle.ide.net.JarIndex.access$1000(JarIndex.java:62)
    at oracle.ide.net.JarIndex$12.run(JarIndex.java:583)
    at oracle.ide.net.JarIndex$12.run(JarIndex.java:579)
    at oracle.ide.net.JarIndex.runLocked(JarIndex.java:1565)
    at oracle.ide.net.JarIndex.run(JarIndex.java:1472)
    at oracle.ide.net.JarIndex.openInputStream(JarIndex.java:578)
    at oracle.ide.net.JarURLFileSystemHelper.openInputStream(JarURLFileSystemHelper.java:381)
    at oracle.ide.net.URLFileSystem.openInputStream(URLFileSystem.java:1321)
    at oracle.ideimpl.jsr198.VirtualFileSystemHelperImpl.openInputStream(VirtualFileSystemHelperImpl.java:170)
    at javax.ide.net.VirtualFileSystem.openInputStream(VirtualFileSystem.java:1239)
    at javax.ide.extension.spi.JARExtensionSource.getInputStream(JARExtensionSource.java:123)
    at javax.ide.extension.spi.DependencyTree.loadMinimal(DependencyTree.java:105)
    at javax.ide.extension.spi.DependencyTree.buildTree(DependencyTree.java:176)
    at javax.ide.extension.ExtensionRegistry.loadExtensions(ExtensionRegistry.java:155)
    at oracle.ideimpl.extension.ExtensionManagerImpl.loadExtensions(ExtensionManagerImpl.java:510)
    at javax.ide.extension.ExtensionRegistry.initialize(ExtensionRegistry.java:381)
    at oracle.ideimpl.extension.ExtensionManagerImpl.initialize(ExtensionManagerImpl.java:954)
    at javax.ide.Service.getService(Service.java:68)
    at javax.ide.extension.ExtensionRegistry.getExtensionRegistry(ExtensionRegistry.java:400)
    at oracle.ide.ExtensionRegistry.getExtensionRegistry(ExtensionRegistry.java:191)
    at oracle.ide.IdeCore.startupImpl(IdeCore.java:1385)
    at oracle.ide.Ide.startup(Ide.java:703)
    at oracle.ideimpl.DefaultIdeStarter.startIde(DefaultIdeStarter.java:35)
    at oracle.ideimpl.Main.start(Main.java:184)
    at oracle.ideimpl.Main.main(Main.java:146)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.ide.boot.PCLMain.callMain(PCLMain.java:62)
    at oracle.ide.boot.PCLMain.main(PCLMain.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.classloader.util.MainClass.invoke(MainClass.java:128)
    at oracle.ide.boot.IdeLauncher.bootClassLoadersAndMain(IdeLauncher.java:189)
    at oracle.ide.boot.IdeLauncher.launchImpl(IdeLauncher.java:89)
    at oracle.ide.boot.IdeLauncher.launch(IdeLauncher.java:65)
    at oracle.ide.boot.IdeLauncher.main(IdeLauncher.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.ide.boot.Launcher.invokeMain(Launcher.java:713)
    at oracle.ide.boot.Launcher.launchImpl(Launcher.java:115)
    at oracle.ide.boot.Launcher.launch(Launcher.java:68)
    at oracle.ide.boot.Launcher.main(Launcher.java:57)
    java.io.FileNotFoundException: file:/C:/JDeveloper/EarHcmAnalytics.ear/APP-INF/lib/SvcBenefitsCoreRelationService_Common
    .jar!/meta-inf/extension.xml
    at oracle.ide.net.JarIndex.getLOCFromHash(JarIndex.java:1259)
    at oracle.ide.net.JarIndex.getLOC(JarIndex.java:1164)
    at oracle.ide.net.JarIndex.access$1000(JarIndex.java:62)
    at oracle.ide.net.JarIndex$12.run(JarIndex.java:583)
    at oracle.ide.net.JarIndex$12.run(JarIndex.java:579)
    at oracle.ide.net.JarIndex.runLocked(JarIndex.java:1565)
    at oracle.ide.net.JarIndex.run(JarIndex.java:1472)
    at oracle.ide.net.JarIndex.openInputStream(JarIndex.java:578)
    at oracle.ide.net.JarURLFileSystemHelper.openInputStream(JarURLFileSystemHelper.java:381)
    at oracle.ide.net.URLFileSystem.openInputStream(URLFileSystem.java:1321)
    at oracle.ideimpl.jsr198.VirtualFileSystemHelperImpl.openInputStream(VirtualFileSystemHelperImpl.java:170)
    at javax.ide.net.VirtualFileSystem.openInputStream(VirtualFileSystem.java:1239)
    at javax.ide.extension.spi.JARExtensionSource.getInputStream(JARExtensionSource.java:123)
    at javax.ide.extension.spi.DependencyTree.loadMinimal(DependencyTree.java:105)
    at javax.ide.extension.spi.DependencyTree.buildTree(DependencyTree.java:176)
    at javax.ide.extension.ExtensionRegistry.loadExtensions(ExtensionRegistry.java:155)
    at oracle.ideimpl.extension.ExtensionManagerImpl.loadExtensions(ExtensionManagerImpl.java:510)
    at javax.ide.extension.ExtensionRegistry.initialize(ExtensionRegistry.java:381)
    at oracle.ideimpl.extension.ExtensionManagerImpl.initialize(ExtensionManagerImpl.java:954)
    at javax.ide.Service.getService(Service.java:68)
    at javax.ide.extension.ExtensionRegistry.getExtensionRegistry(ExtensionRegistry.java:400)
    at oracle.ide.ExtensionRegistry.getExtensionRegistry(ExtensionRegistry.java:191)
    at oracle.ide.IdeCore.startupImpl(IdeCore.java:1385)
    at oracle.ide.Ide.startup(Ide.java:703)
    at oracle.ideimpl.DefaultIdeStarter.startIde(DefaultIdeStarter.java:35)
    at oracle.ideimpl.Main.start(Main.java:184)
    at oracle.ideimpl.Main.main(Main.java:146)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.ide.boot.PCLMain.callMain(PCLMain.java:62)
    at oracle.ide.boot.PCLMain.main(PCLMain.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.classloader.util.MainClass.invoke(MainClass.java:128)
    at oracle.ide.boot.IdeLauncher.bootClassLoadersAndMain(IdeLauncher.java:189)
    at oracle.ide.boot.IdeLauncher.launchImpl(IdeLauncher.java:89)
    at oracle.ide.boot.IdeLauncher.launch(IdeLauncher.java:65)
    at oracle.ide.boot.IdeLauncher.main(IdeLauncher.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.ide.boot.Launcher.invokeMain(Launcher.java:713)
    at oracle.ide.boot.Launcher.launchImpl(Launcher.java:115)
    at oracle.ide.boot.Launcher.launch(Launcher.java:68)
    at oracle.ide.boot.Launcher.main(Launcher.java:57)
    Mar 22, 2013 8:48:21 AM oracle.security.jps.internal.common.util.StrictValidationEventHandler handleEvent
    WARNING: Failed to validate the xml content. SchemaLocation: schemaLocation value = 'http://xmlns.oracle.com/oracleas/sc
    hema/11/jps-config-11_1.xsd' must have even number of URI's. Location: unavailable.
    WLS ManagedService is not up running. Fall back to use system properties for configuration.
    Mar 22, 2013 8:48:24 AM oracle.adf.share.ADFContext isHighPerformanceEnvEnabled
    WARNING: Exception while querying ExalogicOptimizationsEnabled Attribute
    Mar 22, 2013 8:48:25 AM oracle.adf.share.ADFContext isHighPerformanceEnvEnabled
    WARNING: Exception while querying ExalogicOptimizationsEnabled Attribute
    Mar 22, 2013 8:48:27 AM oracle.adf.share.ADFContext getCurrent
    WARNING: Automatically initializing a DefaultContext for getCurrent.
    Caller should ensure that a DefaultContext is proper for this use.
    Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
    This message may be avoided by performing initADFContext before using getCurrent().
    For more information please enable logging for oracle.adf.share.ADFContext at FINEST level.

  • Activating 'change documents' for notification item class 015

    Dear Experts,
    Kindly help me in activating  'change documents' for notification item class 015.
    Thanks and Regards,
    R N Sabat

    Hi R N Sabat
    The creation of change documents for the classification has to be
    activated for every class type. Go please to the customization of the
    appropriate class type:
    Cross-Application Components
    -> Classification System
      -> Classes
       -> Maintain Object Types and Class Types
    You will find there a flag to activate change documents.
    As a precondition you'll have to activate the flag 'Multiple objects
    allowed' before. If you already have classified objects
    for this class type these classifications has to be converted before.
    For the conversion of already existing classifications use please report
    RCCLUKA2. It processes the conversion and sets the flag 'Multiple
    objects allowed'. Regard please the documentation of report RCCLUKA2.
    Thereafter you'll be able to activate change documents for this class
    type.
    Please check the 2 notes :
    80907 Setting the several objs.for each class type indctr
    65124 Classification Change Documents
    If you have any questions , please let me know .
    Enda.

  • Need docs. for IDoc & RFC

    Hi All,
    Please help me with documents of IDoc & RFC.
    Thanks in advance.
    Regards,
    Sree

    Hi,
    Data Creation in Idoc
    IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
    asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
    While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
    IDoc is a intermediate document to exchange data between two SAP Systems.
    *IDocs are structured ASCII files (or a virtual equivalent).
    *Electronic Interchange Document
    *They are the file format used by SAP R/3 to exchange data with foreign systems.
    *Data Is transmitted in ASCII format, i.e. human readable form
    *IDocs exchange messages
    *IDocs are used like classical interface files
    IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
    WE30 - you can create a IDOC type.
    An IDOC with data, will have to be triggered by the application that is trying to send out the data.
    FOr testing you can use WE19.
    How to create idoc?
    *WE30 - you can create a IDOC type
    For more information in details on the same along with the examples can be viewed on:
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
    http://www.sappoint.com/presentation.html
    http://www.allsaplinks.com/idoc_search.html
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://www.erpgenie.com/sapedi/idoc_abap.htm
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30 )
    Create Message Type ( WE81 )
    Assign Idoc Type to Message Type ( WE82 )
    Creating a Segment
    Go to transaction code WE31
    Enter the name for your segment type and click on the Create icon
    Type the short text
    Enter the variable names and data elements
    Save it and go back
    Go to Edit -> Set Release
    Follow steps to create more number of segments
    Create IDOC Type
    Go to transaction code WE30
    Enter the Object Name, select Basic type and click Create icon
    Select the create new option and enter a description for your basic IDOC type and press enter
    Select the IDOC Name and click Create icon
    The system prompts us to enter a segment type and its attributes
    Choose the appropriate values and press Enter
    The system transfers the name of the segment type to the IDOC editor.
    Follow these steps to add more number of segments to Parent or as Parent-child relation
    Save it and go back
    Go to Edit -> Set release
    Create Message Type
    Go to transaction code WE81
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter
    Click New Entries to create new Message Type
    Fill details
    Save it and go back
    Assign Message Type to IDoc Type
    Go to transaction code WE82
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.
    Click New Entries to create new Message Type.
    Fill details
    Save it and go back
    Check these out..
    Re: How to create IDOC
    Check below link. It will give the step by step procedure for IDOC creation.
    http://www.supinfo-projects.com/cn/2005/idocs_en/2/
    ALE/ IDOC
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
    go trough these links.
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
    1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
    2.IDOCs are independent of the sending and receiving systems.
    3.IDOCs are independent of the direction of data exchange.
    The two available process for IDOCs are
    Outbound Process
    Inbound Process
    AND There are basically two types of IDOCs.
    Basic IDOCs
    Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
    Extended IDOCs
    Extending the functionality by adding more segments to existing Basic IDOCs.
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30)
    Create Message Type ( WE81)
    Assign Idoc Type to Message Type ( WE82)
    imp links
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    www.sappoint.com
    --here u can find the ppts and basic seetings for ALE
    http://sappoint.com/presentation.html
    www.sapgenie.com
    http://www.sapgenie.com/ale/index.htm
    WE30 - you can create a IDOC type.
    An IDOC with data, will have to be triggered by the application that is trying to send out the data.
    Try this..Hope this will help.
    SAP ALE & IDOC<<<<
    Steps to configuration(Basis) >>
    1. Create Logical System (LS) for each applicable ALE-enabled client
    2. Link client to Logical System on the respective servers
    3. Create background user, to be used by ALE(with authorizaton for ALE postings)
    4. Create RFC Destinations(SM59)
    5. Ports in Idoc processing(WE21)
    6. Generate partner profiles for sending system
    The functional configuration(Tcode: SALE)
    • Create a Customer Distribution Model (CDM);
    • Add appropriate message types and filters to the CDM;
    • Generate outbound partner profiles;
    • Distribute the CDM to the receiving systems; and
    • Generate inbound partner profiles on each of the clients.
    Steps to customize a new IDoc >>>
    1. Define IDoc Segment (WE31)
    2. Convert Segments into an IDoc type (WE30)
    3. Create a Message Type (WE81)
    4. Create valid Combination of Message & IDoc type(WE82)
    5. Define Processing Code(WE41 for OUT / WE42 for IN)
    6. Define Partner Profile(WE20)
    Important Transaction Codes:
    SALE - IMG ALE Configuration root
    WE20 - Manually maintain partner profiles
    BD64 - Maintain customer distribution model
    BD71 - Distribute customer distribution model
    SM59 - Create RFC Destinations
    BDM5 - Consistency check (Transaction scenarios)
    BD82 - Generate Partner Profiles
    BD61 - Activate Change Pointers - Globally
    BD50 - Activate Change Pointer for Msg Type
    BD52 - Activate change pointer per change.doc object
    BD59 - Allocation object type -> IDOC type
    BD56 - Maintain IDOC Segment Filters
    BD53 - Reduction of Message Types
    BD21 - Select Change Pointer
    BD87 - Status Monitor for ALE Messages
    BDM5 - Consistency check (Transaction scenarios)
    BD62 - Define rules
    BD79 - Maintain rules
    BD55 - Defining settings for IDoc conversion
    WEDI - ALE IDoc Administration
    WE21 - Ports in Idoc processing
    WE60 - IDoc documentation
    SARA - IDoc archiving (Object type IDOC)
    WE47 - IDoc status maintenance
    WE07 - IDoc statistics
    BALE - ALE Distribution Administration
    WE05 - IDoc overview
    BD87 - Inbound IDoc reprocessing
    BD88 - Outbound IDoc reprocessing
    BDM2 - IDoc Trace
    BDM7 - IDoc Audit Analysis
    BD21 - Create IDocs from change pointers
    SM58 - Schedule RFC Failures
    Basic config for Distributed data:
    BD64: Maintain a Distributed Model
    BD82: Generate Partner Profile
    BD64: Distribute the distribution Model
    Programs
    RBDMIDOC – Creating IDoc Type from Change Pointers
    RSEOUT00 – Process all selected IDocs (EDI)
    RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
    RSARFCEX - Execute Calls Not Yet Executed
    RBDMOIND - Status Conversion with Successful tRFC Execution
    RBDMANIN - Start error handling for non-posted IDocs
    RBDSTATE - Send Audit Confirmations
    FOr testing you can use WE19.
    RFC and BAPI:
    RFC is Remote Function Call - a function module, which can be called remotely from outside
    BAPI is also a Remote enabled function module but the difference between BAPI and RFC is in BAPI there is a bussiness object attached to it which calls SAP application internally.
    can you explain RFC and BAPI???
    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.
    RFC is the protocol used to call functions in an R/3 system by a caller external to R/3 or to call programs external to R/3 from an R/3 system. Functions can only be called via RFC, if they are tagged as RFC functions in the SAP development workbench. They are then called RFC function modules. BAPIs are complete sets of (BAPI) function modules that model a business application.
    RFC is the protocol used by SAP for remote communication, that is, for communications between remote independent systems.RFC is used for communications between two independent SAP systems, or for communications between an SAP system and a non-SAP system, such as an external application. It can also be used for communications between modules on the same system.Using the RFC interfaces you can extend the functionality of R/3 applications from an external program.
    An R/3 system also contains Business Application Programming Interfaces (also called Business APIs, or BAPIs), which provide a programming interface to business objects. BAPIs are a set of methods for working with and manipulating SAP business objects.Internally, BAPIs are implemented as function modules stored in the R/3 Function Builder. Each BAPI has an equivalent internally-named function module. However, you should use the BAPI and not the function module behind it, because the BAPI provides a stable, object-oriented view of R/3 applications and data. The internal function modules or even the fact that the BAPIs are implemented as function modules are not guaranteed to remain the same in future releases of R/3.
    BAPI stands for Business Application Programming Interface.
    It is a library of functions that are released to the public
    as an interface into an existing SAP system from an external
    system.
    RFC is the protocol used to call functions in an R/3 system
    by a caller external to R/3 or to call programs external to
    R/3 from an R/3 system.
    Functions can only be called via RFC, if they are tagged as
    RFC functions in the SAP development workbench. They are
    then called RFC function modules. BAPIs are complete sets of
    (BAPI) function modules that model a business application.
    When you are familiar with web developments: RFC can be
    compared to HTTP and BAPIs are CGI applications.
    In other words: A BAPI function is a function module that
    can be called remotely using the RFC technology.
    RFC and BAPIs are remote enabled function modules. They are practicly the same. A BAPI is one step further as it usually is a self contained business function, such as "Create Purchase Order", or "Change Sales Document". BAPIs interface is very well defined and documented. BAPIs can be found in the BAPI browser via transaction BAPI. RFCs are just remote enabled function modules.
    BAPI stands for Business Application Programming Interface. It is a library of functions that are released to the public as an interface into an existing SAP system from an external system.
    RFC is the protocol used to call functions in an R/3 system by a caller external to R/3 or to call programs external to R/3 from an R/3 system. Functions can only be called via RFC, if they are tagged as RFC functions in the SAP development workbench.
    BAPIs are RFCs, the only difference is that BAPIs usually encapulate some complete business object. For example, creating a sales order, the BAPI would do all of the steps required to create a sales order.
    Regards,
    Shiva.

Maybe you are looking for