GlobalContainer x Global Variable Java Section

Guys,
My requirement: I have a variable that'll be read from message header with DynamicConfiguration and will be used in several UDFs in a message mapping.
Are there any problems in using either GlobalContainer object or Global Variable in Message Mapping Java Section for storing/recovering this variable?
And in the case I use Java Sections, suppose I have the following:
Global Variables
String param = null;
Initialization Section
param = "value";
Then, what do I need to use in Clean-up Section? Should I give it a null value or an empty string value? I mean, I can't understand the necessity of this section, since garbage collector would handle that variable (and supposing it will be valid only during this message mapping thread).
Any thoughts?
Thanks in advance,
Henrique.

Hey William,
thank you for your input.
Yeah, I thought that too, that clean-up section would be useful when I needed to use .close() methods on the open objects.
And since java sections are newer, I think they are the prefered way too.
Regards,
Henrique.

Similar Messages

  • How to go to java section global variable declaration

    Hi all
    i am following this scenario
    http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417100)ID0446700150DB10376299506581707969End?blog=/pub/wlg/11287
    in this scenario 3rd screen shot is about global variable declaration:
    In order to build the content of the attachment (for this particular requirement) we use a global variable declared and initialized in the global sections :
    can any body tell me how to go to this java section screen , as i am unable to find this java screen....
    Thanks
    sandeep

    even i cant see this edit java section
    i am working on PI 7.1. has this feature been removed in pi 7.1
    this is replaced in PI7.1 ... check this blog on how to use the "global" variable in PI7.1:
    /people/william.li/blog/2008/02/13/sap-pi-71-mapping-enhancements-series-using-graphical-variable
    Regards,
    Abhishek.

  • Java Threads vs. Native Global Variables

    A brief description of the problem:
    I am trying to integrate a multi-threaded Java app with legacy Fortran code. The Fortran code in question makes extensive use of global variables in the form of Fortran's Common Block data structure.
    If multiple threads were allowed access to a native routine, they would over write each others data which is stored in global variables.
    If only one thread at a time can have access to the native routine for the duration of the native routine, the whole advantage of using threads is completely nullified.
    These native routines cannot be rewritten (3rd party code) and must be used.
    One solution I envisioned was to load a new copy of the native shared object code for each Java object that used the native code. However, it seems System.loadLibrary() can only be used in a static context.
    Is there any known solution to this problem?

    Here is an elaboration on the earlier suggestions. It's a high overhead solution, because you have to start a bunch of JVMs.
    1. You have a java control program, which will start up a pool of "services", make requests to them, and gather the results.
    2. Each service is a small java program with a native method:
    o java communications front-end.
    o native method declaration.
    o native - in your case fortran - method implementation.
    3. Each service is started using "exec". That puts it in a separate process.
    4, Since each service is a java program, you can use java to do communications between the control program and the service.
    o You could use RMI.
    o You could - perhaps - use java Process communications, i.e., have the services write to stdout, and have the control program capture the output.
    o You could use socket communications.

  • Global Variable in JAVA

    Hi I am new to Java but have been programming in other languages for sometime.
    What I want to achieve is to have some global variables that I can use in other classes. This was particularly difficult because I want to use these global variable in Switch/Case statements. I thought this was solved by creating the following class
    public final class IntObj {
    public static final int ftsefut_contract_id = 2;
    so in another class i would use IntObj.ftsefut_contract_id in the switch/case and it worked. However, i now am begining to think this is not working. Usng NetBeans, if I change the value of ftsefut_contract_id from 2 to 3 and "clean and rebuild", I am still seeing the value of ftsefut_contract_id to be 2 and not the new value (ie 3) that I have inputed. Can someone please explain is there a better method of having global variables and if not how do I get NetBean or the project to flush itself and reload the new values each time I rebuild.
    Thanks

    That behaviour is explicitly permitted by the Java specifications.
    Use an enum.

  • 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

  • Global Variables declaration in PI 7.1

    Hi All,
    In message mapping where can I declare global variables in PI 7.1.
    Thanks and regards
    Uma

    Hi Sarvesh,
    Thank you for the response.
    The blog given by you is on PI 7.0, But icon(Java Sections) is not present in PI 7.1 mapping editor .
    Please guide me how can I proceed further.
    Thanks & regards
    Uma
    Edited by: Uma Balasubramanya on Mar 20, 2009 1:11 PM

  • Java Sections

    Hi,
    I try to generate a sequence number as described in this thread:
    Re: Sequence Number in XI Mapping
    Unfortunately I allways got the error:
    [...] found : int required: java.lang.Integer Integer counter =0;
    What do I wrong with this example? Obviously it will not except my counter declaration? May be someone has a working example for a sequence generator.
    Regards Oliver

    Hi Bhavesh
    I just declared the example of the other thread and of course you are right, I declared the following:
    Global Variables:
    int counter;
    Initialization Section:
    counter=10;
    and the Id Counter UDF is as simple as following:
    String a = Integer.toString(counter);
    counter = counter + 1;
    return a;
    I did not use any get/set methods anymore. Is this the new functionality to access global parameter directly? Is there any risk regarding this?
    Regards Oliver

  • Global Variable as an array

    Hi All,
    Culd you please tell me where I can declare a global variable as an array in PI 7.1.
    In PI 7.O we used to store global variables in java sections and it was recognized across mapping in message mapping
    In PI 7.1 I have declared a variable in init function in functions tab in message mapping but its not recognized in my mapping.
    Could you please help me with this?
    Where I have to declare a global variable so that I can use it anywhere in mapping?
    Thanks in advance
    Best Regards,
    Harleen Kaur Chadha

    Please refer to the below link about how to use global variables in PI 7.1.
    /people/william.li/blog/2008/02/13/sap-pi-71-mapping-enhancements-series-using-graphical-variable
    This link will help you understand how to use graphical valiable as a global variable.
    Thanks,
    Hetal

  • Mapping Tracing in Java Section of Message Mapping

    Hi,
    Is it possible to get the Mapping Trace Object in the JAVA SECTION of the Message Mapping?
    To access the<a href="http://help.sap.com/saphelp_nw04/helpdata/en/c8/98e7d5c1620642973565ea3dd319d1/content.htm">Mapping Trace Object</a>, we need the instance of the <a href="http://help.sap.com/saphelp_nw04/helpdata/en/78/b4ea10263c404599ec6edabf59aa6c/content.htm">Container Object</a>. SAP help says, Container Object is made available to every User Defined Function .
    What we need is how can we get the current instance of the Container Object in the JAVA Section of Message Mapping. Any ideas?
    Regards,
    Bhavesh

    Hi Bhavesh,
    It seems you can access global container from any part of Graphical mapping.
    According to Access StreamTransformation values in Java initialisation section:
    <b>The mapping program is a class derived from the interface GlobalContainer. So you can use the methods of GlobalContainer all the time during the mapping program.</b>
    Plz refer the link to the related thread.
    Regards,
    Ananth

  • Java Section in IR

    How do we use the Java Section (Message mapping>Design>Edit Java Sections) in IR.

    Hi,
    Edit Java function is to specify global variables and to mentioned about additional Java sections for all Java functions.
    The mapping is internally based on Java SAX parsers so runtime first it will include the Java packages specified under Imports. It will be used if any special package need to be import else the standard Java.lang or Maths packages have default imported no need to mentione about it.
    You can enter the same packages entered for a user-defined function. Then the mapping runtime declares the variables entered as global variables and executes the sections in the following order:
           1.      Initialization section
           2.      Message mapping
           3.      Cleanup section
    Thanks
    Swarup
    Edited by: Swarup Sawant on Mar 10, 2008 7:25 AM

  • Info on Java Section

    Hi All,
    Under Message Mapping there is a tab Edit Java Sections . Under that there are three sections
    Global Variables , Initialization and  Clean Up Section. Can anyone please provide me some details on this .
    I mean what is the kind of scenario when this section is used in mapping.

    Hi Amit,
    For this particular information  SAP Help is the best site.
    http://help.sap.com/saphelp_nw04/helpdata/EN/ee/bf9640dc522f28e10000000a1550b0/frameset.htm
    Re: difference b/w user defined functions and Java Sections
    With the use of Java Edit section, you can define the global variables that can be used with UDFs on runtime.
    Also you may write the intitialization code and clean-up code which can be used at the time of Method execution.
    PS note : Please don't mind......but I would like to request you, before posting the questions please use the search facility on SDN. Most of the time these topics where already discussed & you will get the answers...;-))
    Thanks
    Swarup

  • FixValues and Global Variable

    hi,
    Is there a functionality which does exactly like FixValues but stores the value thorugh out the mapping?
    I have a requirement where i have to map 2 different values to other values but i have to repeat this for all the fields using FixValue instead if there would be a Global Variable i could use that instead.
    Any ideas.
    Thanks,
    KP

    Hi Tirumal,
    For your requirement you can define a HashMap in Java Sections Tab of Graphical mapping and refer the values from UDF.
    Steps
    1. Goto MessageMapping (Design TAB)-> Edit JAVA Sections (Found on top-right side)
    2. Declare a HashMap in Global variables section.
        Eg.
    HashMap materialNumMap = null;
    3. Initialize the same variable and fill some values.
        Eg.
    materialNumMap = new HashMap();
                materialNumMap.put("MAT-01","10001");
                materialNumMap.put("MAT-02","10002"); 
                materialNumMap.put("MAT-03","10003");
                materialNumMap.put("MAT-04","10004");
    4. Write UDF to retrieve value from Global container
    public void chkExists(String materialNUM,ResultList result,Container container){
      String valueFrmMap = (String)materialNumMap.get(materialNUM);
      return valueFrmMap;
    Hope this solves your problem.
    Regards,
    Ananth

  • How do you override global variable values when calling oraxsl or xsl.exe?

    I am a newbie to oracle xslt.
    I have down loaded the latest version of xdk (10.1.0.2...). (Jan 2, 2009).
    In the past I haveI used micorsoft's "msxsl.exe" to perform my transformations.
    I am looking for a more up-to-date transformation tool.
    I found Oracle's version, and thought I would try it out.
    I have run the "bin/xsl.exe -hh" command.
    I read its help data. It states that variables are
    passed by coding a pramater "-V <var> <value>".
    I have also examined the oraxls.bat file.
    I found the documentation on "oracle.xml.parser.v2.oraxsl" class.
    It states that parameters are passed after the "-p" switch.
    It says the value of the -p parameter is "a list of paramemters".
    I don't find this sufficient information to be useful.
    I can spend days guessing, and I might get lucky.
    I thought it my be better to ask for help.
    I need to pass in (override) values for 3 global variables.
    I saw the method
    "setParam(namespace, variable, value)",
    near the documentation for the "oraxsl" class.
    How do you format the options string to communicate more than one param statement?
    (in either xsl.exe and/or oraxsl class).
    Suppose I have an xslt stylesheet as follows:
    ==================================================
    <?xml version="1.0" ?>
    <xsl:stylesheet version="1.1" xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
    <xsl:param name='a' select='"default_a"' />
    <xsl:param name='b' select='"default_b"' />
    <xsl:param name='c' select="'default_c"' />
    <xsl:template match='/'>
    this is value for a: <xsl:value-of select='$a' />
    this is value for b: <xsl:value-of select='$b' />
    this is value for c: <xsl:value-of select=$c' />
    <xsl:apply-templates />
    </xsl:template>
    </xsl:stylesheet>
    ========================================================
    Now as part of the calling of the XSL processor I want to change the value of these
    three global parameters.
    I want:
    a="current_a",
    b="current_b",
    and c="current_c"
    How do I express this using xsl.exe and its paramter string (-V ????).
    and/or how do I express it to the oraxsl class ( -p (xsl, a,"current_a"), (....) )???
    The syntax for specifying this information is not very clear in either situation.
    Of course I am making the "assumption" that by "param" they are
    refering to "global parameters" (as in my stylesheet), rather than some other global parameters of XLST.
    As an aside inquiry:
    I had hopped that the Oracle's xsl Verion 2 routine could handle xslt 2.0 commands
    such as "xsl:for-each-group", since it handled multiple xsl:outputs.
    From reading some of the documentation it seems it only handles xslt 1.0 syntax/commands.
    Is this true? (or is the documentation not up-to-date?).
    Any help on passing param values to xsl.exe and/or "oraxsl" class is appreciated.
    Thanks.

    Here is the line from one of my testing .bat files that passed in one parameter. I can't recall if I've passed in two, but this will give you a starting point for passing in multiple
    java -cp %CPath% oracle.xml.parser.v2.oraxsl -p show_image='yes' %ValXML% %ValXSLT% As for XSLT 2.0 support, it appears it does per {thread:id=503445}

  • How to Use Transient View Objects to Store Session-level Global Variables

    hi
    Please consider section "40.8.5 How to Use Transient View Objects to Store Session-level Global Variables"
    at http://download.oracle.com/docs/cd/E14571_01/web.1111/b31974/bcstatemgmt.htm#ADFFD19610
    Based on this documentation I created the example application
    at http://www.consideringred.com/files/oracle/2010/ProgrammaticalViewObjectAndRollbackApp-v0.01.zip
    It behaves as show in the screencast at http://screencast.com/t/qDvSQCgpvYdd
    Its Application Module has a Transient View Object instance "MyEmployeesContextVOVI", as master for the child View Object instance "EmpInCtxJobVI".
    On rollback the Transient View Object instance keeps its row and attribute values.
    Also when passivation and activation is forced (using jbo.ampool.doampooling=false ) the Transient View Object instance seems to keep its row and attribute values.
    questions:
    - (q1) Why does the expression #{bindings.MyEmployeesContextVOVIIterator.dataControl.transactionDirty} evaluate as true when a Transient View Object instance attribute value is changed (as shown in screencast at http://screencast.com/t/qDvSQCgpvYdd )?
    - (q2) What would be a robust approach to make a Transient View Object instance more self-contained, and manage itself to have only one single row (per instance) at all times (and as such removing the dependency on the Application Module prepareSession() as documented in "5. Create an empty row in the view object when a new user begins using the application module.")?
    many thanks
    Jan Vervecken

    Thanks for your reply Frank.
    q1) Does sample 90 help ? http://blogs.oracle.com/smuenchadf/examples/
    Yes, the sample from Steve Muench does help, "90. Avoiding Dirtying the ADF Model Transaction When Transient Attributes are Set [10.1.3] "
    at http://blogs.oracle.com/smuenchadf/examples/#90
    It does point out a difference in marking transactions dirty by different layers of the framework, "... When any attribute's value is changed through an ADFM binding, the ADFM-layer transaction is marked as dirty. ...".
    This can be illustrate with a small change in the example application
    at http://www.consideringred.com/files/oracle/2010/ProgrammaticalViewObjectAndRollbackApp-v0.02.zip
    It now shows the result of both these expressions on the page ...
    #{bindings.MyEmployeesContextVOVIIterator.dataControl.transactionDirty}
    #{bindings.MyEmployeesContextVOVIIterator.dataControl.dataProvider.transaction.dirty}... where one can be true and the other false respectively.
    See also the screencast at http://screencast.com/t/k8vgNqdKgD
    Similar to the sample from Steve Muench, another modification to the example application introduces MyCustomADFBCDataControl
    at http://www.consideringred.com/files/oracle/2010/ProgrammaticalViewObjectAndRollbackApp-v0.03.zip
    public class MyCustomADFBCDataControl
      extends JUApplication
      @Override
      public void setTransactionModified()
        ApplicationModule vApplicationModule = (ApplicationModule)getDataProvider();
        Transaction vTransaction = vApplicationModule.getTransaction();
        if (vTransaction.isDirty())
          super.setTransactionModified();
    }Resulting in what seems to be more consistent/expected transaction (dirty) information,
    see also the screencast at http://screencast.com/t/756yCs1L1
    Any feedback on why the ADF Model layer is so eager to mark a transaction dirty is always welcome.
    Currently, question (q2) remains.
    regards
    Jan

  • How do you reference a created global variable in a report text field?

    I have created a parameter using the Globaldim statement in a script file. when I reference this parameter in any other script file during the current DIAdem session the value is passed without any issue.  Call the variable parmxyz where I assign it a value of 25.3 
    The help section under Globaldim mentions that global variables can be referenced in all panels, scripts, and dialogue boxes.  When I try to insert a text box on a report page using the @@parmxyz@@ it returns NOVALUE where I expect to see 25.3 (for example).
    When I substitute @@CurrDate@@ I do get the date, so I know the text box is valid.  What am I doing wrong?
    Steve    M 

    Hello Steve!
    It should work the way you did it. But their are some circumstances wich might prevent it:
    You have reseted the global script engine. All variables will be lost.
    You have a Sub with the same name in a command extension script. There is no warning ;-)
    One Test you can make is to put in '@@TypeName(paramxy)@@' as the expression to see the variable type. You can also try a realy unique variable name. The last option is to use ItemInfoGet to get detailed infos about your variable.
    Matthias
    Matthias Alleweldt
    Project Engineer / Projektingenieur
    Twigeater?  

Maybe you are looking for

  • How to find out which DC must be included?

    Hi Experts, We are working with NWDI and Development Components. There is often the need to include extra Java Libraries/APIs e.g. for Mailing or using UME. How can i find out which of SAPs Development Components i have to add to my Dependencies? Som

  • How can I duplicate a page in Pages 5.1

    I am unable to duplicate pages in Pages 5.1 as part of a flowing document. This is one of the most basic functions which I do not seem to find any longer in the updated version of Pages. Has this been removed? If so, why would one possible remove one

  • URGENT - folio builder panel upgrade

    We are publishing one of our monthly issues in a few hours but have just seen the message: 'A mandatory Folio Builder Panel upgrade will be required on May 2nd. Installers will be posted at http://www.adobe.com/downloads/ when the update is required.

  • Everytime i try to download a file that i've purchesed i get a currupted file prompt? ***?

    So once upon a time I bought a song, then while it was downloading it continued to download,over and over again about 5 times, each time getting to the desired amount of MB to be completed only to restart again....then i get this error prompt saying

  • Spacebar + Moving not working

    A while ago it became impossible for me to use the most desired function in Photoshop; I could no longer drag the display by simply holding the spacebar. After looking or some information online, it came to my attention that many people were experien