Does remove() deletes object?

I'm a self-studying student of java. I've been reading this forum for six months but it's my first time to post a question. This forum have been one of my teachers on java.
Please help me with my problem:
I created a synchornized map myMap with strings as the key and instance of MyClass as the values.
Map myMap = Collections.synchronizedMap(new HashMap());
I used the follwing statement to add values to myMap:
myMap.put(someString, new MyClass());
I used the following statement to remove an element from myMap:
myMap.remove(someString); // note: this removing is always successful
My problem is that I always get OutOfMemoryError and when I check my profiler, the instance of MyClass I created with myMap.put(someString, new MyClass()); is not garbage collected even I have already remove them from myMap.
My question is "does remove() also deletes object?" If it doesn't, please give me some tip on how to delete those objects so that I will no longer get OutOfMemoryError.
Thank you very much.

My question is "does remove() also deletes object?" If
it doesn't, please give me some tip on how to delete
those objects so that I will no longer get
OutOfMemoryError.No. It's about time for you to learn this: the Map doesn't contain any objects. It just contains references to objects. So when you call its remove() method, it removes the reference to the object from the Map. It doesn't "delete" the object itself. Nothing in Java will "delete" an object except for the garbage collector.
And the garbage collector will only remove an object from memory if there is nothing in your program that has a reference to it. The fact that you are running out of memory means that something else, other than the Map, still has references to all those objects. From the code you have posted it's impossible to tell what that might be, but there must be something.

Similar Messages

  • Discovery does not remove deleted objects

    Well,
    another issue with discoveries.
    We are running discoveries via datafile:
    The discovery DataSource script reads the datafile and creates the objects.
    That's very nice and works perfectly.
    Added entries in the datafile are discovered on the next discovery cycle.
    Unfortunately if you delete some entries from the datafile the discovery does not delete the objects in SCOM.
    Discovery's datasource writes a logfile and the deleted entries from the datafile are really no longer discovered
    ( I'm happy that reading files is a reliable function...).
    So for this cycle discovery data contains some objects less than before.
    But this new discovery does not lead to a deletion of no longer existing objects.
    As a workaround we put these superflues objects in maintenance mode.
    Would be gratefull if somebody has a good solution
    regards
    sebastian

    Please run "Remove-SCOMDisabledClassInstance” from the Operations Manager PowerShell
    console.
    You might get some errors after running this. Errors are about the ObjectIDs and RuleIDs, but you can ignore those errors and should keep running this command until it completes successfully.
    After completing successfully, the deleted objects will be removed the discovery and SCOM.
    Hope this helps.
    Thanks, S K Agrawal

  • What does "Removing unused objects" mean?

    Why do we continue to get this message when we try to save one specific document?

    This is optimization feature. PDF consist of various objects, some of which you see and others are purely for the PDF processing. Since there are many programs that create PDFs with varying degrees of expertise there maybe objects that are created "just in case needed" but not used. These objects can make the PDF very large so removing them is  beneficial. Sometimes these objects are created or duplicated when PDFs are combined and the embedded type fonts come to mind.

  • Re-importing FDM application from XML not removing deleted objects/records

    I migrated our FDM application from one environment to the next environment, by exporting the FDM application from the source environment to an XML file and subsequently importing the FDM application XML file in the target environment. This appeared to work fine.
    After some updates were then applied to the source environment, I re-exported the FDM application to an XML file, and re-imported this in the target environment.
    However, I have noticed that:
    - Import Scripts that were deleted in the source application still remain in the target application.
    - Mappings that were deleted in the source application still remain in the target application.
    - Extra mappings that were added in the source application have been added to the target application.
    So we now have duplicate mappings in several tables and scripts that should have been deleted in the target environment!
    It appears that the "Import" process is more of an update, rather than a drop and replace. There is no "replace" option on the import process. Can anyone please advise how one should correctly migrate an FDM application between environments? At present, it seems to me that the whole application will need to be completely dropped/deleted (including the SQL database/Oracle schema) and re-imported all over again from scratch.
    Surely there must be a better method?!!

    Here is Oracle's response for anyone else who requires further information on this:
    "Hello,
    The Import of the .xml files in terms of application creation is meant as a 'once only' event and a result is not meant as a method of post-create administration of the application. Any further imports will just add metadata to the application not replace or merge. If you wish to migrate an application via this method then you will need to get the source application into the state required for the migration then migrate this as a whole. Please note that this will only migrate the metadata of the application.
    The other method of migration as you have mentioned in the SR description, is via the database which will migrate the entire application with data.
    Please see KB article 806173.1 which gives instructions on the two methods, both of which are the only recommended methods. Please review the article to suit your requirements.
    Thanks"

  • Deleting objects from MDS

    Hi.
    I want to know if and how we can remove/delete objects already loaded into MDS.
    The context is old or obsolete objects which are not used any more but still sitting in MDS.
    Thanks and Regards,
    Jyotideep Singh (JD)

    Hi All,
    I have included my own folder in ${AIA_HOME}/AIAMetaData/AIAComponents and want to save it in MDS by running ANT command for UpdateMetadata.xml but it is not saving it. It is saving only files not directories. I have mentioned the UpdateMetaDataDP.xml file here. Please let me know how can I resolve this issue.
    Following are the steps I followed:
    1> I moved all the folders in ${AIA_HOME}/AIAMetaData/AIAComponents which I wanted to be there by FTP.
    2> I updated the locations in UpdateMetaData.xml file (Please see the content below).
    3>Ran ANT command for UpdateMetaData.xml file.
    4>Result was Build Successful.
    5> If you see the file below, in first UpdateMetaData tag, I want to save all the subdirectories and files under Manufacturing but it is not doing so.
    Same is the case in other tags.
    Kiindly suggest the steps as it is hampering our development work.
    ----------------------------------------------------------------------UpdateMetaDataDp.xml-----------------------------------------------------------------------
    <?xml version="1.0" standalone="yes"?>
    <!-- Do not modify the contents of this file manually -->
    <DeploymentPlan component="Metadata" version="3.0">
    <Configurations>
    <UpdateMetadata wlserver="fp" >
    <fileset dir="${AIA_HOME}/AIAMetaData">
    <include name="AIAComponents/EnterpriseBusinessServiceLibrary/Industry/Manufacturing/*.*" />
    </fileset>
    </UpdateMetadata>
    <UpdateMetadata wlserver="fp" >
    <fileset dir="${AIA_HOME}/AIAMetaData">
    <include name="AIAComponents/ApplicationObjectLibrary/*.*" />
    </fileset>
    </UpdateMetadata>
    <UpdateMetadata wlserver="fp" >
    <fileset dir="${AIA_HOME}/AIAMetaData">
    <include name="AIAComponents/EnterpriseObjectLibrary/Industry/Manufacturing/*.*" />
    </fileset>
    </UpdateMetadata>
    <UpdateMetadata wlserver="fp" >
    <fileset dir="${AIA_HOME}/AIAMetaData">
    <include name="AIAComponents/EnterpriseObjectLibrary/Infrastructure/OAGIS90/*.*" />
    </fileset>
    </UpdateMetadata>
    <UpdateMetadata wlserver="fp" >
    <fileset dir="${AIA_HOME}/AIAMetaData">
    <include name="AIAComponents/EnterpriseObjectLibrary/Infrastructure/Custom/V1/CustomMeta.xsd" />
    </fileset>
    </UpdateMetadata>
    </Configurations>
    </DeploymentPlan>
    Thanks,
    Dhiraj Mishra

  • TS3899 My ipad does not communicate with iphone on one of my email accounts and will not remove deleted emails that are done on the iphone and vice versa, what setting should be changed?

    My ipad does not communicate with my iphone on one of my email accounts and will not remove deleted emails that are done on the iphone and vice versa, what setting needs to be changed?

    It's my understanding that an iPhone can only sync with one computer. You need to choose one computer. Sounds like it syncs at work, but not at home. If you want to just sync it at home, then you have to make sure the home computer has all the info that you want on it, like music etc. Then you have to deauthorize the work computer for it to sync at home. When you connect it will ask if you want to set up as a new iPhone or restore from backup. If you don't have a backup on the home computer then either way you will be wiped clean. So any photos, contacts, notes etc you have will be erased. You would need to backup or copy your photos from your iPhone. When you connect it to your home computer, it will give you that popup message to open your iPhone files. Then you can copy those photos and save them onto your computer and sync them back in through iTunes.
    For your contacts, do you use any type of address book? If so you'll want to back that up and then transfer to your home computer. For notes, you can just email those to yourself and then save that email. I use MobileMe so the contacts issue is easily resolved.

  • Please i want to remove the old version of itune, the new version does not delete it for some reason , what i should do?

    please i want to remove the old version of itune, the new version does not delete it for some reason , what i should do?

    See https://support.mozilla.org/en-US/kb/firefox-no-longer-works-mac-os-10-4-or-powerpc
    Since you have a Intel Mac, if you can upgrade to OSX 10.5.x then you may be able to use more current releases.
    jscher2000, You should link to http://www.mozilla.org/en-US/firefox/all-older.html for 3.6.28 since the ftp is not mirrored.

  • MAC OSX 10.5.8 and 2TB Time Machine would not back up. Saw discussion  that suggested you change name without apostrophes etc. Went into Time Machine and did a manula backup without a name and it appears to be backing up now. Does this remove delete the o

    MAC OSX 10.5.8 and 2TB Time Machine would not back up. Saw discussion  that suggested you change name without apostrophes etc. Went into Time Machine and did a manula backup without a name and it appears to be backing up now. Does this remove delete the old backup's ?

    Does this remove delete the old backup's ?
    No, they are all just fine.

  • When synchronization does not remove deleted programs

    Sorry, translating from Russian by Google.
    I have a problem appeared. before that it was Itunes 10 + iphone, it was no problem. When you remove programs from your computer when you sync itunes asked what to do with this program for iPhone. Switched to Mac, itunes 11, the entire base endured logged in, check in the program is the "Automatically ...", New programs downloaded, but if I remove the poppy program, after synchronization, it stays on the iPhone. What to do? This is very inconvenient.

    Please run "Remove-SCOMDisabledClassInstance” from the Operations Manager PowerShell
    console.
    You might get some errors after running this. Errors are about the ObjectIDs and RuleIDs, but you can ignore those errors and should keep running this command until it completes successfully.
    After completing successfully, the deleted objects will be removed the discovery and SCOM.
    Hope this helps.
    Thanks, S K Agrawal

  • HT1391 How does one delete apps or files from iCloud Permanently so I may re-download without retrieving existing cloud file?for example the U2 Marketing fast , an Album I have no interest in...is now in my Cloud.. How can I remove this File from iPhone &

    How does one delete apps or files from iCloud Permanently so I may re-download without retrieving existing cloud file?for example the U2 Marketing fast , an Album I have no interest in...is now in my Cloud.. How can I remove this File from iPhone & cloud

    Hey there Matt.dvs1,
    Although there is not a way to remove past purchases from your iTunes account completely, you can hide them so that you don't have to see them if you don't want to. This article will help you do that:
    iTunes Store: Hiding and unhiding purchases - Apple Support
    Hide your purchases
    Open iTunes on your Mac or PC.
    From the Store menu, choose Store > Sign In, and then enter your Apple ID and password.
    Go to the iTunes Store.
    Click Purchased from the Quick Links section on the right side of the iTunes Store.
    Choose a content type by clicking Music, Movies, TV Shows, Apps, or Books from the top of the window.
    A list of your purchased items for the content type you are viewing will appear. Mouse over the item you want to hide until an X appears its top-left corner.
    A confirmation dialog will appear once you click the X.
    Thank you for using Apple Support Communities.
    All the best,
    Sterling

  • ArrayList problem ....i can remove my object from my arrayList

    hi all, i am going to remove a object from my array by using arrayList.However, it can`t work properly and did nth for me..i don`t know why...could anyone give me some suggestion and show me what i did wrong on my code ....i stated more detail next to my code...plesae help...
    public class MusicCd
         private String musicCdsTitle;
            private int yearOfRelease;
         public MusicCd()
              musicCdsTitle = "";
              yearOfRelease = 1900;
         public MusicCd(String newMusicCdsTitle)
              musicCdsTitle = newMusicCdsTitle;
              //yearOfRelease = newYearOfRelease;
         public MusicCd(String newMusicCdsTitle, int newYearOfRelease)
              musicCdsTitle = newMusicCdsTitle;
              yearOfRelease = newYearOfRelease;
         public String getTitle()
              return musicCdsTitle;
         public int getYearOfRelease()
              return yearOfRelease;
         public void setTitle(String newMusicCdsTitle)
              musicCdsTitle = newMusicCdsTitle;
         public void setYearOfRelease(int newYearOfRelease)
              yearOfRelease = newYearOfRelease;
         public boolean equalsName(MusicCd otherCd)
              if(otherCd == null)
                   return false;
              else
                   return (musicCdsTitle.equals(otherCd.musicCdsTitle));
         public String toString()
              return("Music Cd`s Title: " + musicCdsTitle + "\t"
                     + "Year of release: " + yearOfRelease + "\t");
    import java.util.ArrayList;
    import java.io.*;
    public class MusicCdStore
       ArrayList<MusicCd> MusicCdList;
       public void insertCd()
            MusicCdList = new ArrayList<MusicCd>( ); 
            readOperation theRo = new readOperation();
            MusicCd theCd;
            int muiseCdsYearOfRelease;
            String muiseCdsTitle;
              while(true)
                    String continueInsertCd = "Y";
                   do
                        muiseCdsTitle = theRo.readString("Please enter your CD`s title : ");
                        muiseCdsYearOfRelease = theRo.readInt("Please enter your CD`s year of release : ");
                        MusicCdList.add(new MusicCd(muiseCdsTitle, muiseCdsYearOfRelease));
                        MusicCdList.trimToSize();
                        continueInsertCd = theRo.readString("Do you have another Cd ? (Y/N) : ");
                   }while(continueInsertCd.equals("Y") || continueInsertCd.equals("y") );
                   if(continueInsertCd.equals("N") || continueInsertCd.equals("n"));
                                                    //MusicCdList.add(new MusicCd(muiseCdsTitle, muiseCdsYearOfRelease));                              
                                  break;
                      //System.out.println("You `ve an invalid input " + continueInsertCd + " Please enter (Y/N) only!!");
       public void displayAllCd()
                    System.out.println("\nOur CD collection is: \n" );
              System.out.println(toString());
       public String toString( )
            String result= " ";
            for( MusicCd tempCd : MusicCdList)
                 result += tempCd.toString() + "\n";
            return result;
       public void searchingMusicCd()
            readOperation theRo = new readOperation();
            String keyword = theRo.readString("Enter a CD `s Title you are going to search : ") ;
            ArrayList<MusicCd> results = searchForTitle(keyword );
              System.out.println("The search results for " + keyword + " are:" );
              for(MusicCd tempCd : results)
                   System.out.println( tempCd.toString() );
       //encapsulate the A
       public void removeCd()
            readOperation theRo = new readOperation();
            String keyword = theRo.readString("Please enter CD `s title you are going to remove : ") ;
            ArrayList<MusicCd> removeMusicCdResult = new ArrayList<MusicCd>();
                  System.out.println("The CD that you just removed  is " + keyword );
              for(MusicCd tempCd : removeMusicCdResult)
                   System.out.println( tempCd.toString() );
       //problem occurs here : i am so confused of how to remove the exactly stuff from my arrayList
       //pls help
       private ArrayList<MusicCd> removeCdForTitle(String removeCdsTitle)
             MusicCd tempMusicCd = new MusicCd();
             tempMusicCd.setTitle(removeCdsTitle);
            // tempMusicCd.setTitle(removeCdsTitle);
            //tempMusicCd.getTitle() = removeCdsTitle;
            ArrayList<MusicCd> removeMusicCdResult = new ArrayList<MusicCd>();
            for(MusicCd currentMusicCd : MusicCdList)
                 if((currentMusicCd.getTitle()).equals(tempMusicCd.getTitle()))
                     // removeMusicCdResult.remove(currentMusicCd);
                         MusicCdList.remove(currentMusicCd);
            removeMusicCdResult.trimToSize();
            return removeMusicCdResult;
       private ArrayList<MusicCd> searchForTitle(String searchString)
            ArrayList<MusicCd> searchResult = new ArrayList<MusicCd>();
            for(MusicCd currentMusicCd : MusicCdList)
                 if((currentMusicCd.getTitle()).indexOf(searchString) != -1)
                      searchResult.add(currentMusicCd);
            searchResult.trimToSize();
            return searchResult;
    import java.util.*;
    public class MusicCdStoreEngine{
         public static void main(String[] args)
              MusicCdStore mcs = new MusicCdStore( );
              mcs.insertCd();
              //display the Cd that you just insert
              mcs.displayAllCd();
              mcs.removeCd();
              mcs.displayAllCd();
              mcs.searchingMusicCd();
    //Acutally result
    //Please enter your CD`s title : ivan
    //Please enter your CD`s year of release : 1992
    //Do you have another Cd ? (Y/N) : y
    //Please enter your CD`s title : hero
    //Please enter your CD`s year of release : 1992
    //Do you have another Cd ? (Y/N) : n
    //Our CD collection is:
    // Music Cd`s Title: ivan     Year of release: 1992
    //Music Cd`s Title: hero     Year of release: 1992     
    //Please enter CD `s title you are going to remove : hero
    //The CD that you just removed  is hero
    //Our CD collection is:
    // Music Cd`s Title: ivan     Year of release: 1992
    //Music Cd`s Title: hero     Year of release: 1992     
    //Enter a CD `s Title you are going to search : hero
    //The search results for hero are:
    //Music Cd`s Title: hero     Year of release: 1992
    //>Exit code: 0
    //Expected result
    //Please enter your CD`s title : ivan
    //Please enter your CD`s year of release : 1992
    //Do you have another Cd ? (Y/N) : y
    //Please enter your CD`s title : hero
    //Please enter your CD`s year of release : 1992
    //Do you have another Cd ? (Y/N) : n
    //Our CD collection is:
    // Music Cd`s Title: ivan     Year of release: 1992
    //Music Cd`s Title: hero     Year of release: 1992     
    //Please enter CD `s title you are going to remove : hero
    //The CD that you just removed  is hero
    //Our CD collection is:
    // Music Cd`s Title: ivan     Year of release: 1992
    //Music Cd`s Title: hero     Year of release: 1992<<-- it is not supposed to display cos i have deleted it from from array     
    //Enter a CD `s Title you are going to search : hero
    //The search results for hero are:
    //Music Cd`s Title: hero     Year of release: 1992<<-- i should have get this reuslt...cos it is already delete from my array
    //>Exit code: 0
    import java.util.*;
    public class readOperation{
         public String readString(String userInstruction)
              String aString = null;
              try
                         Scanner scan = new Scanner(System.in);
                   System.out.print(userInstruction);
                   aString = scan.nextLine();
              catch (NoSuchElementException e)
                   //if no line was found
                   System.out.println("\nNoSuchElementException error occurred (no line was found) " + e);
              catch (IllegalStateException e)
                   // if this scanner is closed
                   System.out.println("\nIllegalStateException error occurred (scanner is closed)" + e);
              return aString;
         public char readTheFirstChar(String userInstruction)
              char aChar = ' ';
              String strSelection = null;
              try
                   //char charSelection;
                         Scanner scan = new Scanner(System.in);
                   System.out.print(userInstruction);
                   strSelection = scan.next();
                   aChar =  strSelection.charAt(0);
              catch (NoSuchElementException e)
                   //if no line was found
                   System.out.println("\nNoSuchElementException error occurred (no line was found) " + e);
              catch (IllegalStateException e)
                   // if this scanner is closed
                   System.out.println("\nIllegalStateException error occurred (scanner is closed)" + e);
              return aChar;
         public int readInt(String userInstruction) {
              int aInt = 0;
              try {
                   Scanner scan = new Scanner(System.in);
                   System.out.print(userInstruction);
                   aInt = scan.nextInt();
              } catch (InputMismatchException e) {
                   System.out.println("\nInputMismatchException error occurred (the next token does not match the Integer regular expression, or is out of range) " + e);
              } catch (NoSuchElementException e) {
                   System.out.println("\nNoSuchElementException error occurred (input is exhausted)" + e);
              } catch (IllegalStateException e) {
                   System.out.println("\nIllegalStateException error occurred (scanner is closed)" + e);
              return aInt;
    }

    //problem occurs hereI'm not sure that the problem does occur within the
    removeCdForTitle() method.
    Your main() method calls removeCd() which obtains the title of
    the CD to be removed (keyword). But remoceCd() never
    calls removeCdForTitle(), so nothing is ever removed.

  • Is there a way to create a transport to mass-delete objects from another system?

    I am facing a unique issue where I have to generate a transport that will successfully import into an external SAP system and delete over 1,000 objects (reports, data elements, UI elements, transactions, function groups, the whole lot...). All of these objects can be easily looked up because they are in the same namespace.
    Essentially, I need to remove all objects with a given namespace via transport.
    Is there any way to do this other than manually deleting all of the objects in the source system and adding them tediously to a single workbench request? This would take hours if not days to do manually, especially due to dependency issues.
    Thanks for any and all constructive feedback!

    Hi,
    I did a quick test: created a new package (development class) with one table, one function group using the table in global data definitions containing one function module referring to the table in interface, and one program that's calling the function module and using table in data definitions. Released the transport to Q.
    Then, in the second our dev system, I created the same package and TADIRs for the three objects manually (SM30); released transport to Q of that system. Then I manually created transport containing all the three objects, the export log looked like this:
    TADIRs in second dev system were gone after export.
    Then I added transport to the first development system and imported
    - the objects were gone (including their TADIRs) leaving the empty package.
    In retrospect, I should have deleted the empty package in second system so it's cleaned up by the same transport.
    If you do have access to "clean" system, doing via ABAP the steps I did manually should not be too much of a challenge.
    I may have simply gotten lucky and if this works with all objects, for all kinds of dependencies, remains to be seen... though I was until now under impression that import itself doesn't check any dependencies at all... What kind of messages were you getting?
    cheers
    Janis

  • Deleted objects and nstombstone objectclass

    Hi,
    When i delete objects in DS5.0 with ldapdelete, DS5.0 create an objectclass nstombstone for all the deleted objects.
    I can see them with ldapsearch ... (objectclass=nstombstone). Then, the size of the file id2entry.db3 increase.
    I use a multi master replication between two servers and the id2entry's file sizes increases on the two server.
    Why does DS5.0 create this objects and how can i delete them ?
    Thank you for you help,
    Guillaume

    Directory Server 5.0 provides support for MultiMaster Replication. As changes can be done on 2 masters as the same time, the server may have to resolve some conflicts and therefore must maintain an historic of all changes that occured. The way to keep track of deleted entries is by marking them with a special objectclass and making sure they are not returned in regular searches (actually the only way to retrieve them is by specifying a filter objectclass=nsTombstone).
    The server does some cleanup on a regular basis and has a thread that removes very old deleted entries. By default, these entries are removed after a week. You can reduce this age by changing the nsds5ReplicaPurgeDelay attribute value but note that this will also reduce the accepted delay of broken replication (and the age of a restored backup).
    The result of setting a too small value would be that in case of problem, all the consumers will need to be re-initialized.
    Regards,
    Ludovic.

  • LSO Master Repository - deleting objects

    Hello,
    We have been asked by our Basis team whether or not we can remove (delete) obsolete/old records from our LSO master repository to free up space on the Unix server.
    I see in the LSOAE help that "you can delete empty storage folders, object reservations, and invalid objects in the master respository," and "you can delete local objects in the local repository."  I get the following error message when I try to delete an object in the master repository (via the Repository Explorer): "You are not allowed to delete an object that has been checked in."  Would be nice if we could delete out old test items in the sandbox/development spaces.
    Does anyone know of a way to manage size in the LSO master repository?  We have increased the space on the Unix server but wondering if we need to continue to do that going forward.
    thanks in advance,
    Connie Lyndon

    The error messages seems to suggest that it thinks your R/3 backend is still at the 600 release level, not 602.  So I would start with double checking all steps relevant to implementing Enhancement Pack 2 to make sure no steps were skipped which relate to the backend.
    I haven't done this yet, so can't provide any more explicit advice.

  • Hide or remove delete button - ESS personal data iView

    Hi, regarding for example ESS(50.4) personal data overview iView. 
    How to hide or remove delete button in the personal data overview iView screen(I know that this can be done on the ITS server side (web studio), but I want to do this in R3)
    /Best Regards
    Patrick

    Achim was right on. Edit/Change the Internet Service in R/3. A few things to consider though....
    (1) if using the original service, you may want to create a copy of theme 99 into your own theme (any number will do...99 is just the default theme). If doing so, be sure to change the service's service file (yeh, I always loved that about SAP's naming) to point the ~theme paramter to your new theme.
    or
    (2) Copy the entire service into your own "Z" service. Then modify the templates as you wish. You will need to point the iView to this "Z" service too.
    Also, it is best to do it via SE80 vs. file level because then it will be part of a transport and follow the correct path through the landscape.
    Now, if you really want to go back to R/3....find the function module or program the transaction code for your service actually calls, make a "Z" version of it, modify it, create your own "Z" t-code to call it, and THEN modify the internet service's service file (either the original SAP one or a custom version) to call your new "Z" t-code. Lot of work...yes, I know....but that's the way it's done if you gotta get back down to the ABAP level.
    Hope this helps!
    Message was edited by: Christopher Solomon

Maybe you are looking for