Does IDOC extension has impact on existing applications/programs?

Hello,
In my in this case all is custom objects, FMs, IDOC, report.
We have already there is a IDOC creation/populating (1)interface report program and we also have a this IDOC posting to appilication (2)FM in our system.
Now, i need to add a additional new custom segment as a child segment to the exsting parent custom segment.
Actually, here the parent segment is also a child segment to a existing grand-parent segment.
Pls. let me know is my change (addiing a new child segment) does have any impact on existing above (1)&(2) items?
Thank you

Raju,
I do not know the existing IDOC structure
I do not know the existing creation/populating interface report program
I do not know the existing IDOC posting to application FM
I do not know your system
so it is almost pure speculation.
If the creation/populating interface report program uses the segment structure definition, it might expect data for the new segment. If the new segment is not defined as obligatory, this should do no harm.
If the posting to application FM reads data in the new segment, it will probably not know how to handle this situation.  The well formed program will raise an error and stop processing. If the FM detects the new structure in IDOC hierarchy definition and handling of the segment is not defined, same thing may happen - or not.
In your case, tests and program analysis will help more than speculative questions and respective answers.
Regards,
Clemens

Similar Messages

  • Error when trying to install the adobe creative suite exit code 39.I get the following error message Directory does not exist : /Applications/Utilities/Adobe Application Manager/DECore/DE6/resources/uninstall/Uninstall Product.app

    i have run the adobe cleaner , repaired disk permission and also tried to download and install several times.
    this is a mac osx running the yoshmite
    please help
    this is the error
    Exit Code: 39
    Please see specific errors below for troubleshooting. For example,  ERROR: DW042 ...
    -------------------------------------- Summary --------------------------------------
    - 0 fatal error(s), 2 error(s)
    ERROR: Directory does not exist : /Applications/Utilities/Adobe Application Manager/DECore/DE6/resources/uninstall/Uninstall Product.app
    ERROR: DW042: ARP Entry couldn't be created for language : en_US

    Oliviat14nov does /Applications/Utilities/Adobe Application Manager/DECore/DE6/resources/uninstall exist on your computer? 

  • HT5642 If i install or update this ios6.1, does my existing applications will be deleted?

    Pls answer me: If i install or update this ios6.1, does my existing applications will be deleted?

    As provided, no. However, standard computer practice BEFORE you do any kind of update: Backup, make sure ALL of your content is readily available, on your computer, BEFORE you update. Do that, & if something goes wrong(rare), you're in a position to restore all of your data.

  • Does exact match has priority over extension mapping?

    Hi, i'm using extension mapping in my web application. So one
    servlet is responsible for all requests with extension 'do'.
    Now i would like to have one special request served by another
    servlet. What's the best way to implement this? I'm thinking
    about setting up an exact match mapping for the special request
    and an extension mapping for the rest. There's only one thing
    i worry about: if i use the 'do' extension in my special request
    (for consistency reasons), which servlet will handle this request?
    Thanks in advance for your comments.
    Markus

    A exact match on path will override the extension mappng. Here's the rules from the servlet 2.3 spec (also contains examples)..
    1. The container will try to find an exact match of the path of the request to the
    path of the servlet. A successful match selects the servlet.
    2. The container will recursively try to match the longest path-prefix: This is done
    by stepping down the path tree a directory at a time, using the �/� character as
    a path separator. The longest match determines the servlet selected.
    3. If the last segment in the URL path contains an extension (e.g. .jsp), the servlet
    container will try to match a servlet that handles requests for the extension.
    An extension is defined as the part of the last segment after the last �.� character.
    4. If neither of the previous three rules result in a servlet match, the container will
    attempt to serve content appropriate for the resource requested. If a "default"
    servlet is defined for the application, it will be used.
    The container must use case-sensitive string comparisons for matching.

  • Regarding IDOC Extension

    Hi Experts,
    I need to Extend IDOC <b>COND_A03</b> with 5 Custom feilds. This Idoc will be populating 10 tables like A932,A933,A34,A35,A36,A37....,.I need to extend in
    <b>IDOC_INPUT_COND_A</b> through exit CALL CUSTOMER FUNCTION '002'.
    Here the 3 feilds will be present in A932 table and there will be only 4 feilds in A933 table and 3 feilds will be present in A934 table and so on. I..e all the 5 custom  feilds will not be present in all the tables.
    How i need to build the logic so that when the data comes to that function module i need to populate only 3 feilds into A932 table and 4 feilds into A933 table and so on..
    How do i need to build the logic.., to post the data when the number  of fields differ from one table to the other.

    ALE FUNCTION MODULE ENHANCEMENTS
    Having extended the IDOC type to contain additional fields for an inbound or outbound application, you now want to enhance ALE function modules for populating the additional segment on the outbound or applying the additional segment data on the inbound application.
    The core working code for ALE processes for a given application area is always encapsulated in ABAP/4 function modules. These function modules are associated with such control information as message types and process codes. So the ALE process checks this control information and derives the name of the function module to invoke for that particular IDOC processing from certain database tables. These function modules contain objects known as customer functions, which can be considered SAP Enhanced user exits. A function module is called at a particular point during the processing of the main program or function module, and it can be used to influence data processing at that point by adding code to the customer function. The customer function behaves like a normal function module and has import and export parameters, tables (internal tables) statement, and exception processing. Unlike a conventional user exit, customer functions give you the ability to modify only data available to you by the function moduleâs parameters and internal tables. While most ALE/EDI function modules are supported by customer functions, there are ALE/EDI processes that still use conventional user exits. There are a few ways to determine which function module to enhance for a given message type/process code:
    • For master data distribution, from SALE go to Extensions -> Master data distribution -> Setup additional data for message types. Search for message type DEBMAS in this example. You see an entry for DEBMAS associated with function module MASTERIDOC_CREATE_SMD_DEBMAS. This data is stored on table TBDME. The function module names for all master data message types follow this pattern: MASTERIDOC_CREATE_SMD_messagetype. This function module calls another function module of name MASTERIDOC_CREATE_DEBMAS or MASTERIDOC_CREATE_messagetype. Search for the words customer function, and you find several hits that can be used to add code to the function module.
    • From WEDI got to Control -> Inbound process codes -> Inbound with ALE service -> Processing by function module (transaction WE42), or from WEDI go to Control -> Outbound process codes -> Outbound with ALE service -> With function module (transaction WE41). There will be function modules associated with the process codes. For inbound, the function modules usually follow this pattern: IDOC_INPUT_messagetype: for example, IDOC_INPUT_CHRMAS for inbound characteristics master.
    • Use transaction WE57 or from WEDI go to Development -> Message/Application Object. The entries list the function module, Business Object, message type, and IDOC type that are used for inbound ALE/EDI interfaces.
    Customer functions are not specific only to ALE and EDI but also to all programs/modules in SAP R/3. Customer function is a SAP enhancement component; the other two types are menu and screen enhancements.
    All customer function exits are maintained in SAP enhancements and are found by using transaction SMOD. After executing transaction SMOD, pull down (F4) on the enhancement name field, and execute again. This provides you with a list of all SAP enhancements available. SAP enhancements are grouped by development class pertaining to an application area. Choose Application development R/3 SD master data distribution for development class VSV to lead to a screen that lists VSV00001 as an enhancement (see Figure 5). Press Component +/- to display its function exit components. There are four possible components listed, all of which are function exits (and are function modules) that are called from the ALE function modules in the form Call Customer Function Î001â. This is a special occurrence of the ABAP statement Call. Go to item Exit_SAPLVV01_ 001, which you need to enhance for the Customer Master outbound example of an IDOC extension. In the ALE-function module MASTERIDOC_CREATE_DEBMAS, the statement CALL Customer Function 001 is translated in the background to call component EXIT_SAPLVV01_001. Although this function exit can be edited using transaction SE37, you will use a simpler approach.
    When you use SAP enhancements and their components, you manage them with an SAP object known as a project, which is like an envelope containing the selected enhancements and their components. A project can be used to control the execution of components and to transport them to other clients and instances in SAP. Basically, the process involves creating a project, including enhancements and components that are to be enhanced, editing the components, and then activating the project. The following process creates a project for our example Customer Master IDOC extension:
    • Execute transaction CMOD.
    • Enter name of project, say CSTMAST1.
    • Click on Create.
    • Enter a description of the project.
    • Save.
    • Click on SAP Enhancements.
    • Enter VSV00001 for Enhancement.
    • Save.
    Once youâve created the project, edit the function exit components and activate the project. Remember that the code in the function exit enhancement will execute only if the project is activated. In fact, this is a convenient SAP enhancements feature, whereby the work in progress (developing code in the customer function) will not affect users of that application. When the code is completed, the project can be activated so the enhanced functionality takes effect. It can also be deactivated for maintenance.
    As mentioned earlier, customer functions (function exits) are embedded in ALE function modules and can be used to influence the creation and modification of IDOC data on an outbound application or to post additional or modified IDOC data to an inbound R/3 application. Function exits are similar to regular function modules, with import/export parameters, tables (internal tables), and exceptions.
    The two important factors to consider while developing the customer function are:
    1. The point in the ALE function module where the function exit occurs
    2. The data made available by the customer function that can be modified or posted to the R/3 application, based on the direction.
    Because some function modules have several customer functions, it is critical to choose the function exit best suited for that particular enhancement. Do not attempt to perform activities that the function exit is not designed for. The importance of this point is illustrated by the following description of enhancing function modules for outbound and inbound ALE interfaces.
    Outbound interfaces. In an outbound ALE interface you use function exits (customer functions) to populate additional segments created by an IDOC extension or to modify the existing IDOC data segments as per business requirements. Previously, you identified that enhancement VSV00001 has a component EXIT_SAPLVV01_001 (function exit), which can be used for populating the additional data segment Z1SADRX that you created in the IDOC extension ZDEBMASX (IDOC type ZDEBMASZ, based on Basic IDOC type DEBMAS02). You also learned that the ALE function module that calls this function exit is MASTERIDOC_CREATE_DEBMAS, which has a statement Call Customer Function 001.
    Browse the function module MASTERIDOC_CREATE_DEBMAS using transaction SE37. You will find that this customer function is invoked for every segment of IDOC type DEBMAS02. In fact, the function exit is called soon after the creation of an existing segment has been populated with data and appended to the IDOC data table (internal table). Also, the function exit is exporting the message type, IDOC type, and the segment name and is importing the IDOC extension type. It is also passing the IDOC data internal table. This indicates that the ALE function module is allowing you to populate additional segments for every existing segment and modify the existing segmentâs data.
    Letâs write ABAP/4 code to accomplish the task of populating IDOC segment Z1SADRX with a contact personâs business address:
    • From SE37, display function module MASTERIDOC_CREATE_ DEBMAS.
    • Find Customer Function 001.
    • Double-click on 001.
    • The function EXIT_SAPLVV01_001 will be displayed.
    • Double-click on INCLUDE ZXVSVU01.
    • You will be asked to create a new include object. Proceed as desired.
    • Enter code (as in Listing 1).
    • Be sure to perform a main program check (Function Module -> Check -> main program) and extended program check (Function module -> Check -> Extended check).
    Now that you have extended the IDOC and enhanced the ALE function module based on the requirements for the contact personâs business address on the Customer Master, letâs test the interface. You should create a logical system and define a port for this interface. You should also configure the Customer Distribution Model to indicate that message type DEBMAS is being distributed to this logical system. The only difference in configuration between a regular outbound ALE interface and an enhanced one is the partner profile definition. While maintaining the outbound parameters of the partner profile, make sure the IDOC type is ZDEBMASZ. The fields for Basic IDOC type and extension type are automatically populated with DEBMAS02 and ZDEBMASX, respectively.
    To maintain the contact personâs business address of a customer:
    • Use transaction BD12 or from BALE go to Master Data ->Customer -> Send and send that Customer Master record by executing the transaction after filling in the relevant fields such as customer number, message type, and logical system.
    • Use transaction WE02 or WE05 to verify the IDOC created. You should see the new segment Z1SADRX populated with the correct data.
    With SAP releases below 4.5B, you cannot capture changes to business address through change pointers because a change document object is not available for capturing business address changes, and also earlier releases have not been configured to write change documents for a contact personâs business address. If you would like this functionality, you can either create change document objects, generate function modules to create change documents, and perform ALE configuration to tie it in, or make a cosmetic change to the contact person screen data while changing the contact personâs business address so that it gets captured as a change to the Customer Master. Subsequently, the ALE enhancement that you performed captures the contact personâs business address.
    Inbound interfaces. The process for enhancing inbound ALE interfaces is similar for outbound, with a few exceptions; specifically in the coding of customer functions (function exits) for the ALE/EDI function modules.
    The first step is to create an IDOC extension for the specific Basic IDOC type by adding new segments at the appropriate hierarchy level: that is, associated to the relevant existing segment. Populate the data fields on the new segments with application data by the translator or external system/program before importing them into the R/3 System. Then, find the ALE function module that is invoked by the inbound processing. By browsing through the code or reading the documentation on the function exit enhancements using the SMOD transaction, identify the function exit in which you should place your code. The technique used in the code to post the additional or modified IDOC data to the application can vary based on the application rules and requirements, the data available at that point in processing, and the application function modules available to update the application tables. It is important to search first for application modules that process the data and see if they can be called within the function exit. If the additional data in the extended segments in specific to a custom table or resides in nonkey fields of a single or small set of tables, you may be able to update it directly by SQL statements in the function exit. This approach should be carefully evaluated and is certainly not highly recommended.
    Another option is to use Call Transaction from within the function exit to process the additional data. For example, in the case of message type WMMBXY for inbound goods movements from a warehouse management system, the standard interface creates batches for materials, but does not update its characteristics. In such a case, you can use Call Transaction MSC1 to create the batch and assign characteristic values to it from within the function exit provided.
    regards,
    srinivas
    *reward for useful answers*</b>

  • Idoc extension

    Hi all,
    I have to do payment run so that the output is in the form of Idoc (PEXR2002).
    I need to enhance the idoc as well to include few customr specific fields.
    I dont know what is the procedure for finally getting a output as Idoc in We02.
    Please help

    Hi,
    If its triggering of idoc through "Change Pointers Activation", then the report RBDMIDOC populates the data and triggers the same. If it is through "Output type", then the report RSNAST00 popultes and triggers the idoc.
    The two reports i just mentioned are generic for all the idoc types. However, for each application, there are application specific reports to trigger the specif idoc.
    And all the idocs are triggered only when the application to which they are attached, does some functionality. For example, when you create a vendor, then idoc cosmas gets triggered. When you create a material , then idoc type MATMAS gets triggered. In the same way, the idoc type which you are extending ( or enhancing) has an application attached to it, which will populate the idoc. The triggering can either be immediate or by running the above mentioned reports. (The triggering methods also depend upon the partner profile configurations)
    Now, when these idocs are triggered through the reports (generic or application specific), they call standard customer exits. YOu need to find out the exits specific to the application. Every application, which has an idoc type attached to it, has a customer exit, which allows user to fill in the extra fields added as an extension. If you want, then i can send you the list of all the idoc types and the corresponding exits.
    Hope this cleared your understanding.
    Pls reward if useful.
    Revert in case of issues.
    Regards,
    Karan

  • Controlling an existing application via webservices

    Hi all,
    I just came across labview webservices whilst at one of the NI Tech symposiums in the UK last week and I want to use them for a specific application. However my initial playing hasn't worked very well! I want to know if I'm doing something wrong, or if what I'm trying to do isn't possible!
    We have an existing application which controls a piece of measurement kit. It has multiple moving axes and some data acquisition and automated measurements etc etc. The application is all based on queued state machines and event structures for UI etc. At the moment the system is controlled by a user next to the machine with a PC. For some of the measurement setup, it can be useful for the user to move around and view the system from different angles whilst positioning the moving axes. At the moment that means walking round the system, looking to see how the alignment is, jusdging what change needs to be made, going back to the pc, making the change walking round... you get the idea!
    What I wanted to do was to set up a webservice "interface" to the system giving fairly basic control of the positioning system. My plan was to write an intermediate VI which is opened by the user on the PC (via the existing application) to enable "remote" operation. This intermediate VI would then wait for the webservice vi to be called by the user on his/her mobile web enabled device and then pass instructions directly into the main applications Queue. The use of the intermediate means we don't have to re-write any of the main application and also gives a layer of security since the user has to manually call that VI from the main application. 
    In the ideal world that intermediate vi would be "event driven" i.e. it would either contain an event structure or Queue system and wait for the webservice to fire that event/queue (and send in instructions). However this is the bit that doesn't seem to work. I tried creating a user event within the intermediate vi and writing the reference to that event into a shared variable which the webservice could see, but that failed (apparently user events can't be written to shared variables?). Then I tried with a Queue, but nothing happened... I could of course have the intermediate vi just polling shared variables written by the webservice VI, but that doesn't sound great to me... 
    Does anyone have any thoughts on this? Is there a sensible way to "tack on" a webservice to an existing application? Other than network shared variables is there any other communication method that works between webservices and other VIs running? (I think this may be the key question)...
    Thanks in advance for your thoughts!
    Paul

    Getting data from your LabVIEW built web service over to your LabVIEW application is the trickies part of using LV web services because they run in seperate LabVIEW contexts.
    Since you are using an event based and queue based archtiecture, you are in a good position to add remote support in. This is an excellent architecture for extensibility.
    I can put forth 2 recommendations for you to try out. I agree with you that shared variables are a bad idea, they are lossy and would require you to add polling to your event driven architecture.
    1) TCP/IP
    You could open a TCP/IP port between the web service VI and your main application. I would recommend wrapping the TCP calls into a set of new API VIs that allows your application to block on a TCP request. For instance, you could create your own queue API that uses TCP under the hood to pass data. Your web service would use this new Queue API to put items into the queue, and your main app would then have another queued event handler to service items put into the queue. When this new queued event hanlder sees something on the queue, it could either fire user events in your main app's LV event handler, or just pass events over to your original queued state machine.
    2) VI Server
    create a simple VI that can invoke a user event on your main app's event handler, or can push something into your main app's queued state machine.  Then open and run this VI via VI Server from your web method.  This VI should just run once and exit, and all it does it pushes something into your state machine or queue. You can either have many of these VIs to match the specific events, or have one VI with a string on the front panel, then via VI server, put a value into that control from your web method. 
    I personally find the 2nd option the easiest to implement.
    Good luck.
    -Jared

  • More Lion issues - Throwing Console errors for non-existent application

    Again, with the bad side of Lion.
    I was receiving all kinds of console errors in Lion with TweetDeck and Adobe AIR apps so I de-installed these applications and removed them from the system. However, Apple's fantastic Lion Operating System still is complaining about them even though they are not to be found.
    In the console I am getting sandbox errors on locations and files that are non-existent. Below is a snapshot of the error messages, and the directory referred to:  /Users/kkathman/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast....  and the others DON'T EVEN EXIST!!
    How do I keep this from happening?  Why does the OS go after this when it's been removed?????
    8/20/11SaturdayAugust 5:30:14.113 PM    mdworker32    kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
    8/20/11SaturdayAugust 5:31:11.000 PM    kernel    nstat_lookup_entry failed: 2
    8/20/11SaturdayAugust 5:31:44.239 PM    com.apple.SecurityServer    Session 100071 created
    8/20/11SaturdayAugust 5:31:44.254 PM    com.apple.security.XPCKeychainSandboxCheck    Can't get sandbox fs extension for /Users/kkathman/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast.F9107117265DB7542C1A806C8DB837742CE14C21.1/ PrivateEncryptedDatak, status=-1 errno=No such file or directory ext=(null)
    8/20/11SaturdayAugust 5:31:44.254 PM    com.apple.security.XPCKeychainSandboxCheck    Can't get sandbox fs extension for /Users/kkathman/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast.F9107117265DB7542C1A806C8DB837742CE14C21.1/ lck~PrivateEncryptedDatak, status=-1 errno=No such file or directory ext=(null)
    8/20/11SaturdayAugust 5:31:44.254 PM    com.apple.security.XPCKeychainSandboxCheck    Can't get sandbox fs extension for /Users/kkathman/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast.F9107117265DB7542C1A806C8DB837742CE14C21.1/ .fl89CB8354, status=-1 errno=No such file or directory ext=(null)
    8/20/11SaturdayAugust 5:31:44.255 PM    com.apple.security.XPCKeychainSandboxCheck    Can't get sandbox fs extension for /Users/kkathman/Library/Application Support/Adobe/AIR/ELS/com.seesmic.desktop.client.D89F32799270693BEF34AAA36E9B26 32B59240FA.1/PrivateEncryptedDatak, status=-1 errno=No such file or directory ext=(null)
    8/20/11SaturdayAugust 5:31:44.255 PM    com.apple.security.XPCKeychainSandboxCheck    Can't get sandbox fs extension for /Users/kkathman/Library/Application Support/Adobe/AIR/ELS/com.seesmic.desktop.client.D89F32799270693BEF34AAA36E9B26 32B59240FA.1/lck~PrivateEncryptedDatak, status=-1 errno=No such file or directory ext=(null)
    8/20/11SaturdayAugust 5:31:44.255 PM    com.apple.security.XPCKeychainSandboxCheck    Can't get sandbox fs extension for /Users/kkathman/Library/Application Support/Adobe/AIR/ELS/com.seesmic.desktop.client.D89F32799270693BEF34AAA36E9B26 32B59240FA.1/.fl89CB8354, status=-1 errno=No such file or directory ext=(null)
    8/20/11SaturdayAugust 5:31:44.255 PM    com.apple.security.XPCKeychainSandboxCheck    Can't get sandbox fs extension for /Users/kkathman/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast.FFF259DC0CE2657847BBB4AFF0E62062EFC56543.1/ PrivateEncryptedDatak, status=-1 errno=No such file or directory ext=(null)
    8/20/11SaturdayAugust 5:31:44.255 PM    com.apple.security.XPCKeychainSandboxCheck    Can't get sandbox fs extension for /Users/kkathman/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast.FFF259DC0CE2657847BBB4AFF0E62062EFC56543.1/ lck~PrivateEncryptedDatak, status=-1 errno=No such file or directory ext=(null)
    8/20/11SaturdayAugust 5:31:44.255 PM    com.apple.security.XPCKeychainSandboxCheck    Can't get sandbox fs extension for /Users/kkathman/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast.FFF259DC0CE2657847BBB4AFF0E62062EFC56543.1/ .fl89CB8354, status=-1 errno=No such file or directory ext=(null)
    8/20/11SaturdayAugust 5:32:01.234 PM    Preview    snapshot of document took: 0.00030899 secs, calling unblockUserInteraction
    8/20/11SaturdayAugust 5:32:01.318 PM    Preview    writing of document took: 0.083616 secs, success = YES
    8/20/11SaturdayAugust 5:32:42.333 PM    rpcsvchost    sandbox_init: com.apple.msrpc.netlogon.sb succeeded
    8/20/11SaturdayAugust 5:32:42.483 PM    sandboxd    ([66316]) smbd(66316) deny job-creation
    8/20/11SaturdayAugust 5:32:42.583 PM    rpcsvchost    sandbox_init: com.apple.msrpc.srvsvc.sb succeeded
    8/20/11SaturdayAugust 5:32:42.609 PM    smbd    anonymous connected to path /var/rpc/ncacn_np
    8/20/11SaturdayAugust 5:32:53.587 PM    sandboxd    ([66320]) rpcsvchost(66320) deny mach-lookup com.apple.distributed_notifications@1v3
    8/20/11SaturdayAugust 5:34:53.329 PM    smbd    anonymous connected to path /var/rpc/ncacn_np
    8/20/11SaturdayAugust 5:39:32.429 PM    mdworker32    kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.

    Don't know how you de-installed but you didn't fully uninstall them. If you did not have an uninstaller supplied with the applications, then here's what you need to consider in order to fully uninstall:
    Uninstalling Software: The Basics
    Most OS X applications are completely self-contained "packages" that can be uninstalled by simply dragging the application to the Trash.  Applications may create preference files that are stored in the /Home/Library/Preferences/ folder.  Although they do nothing once you delete the associated application, they do take up some disk space.  If you want you can look for them in the above location and delete them, too.
    Some applications may install an uninstaller program that can be used to remove the application.  In some cases the uninstaller may be part of the application's installer, and is invoked by clicking on a Customize button that will appear during the install process.
    Some applications may install components in the /Home/Library/Applications Support/ folder.  You can also check there to see if the application has created a folder.  You can also delete the folder that's in the Applications Support folder.  Again, they don't do anything but take up disk space once the application is trashed.
    Some applications may install a startupitem or a Log In item.  Startupitems are usually installed in the /Library/StartupItems/ folder and less often in the /Home/Library/StartupItems/ folder.  Log In Items are set in the Accounts preferences.  Open System Preferences, click on the Accounts icon, then click on the LogIn Items tab.  Locate the item in the list for the application you want to remove and click on the "-" button to delete it from the list.
    Some software use startup daemons or agents that are a new feature of the OS.  Look for them in /Library/LaunchAgents/ and /Library/LaunchDaemons/ or in /Home/Library/LaunchAgents/.
    If an application installs any other files the best way to track them down is to do a Finder search using the application name or the developer name as the search term.  Unfortunately Spotlight will not look in certain folders by default.  You can modify Spotlight's behavior or use a third-party search utility, Easy Find, instead.  Download Easy Find at VersionTracker or MacUpdate.
    Some applications install a receipt in the /Library/Receipts/ folder.  Usually with the same name as the program or the developer.  The item generally has a ".pkg" extension.  Be sure you also delete this item as some programs use it to determine if it's already installed.
    There are many utilities that can uninstall applications.  Here is a selection:
    AppZapper
    Automaton
    Hazel
    CleanApp
    Yank
    SuperPop
    Uninstaller
    Spring Cleaning
    Look for them at VersionTracker or MacUpdate.
    For more information visit The XLab FAQs and read the FAQ on removing software.

  • Multiple users logged into one server, each users printer has a different name, application needs ONE name to print to.

    Multiple users logged into one server, each users printer has a different name, application needs ONE name to print to. 
    I'm NOT in any way a Terminal Services expert and I need help trying to get an application program working in a multi-user environment.
    The issue is that the printer changes for every user that is logged in. The application needs to print NOT to the default printer, but to a "special" printer which is selected in the application... let's call it a label printer to simplify the explanation.
    You have your default regular printer, easy for the application to find that one, and then you have a special printer that labels get printed onto. The application needs to know what printer is the label printer. So we allow the user to select that in the
    application and the selection is stored in a config file in 
    C:\ProgramData\mfgr\prog\setting files
    I don't have access to the application so I can't change how this works.  
    In the "regular" world, selecting the label printer driver to use should be per machine, NOT per user. When a new user logs into a machine, the physical printer doesn't go "poof" and a new printer suddenly appear. Same printer for all
    users.
    Yet in terminal services, the physical machine is "merged" with the virtual machine on the server. And there can be many users logged in at the same time. So each users real machine (and real printer) is injected into the "fake" terminal
    services machine. The name of the printers is made unique for each user. So the printers DO go "poof" and change names depending on the user logged into terminal services.
    So user "A" logs in and sets up the application to print to "LabelPrinterForUserA" (or whatever the name of the printer happens to be), that setting is stored in the ProgramData subfolder, and all is well. Later, user "B" logs
    in, and when they print, the application tries to print to "LabelPrinterForUserA" which doesn't exist for user B or is only accessible by user A. If user B re-configures, that breaks it for user A. 
    SOLUTION 1: The way that /should/ work (in my mind) is that you define one "generic" printer in Terminal Services... call it "Virtual Label printer" and when the user wants to print to it, the print job gets re-directed back to whatever
    physical printer is actually connected to their local workstation. There is a map of virtual printer to actual printer depending on the current user. The application is told once to print to "Virtual Label Printer" for all users.
    SOLUTION 2: Or... there should be some way to make the ProgramData sub folders separate per user. E.g. when user "A" tries to access:
    C:\ProgramData\mfgr\prog\setting files
    they actually get 
    C:\UserData\UserA\AppData\mfgr\prog\setting files
    and user "B" gets
    C:\UserData\UserB\AppData\mfgr\prog\setting files
    So the question I have is: Does either of those solutions exist hidden somewhere in the setup of terminal server? Or is there another way around this issue that I don't know?

    I don't really have a "for sure" answer to this, but because people here can't seem to deal with a question that hasn't been answered I'll provide the best answer I did receive from ServerFault.com user Nathan:
    I can feel your pain with using old software on terminal servers ...the solution I've come up with definitely won't scale as it requires some manual configuration, but I've gotten this method to work with our label printers (which require to be
    printed to an LPT port...yep, that old).
    Share your USB-connected printers to the network on each machine. Then, have the user log in on aunique session for each of them
    (a TS account cannot be shared among computers for this to work) and install a network printer pointing to the USB one they shared. Try to use a DNS name to account for possible DHCP movements.
    After, it should work. Each user can do this since display names can be identical as long as the ports are different (which they are).
    This was clarified by the following series of comments:
    I think you are on to something here, and I originally advised the admin to do this. The problem he ran into is that it setup the printer names in the TS as "printer on usersworkstation"
    and he could not rename it except to change the "printer" to whatever. E.g. the "on userworkstation" remained. I believe there is another way of installing the printer which avoids this, but I can't find it. Ages ago, one used to do NET
    USE LPT2 \\computer\printer password /USER:domain\user /PERSISTENT:YES and then tell the driver to print to LPT2 –  James
    Newton Mar
    17 at 16:21   
    @JamesNewton That's actually the exact method we used. The way around the "network printer" part is to install it as local printer and map it to a TCP/IP port that way. –  Nathan
    C Mar
    17 at 16:28
    You mean in the case where the printers are TCP/IP connected and not local USB / LPT to the users workstation? That makes sense. Wonder if this will work for USB connected printers... –  James
    NewtonMar
    17 at 16:35   
    @JamesNewton You'd share the local printer on the client's PC then on the server connect via TCP/IP to it. You'd need static addresses or use DNS names if DHCP, though. –  Nathan
    C Mar
    17 at 16:51
    Ah. Yes. I see. Looks like the LPT thing should work even with a USB connected printer:superuser.com/questions/182655/… –  James
    Newton Mar
    17 at 17:09   

  • How does one add tables to an existing universe using COM designer SDK.

    Morning All
    How does one add tables to an existing universe using COM designer SDK. I have tried:
    objUniverse.Tables.Add (strTable_Name)
    but get "Cannot create Table" error.
    Any ideas?
    Thanks in advance.
    Anita

    Hi Anita,
    -Use the Add method to add classes and objects to an existing universe using a VB 6 application.
    Adding a Class
    Definition: Function Add(Name As String) As Class
    Syntax: NameOfClassesVariable.Add
    Adding an Object Instance
    Definition:  Function Add(Name As String, [ClassName As String]) As Object
    Syntax: NameOfObjectsVariable.Add(name, [class])
    - name is the name of the object.
    - class is the name of the class containing the object. This parameter should be used in cases where more than one objects exist with the same name.
    Sample Visual Basic 6 Code
    Dim DesApp As Designer.Application
    'MODIFY AND EXPORT CLASSES AND OBJECTS OF AN EXISTING UNIVERSE
    Sub modify_and_export_universe()
    Dim DesUnv As Designer.Universe
    Dim DesCls As Designer.Class
    Dim DesObj As Designer.Object
    Dim DesDBCol As Designer.DBColumn
    Dim DBColName As String
    Set DesApp = New Designer.Application
    'Login to designer
    Call DesApp.LogonDialog
    'Make sure to log on with your administrator profile
    'e.g : "hostname","username", "password","Enterprise"
    'Make Designer application visible
    DesApp.Visible = True
    'This line disable warning messages from Designer
    DesApp.Interactive = False
    'to Open  locally  the universe you want to modify
    'Set DesUnv = DesApp.Universes.Open("club_uni")
    'Use OpenFromEnterprise method (Universes Class) to import a universe from the repository and opens it
    Set DesUnv = DesApp.Universes.OpenFromEnterprise("Universes", "club_uni", False)
    'Add a valid connection which already exists
    DesUnv.Connection = "club"
    'open the universe
    'Call DesApp.Universes.Open("club_universe")
    'Add the table Account and refresh the view in the main window
    Set DesTab = DesUnv.DBTables.Item("Customer").Insert
    DesUnv.ArrangeTables
    'Add a class
    Set DesCls = DesUnv.Classes.Add("Class MyCustomer")
    'Looping through all the fields of the DB Table Account
    For Each DesDBCol In DesUnv.DBTables.Item("Customer").DBColumns
    'Store name of the column
        DBColName = DesDBCol.Name 
         'Add an object to the class
        Set DesObj = DesCls.Objects.Add("Obj " & DBColName)
         'Affect a field to the object
        DesObj.Select = "Customer" & "." & DBColName
    Next
    'Save the existing universe with the same name club_uni or you can change
    DesUnv.SaveAs "club_uni"
    MsgBox "Universe created and saved Class MyCustomer has been added!!"
    'Close the universe
    UnvFullName = DesUnv.FullName
    MsgBox "The UniverseFilePath is " & UnvFullName
    'Close the universe
    DesUnv.Close
    'This line disable warning messages from Designer
    DesApp.Interactive = False
    'Export the universe to the CMS DB (to the last universe folder)
    'Make sure you save the universe before exporting it
    Call DesApp.Universes.Export("Universes", UnvFullName)
    MsgBox "This document has been exported successfully !!"
    'Close designer
    DesApp.Quit
    Set DesApp = Nothing
    End Sub
    Hope this helps.
    Regards,
    Deepti Bajpai

  • IDOC: Problem with data filter for IDOC extension field

    Hallo!
    I've created an idoc extension for the basic type DEBMAS06 that works fine. Now I want to use a data filter for one field ( company code ) of my segment. Every segment with a company code different from 100 should be filtered and not send to the other client. But what happend is that for all customers that have at least one company code different from 100, all segments including the one with cc 100 were deleted and a error "Segment ... does not exist for message type DEBMAS" appeared on the screen.
    Does anyone have any ideas about this problem?

    Not sure about changes to be made at the filtering options.
    An alternative would be sending the data to XI as it is and perform the mapping to remove the unnecessary segments.
    Disadvantage: Unnecessary processing of segment would be done at XI.
    Advantage: The integration logic would be completely handled by XI.
    Regards,
    Prateek

  • Unhandled exeception has occurred in your application. On first time instal

    I am installing on a server 2003 for the first time. After loading it on the server, I begin to run Installer for my frist instance. After clicking finish on the 'Installation Tasks' screen, it runs until it gets to the 'Installing Webfiles'.  This is where I get the error. As I said this is a first time Web Tools 6 install.  I have a copy of the error message here:
    SAP Business One Web Tools Installer.
    Unhandled exeception has occurred in your application.  If you click Continue,the application will ignore this error and attempt to
    continue.  If you click Quit, the application will close immediately.
    Some or all identity references could not be translated.
    DETAILS:
    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.
    Exception Text **************
    System.Security.Principal.IdentityNotMappedException: Some or all identity references could not be translated.
       at System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection sourceAccounts, Type targetType, Boolean forceSuccess)
       at System.Security.Principal.NTAccount.Translate(Type targetType)
       at System.Security.AccessControl.CommonObjectSecurity.ModifyAccess(AccessControlModification modification, AccessRule rule, Boolean& modified)
       at System.Security.AccessControl.CommonObjectSecurity.AddAccessRule(AccessRule rule)
       at System.Security.AccessControl.FileSystemSecurity.AddAccessRule(FileSystemAccessRule rule)
       at Installer.Workers.FileWorker.OnDoWork(DoWorkEventArgs e)
       at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
    Loaded Assemblies **************
    mscorlib
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    Installer
        Assembly Version: 2007.0.630.10
        Win32 Version: 2007.0.630.10
        CodeBase: file:///E:/Program%20Files/SAP/SAP%20Business%20One%20Web%20Tools/Installer/Installer.exe
    System.Windows.Forms
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    System
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    System.Drawing
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    System.Xml
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    System.ServiceProcess
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.ServiceProcess/2.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll
    Accessibility
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    System.Data
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
    System.DirectoryServices
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.DirectoryServices/2.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.dll
    System.Configuration
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    System.Transactions
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
    System.EnterpriseServices
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
    ChilkatDotNet2
        Assembly Version: 7.7.2379.17467
        Win32 Version: 7, 7, 0, 1
        CodeBase: file:///E:/Program%20Files/SAP/SAP%20Business%20One%20Web%20Tools/Installer/ChilkatDotNet2.DLL
    msvcm80
        Assembly Version: 8.0.50727.1433
        Win32 Version: 8.00.50727.1433
        CodeBase: file:///C:/WINDOWS/WinSxS/x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5CF844D2/msvcm80.dll
    JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.
    For example:
    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.
    Please help, I am at a standstill!!! and can't go any further on the Web Tools Installation.

    ASPNET is a local Windows user and when IIS executes .Net pages and has to access  website files it authenticates to the system as that user. For instance, when you save changes to a theme, such as associating a catalog, you are writing to the files in the /assets/* directory and are doing so as the ASPNET Windows user. This user then needs to have write access to the /assets/* directories for the website to not throw an access denied error.
    In IIS if you look at the application pool settings on the identity tab, you will see an option to choose which local user or group will be this designated "IIS user". Typically this is the local group "Network Service"  which contains the local user ASPNET.
    In the case of the Installer, it is attempting to give the correct permissions to the file directory that contains your website to the ASPNET user. Verify on that server if this user exists by looking at the computer management mmc snap-in then expanding Local Users and Groups and opening the Users folder.

  • How a new application derivated from an existing application?

    I have built a application in jdev10g using ADF BC and JSF. It has been tested and deployed for user to use.
    Now, my another subsidiary company wants to use this application too, but the functions requested is just the subset of the application deployed. They may also asked some changes eg. image, logo etc.
    I prepare to derivate a new application from the existing application. of course, these two applications will be deployed on the same application server but with different project name and deploy directory in the application server.
    please guide me on that, Thanks in advance!
    Rgds!

    In 10g you'll basically need to make a copy of your whole application directory and in the project properties set a different context-root for your Java EE application.
    Then you'll be doing the changes you want on the new copy.
    If you were using 11g you could have used MDS to do the customization and then keep a single instance of the application.
    Basic demo:
    http://download.oracle.com/otn_hosted_doc/jdeveloper/111demos/mds/mds.html

  • Switch To Different Schema Connection With Existing Application

    Hi,
    Currently, i want to connect my existing application to a different schema, how should i do it?
    The situation is that i have two schema(call Database Connection in JDeveloper) that have exactly the same structure, as one is duplicated from anothe. My purpose of doing this is to use one of the schema for daily operation, while the other for testing.
    I have tried with this method:
    1. Right click on the Business Component project node and select Edit Business Component Project.
    2. In the Connection Tab, i change the Connection Name to the new schema(which used for testing).
    3. Then i open my .jsp page and sad to see the it's still retrieving data from the old schema.
    Am i hitting it with the wrong tactic? Please lemme know if there's any way that i can solve my problem.
    Thanks,
    Sin Leng

    Hi,
    The code snippet provided above must be executed whenever an ApplicationModule is first used by a new session but only after
    that ApplicationModule has been connected (otherwise the connection will not be available). Depending upon the type of client that
    you are developing (Swing vs. servlet for example) the right place to put this code could vary. Further, if your ApplicationModule
    and/or connection is pooled you must also be careful to reset this information whenever an ApplicationModule is serially reused
    by different clients.
    As of 9.0.3, the BC4J framework has provided a single hookpoint for all clients to manage session context on the middle tier. The
    method is oracle.jbo.server.ApplicationModuleImpl.prepareSession(Session). This method is invoked whenever a session
    (represented by a SessionCookie in the BC4J framework) uses an ApplicationModule which it had not referenced from a previous
    request. The Session parameter is the ApplicationModule session context which BC4J will automatically update with the
    userData context of the client side SessionCookie before prepareSession(Session) is invoked. This makes custom, client
    side context available to the midtier. Further this method is invoked after BC4J has connected the ApplicationModule, so it is a safe
    hookpoint for initializing custom DB session context as well as MT session context.
    In order for BC4J to make the client side SessionCookie userData context availabe in prepareSession
    the SessionCookie userData context must have been set before SessionCookie.useApplicationModule has been invoked. Please see
    the javadoc for SessionCookie.getUserData() and or the pooling sample ($JDEV_HOME/BC4J/samples/Pooling) for more information
    about acquiring a SessionCookie reference programmatically (so that you can initialize the SessionCookie userData). Other options
    may be to set up the userData in a custom SessionCookieFactory. Please see the pooling sample for a sample custom
    SessionCookieFactory implementation.
    Hope this helps.
    JR

  • Deploying existing application (forms and reports) over the web

    Hi I do have the following environment:
    1) Oracle 8.1.6.0.0 on HP-UX.
    2) Application written using oracle forms6i and reports6i on NT (Client-Server environment)
    I am looking to deploy this existing application over the web using 9iAS, sure I don't want to rewrite my application. I did that in the past using OAS 4.0.8 and forms server and reports server.
    1)Does 9iAS support that, which one should I install the standard or the enterprise.
    2)Do I still need forms server and reports server.
    I stopped using the OAS because it had problems and the performance was not that good, I found CITRIX and Tarantella do better, performance wise.
    3)Does 9iAS has improved that.
    Any feedback regading these many questions is highly appreciated
    Thanks
    Khaled

    Sounds like the ideal 9i As environment (although you might want to consider either upgrading or patching the database - 8.1.6.0.0 does have patches)
    You'd be pleasantly surprised with the performance and stability improvements of 9iAS over OAS.
    Deploying reports & forms over the web (pure web access, not terminal services like citrix) require some form of web server, reports server and forms server. I believe that 9i AS is totally compatible with the reports and forms developed in 6i tools, so there should be no rewrite at all.
    If you have the time, strongly recommend you check it out.

Maybe you are looking for