UDF needed globally

Hi all,
I have done one UDF, for one of my interface , i need to use this for another interface , , i am not able to find the UDF in another namespace for my new interface please help me
thanking you
Sridhar

Hi...
     You can use Function Library if you are using PI7.1 server. You can write the UDF in the function library and you can use the same function library in different namespaces in mapping.
Check the below link.
/people/william.li/blog/2008/01/02/sap-pi-71-mapping-enhancements-series-share-user-defined-functions
Regards,
Leela

Similar Messages

  • Jdev+ADF Mobile : Error java.lang.NullPointerException,need global variable

    hi, i am using jdeveloper version 11.1.1.1.0.
    i try to get value of field "id" from a table "customer" from input value from "username" and "password" form in welcome / login page.
    the value of field "id" that logged on will be used for further operation like determine relationship with other table for showing data.
    to accomplish that, i create a new java class "bean.java"
    the content is simple, just a few variable like : eeid,eeuser,eepass, and more else.
    each variable have accessors.
    after create "bean.java", i register that class to faces-config.xml in managed beans tab. i give it description like below :
    - name : beanku
    - class : mvc.bean
    - scope : session
    to login, i check the login button with code like this :
    public String cmdSigninee_action() throws ClassNotFoundException, SQLException {      
    String tuser = (String) inputUseree.getValue(); --> value of username
    String tpass = (String) inputPassee.getValue(); --? value of password
    bean ong = (bean) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("beanku"); --> it's ok here
    ong.setSeeid("testing"); --> here is the error
    i got an error message like shown below :
    Target URL -- http://127.0.0.1:7101/madf-mvc-context-root/faces/welcome.jsp
    Dec 4, 2009 11:39:26 PM oracle.jbo.uicli.mom.CpxUtils$Visitor logMainApplicationCpx
    INFO: file:/C:/Documents and Settings/Ong/Application Data/JDeveloper/system11.1.1.1.33.54.07/o.j2ee/drs/madf/madf-mvc-webapp/WEB-INF/classes/mvc/DataBindings.cpx
    Dec 4, 2009 11:39:27 PM oracle.adfinternal.controller.faces.lifecycle.JSFLifecycleImpl setLifecycleContextBuilder
    INFO: ADFc: Initializing ADF Page Lifecycle for the JSF environment, LifecycleContextBuilder is 'oracle.adfinternal.controller.application.model.JSFDataBindingLifecycleContextBuilder'.
    Dec 4, 2009 11:40:21 PM com.sun.faces.application.ActionListenerImpl processAction
    SEVERE: java.lang.NullPointerException
    javax.faces.el.EvaluationException: java.lang.NullPointerException
         at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
         at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
         at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:96)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.wls.util.JpsWlsUtil.runJaasMode(JpsWlsUtil.java:146)
         at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:140)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3588)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.lang.NullPointerException
         at mvc.backing.Welcome.cmdSigninee_action(Welcome.java:380)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
         ... 38 more
    Dec 4, 2009 11:40:21 PM com.sun.faces.lifecycle.InvokeApplicationPhase execute
    WARNING: #{backing_welcome.cmdSigninee_action}: java.lang.NullPointerException
    javax.faces.FacesException: #{backing_welcome.cmdSigninee_action}: java.lang.NullPointerException
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
         at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
         at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:96)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.wls.util.JpsWlsUtil.runJaasMode(JpsWlsUtil.java:146)
         at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:140)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3588)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
         at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
         ... 37 more
    Caused by: java.lang.NullPointerException
         at mvc.backing.Welcome.cmdSigninee_action(Welcome.java:380)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
         ... 38 more
    Dec 4, 2009 11:40:21 PM com.sun.faces.lifecycle.Phase doPhase
    SEVERE: JSF1054: (Phase ID: INVOKE_APPLICATION 5, View ID: /welcome.jsp) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@8aa35b]
    <Dec 4, 2009 11:40:21 PM ICT> <Error> <HTTP> <BEA-101017> <[ServletContext@14855001[app:madf module:madf-mvc-context-root path:/madf-mvc-context-root spec-version:2.5], request: weblogic.servlet.internal.ServletRequestImpl@5a2f7[
    POST /madf-mvc-context-root/faces/welcome.jsp?_adf.ctrl-state=4p5g40az1_4 HTTP/1.1
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
    Referer: http://127.0.0.1:7101/madf-mvc-context-root/faces/welcome.jsp;jsessionid=vs4JLZ7ppccm9mdq4z1RJn31c1Qj9ZpLmdHhT2BGTThzP7JnZfmJ!1909271282?_adf.ctrl-state=4p5g40az1_4
    Accept-Language: en-us
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
    Content-Length: 346
    Connection: Keep-Alive
    Cache-Control: no-cache
    Cookie: JSESSIONID=vs4JLZ7ppccm9mdq4z1RJn31c1Qj9ZpLmdHhT2BGTThzP7JnZfmJ!1909271282
    ]] Root cause of ServletException.
    javax.faces.FacesException: #{backing_welcome.cmdSigninee_action}: java.lang.NullPointerException
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
         at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
         Truncated. see log file for complete stacktrace
    javax.faces.el.EvaluationException: java.lang.NullPointerException
         at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
         Truncated. see log file for complete stacktrace
    java.lang.NullPointerException
         at mvc.backing.Welcome.cmdSigninee_action(Welcome.java:380)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         Truncated. see log file for complete stacktrace
    >
    anyone can help me with those errors? i just need global variable, so i can use it for check relationship with other table.
    or if anyone of you can give me another way to get the value of field "id" from a table?
    thank you so much before! and i am sorry if my english is bad.

    If you select the JSP page in the graphical stuts-config.xml overview in JDeveloper, you should see the properties of the JSP page in the property inspector. One of those properties defines the Java class that handles the action/forwarding/etc.
    Then you should create a new Java-class that extends the original action handling class. Change the property in the graphical stuts-config.xml overview in JDeveloper to this new class.
    Then add an event attribute to the submitbutton element in the form of your JSP page, e.g. seeDetails.
    In your newly created class you can then create a new method: onSeeDetails. This method should be invoked when the submit button is pressed and the form is submitted.
    In the ADF ToyStore demo there are some examples of Java classes that extend the standard action handler. There in the ViewController project.
    ROnald

  • UDF Needed

    Hi,
    I have a requirement where in there is a field str where I need to load the XSD schema and pass to the target. There are some 10 tables and each of them have a different XSD . All of these I have loaded under imported archieves. Now I need to write a UDF to call these and pass on to the target.Can some one help me with this.
    It is like if the table name is A then pass <str>Schema<str/> for that and so on for all the 10 of them..
    Can some one please help me with the UDF logic as I am facing difficuilty in achieving this.
    Thanks
    Amit

    Hi Harshvardhan,
    The requirement is there are a set of tables defined in the legacy side and there is a URL which is used to make a call from PI and update the tables based on the XSD schema field.
    I mean the output would be something like
    <table> ABC <table/>
    <Str>Will contain the XSD of that table<Str/>
    table>YYY<table/>
    <Str>XSD of this table <Str>
    and it will repeat  for other tables.
    I am not sure how to populate the schema XSD of the target table into this Str field as there is nothing that is coming from the source side. I mean how can this XSD be built in PI if there is no input from the source side. I am of the opinion that this cant be handled . But in case I am wrong in my understanding please clarify.
    I hope I am clear in explaining . In case you need clarifications please let me know.
    Thanks
    Amit

  • Mapping Help/UDF needed.

    Hi my source looks something like this
    Recordset.      0-Unbounded.               
         Record           0-Unbounded
    Value1
    Value2
    DOCNO
    MatNo
    target
    =====
    MT_Target
    Recordset 0-Unb
    Header
    Val1
    Val2
    DOCNO
    Material 0-Unb
    Matno     
    Example Mapping
    =============
    Recordset.      .               
         Record           
    XXX
    YYY
    100
    01
         Record           
    XXX
    YYY
    100
    02
         Record           
    AAA
    ZZZ
    200
    22
         Record           
    AAA
    ZZZ
    200
    33
    Then My Target would be like
    MT_Target
    Recordset
    Header
    XXX
    YYY
    100
    Material
    01
    02
    Recordset
    Header
    AAA
    ZZZ
    200
    Material
    22
    33
    Please notice the Grouping of DOCNo and Corresponding material numbers
    So I am trying to group the Materials in the Target structure based on the DOCNO field. So all the materials falling under the same DocNo are listed  under that DOCNo,Like if Matno 01,02 fall under Docno 100 so they are listed Under DOCNO :100
    So if there are 3 DOCNo’s then we will have 3 Recordset in the target and each Recordset will have the corresponding MATNO for that DocNo. Hope u understand.
    Could anybody please help me out with this, I have tried using SplitByValue Changing and Collapse Conetxt, it works for the Header but not for the "Material" Node. Help needed, Points Guaranteed.

    John,
    DO you know the  DOCNO value before runtime? Will it have only values 100 and 200? If so, then it is easy to do this using graphical mapping.
    You need to evaluate the condition at recordset level in target.
    Have a look at this thread for evaluating the condition at root level
    Re: How to get access to sub-node elements with a UDF?
    If the value of DOCNO is unknown at design time, then it is better to handle the mapping using JAVA mapping.
    Regards,
    Jai Shankar

  • Best Practice Needed: Global Application Properties...

    Hi All,
    When developing a web-based application that reads certain configurable parameters from .properties files, I usually put the appropriate code in a static block in the appropriate Java class, storing the property in a static final constant. For example, a DBConnection class might have a static block that reads the driver, username, and password from a properties file.
    My question is, what are some "best practice" techniques for accessing and storing such parameters for use in an application? Are all global properties initialized in one class? at the same time? only when first needed?

    over all, I would say that your approach is fine. Personally, I load properties through a single class, some thing like PropertyReader, and have the different classes initialize their static fields via a get method on that class, like getProperty("db.user"). I prefer to load them via a single class because I can place all of my IO trapping in one location, it is easier to implement new security measures and, if necessary, easier to support internationalization.
    I initialize all properties once, at startup, into a Wrapper Object, typically ResourceBundle or Properties (although Hashtable or any some thing else would be suitable). I believe that it is best to initialize all properties at the same time, at startup because the costs of storing properties that may not be used is going to be less then the cost of making multiple IO calls to load properties on a need-by-need basis. In other words, you are almost always going to take a bigger performance hit by loading properties only when a request for that key is received, rather then just loading them all at once.

  • Need "Global" App URL

    This is probably easy but, I just can't seem to figure it out. I have a bunch of applications that are all tied togther by one application that acts, more or less, like a menu for the others. In other words, the "parent" application is just a bunch of clickable icons that are used to access the "children."
    The problem I am having is that I need a way to have the URL for the parent globally available when I go into any of the child applications. I have a "home" navigation bar entry on all of the children that currently just has the URL hard coded. When I go from development to production with my applications I have to open every single app and manually change this URL ( a huge pain! ).
    Isn't there some way I can use a subsitution string for this?
    Thanks,
    -Joe

    Actually, I didn't need to use the Menu application although, if I were building from scratch I would have. The article did tell me how to do what I'm trying to do though.
    I had been specifying the whole URL, e.g. http://dorinventory/pls/htmldb/f?p=114:23:&SESSION. All that I really had to do was specify the URL from the "f?" down, e.g. f?p=114:23:&SESSION.
    That totally solves my problem.
    Thanks!

  • Cisco Security Manager, need global search, i.e. filters are not good at all

    Does anybody know how to work effectively with security manager and filtering?
    It is extremely time consuming and frustrating to work with Cisco Security Manager in regards to search for entries or filter. I have not been able to find some kind of global search, is there?
    How do other people cope with this?

    It appears to have been a temporary issue as the backup is running fine again now... closing the thread.

  • UDF needed for Strin Concatenation.

    Dear Friends,
    I am new to XI The requirement is like.
    "In order to map field E1EDL20-VBELN, Concatenate field CH_VBELN with 00 in the left side.
    For example if we have in the file ""80008000"" as a value of field CH_VBELN then the field E1EDL20-VBELN will be mapped with 0080008000.
    E1EDL20-VBELN = 0080008000"               

    Hi,
    Use Constant as 00 and use Concatanate function and mapp CH_VBELN and constant field to the target field E1EDL20-VBELN
    Ex:
    Constant(00)
    Cocatenate----
    E1EDL20-VBELN
    CH_VBELN
    Regards
    Seshagiri

  • Mapping conversion help needed for date

    Hi Experts,
    I need help in message mapping convesion for date field
    The source date field can have value '2010-06-04T02:09:59.610-07:00' or 2010-06-04T02:09:60.610-07:00
    I have to change it to '2010-06-04T02:09:59.000-07:00'. ie, if the seconds are 59.XXX, or 60.XXX, then change to 59.000.
    Please let me know the best way to do this
    Thanks
    Mike

    Again, to make it more clear
    The source date field can have any date value such as
      2010-06-04T02:09:59.610-07:00 -
    This needs to be changed to 2010-06-04T02:09:59.000-07:00
      2010-06-04T02:09:60.610-07:00 -- This needs to be changed to 2010-06-04T02:09:59.000-07:00
    2010-06-04T02:09:60.000-07:00 -- This needs to be changed to 2010-06-04T02:09:59.000-07:00
    2010-06-04T02:09:59.000-07:00  - This need not be changed
    2010-06-04T02:09:58.610-07:00 -- This need not be changed
    2010-06-04T02:09:57.610-07:00  etc etc - These need not be changed.
    The only change using date function is for the first two dates, in which 59.XXX and 60.XXX need to be replaced with  59.000
    Using the above date function, all the seconds 59.XXX, 58.XXX, 60.XXX, etc etc,,, are converted to 59.000, 58.000 and 60.000
    I dont need this as per the requirement. So looks like the UDF needs to be altered a little to accomodate my requirement.
    Please help me.
    Thanks
    Mike

  • Global data in a servlet using iPlanet Web Server

    Our configuration is an Applet->Servlet->JNI->C/C++ code.
    We have C code that does a number of lengthy mathematical calculations. This C code not only uses its own global variables but, it is also comprised of numerous subroutines that all call each other, reading and writing global C variables as they go. These globals are all isolated to the C code shareable object (.so) library that is included using the LoadLibrary call when the servlet is initialized.
    The problem is that in a multi-user environment (3-5 simultaneous users) we need to have each user have their own "copy" of the servlet (and the C code) so that users will not be accessing each other's global data. We can NOT have only one copy of the C code and define it as synchronized because the calculations that are performed can take a very long time and we can not hold off user requests while the firs user finishes.
    Our hope is that there is a way to configure the iPlanet Web server such that each new user that starts up a copy of the Applet/Servlet combination will get their own "space" so that they can work independently of any other user. We have at most 20 users of this system and only 3-5 simultaneous users so we should not have a problem with memory or CPU speed.
    If anyone has a solution, I would greatly appreciate it!

    The C library is shareable. But you don't want it to be shared. That's your question summarized, isn't it?
    You probably can't prevent it from being shared, so to prevent multiple use of it you would have to queue up the requests to be done one at a time. WynEaston's suggestion of having the servlet implement SingleThreadModel would help, but I believe the servlet spec allows servers to run multiple copies of a servlet that does that (as opposed to running a single copy in multiple threads).
    Your other alternative is to rewrite the math in Java, or at least in some object-oriented language where you don't need global variables (which are the source of your problem). All right, I can already hear you saying "But that wouldn't be as fast!" Maybe not, but that isn't everything. Now you have a problem in queueing theory: do you want a single server that's fast, but jobs have to wait for it, or do you want multiple servers that aren't as fast, but jobs don't have to wait? That's a question you would have to evaluate based on the usage of your site, and it isn't an easy one.

  • IP address on global keepalive

    CSS configuration with keepalive named set an IP address to the global keepalive.
    Into the Cisco document we can read
    "Configuring a Global Keepalive IP Address
    The CSS sends global keepalives to a service that monitors the state of services assigned to it. Use the ip address command to specify the IP address where the keepalive messages are sent."
    This means that we need a dedicated external service to monitor the real services?!
    Best Regards
    follow the URL :
    http://www.cisco.com/en/US/docs/app_ntwk_services/data_center_app_services/css11500series/v7.40/configuration/content_lb/guide

    Let's say you have a server that runs HTTP and FTP.
    You create the following services
    service A-http
    service A-ftp
    They will have their own separate keepalive.
    NO global keepalive.
    But then you create a generic service for server A.
    ie:
    service A-generic
    ip x.x.x.x
    active
    And you want this service to be alive when the http port is alive.
    You can simply add 'keepalive type http'.
    But you already have another service sending http keepalive to that server.
    So, if you add 'keepalive type http' to this new service, the CSS will send 2 probes for the same service.
    So, to avoid sending 2 probes, you create a GLOBAL keepalive.
    This global keepalive is configured with the ip address of the server and keepalive type http.
    You then assign this global keepalive to the 2 services that need it.
    This is as simple as that.
    You only need global keepalive if 2 or more services use the same keepalive.
    The ip address is the one used by the 2 services.
    Gilles.

  • Message Mapping error in UDF

    I am receiving errors when trying to activate my MM.  I believe the issues are in one of two UDF's.  These UDF's do work in another MM without error.  Below are the error's and UDF's.
    ERRORS:
    Activation of the change list canceled Check result for Message Mapping MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE | http://wawa.com/xi/erp/pos:  Starting compilation  Source code has syntax error:  /usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map5420e070cabe11dcab4b00306ef38da9/source/com/sap/xi/tf/_MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE_.java:3291: cannot resolve symbol symbol : variable container location: class com.sap.xi.tf._MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE_ map = container.getTransformationParameters(); ^ /usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map5420e070cabe11dcab4b00306ef38da9/source/com/sap/xi/tf/_MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE_.java:3293: cannot return a value from method whose result type is void return constant; ^ 2 errors
    UDF's:
    public String getSender(Container container){
    String constant;
    java.util.Map map;
    // get constant map
    map = container.getTransformationParameters();
    constant = (String) map.get (StreamTransformationConstants.SENDER_SERVICE);
    return constant;
    IMPORTS:  com.sap.xi.mapping.parse.dom.;javax.xml.parsers.;java.io.;com.sap.aii.mapping.lookup.;org.w3c.dom.*;
    public String getSeqNum(String fileType,String objNum,String Sender,Container container){
    String request = "<ns0:ZRFC_NUMBER_GET_NEXT xmlns:ns0=\"urn:sap-com:document:sap:rfc:functions\"><NR_RANGE_NR>" + fileType + "</NR_RANGE_NR><OBJECT>" + objNum + "</OBJECT><QUANTITY/></ns0:ZRFC_NUMBER_GET_NEXT>";
    InputStream isRequest = new ByteArrayInputStream(request.getBytes());
    SystemAccessor accessor = null;
    String num  = null;
    try{
         // 1. Determine a channel.
         Channel channel = LookupService.getChannel(Sender, "R_RFC_ERP");
         // 2. Get a system accessor for the channel.
         accessor = LookupService.getSystemAccessor(channel);
         // 3. Create a payload according to the data type which the adapter expects.
         //    Use service.getBinaryPayload() for binary payload,
         //    and service.getTextPayload() for text payloads.
         Payload payload = LookupService.getXmlPayload(isRequest);
         // 4. Execute lookup.
         Payload response = accessor.call(payload);
         //Parse response
         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
         DocumentBuilder builder = factory.newDocumentBuilder();
         InputStream resStream = response.getContent();
         Document doc = builder.parse(resStream);
         Element sequence = doc.getDocumentElement();
         NodeList number = sequence.getElementsByTagName("NUMBER");
         //Extract Number
         num = DOMUtil.getSimpleElementText((Element) number.item(0));
    } catch (Exception e) {
         return e.getMessage();
    } finally {
         try {
              if (accessor != null) accessor.close();
         } catch (Exception e) {
              return e.getMessage();
    GlobalContainer gc = container.getGlobalContainer();
    gc.setParameter("Num", num);
    return num;
    Any help is appreciated.
    Regards,
    Darrell

    Fauver,
    Just to narrow down the problem first remove the first udf and only use the 2nd user defined function. Also in the 2nd udf you have to change this line:
    try{
    // 1. Determine a channel.
    Channel channel = LookupService.getChannel(Sender, "R_RFC_ERP");
    In the above line instead of Sender you use the business service or business system where R_RFC_ERP RFC communication channel is created in Integration Directory. So you are hardcoding it first.
    Once you have done this changes do save and test it once again. If this works then you can change back to original and your first udf needs to be checked.
    Regards,
    ---Satish

  • Batch Updating a UDF based on user input.

    I have been asked to come up with a way to update several PO's with a update.
    We have several PO that come in on 1 container, the Container NO (UDF) is updated per PO
    Then several weeks later the Rev. Delivery Date (UDF) needs updated.
    Is there a way to update all PO's with the same container no with the new date.
    Example:
    UPDATE OPOR
    SET OPOR.U_RevDelivery = '[%0]'
    WHERE U_ContRefNo = '[%1]'
    Both the Delivery date needs to be user input and the Container No needs to be input by the user.
    Thanks,
    Craig S.

    Hi,
    Update is not not allowed you may taking a risk of losing SAP Support.
    What you can do is to query then manually edit the result of the query
    by clicking each DocNum and update U_RevDelivery manually.
    This is the safest thing to do or you can try this using SDK.
    The query:
    Select T0.DocNum, T0.U_RevDelivery FROM OPOR T0
    WHERE U_ContRefNo = '%0'
    Thanks.
    Clint

  • OIM 11g: UDF disappears from User Attributes page

    Hi,
    I was modifying a user defined attribute using the 11.1.1.3 User Attributes configuration page. All I did was change its category to move it to another section of the user profile page. The last remaining field in the category 'disappeared'. It just went from the list of fields in the category. The field still exists on the USR object and still contains all the values. But it's gone from the UI.
    I exported the /file/User.xml from MDS and sure enough the missing attribute is not present in the User.xml file. It is there for the mapping to the back end column, and in another element. But the element that describes the field proper is not there. I've since added the attribute element back in manually and re-imported the metadata using the weblogic environment manager, but the field still does not appear.
    So, my question is does anybody know where else OIM stores the attribute details? Is it in the DB somewhere and merely mirrored in the MDS? What do I need to do to restore the field? (I can't add it in because it says it already exists.)
    Thanks

    PeachEye,
    I was unable to see the UDF's I had created on the user form until I set up a policy for them. Please check the policy around the UDF's.
    I am hoping this can help you.
    From Oracle documentation:
    User's Guide for Oracle Identity Manager
    11g Release 1 (11.1.1)
    E14316-03
    User-defined fields (UDFs) can be added by creating a policy and
    adding attributes in the self service user management
    administration policy in Oracle Identity Administration. To add
    the User defined attributes for view or modification under the
    Attributes tab, these UDFs need to be added to the modify user
    data set for self-service. Also, a custom policy needs to be created
    under self service user management to grant permission to view
    and/or modify these attributes.
    For details on authorization policies, refer "Creating and Managing
    Authorization Policies" on page 15-2.

  • Concept needed to clarify

    I would like to ask some concept in JSP
    Is that the variable declare in the <% %> is global variable or instance variable?
    If two client access the same JSP at the same time, and there is a variable x=0;
    And then this JSP perform x++ and display x. The expected result will be output x=1. Will there be a chance that is will appear x=2 if many client access the same page?

    Variable in <% %> has scope only for that instance.. If you need global variable or valrible across multiple instances declare variable <%! %> block.

Maybe you are looking for

  • Whatsapp Problems [Bold 9780]

    whats app will not work on my blackberry bold 9780, it will only let me open it when once when i first install it, i get to the first stage where it wants me to enter my number, when i do enter my number and try and go to the next step it will say aw

  • Adding Classified Ads Pages to Iweb

    I know that I can't add classified pages directly, but does anybody know any 3rd party websites where I can set up classified ads with my color schemes and logos on the pages and that I can have random people upload, add, and delete their classifieds

  • Mac color separations dialog problem

    When I have more than 8 colors to separate in the print/output dialog on the mac I cannot easily apply the frequency and screen angles for those I have to scroll to access, the color dialog just jumps around.  I have to fight to get to the parameters

  • Impossible to connect to other Macs

    Hi, my father has just bought a new MB; we've got also a MB and a iMac 20"; ok, if i try connect to MB or iMac it doesn't work; when i click to connect nothing happens. However, i can see MB and iMac in Network...! But...if i try to connect to MB fro

  • Firefox is not launched from thunderbird and endnote URL

    I used to be able to click on a link from Thunderbird and Firefox could be opened, but now it doesn't do anything. Also, when I click on a URL from Endnote, Firefox doesn't open.