Tracing execution and standard Forte message filters

Hello,
During the process of tuning an application, or just of making it work, it
is useful to trace the flow of processing.
There are two ways of doing it :
1) add your own trace instructions (calls to the LogMgr) at the appropriate
places,
2) use the traces of the Forte Interpreter !
If one relies on solution 1, then it relies on what the developers have
written (and thus sometime forgotten to write !) in their code.
If one relies on solution 2, then potentially it can get as much information
as is available to the interpreter (and the debugger ?), in a fully
independant way since it uses directly the code itself and not added trace
instructions.
So solution 2 seems quite interesting.
Unfortunately there are some potential problems :
a) I haven't found in the documentation an exhaustive description of the
logs the Forte tools do. The only and very short description is on page 148
of the System management Guide. It's far from being exhaustive. So it
requires playing with the filters.
I recommand trying trc:in:1-63. I guess "in" stands for the interpreter.
- level 1 seems to give the call tree,
- level 255 seems to give almost the code !
b) since the flags are not documented by Forte, how reliable and stable will
they be in future versions ?
c) what happens for compiled partitions is not clear to me (I have not tried
it yet).
So my question : are the message filters used by the Forte Tools like the
interpreter described somewhere, i.e. in some Tech Note (I don't have access
to them yet) ?
best regards,
Pierre Gelli
ADP GSI
Payroll and Human Resources Management
72-78, Grande Rue, F-92310 SEVRES
phone : +33 1 41 14 86 42 (direct) +33 1 41 14 85 00 (reception desk)
fax : +33 1 41 14 85 99

From: Pierre Gelli <[email protected]>
Subject: tracing execution and standard Forte message filters
Hello,
During the process of tuning an application, or just of making it work, it
is useful to trace the flow of processing.
There are two ways of doing it :
1) add your own trace instructions (calls to the LogMgr) at the appropriate
places,
2) use the traces of the Forte Interpreter !
So solution 2 seems quite interesting.
Unfortunately there are some potential problems :
a) I haven't found in the documentation an exhaustive description of the
logs the Forte tools do. The only and very short description is on page 148
of the System management Guide. It's far from being exhaustive. So it
requires playing with the filters.
I recommand trying trc:in:1-63. I guess "in" stands for the interpreter.
- level 1 seems to give the call tree,
- level 255 seems to give almost the code !
b) since the flags are not documented by Forte, how reliable and stable will
they be in future versions ?
Pierre Gelli,
level 255 is the most detailed you are right on tracing..... As for documentation
you will want to get ahold of several good tech notes that your Forte
rep or support can get you which provide alot of the info you are after.
Let me know if you can't do this and I can send you some of this info, but you are
best to get the latest and greatest directly from Forte.
Len Leber
ATG Partners

Similar Messages

  • Re: tracing execution and standard Forte messagefilters

    Pierre,
    There is a tech note describing some of the trace flags that will show
    you interpreter profile information. This interface, the information
    produced, etc. may change in future releases that's why it's a tech
    note and not in the documentation set.
    Hope this helps,
    Bobby
    This note describes how to use the execution profile collector built into
    the Tool Interpreter.
    NOTE: THIS INTERFACE IS UNSUPPORTED BUT IS MADE AVAILABLE AS IS TO USERS
    UNTIL A SUPPORTED INSTANCE OF THE FEATURE EXISTS.
    THE SUPPORTED VERSION WILL HAVE A DIFFERENT FUNCTIONALITY AND FORM.
    The Tool Interpreter contains an execution profile data collector. The
    collection
    information can be displayed as trace output or the raw data can be collected
    by the program for further manipulation and display. This information
    describes the current level of support available. It is possible that this
    mechanism will be updated in future releases and/or integrated into the
    TOOL debugger.
    The profiler only counts intructions executed in the interpreter, it doesn't
    account for time spent in C++ code. However it is sill useful in finding
    problems in interpreted code and for viewing the dynamic call flow of the
    application.
    The following trace information is available:
    TRACE CALL-RETURN
    This trace outputs a single indented line for each method call and
    another single line for each method return. The line is indented an
    amount equal to the call depth of the task calling the method. The
    following information is displayed:
    Task Id
    Task Name
    Method Name
    Method Instruction Count
    Task(Id=5,Name=InitialLom)Method(Name=Forte.TopClass.StartUp)
    Task(Id=5,Name=InitialLom)Method(Instructions=10)
    This is enabled using trace setting trc:in:50:1.
    This trace can also be used to see the control flow of an application.
    TRACE TASK BY METHOD
    This trace outputs information about a task and all of the methods that
    where called during it's execution. Each method contains information
    about the number of times that the method was called and the total
    number of instructions consumed by the methods execution. The task
    contains the totals of all calls and instructions performed by the
    task. The methods are sorted in descending order of instructions
    executed.
    The following in an example of the output:
    TaskByMethod(Id=9,Name=projws.display,Instructions=2212)
    ide.projws.updateMenus(Called=1,Instuctions=556)
    ide.projws.addBlockComponentsToTree(Called=1,Instuctions=321)
    ide.projwsPrefs.LoadPrefs(Called=1,Instuctions=247)
    ide.projwsPrefs.Apply(Called=1,Instuctions=206)
    UtilsDisplay.PrefMgr.FetchUserPref(Called=12,Instuctions=168)
    ide.projws.computeWindowSize(Called=1,Instuctions=168)
    ide.projws.refreshBrowser(Called=1,Instuctions=76)
    UtilsBase.CompileSession.SetScope(Called=1,Instuctions=68)
    ide.projws.fillToolObjTree(Called=1,Instuctions=65)
    ide.projws.setTitle(Called=1,Instuctions=53)
    UtilsBase.CompileSession.Init(Called=1,Instuctions=48)
    UtilsBase.InterfaceBrokerBase.GetCompileSession(Called=1,Instuctions=41)
    UtilsBase.InterfaceBrokerBase.LockSession(Called=1,Instuctions=30)
    AppModel.abSurrogateRepositoryClient.GetRepository(Called=3,Instuctions=21)
    UtilsBase.InterfaceBrokerBase.UnlockSession(Called=1,Instuctions=20)
    UtilsDisplay.Workshop.Events(Called=1,Instuctions=20)
    UtilsDisplay.Workshop.HelpEvents(Called=1,Instuctions=19)
    ide.projws.lookupMask(Called=1,Instuctions=17)
    UtilsBase.CompileSession.GetVersionStateForPlan(Called=1,Instuctions=14)
    ide.projws.LoadPrefs(Called=1,Instuctions=13)
    AppModel.abSurrogateRepositoryClient.GetVersionStateForPlan(Called=1,Instuct
    ions=8)
    AppModel.abSurrogateRepositoryClient.FindProject(Called=1,Instuctions=8)
    ide.projws.resetCurrentNode(Called=1,Instuctions=7)
    AppModel.abSurrogateRepositoryClient.IsDetached(Called=1,Instuctions=7)
    ide.projws.selectComponent(Called=1,Instuctions=6)
    ide.projwsPrefs.Init(Called=1,Instuctions=5)
    This is enabled using trace setting trc:in:51:1.
    TRACE APP BY METHOD
    This trace outputs information about an application and all of the
    methods that were called during its execution. Each method contains
    information about the number of times that the method was called and
    the total number of instructions consumed by the methods execution.
    The application contains the totals of all calls and instructions
    performed by the task.
    The output is similar to the previous case.
    This is enabled using trace setting trc:in:53:1.
    TRACE TASK BY CALLTREE
    This trace outputs the call tree of the task. The call tree shows a
    method and all of the methods that it called. And for each of the
    called methods the same output is displayed. This can be used to
    see more of the call structure of a task. It call also be used to
    find the paths in the call tree that consumed most of the instructions.
    The methods are sorted in descending order of instructions executed
    within each level of the call tree.
    TRACE APP BY CALLTREE
    This trace outputs the call tree of the application. The call tree
    shows a method and all of the methods that it called. And for each of
    the called methods the same output is displayed. This can be used to
    see more of the call structure of an application. It call also be used
    to find the paths in the call tree that consumed most of the
    instructions.
    The output is similar to the previous case.
    This is enabled using trace setting trc:in:54:1.
    The following collected information is available:
    NOTE: None of the collection options are available at this time.
    COLLECT TASK BY METHOD
    COLLECT APP BY METHOD
    COLLECT TASK BY CALLTREE
    COLLECT APP BY CALLTREE
    Other potential future features:
    The profiler doesn't record when some interpreted TOOL code invokes a method
    on a object which in implemented in C++. This causes some profile
    information to be lost. If the C++ code invokes a method that is
    implemented as interpreted TOOL the BYCALLTREE profile will not show the
    C++ code. Thus it could be confusing because it appears that the
    interpreted code called something totally different than the what is
    expected.
    At 10:41 AM 7/31/96, Pierre Gelli wrote:
    Hello,
    During the process of tuning an application, or just of making it work, it
    is useful to trace the flow of processing.
    There are two ways of doing it :
    1) add your own trace instructions (calls to the LogMgr) at the appropriate
    places,
    2) use the traces of the Forte Interpreter !
    If one relies on solution 1, then it relies on what the developers have
    written (and thus sometime forgotten to write !) in their code.
    If one relies on solution 2, then potentially it can get as much information
    as is available to the interpreter (and the debugger ?), in a fully
    independant way since it uses directly the code itself and not added trace
    instructions.
    So solution 2 seems quite interesting.
    Unfortunately there are some potential problems :
    a) I haven't found in the documentation an exhaustive description of the
    logs the Forte tools do. The only and very short description is on page 148
    of the System management Guide. It's far from being exhaustive. So it
    requires playing with the filters.
    I recommand trying trc:in:1-63. I guess "in" stands for the interpreter.
    - level 1 seems to give the call tree,
    - level 255 seems to give almost the code !
    b) since the flags are not documented by Forte, how reliable and stable will
    they be in future versions ?
    c) what happens for compiled partitions is not clear to me (I have not tried
    it yet).
    So my question : are the message filters used by the Forte Tools like the
    interpreter described somewhere, i.e. in some Tech Note (I don't have access
    to them yet) ?
    best regards,
    Pierre Gelli
    ADP GSI
    Payroll and Human Resources Management
    72-78, Grande Rue, F-92310 SEVRES
    phone : +33 1 41 14 86 42 (direct) +33 1 41 14 85 00 (reception desk)
    fax : +33 1 41 14 85 99

    From: Pierre Gelli <[email protected]>
    Subject: tracing execution and standard Forte message filters
    Hello,
    During the process of tuning an application, or just of making it work, it
    is useful to trace the flow of processing.
    There are two ways of doing it :
    1) add your own trace instructions (calls to the LogMgr) at the appropriate
    places,
    2) use the traces of the Forte Interpreter !
    So solution 2 seems quite interesting.
    Unfortunately there are some potential problems :
    a) I haven't found in the documentation an exhaustive description of the
    logs the Forte tools do. The only and very short description is on page 148
    of the System management Guide. It's far from being exhaustive. So it
    requires playing with the filters.
    I recommand trying trc:in:1-63. I guess "in" stands for the interpreter.
    - level 1 seems to give the call tree,
    - level 255 seems to give almost the code !
    b) since the flags are not documented by Forte, how reliable and stable will
    they be in future versions ?
    Pierre Gelli,
    level 255 is the most detailed you are right on tracing..... As for documentation
    you will want to get ahold of several good tech notes that your Forte
    rep or support can get you which provide alot of the info you are after.
    Let me know if you can't do this and I can send you some of this info, but you are
    best to get the latest and greatest directly from Forte.
    Len Leber
    ATG Partners

  • Message filters vs Content Filters

    Differences:
    1. Message filters occur earlier in the email pipeline than content filters. Message filters before the email goes into the workqueue. The content filters occur inside the workqueue.
    2. Message filters are currently only administered from the command line. Content filters can be administered from both the CLI and the GUI interface, however, the GUI interface is the recommended mehtod.
    3. Content filters have an inbound and an outbound set of content filters, depending upon the direction of the message. That is, whether it's a relayed email (outgoing content filters) or inbound mail(inbound content filters). Message filters on the other hand, are autmoatically applied to both inbound and outgoing traffic, unless you lock it down to a specific listener. If you only have one listener, you may need to differentiate your flow of traffic by sendergroups or something else.
    4. Message filters and content filters can pretty much have the same conditions and actions. However, message filters allow for if-else conditions, so they are more robust.
    5. You can use message and content filters in unison. For example, use a message filter to insert a custom header that you content filter can key off of. However, this does not work the other way around. You cannot insert a custom header in the content filter and have the message filter key off of that info. Due to the way the email pipeline is set up, message filters come first, then content filters.
    6. Easy of use: content filters are a bit more intuitive and user-friendly. message filters are more advanced, so it has a bigger learning curve.
    7. Content filters used with customized incoming or outgoing mail policies allow you to splinter messages. Splintering messages allow you to split messages up by recipients. Message filters don't allow splintering and are applied to the entire message.
    AsyncOS User Guide: Content Filters Overview
    https://support.ironport.com/docs/c_series/4.6/HTML_4.6_Compilation/AsyncOS_4.6_User_Guide/AsyncOS_4.6_User_Guide-12-3.html
    AsyncOS User Guide: Message Filters
    https://support.ironport.com/docs/c_series/4.6/HTML_4.6_Compilation/AsyncOS_4.6_Adv_User_Guide/AsyncOS_4.6_Adv_User_Guide-09-2.html
    AsyncOS User Guide: Email Pipeline
    https://support.ironport.com/docs/c_series/4.6/HTML_4.6_Compilation/AsyncOS_4.6_User_Guide/AsyncOS_4.6_User_Guide-09-2.html

    Actually, I just did a test on this and your point is half correct.
    It's not the content filter that does the splintering, it's either the incoming or outgoing mail policy that does the splintering.
    For example, if you only have one Default outgoing policy and an outgoing content filter that drops the mail if the destination is @yahoo.com.
    If you sent in a test email with two recipients: [email protected] and [email protected]
    Then the entire message would get dropped since there was only one Default outgoing policy.
    However, you can allow for splintering if you had additional custom policies.
    For example,
    1. gmail-recipients
    2. yahoo-recipients
    3. Default policy
    In that case, your test email would split into two separate emails and then you could have the content filters apply to each separately.
    You are correct that message filters apply to the entire message and does not allow for message splintering.
    However, content filtering, message splintering is only applicable if you have additional custom policy, either inbound or outgoing.
    So, in additional to the requirement of mutliple recipients, you also need multiple policies, otherwise, have multiple recipients and only one Default policy will affect the entire message also.
    Thanks for the attention to detail.
    You've missed one of the biggest differences...
    Message filters act on a _message_. Content filters act on a message/recipient pair.
    If a message is only going to a single person then there's not any difference, but if a message is addresses to multiple people then the message filter will take the same action for all recipients, whilst the content filter will split ("splinter") the one message into multiple messages, with one (or possibly more) recipients each, and then act on each individually.

  • When the newest update to 24.3.0 was installed, I received duplicate messages and all of my message filters are not working properly. How to fix easily?

    24.3.0 caused errors in my message filters. Error messages occur when getting new mail that has a filter. Not sure why this happened, but would like an easy fix instead of deleting all and creating new filters. Tried edit option, but to no avail. Was going to try clearing log, but I'm just guessing. Can anyone help me out with this? Thanks.

    I have run every version from 2 to 30 and the message filters have not been an issue in any of them. Perhaps if you restart from the help menu (Alt+H) > restart with add-ons disabled and see if an add-on is causing your issue.

  • Approval view for working time empty fields 'message' and 'standard time'

    Hi experts,
    We want to use the SAP-standard program to approve working hours in the Portal. The basic settings are all done, but we still have a problem with some fields.
    When we use the SAP-standard approval view SAP_LINE (IMG --> Define approval views) and we go to the portal we see that the fields 'message' and 'standard time' are filled and the hours with a warning are red. When we create an exact copy of view SAP_LINE with the same detailscreen selections, the fields 'message' and 'standard time' are empty and the warning does not turn red.
    See the print screen below for an example.
    http://img641.imageshack.us/i/printscreenapproveworki.jpg/
    Can someone please help me with this?
    Thank you in advance.
    Kind regards,
    Bob

    Hi,
    We have found the place to change this fields.
    To change this fields we had to create an enhancement implementation for BADI definition 'HRCATS_APPR_CUST'
    Information for this can also be found in the IMG documentation.

  • Execution Sequence of 'Personalization' and 'Standard Form Trigger'

    Dear All,
    A basic question, How about Execution Sequence of 'Personalization' and 'Standard Form Trigger'?
    Which one will be firstly executed? any document about this question?
    Thanks a Lot

    Hi HTH,
    Actually I am not asking for Trigger Execution Sequence, I am asking Sequence between 'Personalization' and 'Standard Form Trigger',Personalization is first or Standard Form Trigger is first.
    for example,if i have code at W-N-F-I trigger at standard trigger and Personalization , which code get invoked first?
    Tks

  • I have changed my PC, deactivated Adobe Acrobat and tried to load on new PC. Got to registration and get the message " A problem was encountered while trying to send information over internet" this is 8 standard

    I have changed my PC, deactivated Adobe Acrobat and tried to load on new PC. Got to registration and get the message " A problem was encountered while trying to send information over internet" this is 8 standard
    When I try to use it to make pdf files I get the message "Missing PDFMaker files
    It is a proper copy with serial numbers

    Moving this discussion to the Acrobat Installation & Update Issues forum.

  • I down loaded Firefox 3.6.10, did the execution and still when load it as my browser I get a message that says "Almost there". What is going on?

    When I load Firefox as my browser, a screen comes up that wants me to download the 3.6.10 version again but, as I said, it has been downloaded, executed and I have tried this several times with the same result. I run Vista Home Premium operating system. I can still browse the internet but still get my home page as "You are almost there" or some such. What should I do?

    I have tried everything I could to fix this, but some things require actually being on Firefox, and since I cannot get on, I cannot click on the tabs to do it. I have even totally uninstalled firefox, and that has not fixed this. I still get the same message that firefox is running and I need to close it or restart (which I have also tried dozens of times). I have removed things like Java, and that has not helped either. If I cannot even get on line in firefox, how can I fix this. I am not crazy about using internet explorer, but right now, it is my only option. I even tried to start in safe mode, and the same message box pops up!

  • Hiding standard search and standard checkin form from UCM content UI

    Hi ,
    We want to hide standard checkin and standard search from content ui .
    Is this possible ? How do we achieve this?
    From the admin UI we can do this by enabling the component HideStandardCheckinAndSearch component.
    But how do we do it from Content UI?
    Thanks,
    Bharath

    Hi
    It depends on what you're trying to achieve. If your users do not want to see standard check-in option in the displayed user interface then you'll have to customize the ADF UI to do so. Implement some sort of ruling feature to display menus. Link suggested by Jiri is good starting point and standard way to customize ADF UI as per documentation.
    Regarding implementing filter or any customization on server-side can be viewed as 2 different parts
    1. implement profile rule and hide menus - this works for native UI and not content UI. Since content UI is a different EAR deployed on weblogic and page generation is not controlled by CS or any of its configuration parameter.
    2. implement filter or other custom option - this kind of feature will help you to prohibit feature execution; but, user will still be accessible to access the search option. This implementation will be not user-friendly. Once users enter some value we display message that feature is not supported. So this option should be your last resort.

  • Standard warning messages in Vendor Request Form

    Hi All,
    Please let us know, how are the standard warning messages in Vendor Request Form while creation/search are displayed.
    For example, I am getting an soft warning message text, at vendor creation which says "Some of the records were not found; for more information, check the log".
    Here we don't have any log traces to be checked for, and we have verified the back end record resultset count which is same, irrelevant of the warning message being shown.
    These messages are displayed only at two places:
    1) The search navigation page, where all the searched record results are displayed and we continue further for creation of vendor workflow.
    2) When the workflow of vendor creation is completed, along with the "Workflow has been completed" success message, this warning message is also shown.
    I want to know, from where these messages are being populated and how to suppress these messages.
    Kindly suggest.
    Thanks in advance!
    Message was edited by: Oxana Noa Zubarev

    Hi All,
    Attaching the screen shot for refernce:
    After we click on "continue with create/edit" button, after few details have been entered, the work flow completes.
    There are we are getting these error message as highlighted above.
    Let me know if any info from my end would help in getting the root cause.
    Thanks in advance.

  • When using Message Filters on an IMAP account I often get duplicate messages in my local folder where important messages are put. How can I stop this?

    Since switching to IMAP and using message filters, I often get duplicate messages in my local folders. I think this is a bug.
    That is my guess as to what is happening.
    When the IMAP part starts syncing with the server to fill in the inbox, the message filter system starts working before it is done syncing. I appears that the filters runs too quickly because as the filter moves a msg to a local folder, the sync thread think it need to download it again from the server. If the sync with the remote server takes a long time, I could end up with 5 or more copies of the exact same email.
    This has always happened for years now but I figured someone would have noticed it and fix it by now. Now I am wondering it it has something to do with my filters or my settings.
    Has anyone run into this before?

    Toys,
    I was just doing a search to see if anyone else was feeling this way! I am also at a university and I don't really like see thousands of unread messages in mail. (Fortunately, with Leopard you can select the dock icon to show only the messages in your inbox but I still don't like having the public folder in there).
    Please let me know if you find out anything and I will do the same for you. If I have time later I am going to run by our IT office later and ask them.

  • I would like to know how i can create a bell graph with out using sub VIs, the data that i created consists in 500 readings with values of 0 to 100, i calculated the mean value and standard diviation. I hope some one can help me

    I would like to know how i can create a bell graph with out using sub VIs, the data that i created consists in 500 readings with values of 0 to 100, i calculated the mean value and standard diviation. I hope some one can help me

    Here's a quick example I threw together that generates a sort-of-bell-curve shaped data distribution, then performs the binning and plotting.
    -Kevin P.
    Message Edited by Kevin Price on 12-01-2006 02:42 PM
    Attachments:
    Binning example.vi ‏51 KB
    Binning example.png ‏12 KB

  • Solution for "Error while trying to synchronize Audio and MIDI" and "System Overload" messages

    Article for those who hate Logic error windows
    Seen in Logic Pro 9.1.7 on Mac OS X Lion 10.7.4
    and Logic Pro 9.0.0 on Mac OS X Snow Leopard 10.6.5
    Logic Pro:
    System Overload.
    The audio engine was not able to process all required data in time.
    (-10011)
    Error while trying to synchronize Audio and MIDI.
    Sample Rate xxxxx recognized.
    Check conflict between Logic Pro and external device.
    The search in the help given as follows: overload occurs when you use a lot of tracks and a lot of effects on them, and the synchronization is lost when the selected MIDI track for recording or playback. Yes, this is all that is written in the resources. And here are useful tips that have been found:
    The Bounce function allows the entire instrument track to be recorded as an audio file. This bounced audio file can then be used (as an audio region) on a standard audio track, allowing you to reassign the available processing power for further software instrument tracks. For more details, see "Bouncing Your Project."
    You can also make use of the Freeze function to capture the output of a software instrument track, again saving processing power. For details, see "Freezing Tracks in the Arrange Area."
    These tips - about the timing. About overload - there are no tips, except as "reducing the number of plug-ins" and "increasing latency". Zero useful tips - I got two errors in the test project with a blank audio track with no effects, MIDI drums and standard synthesizer, it was no aux buses, and the entire project was only a single plugin in the master track.
    Here is the configuration of my computer:
    iMac12, 2
    CPU: Intel Core i5 3,1 GHz
    Memory: 4 GB
    And here's a project that almost immediately stops Logic, all instruments and plug-ins with the init-patch, ie not the most demanding settings:
    It's sad.
    When this happened the first time, I could start the project only if the empty audio track has been selected, a track specially designed so that you can at least start the project. Then, this problem has evaporated along with the changing conditions of work and I forgot about it until the last case.
    I was looking for the cause of the problem in the console and the system monitor for two days, and finally I found that Logic ping to the network frequently. I remembered the exact time of occurrence of the problem, and system logs revealed that the problems began immediately, as soon as I deactivate the service of the Internet.
    Solution: enable the Internet, or add a new network service on a computer with no Internet. I just created the Ethernet connection to the ip address 1.0.0.0
    Logic immediately began to sing.

    Hi gabaghoul
    Yes, it worked for me on four different OS and Logic versions (10.6 - 10.8 and 9.0 - 9.1.6)
    It does not work in some cases, hard enough to tell in which one, but you can try, it very easy: go to the net settings and create new Ethernet connection to the ip address 1.0.0.0 and connect LAN cable to the port.
    Also you can try to figure out what happens in your system while Logic error occured - fot that you just start Console and search "logicpro"
    Pay attention to repetitive events in a console and events with suitable timing, not so far from error
    The problem may be related to the GUI or system memory, sometimes turning off Safari (or Chrome, others browsers) might help.
    Message was edited by: spred

  • Choice between UPK in-application help and standard EBS help

    Hi,
    We are on a EBS 11.5.10 project, implementing UPK.
    We got UPK in-application help working; changed custom.pll, set the profile option, everything fine.
    Now we would like the users to have the choice between UPK help (default) and standard EBS help.
    Therefore we opened the In-Application Support Player Configuration, and created a new Tab:
    Type: Oracle E-Business Suite help
    Tab Text: EBS help
    URL: ?
    Whatever we put in the URL, it won’t display the standard EBS context sensitive help. We can see the ‘EBS help’ tab when selecting ‘window help’ in the application but the page is blank or shows an error message.
    Do you have any tips on how to get this working?
    Thanks,
    Abe de Beer
    EBS Financials consultant
    Oracle Belgium

    Hi,
    I have the exact same requirtment, Could you please give the step what you have done so that it would be helpfull. Also after publishing the content on the i am not seeing the "Application Option" i am seeing the smart help. do we need to configure on "Application Option" or on smart help. Where ever is see the doc it says configure oracle_gateway.html but i dont see oracle/hemi folder at all. do know if there is a set up that has to be done to get this option (UPK 11.10.1)
    Thanks

  • Standard PML Message XSD Import in PI Gives Error ::AII -PI-ECC Integration

    Hi Experts,
    We are currently integrating the AII system with ECC using  PI as a middleware. We are trying to post one type of message in AII which will check the tag event in that message and do the required action in AII.
    Now point is AII team is expecting a PML mesage as below -
      <?xml version="1.0" encoding="utf-8" ?>
    - <pmlcore:Sensor xmlns:pmlcore="urn:autoid:specification:interchange:PMLCore:xml:schema:1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:autoid:specification:interchange:PMLCore:xml:schema:1 ./PML/SchemaFiles/Interchange/PMLCore.xsd">
      <pmluid:ID xmlns:pmluid="urn:autoid:specification:universal:Identifier:xml:schema:1" />
    - <pmlcore:Observation>
      <pmlcore:DateTime>2012-02-08T16:41:26.760</pmlcore:DateTime>
      <pmlcore:Command>TAG_DECOM_BATCH</pmlcore:Command>
    - <pmlcore:Data>
    - <pmlcore:XML>
      <PRODUCT>TRN_PROD_13</PRODUCT>
      <BATCH_ID>ATRN_PROD13B</BATCH_ID>
      <LogicalDeviceID>DG_AMBOISE_LINE_1</LogicalDeviceID>
      </pmlcore:XML>
      </pmlcore:Data>
      </pmlcore:Observation>
      </pmlcore:Sensor>
    And they have also provided the standard PML message xsd to us but when we are importing it in to XI it is giving the below error -
    Change list activated; note the following information
    Check result for External Definition: PML | urn:sugata_PI_LFTP: Document check found errors
    Cause: Loaded document contains incorrect XSD definition
    Name of '/schema/element("XML")' starts with 'xml'
    as we can see in the above XML there is a tag called  <pmlcore:XML> if we change this to something like <pmlcore:ABC>
    it is imported successfully and we can see the message structure  in the XSD also.
    As PML XSDs are standard so the AII team is also not changing the same as mentioned above.
    Please advise how can we import this XSD in PI with tag name XML?
    Another question, which is very confusing to us -  is PI able to send PML message as mentioned above? or PI will send a simple XML as below -
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_Batch_DECOMM xmlns:ns0="http://pfizer.com/serialization/batch_expiration">
    - <Observation>
      <DateTime>2012/02/08</DateTime>
      <Command>TAG_DECOM_BATCH</Command>
    - <Data>
    - <XML>
      <PRODUCT>F000000211</PRODUCT>
      <BATCH_ID>00000TESTAII001</BATCH_ID>
      <DOCUMENT_NO>0000000004811027</DOCUMENT_NO>
      <LogicalDeviceID>DG_GLOBAL</LogicalDeviceID>
      </XML>
      </Data>
      </Observation>
      </ns0:MT_Batch_DECOMM>
    and AII will convert it to PML message using some PML engine or PML converter in AII?
    Request your urgent help in this regard. Any help will be appreciated and rewarded.
    The standard XSDs we are using are - PMLCore.xsd and Identifier.xsd , first one is referring the second one.
    Thanks
    Sugata B Majumder

    Hi Mark,
    Thanks for the input. I have also thought the same using XSLT or JAVA as in PI7.1 the tag XML is not allowed in xsd. But I got surprise when I have created a data type having a field name as XML and xsd for this has been successfully generated.
    Any ways I have handled the entire structure target payload creation in XSLT. here is the XSLT code I have written-
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:template match="/">
       <xsl:comment>
       This XSLT Mapping is designed to handle the PML structure required by SAP AII system.This XSL Transformation will create PML Standard Message in SAP PI.
       Author: majums15
    </xsl:comment>
      <pmlcore:Sensor xmlns:pmlcore="urn:autoid:specification:interchange:PMLCore:xml:schema:1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:autoid:specification:interchange:PMLCore:xml:schema:1 ./PML/SchemaFiles/Interchange/PMLCore.xsd">
      <pmluid:ID xmlns:pmluid="urn:autoid:specification:universal:Identifier:xml:schema:1" />
          <pmlcore:Observation>
          <pmlcore:DateTime>
         <xsl:value-of select="substring(//EDI_DC40/CREDAT,1,4 )" />
      <xsl:text>-</xsl:text>
      <xsl:value-of select="substring(//EDI_DC40/CREDAT,5,2 )" />
      <xsl:text>-</xsl:text>
      <xsl:value-of select="substring(//EDI_DC40/CREDAT,7,2 )" />
      <xsl:text>T</xsl:text>
      <xsl:value-of select="substring(//EDI_DC40/CRETIM,1,2)" />
      <xsl:text>:</xsl:text>
      <xsl:value-of select="substring(//EDI_DC40/CRETIM,3,2)" />
      <xsl:text>:</xsl:text>
      <xsl:value-of select="substring(//EDI_DC40/CRETIM,5,2)" />
      </pmlcore:DateTime>
            <pmlcore:Command>TAG_DECOM_BATCH</pmlcore:Command>
            <pmlcore:Data>
              <pmlcore:XML>
               <xsl:element name="PRODUCT">
               <xsl:value-of select="//ZBATMAS/IDOC/ZE1BATMAS/MATNR" />
                </xsl:element>
                 <xsl:element name="BATCH_ID">
                 <xsl:value-of select="//ZBATMAS/IDOC/ZE1BATMAS/LICHA" />
                  </xsl:element>
                <xsl:element name="LogicalDeviceID">
                 <xsl:text>DG_GLOBAL</xsl:text>
                  </xsl:element>
                 <xsl:element name="DOCUMENT_NO">
                 <xsl:value-of select="//ZBATMAS/IDOC/EDI_DC40/DOCNUM" />
                  </xsl:element>
                </pmlcore:XML>
            </pmlcore:Data>
          </pmlcore:Observation>
        </pmlcore:Sensor>
      </xsl:template>
    </xsl:stylesheet>
    Thanks
    Sugata B

Maybe you are looking for