Synchronising the functions of booleans by their naming

Hello everyone,
I have a bit of a challenge that I appreciate some help with. I am trying to create a program that synchronises the function of a group of booleans by their names. If the booleans have names bool 1_i, I want them to be synchronised such that when one bool 1_1 for instance is turned on, then all the other bool 1_i are changed to the same state.  The group of Booleans bool 1_i will all initially be in the same state but I'm trying to get a program that allows them to work in parallel like that.  I have been able to make a 16 by 128 array to work like that, where every row represented the group of bool j_i where i=16 and j=128. Now I want to have the same function only for a stand alone booleans that aren't put into an array by the array function palette.  In effect i am trying to get an array of booleans without creating a boolean array in the traditional sense. This is because I want the position to each standalone boolean to be changed while maintaining is synchrony with other booleans linked to it by name.  Any help on this would be very much appreciated.
Below are screen shots of the code that I used the 16 y 128 array
Sincerely,
Tebello
Solved!
Go to Solution.
Attachments:
Screen Shot 2013-08-02 at 15.03.27.png ‏70 KB
Screen Shot 2013-08-02 at 09.46.11.png ‏24 KB
Screen Shot 2013-08-02 at 15.02.49.png ‏37 KB

tebelloq wrote:
I have a bit of a challenge that I appreciate some help with. I am trying to create a program that synchronises the function of a group of booleans by their names. If the booleans have names bool 1_i, I want them to be synchronised such that when one bool 1_1 for instance is turned on, then all the other bool 1_i are changed to the same state.  The group of Booleans bool 1_i will all initially be in the same state but I'm trying to get a program that allows them to work in parallel like that.  I have been able to make a 16 by 128 array to work like that, where every row represented the group of bool j_i where i=16 and j=128. Now I want to have the same function only for a stand alone booleans that aren't put into an array by the array function palette.  In effect i am trying to get an array of booleans without creating a boolean array in the traditional sense. This is because I want the position to each standalone boolean to be changed while maintaining is synchrony with other booleans linked to it by name.  Any help on this would be very much appreciated.
Though I'm not able to correlate the screen shots you had shared and the issue you're facing, why don't you use Or Array Elements function.
I am not allergic to Kudos, in fact I love Kudos.
 Make your LabVIEW experience more CONVENIENT.

Similar Messages

  • Why is there a limitation on the number of boolean parameters in a custom function?

    We have a custom function which 'flattens' four text temporal values into a single temporal value.
    We want to do the same with boolean temporal values.
    However, OPM throws an error when  it reads the metadata for the function in extensions.xml.  It says all boolean paramaters need to be last.  We can't put them all last as there are more than one.
    This is OPM error code OPM-W00001.
    Any ideas on how I can work around this limitation?

    Taken from OPA Developer's help:
    Only one boolean parameter can be passed to a function, and it must be the last parameter.  This is due to a limitation in the rule compiler.  Any number of other parameters may be present however.
    Should you want to pass more boolean values, create a temporary/document text variable with values "True"/"False" using rule table.

  • Lightroom 5.7.1, Yosemite OS X - Synchronise Folder function doesn't work in Lr. Is there a compatibility issue? I can see the folders/images in Finder but when trying to synchronise folders in Lr it does not recognise that there are any images and theref

    Lightroom 5.7.1, Yosemite OS X - Synchronise Folder function doesn't work in Lr.
    Is there a compatibility issue? I can see the folders/images in Finder but when trying to synchronise folders in Lr it does not recognise that there are any images and therefore unable to import to catalogue. Anyone has any idea how to make it work. Thanks a lot.

    Hi Elba,
    Thank you very much for your reply. Not sure, however, that we are talking about the same problem.
    I am trying to perform the same function in Lr that I have been doing for many years in the past and has only been a problem in the last few days (possibly coinciding with upgrading to Yosemite, trying to find out whether that is the problem)
    I am not intending to sync any files with Creative Cloud but only trying to use 'Synchronize Folder' function in Lr. Normally, I would right click on a particular folder in Lr catalogue and click on that function to check that the Lr Catalogue is perfectly matching my drives where the original photos are actually stored.
    The problem that I only started to encounter is that I can see the files on the actual drives but they do not appear in my Lr Catalogue and they are completely invisible to Lr. I simply can not get Lr to recognise them and then import them to catalogue.
    If for example, I export images to Ps and then save and close them, they do appear on my drive but are invisible to Lr and I can't get them imported into the catalogue. Import to folder also not producing any results as they are still invisible to Lr.
    Completely baffled by it. Any idea what could be the reason?
    Kind regards,
    Nik

  • Will Apple please improve the functionality of their Audiobooks? I did, afterall, spend money on them...

    Apple needs to improve the functionality of their audiobooks. I just recently purchased a $40 bible audiobook. I am listening to it through iOS 5.0.1 on an iPhone 4 and the interface is extremely limited. It's not at all intuitive. There isn't an option for book marking, which I would very much appreciate. I just think they could do a lot to improve the audiobook experience. Especially since it is one of their products...

    Apple does not make the audiobooks.  They only sell them.
    Yu can leave feedback for Apple at : http:www.apple.com/feedback

  • The function of the F keys at the top of my keyboard no longer work as they used to. How do I restore their old function?

    The function of the F keys at the top of my keyboard no longer work as they used to. The actions they do no longer correspond to the symbols that are printed on them. For example, the volume buttons no longer control volume and now change the display to full-screen instead, and the brightness buttons don't do anything at all.
    This started today and I'm finding it very irritating. I checked in System Preferences and didn't find any obvious way to turn most of them back to what they used to do.
    Help?

    In System Preferences > Keyboard uncheck Use all F1, F2, etc. keys as standard function keys.

  • What are the functional differences between F55 Zebras 1 and 2, and their respective uses

    Would like to hear from those of you who can explain the functional/utility differences between the F55 Zebras 1 and 2. Jon

    I'm with Robbie, and I've been making a living doing this for almost 40 yrs. I do often use zebra one, abd yes, skin tones vary widely ( I shoot many black faces) but you have to interpret and adjust based on experience. Having used this camera for over two years and having carefully reviewed everything I shoot, I, like Robbie, have full confidence in what my results will be, now that I have my oled set and the way I like it. I prefer being in the energy on the creative side and Sony has provided a system that frees us from much of the exposure measuring that film required. I stop bring my meters but rarely use them, and my footage looks just fine.

  • I am moving to Alice Springs, Australia, this summer from the U.S. I would like to get the new iPad. How can I found out if I will be able to access all the functionality in Alice? Will I need to purchase a local plan of some sort?

    I am moving to Alice Springs, Australia, this summer from the U.S. I would like to get the new iPad to use while traveling back and forth from the U.S. to Australia, and within Australia. How can I found out if I will be able to access all the functionality of the iPad in Alice? Will I need to purchase a local plan of some sort? I have never owned an Apple product before -- I'm a newby!

    Aside form the limitation of LTE to the 700MHz and 2.1GHz bands (which rules out LTE in Europe I gather, at least as it stands now) the new iPad should let you use a GSM 3g/2g/edge network anywhere.  The CDMA Verizon model will only be able to use it's native CDMA radio band in the USA (that radio will be locked to Verizon), but it's international GSM radio is the same as the AT&T model.
    Keep in mind though that by far the cheapest option when abroad is to take advantage of free wifi as much as possible (well, that is always the cheapest option, since it is free).  I know several people who have taken their wifi-only iPads and iPad2s to Europe and said they did not find the lack of 3G really inconvenient at all as most towns had plenty of free or cheap wifi access all over the place.
    And in 3 years, your iPad will be at least 2-3 generations behind, LTE will have already been replaced by 5G or whatever the next new generation of cellular ends up being named (and the "young" kids will be wondering what the heck 3G even means or meant - dang that stuff was from the olden days!), and you can pitch that ancient piece of technology and start things all over again 

  • Caused by: javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: The function START: has failed. No transaction cookie was returned

    Hello guys,
    I have been setting a production system with bitronix transaction manager, SQL server 2008, XA transactions and jetty 6. In the beginning this software was configured to run with MySQL. But one of my customer decided to move everything to MSSQL server 2008.
    In that moment I was trying to get this up and running for some weeks (The configuration was completely different) and finally I got it.
    The configuration with MSSQL server was running perfectly during 1 month but then from one day to other the error message I will show now appeared and I do not how to solve it. I almost read all the hints from google about this exception but nothing helped
    me out.
    I hope you guys can help me to find a way to solve it.
    - I tried different version of the jdbc driver 3.0 and 4.0.
    - I tried to export exactly the database to my localserver and it's running perfectly with the same configuration.
    The problem is that I cannot reproduce the error in other place that is not the customer and at the same time I have no access to their internal database server. They installed all the XA transaction stuff (dll in binn, enable XA, and grant the permissions
    for SQLXAUser), I am quite sure because it was running for one month without any problem.
    I asked to the customer if anything happenend on their server (microsoft updates, machines reboot, ...) but nothing of these happened.
    Also I tried this link out but did not help me.
    <a href="http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess">http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess</a>
    The exception is the following:
     [2014-05-15 14:06:08,842] INFO  3666[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Starting Bitronix Transaction Manager
    [2014-05-15 14:06:08,951] INFO  3775[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Extract ./webapps/myscript-fpp-wrapper-server.war to D:\Temp\Jetty_0_0_0_0_8080_myscript.fpp.wrapper.server.war__myscript.form.wrapper.server__.bnwnn7\webapp
    [2014-05-15 14:06:10,324] INFO  5148[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - NO JSP Support for /myscript-form-wrapper-server, did not find org.apache.jasper.servlet.JspServlet
    [2014-05-15 14:06:12,742] WARN  7566[main] - org.dozer.config.GlobalSettings.loadGlobalSettings(GlobalSettings.java:118) - Dozer configuration file not found: dozer.properties.  Using defaults for all Dozer global properties.
    [2014-05-15 14:06:13,288] WARN  8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:100) - SQL Error: 0, SQLState: null
    [2014-05-15 14:06:13,288]ERROR  8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:101) - error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with
    usage count 1 wrapping SQLServerXAConnection:1 on  ProxyConnectionID:1
    [2014-05-15 14:06:13,319]ERROR  8143[main] - org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:220) - Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'moduleRegistration' defined in class path resource [com/visionobjects/myscript/fpp/wrapper/module-registration.xml]: Invocation of init method failed; nested exception is
    org.hibernate.exception.GenericJDBCException: could not execute query
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:224)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
        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 org.mortbay.start.Main.invokeMain(Main.java:194)
        at org.mortbay.start.Main.start(Main.java:534)
        at org.mortbay.start.Main.start(Main.java:441)
        at org.mortbay.start.Main.main(Main.java:119)
    Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
        at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
        at org.hibernate.loader.Loader.doList(Loader.java:2235)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
        at org.hibernate.loader.Loader.list(Loader.java:2124)
        at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1597)
        at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
        at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
        at com.visionobjects.myscript.fpp.form.dao.impl.ModuleInfoDaoImpl.getModuleInfo(ModuleInfoDaoImpl.java:57)
        at com.visionobjects.myscript.fpp.ModuleRegistration$1.doInTransactionWithoutResult(ModuleRegistration.java:73)
        at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
        at com.visionobjects.myscript.fpp.ModuleRegistration.init(ModuleRegistration.java:66)
        at com.visionobjects.myscript.fpp.ModuleRegistration.start(ModuleRegistration.java:60)
        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 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
        ... 33 more
    Caused by: java.sql.SQLException: error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with usage count 1 wrapping SQLServerXAConnection:1 on  ProxyConnectionID:1
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:86)
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.prepareStatement(JdbcConnectionHandle.java:243)
        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 bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:63)
        at $Proxy29.prepareStatement(Unknown Source)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
        at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1577)
        at org.hibernate.loader.Loader.doQuery(Loader.java:696)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
        at org.hibernate.loader.Loader.doList(Loader.java:2232)
        ... 52 more
    Caused by: bitronix.tm.internal.BitronixSystemException: cannot enlist an XAResourceHolderState with uniqueName=fppDataSource XAResource= XAResourceID:1 with XID a Bitronix XID [6A657474792D6670702D73657276657200000145FFC68B9B00000000 : 6A657474792D6670702D73657276657200000145FFC68BCA00000002],
    error=XAER_RMERR
        at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:100)
        at bitronix.tm.resource.common.TransactionContextHelper.enlistInCurrentTransaction(TransactionContextHelper.java:70)
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:84)
        ... 66 more
    <b>Caused by: javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: The function START: has failed. No transaction cookie was returned </b>
        at com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface(SQLServerXAResource.java:642)
        at com.microsoft.sqlserver.jdbc.SQLServerXAResource.start(SQLServerXAResource.java:674)
        at bitronix.tm.internal.XAResourceHolderState.start(XAResourceHolderState.java:211)
        at bitronix.tm.internal.XAResourceManager.enlist(XAResourceManager.java:108)
        at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:93)
        ... 68 more
    I think the "bold" exception is the key.
    Also the configuration file of my jetty server.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
    <!-- developpment jetty configuration -->
    <!-- launch with main class : org.mortbay.start.Main app arguments:
    deploy-conf/jetty-conf/mysql/jetty-dev.xml vm arguments : -Xmx1024M -DSTOP.KEY=stop
    -DSTOP.PORT=6669 to stop : - - stop -Xmx1024M -DSTOP.KEY=stop -DSTOP.PORT=6669 -->
    <Configure id="Server" class="org.mortbay.jetty.Server">
    <Array id="plusConfig" type="java.lang.String">
    <Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
    <Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
    <Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
    <Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
    <Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
    </Array>
    <Array id="serverClasses" type="java.lang.String">
    </Array>
    <Array id="systemClasses" type="java.lang.String">
    </Array>
    <!-- web apps -->
    <Set name="handler">
    <New id="handlerContext" class="org.mortbay.jetty.handler.ContextHandlerCollection">
    <Set name="handlers">
    <Array id="handlerArray" type="org.mortbay.jetty.webapp.WebAppContext">
    <!-- wrapper server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-wrapper-server.war</Arg>
    <Arg>/myscript-form-wrapper-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    <!-- form server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-form-server.war
    </Arg>
    <Arg>/myscript-form-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    <!-- hwr server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-hwr-server.war</Arg>
    <Arg>/myscript-form-hwr-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    </Array>
    </Set>
    </New>
    </Set>
    <Call name="addConnector">
    <Arg>
    <New class="org.mortbay.jetty.nio.SelectChannelConnector">
    <Set name="port">8080</Set>
    </New>
    </Arg>
    </Call>
    <!-- Use the jdk 1.5 platformMBeanServer -->
    <Call id="MBeanServer" class="java.lang.management.ManagementFactory"
    name="getPlatformMBeanServer" />
    <Get id="Container" name="container">
    <Call name="addEventListener">
    <Arg>
    <New class="org.mortbay.management.MBeanContainer">
    <Arg>
    <Ref id="MBeanServer" />
    </Arg>
    <Call name="start" />
    </New>
    </Arg>
    </Call>
    </Get>
    <!-- Setup the RMIRegistry on a specific port -->
    <Call id="rmiRegistry" class="java.rmi.registry.LocateRegistry"
    name="createRegistry">
    <Arg type="int">2099</Arg>
    </Call>
    <!-- Setup the JMXConnectorServer on a specific rmi server port -->
    <Call id="jmxConnectorServer" class="javax.management.remote.JMXConnectorServerFactory"
    name="newJMXConnectorServer">
    <Arg>
    <New class="javax.management.remote.JMXServiceURL">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    </Arg>
    <Arg />
    <Arg>
    <Ref id="MBeanServer" />
    </Arg>
    <Call name="start" />
    </Call>
    <!--************************* -->
    <!-- embbeded ActiveMQ Broker -->
    <!--************************* -->
    <New id="brokerService" class="org.apache.activemq.broker.BrokerService">
    <Set name="brokerName">fppBrokerActiveMQ</Set>
    <Set name="dataDirectoryFile"></Set>
    <Call name="getSystemUsage">
    <Call name="getMemoryUsage">
    <Set name="limit">26428800</Set>
    </Call>
    <Call name="getStoreUsage">
    <Set name="limit">204857600</Set>
    </Call>
    </Call>
    <Call name="addConnector">
    <Arg>nio://localhost:61615</Arg>
    </Call>
    <Call name="start"></Call>
    </New>
    <!-- ************************** -->
    <!-- common fpp jndi resources -->
    <!-- ************************** -->
    <!-- ui debug properties -->
    <New id="fpp.common-ui.velocityProperties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.common-ui.velocityProperties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="spring.resource.loader.class">org.springframework.ui.velocity.SpringResourceLoader
    </Put>
    <Put name="spring.resource.loader.cache">false</Put>
    <Put name="velocimacro.library.autoreload">true</Put>
    </New>
    </Arg>
    </New>
    <New id="fpp.wrapper-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.wrapper-server.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.wrapper-server.instanceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/instance?wsdl
    </Put>
    <Put name="fpp.wrapper-server.formServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/form?wsdl
    </Put>
    <Put name="fpp.wrapper-server.formDeprecatedServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/formDeprecated?wsdl
    </Put>
    <Put name="fpp.wrapper-server.hwrResourceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/hwrResource?wsdl
    </Put>
    <Put name="fpp.wrapper-server.defaultEnvironmentName">default</Put>
    <Put name="fpp.wrapper-server.defaultEnvironmentType">STANDARD</Put>
    <Put name="fpp.wrapper-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    </New>
    </Arg>
    </New>
    <!-- transaction manager - bitronix -->
    <Call name="getConfiguration" class="bitronix.tm.TransactionManagerServices">
    <Set name="serverId">jetty-fpp-server</Set>
    <Set name="gracefulShutdownInterval">45</Set>
    <Set name="logPart1Filename">btm/btm1.tlog</Set>
    <Set name="logPart2Filename">btm/btm2.tlog</Set>
    </Call>
    <Set name="gracefulShutdown">60000</Set>
    <Call name="addLifeCycle">
    <Arg>
    <New class="bitronix.tm.integration.jetty6.BTMLifeCycle" />
    </Arg>
    </Call>
    <New class="org.mortbay.jetty.plus.naming.Transaction">
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:/TransactionManager</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:comp/TransactionManager</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:comp/UserTransaction</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <!-- database data source -->
    <New id="fppDataSource" class="bitronix.tm.resource.jdbc.PoolingDataSource">
    <Set name="uniqueName">fppDataSource</Set>
    <Set name="className">com.microsoft.sqlserver.jdbc.SQLServerXADataSource</Set>
    <Set name="minPoolSize">0</Set>
    <Set name="maxPoolSize">50</Set>
    <Get name="driverProperties">
    <Put name="serverName">DYHVDB01</Put>
    <Put name="instanceName">ALPHA</Put>
    <Put name="integratedSecurity">false</Put>
    <Put name="databaseName">tdb_digipen_fpp</Put>
    <Put name="user">manage_digipen</Put>
    <Put name="password">5T1fte?</Put>
    <!--Needed to test??<Put name="pinGlobalTxToPhysicalConnection">true</Put>-->
    </Get>
    <Call name="init" />
    </New>
    <!-- Jms connection factories -->
    <New id="fppServerConnectionFactory" class="bitronix.tm.resource.jms.PoolingConnectionFactory">
    <Set name="className">org.apache.activemq.ActiveMQXAConnectionFactory</Set>
    <Set name="uniqueName">fppServerConnectionFactory</Set>
    <Set name="minPoolSize">4</Set>
    <Set name="maxPoolSize">40</Set>
    <Set name="allowLocalTransactions">true</Set>
    <Get name="driverProperties">
    <Put name="brokerURL">nio://localhost:61615?jms.prefetchPolicy.all=50</Put>
    <New class="org.apache.activemq.RedeliveryPolicy">
    <Set name="maximumRedeliveries">-1</Set>
    <Set name="backOffMultiplier">2</Set>
    </New>
    </Get>
    <Call name="init" />
    </New>
    <!-- JMS Queues & topics -->
    <New id="formNotifiationTopic" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/formNotifiationTopic</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQTopic">
    <Arg>formNotifiationTopic</Arg>
    </New>
    </Arg>
    </New>
    <New id="fieldJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/fieldJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>fieldJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <New id="fieldNotifJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/fieldNotifJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>fieldNotifJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <New id="inkJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/inkJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>inkJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <!-- native library services -->
    <New id="myscriptLicenseService" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/myscriptLicenseService</Arg>
    <Arg>
    <New
    class="com.visionobjects.licensemanager.impl.MyscriptLicenseServiceImpl">
    <Arg>localhost</Arg>
    </New>
    </Arg>
    </New>
    <!-- *********************** -->
    <!-- form server properties -->
    <!-- *********************** -->
    <New id="fpp.form.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.form.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.form.defaultEnvironmentName">default</Put>
    <Put name="fpp.form.defaultEnvironmentType">STANDARD</Put>
    <Put name="fpp.form.jbpm.job.nbexecutor">4</Put>
    <Put name="fpp.form.jbpm.job.idleinterval">1000</Put>
    <Put name="fpp.form.field.notif.nbconsumers">2</Put>
    <Put name="fpp.form.ink.nbconsumers">2</Put>
    <Put name="fpp.form.instance.instanceValidationMode">STANDARD</Put>
    <Put name="fpp.form.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <!--<Put name="fpp.form.formdb.hibernate.show_sql">true</Put>-->
    <Put name="fpp.form.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.form.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.form.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
    </Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    <Put name="fpp.form.jbpmdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.form.jbpmdb.hibernate.show_sql">true</Put>
    <Put name="fpp.form.jbpmdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.form.jbpmdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
    </Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    <Put name="fpp.form.scheduler.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.MSSQLDelegate</Put>
    <Put name="fpp.form.scheduler.dataSource.driver">com.microsoft.sqlserver.jdbc.SQLServerDriver</Put>
    <Put name="fpp.form.scheduler.dataSource.URL">jdbc:sqlserver://DYHVDB01\ALPHA;DatabaseName=tdb_digipen_fpp;integratedSecurity=false
    </Put>
    <Put name="fpp.form.scheduler.dataSource.user">manage_digipen</Put>
    <Put name="fpp.form.scheduler.dataSource.password">5T1fte?</Put>
    <!-- Cron Format A cron expression is a string comprised of 6 or 7 fields
    separated by white space. Fields can contain any of the allowed values, along
    with various combinations of the allowed special characters for that field.
    The fields are as follows: Field Name Mandatory Allowed Values Allowed Special
    Characters Seconds YES 0-59 , - * / Minutes YES 0-59 , - * / Hours YES 0-23
    , - * / Day of month YES 1-31 , - * ? / L W Month YES 1-12 or JAN-DEC , -
    * / Day of week YES 1-7 or SUN-SAT , - * ? / L # Year NO empty, 1970-2099
    , - * / -->
    <Put name="fpp.form.purge.moduleinfo.cron">0 0/1 * * * ?</Put>
    <Put name="fpp.form.purge.instances.cron">0 0 * * * ?</Put>
    <Put name="fpp.form.purge.instances.defaultcase">365</Put>
    <Put name="fpp.form.purge.instances.case1">10</Put>
    <Put name="fpp.form.purge.instances.case2">60</Put>
    <Put name="fpp.form.purge.instances.case3">100</Put>
    <Put name="fpp.form.purge.instances.case4">30</Put>
    <Put name="fpp.form.purge.instances.case5">60</Put>
    <Put name="fpp.form.export.cron">0 0 * * * ?</Put>
    <Put name="fpp.form.export.exportpath">C:\FPP</Put>
    <Put name="fpp.form.export.exportMode">REGULAR</Put>
    <Put name="fpp.form.export.buildingType">INCREMENTAL</Put>
    <Put name="fpp.form.export.addInformations">true</Put>
    </New>
    </Arg>
    </New>
    <New id="fppFormDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>jdbc/fppFormDbDataSource</Arg>
    <Arg>
    <Ref id="fppDataSource"></Ref>
    </Arg>
    </New>
    <New id="fppJbpmDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>jdbc/fppJbpmDbDataSource</Arg>
    <Arg>
    <Ref id="fppDataSource" />
    </Arg>
    </New>
    <New id="formJmsTopicConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/formJmsTopicConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldNotifConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldNotifConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="inkConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/inkConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <!-- HWR SERVER -->
    <New id="fpp.hwr-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.hwr-server.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.hwr-server.formbroker.uri">failover:nio://localhost:61615</Put>
    <Put name="fpp.hwr-server.fieldConsumers">4</Put>
    <Put name="fpp.hwr-server.resourceManager.memoryUsageThreshold">262144000</Put>
    <Put name="fpp.hwr-server.resourceManager.resourceCountThreshold">150</Put>
    <Put name="fpp.hwr-server.resourceManager.idleTimeLimit">1800000</Put>
    <Put name="fpp.hwr-server.resourceManager.timeToLive">3600000</Put>
    <Put name="fpp.hwr-server.resourceManager.wakeUpInterval">100000</Put>
    <Put name="fpp.hwr-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.hwr-server.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.hwr-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put
    name="fpp.hwr-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
    <Put name="fpp.hwr-server.internal.dumpRecognition">false</Put>
    </New>
    </Arg>
    </New>
    <New id="myscriptHwrService" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/myscriptHwrService</Arg>
    <Arg>
    <New class="com.visionobjects.myscript.commons.hwr.engine.HwrEngineService">
    <Set name="handwritingContextUserLimit">50</Set>
    <Set name="resourceUserLimit">0</Set>
    <Set name="otherObjectUserLimit">500</Set>
    <Call name="doStart" />
    </New>
    </Arg>
    </New>
    <New id="fieldNotificationProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldNotificationProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <!-- wrapper -->
    <New id="fppWrapperServerConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <Set name="brokerURL">nio://localhost:61615</Set>
    <Set name="redeliveryPolicy">
    <New class="org.apache.activemq.RedeliveryPolicy">
    <Set name="maximumRedeliveries">-1</Set>
    <Set name="backOffMultiplier">2</Set>
    </New>
    </Set>
    </New>
    <New id="formNotificationConsumerFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/formNotificationConsumerFactory</Arg>
    <Arg>
    <Ref id="fppWrapperServerConnectionFactory" />
    </Arg>
    </New>
    <New id="inkProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/inkProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppWrapperServerConnectionFactory" />
    </Arg>
    </New>
    <!-- JMX/SENSORS -->
    <New id="inkJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="inkJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=inkJmsQueue
    </Arg>
    </New>
    <New id="fieldNotifJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="fieldNotifJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldNotifJmsQueue
    </Arg>
    </New>
    <New id="fieldJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="fieldJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldJmsQueue
    </Arg>
    </New>
    <New id="formNotifiationTopicUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="formNotifiationTopicObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=formNotifiationTopic
    </Arg>
    </New>
    <New id="server.list" class="java.util.HashMap">
    <!-- InkJmsQueue -->
    <Put name="WRP">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8081</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    <Put name="FORM">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8080</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    <Put name="HWR">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8083</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    </New>
    <New id="fpp.form.jmx.properties" class="java.util.HashMap">
    <!-- InkJmsQueue -->
    <Put name="inkJmsQueueSize">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">QueueSize</Put>
    </New>
    </Put>
    <Put name="inkJmsConsumerCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">ConsumerCount</Put>
    </New>
    </Put>
    <Put name="inkJmsDequeueCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">DequeueCount</Put>
    </New>
    </Put>
    <Put name="inkJmsAverageEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">AverageEnqueueTime</Put>
    </New>
    </Put>
    <Put name="inkJmsMaxEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">MaxEnqueueTime</Put>
    </New>
    </Put>
    <!--FieldNotifJmsQueue -->
    <Put name="fieldNotifJmsQueueSize">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">QueueSize</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsConsumerCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">ConsumerCount</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsDequeueCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">DequeueCount</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsAverageEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">AverageEnqueueTime</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsMaxEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">MaxEnqueueTime</Put>
    </New>
    </Put>
    </New>
    <New id="fpp.form.ui.parameters" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.form.ui.parameters</Arg>
    <Arg>
    <New
    class="com.visionobjects.myscript.fpp.ui.parameters.impl.UIParametersServiceImpl">
    <Set name="jmxProperties">
    <Ref id="fpp.form.jmx.properties"></Ref>
    </Set>
    <Set name="serverList">
    <Ref id="server.list"></Ref>
    </Set>
    </New>
    </Arg>
    </New>
    </Configure>
    Thanks so much in advance.
     

    Hello guys,
    I have been setting a production system with bitronix transaction manager, SQL server 2008, XA transactions and jetty 6. In the beginning this software was configured to run with MySQL. But one of my customer decided to move everything to MSSQL server 2008.
    In that moment I was trying to get this up and running for some weeks (The configuration was completely different) and finally I got it.
    The configuration with MSSQL server was running perfectly during 1 month but then from one day to other the error message I will show now appeared and I do not how to solve it. I almost read all the hints from google about this exception but nothing helped
    me out.
    I hope you guys can help me to find a way to solve it.
    - I tried different version of the jdbc driver 3.0 and 4.0.
    - I tried to export exactly the database to my localserver and it's running perfectly with the same configuration.
    The problem is that I cannot reproduce the error in other place that is not the customer and at the same time I have no access to their internal database server. They installed all the XA transaction stuff (dll in binn, enable XA, and grant the permissions
    for SQLXAUser), I am quite sure because it was running for one month without any problem.
    I asked to the customer if anything happenend on their server (microsoft updates, machines reboot, ...) but nothing of these happened.
    Also I tried this link out but did not help me.
    <a href="http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess">http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess</a>
    The exception is the following:
     [2014-05-15 14:06:08,842] INFO  3666[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Starting Bitronix Transaction Manager
    [2014-05-15 14:06:08,951] INFO  3775[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Extract ./webapps/myscript-fpp-wrapper-server.war to D:\Temp\Jetty_0_0_0_0_8080_myscript.fpp.wrapper.server.war__myscript.form.wrapper.server__.bnwnn7\webapp
    [2014-05-15 14:06:10,324] INFO  5148[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - NO JSP Support for /myscript-form-wrapper-server, did not find org.apache.jasper.servlet.JspServlet
    [2014-05-15 14:06:12,742] WARN  7566[main] - org.dozer.config.GlobalSettings.loadGlobalSettings(GlobalSettings.java:118) - Dozer configuration file not found: dozer.properties.  Using defaults for all Dozer global properties.
    [2014-05-15 14:06:13,288] WARN  8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:100) - SQL Error: 0, SQLState: null
    [2014-05-15 14:06:13,288]ERROR  8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:101) - error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with
    usage count 1 wrapping SQLServerXAConnection:1 on  ProxyConnectionID:1
    [2014-05-15 14:06:13,319]ERROR  8143[main] - org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:220) - Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'moduleRegistration' defined in class path resource [com/visionobjects/myscript/fpp/wrapper/module-registration.xml]: Invocation of init method failed; nested exception is
    org.hibernate.exception.GenericJDBCException: could not execute query
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:224)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
        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 org.mortbay.start.Main.invokeMain(Main.java:194)
        at org.mortbay.start.Main.start(Main.java:534)
        at org.mortbay.start.Main.start(Main.java:441)
        at org.mortbay.start.Main.main(Main.java:119)
    Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
        at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
        at org.hibernate.loader.Loader.doList(Loader.java:2235)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
        at org.hibernate.loader.Loader.list(Loader.java:2124)
        at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1597)
        at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
        at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
        at com.visionobjects.myscript.fpp.form.dao.impl.ModuleInfoDaoImpl.getModuleInfo(ModuleInfoDaoImpl.java:57)
        at com.visionobjects.myscript.fpp.ModuleRegistration$1.doInTransactionWithoutResult(ModuleRegistration.java:73)
        at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
        at com.visionobjects.myscript.fpp.ModuleRegistration.init(ModuleRegistration.java:66)
        at com.visionobjects.myscript.fpp.ModuleRegistration.start(ModuleRegistration.java:60)
        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 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
        ... 33 more
    Caused by: java.sql.SQLException: error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with usage count 1 wrapping SQLServerXAConnection:1 on  ProxyConnectionID:1
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:86)
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.prepareStatement(JdbcConnectionHandle.java:243)
        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 bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:63)
        at $Proxy29.prepareStatement(Unknown Source)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
        at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1577)
        at org.hibernate.loader.Loader.doQuery(Loader.java:696)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
        at org.hibernate.loader.Loader.doList(Loader.java:2232)
        ... 52 more
    Caused by: bitronix.tm.internal.BitronixSystemException: cannot enlist an XAResourceHolderState with uniqueName=fppDataSource XAResource= XAResourceID:1 with XID a Bitronix XID [6A657474792D6670702D73657276657200000145FFC68B9B00000000 : 6A657474792D6670702D73657276657200000145FFC68BCA00000002],
    error=XAER_RMERR
        at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:100)
        at bitronix.tm.resource.common.TransactionContextHelper.enlistInCurrentTransaction(TransactionContextHelper.java:70)
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:84)
        ... 66 more
    <b>Caused by: javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: The function START: has failed. No transaction cookie was returned </b>
        at com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface(SQLServerXAResource.java:642)
        at com.microsoft.sqlserver.jdbc.SQLServerXAResource.start(SQLServerXAResource.java:674)
        at bitronix.tm.internal.XAResourceHolderState.start(XAResourceHolderState.java:211)
        at bitronix.tm.internal.XAResourceManager.enlist(XAResourceManager.java:108)
        at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:93)
        ... 68 more
    I think the "bold" exception is the key.
    Also the configuration file of my jetty server.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
    <!-- developpment jetty configuration -->
    <!-- launch with main class : org.mortbay.start.Main app arguments:
    deploy-conf/jetty-conf/mysql/jetty-dev.xml vm arguments : -Xmx1024M -DSTOP.KEY=stop
    -DSTOP.PORT=6669 to stop : - - stop -Xmx1024M -DSTOP.KEY=stop -DSTOP.PORT=6669 -->
    <Configure id="Server" class="org.mortbay.jetty.Server">
    <Array id="plusConfig" type="java.lang.String">
    <Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
    <Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
    <Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
    <Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
    <Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
    </Array>
    <Array id="serverClasses" type="java.lang.String">
    </Array>
    <Array id="systemClasses" type="java.lang.String">
    </Array>
    <!-- web apps -->
    <Set name="handler">
    <New id="handlerContext" class="org.mortbay.jetty.handler.ContextHandlerCollection">
    <Set name="handlers">
    <Array id="handlerArray" type="org.mortbay.jetty.webapp.WebAppContext">
    <!-- wrapper server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-wrapper-server.war</Arg>
    <Arg>/myscript-form-wrapper-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    <!-- form server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-form-server.war
    </Arg>
    <Arg>/myscript-form-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    <!-- hwr server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-hwr-server.war</Arg>
    <Arg>/myscript-form-hwr-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    </Array>
    </Set>
    </New>
    </Set>
    <Call name="addConnector">
    <Arg>
    <New class="org.mortbay.jetty.nio.SelectChannelConnector">
    <Set name="port">8080</Set>
    </New>
    </Arg>
    </Call>
    <!-- Use the jdk 1.5 platformMBeanServer -->
    <Call id="MBeanServer" class="java.lang.management.ManagementFactory"
    name="getPlatformMBeanServer" />
    <Get id="Container" name="container">
    <Call name="addEventListener">
    <Arg>
    <New class="org.mortbay.management.MBeanContainer">
    <Arg>
    <Ref id="MBeanServer" />
    </Arg>
    <Call name="start" />
    </New>
    </Arg>
    </Call>
    </Get>
    <!-- Setup the RMIRegistry on a specific port -->
    <Call id="rmiRegistry" class="java.rmi.registry.LocateRegistry"
    name="createRegistry">
    <Arg type="int">2099</Arg>
    </Call>
    <!-- Setup the JMXConnectorServer on a specific rmi server port -->
    <Call id="jmxConnectorServer" class="javax.management.remote.JMXConnectorServerFactory"
    name="newJMXConnectorServer">
    <Arg>
    <New class="javax.management.remote.JMXServiceURL">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    </Arg>
    <Arg />
    <Arg>
    <Ref id="MBeanServer" />
    </Arg>
    <Call name="start" />
    </Call>
    <!--************************* -->
    <!-- embbeded ActiveMQ Broker -->
    <!--************************* -->
    <New id="brokerService" class="org.apache.activemq.broker.BrokerService">
    <Set name="brokerName">fppBrokerActiveMQ</Set>
    <Set name="dataDirectoryFile"></Set>
    <Call name="getSystemUsage">
    <Call name="getMemoryUsage">
    <Set name="limit">26428800</Set>
    </Call>
    <Call name="getStoreUsage">
    <Set name="limit">204857600</Set>
    </Call>
    </Call>
    <Call name="addConnector">
    <Arg>nio://localhost:61615</Arg>
    </Call>
    <Call name="start"></Call>
    </New>
    <!-- ************************** -->
    <!-- common fpp jndi resources -->
    <!-- ************************** -->
    <!-- ui debug properties -->
    <New id="fpp.common-ui.velocityProperties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.common-ui.velocityProperties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="spring.resource.loader.class">org.springframework.ui.velocity.SpringResourceLoader
    </Put>
    <Put name="spring.resource.loader.cache">false</Put>
    <Put name="velocimacro.library.autoreload">true</Put>
    </New>
    </Arg>
    </New>
    <New id="fpp.wrapper-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.wrapper-server.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.wrapper-server.instanceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/instance?wsdl
    </Put>
    <Put name="fpp.wrapper-server.formServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/form?wsdl
    </Put>
    <Put name="fpp.wrapper-server.formDeprecatedServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/formDeprecated?wsdl
    </Put>
    <Put name="fpp.wrapper-server.hwrResourceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/hwrResource?wsdl
    </Put>
    <Put name="fpp.wrapper-server.defaultEnvironmentName">default</Put>
    <Put name="fpp.wrapper-server.defaultEnvironmentType">STANDARD</Put>
    <Put name="fpp.wrapper-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    </New>
    </Arg>
    </New>
    <!-- transaction manager - bitronix -->
    <Call name="getConfiguration" class="bitronix.tm.TransactionManagerServices">
    <Set name="serverId">jetty-fpp-server</Set>
    <Set name="gracefulShutdownInterval">45</Set>
    <Set name="logPart1Filename">btm/btm1.tlog</Set>
    <Set name="logPart2Filename">btm/btm2.tlog</Set>
    </Call>
    <Set name="gracefulShutdown">60000</Set>
    <Call name="addLifeCycle">
    <Arg>
    <New class="bitronix.tm.integration.jetty6.BTMLifeCycle" />
    </Arg>
    </Call>
    <New class="org.mortbay.jetty.plus.naming.Transaction">
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:/TransactionManager</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:comp/TransactionManager</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:comp/UserTransaction</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <!-- database data source -->
    <New id="fppDataSource" class="bitronix.tm.resource.jdbc.PoolingDataSource">
    <Set name="uniqueName">fppDataSource</Set>
    <Set name="className">com.microsoft.sqlserver.jdbc.SQLServerXADataSource</Set>
    <Set name="minPoolSize">0</Set>
    <Set name="maxPoolSize">50</Set>
    <Get name="driverProperties">
    <Put name="serverName">DYHVDB01</Put>
    <Put name="instanceName">ALPHA</Put>
    <Put name="integratedSecurity">false</Put>
    <Put name="databaseName">tdb_digipen_fpp</Put>
    <Put name="user">manage_digipen</Put>
    <Put name="password">5T1fte?</Put>
    <!--Needed to test??<Put name="pinGlobalTxToPhysicalConnection">true</Put>-->
    </Get>
    <Call name="init" />
    </New>
    <!-- Jms connection factories -->
    <New id="fppServerConnectionFactory" class="bitronix.tm.resource.jms.PoolingConnectionFactory">
    <Set name="className">org.apache.activemq.ActiveMQXAConnectionFactory</Set>
    <Set name="uniqueName">fppServerConnectionFactory</Set>
    <Set name="minPoolSize">4</Set>
    <Set name="maxPoolSize">40</Set>
    <Set name="allowLocalTransactions">true</Set>
    <Get name="driverProperties">
    <Put name="brokerURL">nio://localhost:61615?jms.prefetchPolicy.all=50</Put>
    <New class="org.apache.activemq.RedeliveryPolicy">
    <Set name="maximumRedeliveries">-1</Set>
    <Set name="backOffMultiplier">2</Set>
    </New>
    </Get>
    <Call name="init" />
    </New>
    <!-- JMS Queues & topics -->
    <New id="formNotifiationTopic" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/formNotifiationTopic</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQTopic">
    <Arg>formNotifiationTopic</Arg>
    </New>
    </Arg>
    </New>
    <New id="fieldJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/fieldJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>fieldJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <New id="fieldNotifJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/fieldNotifJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>fieldNotifJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <New id="inkJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/inkJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>inkJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <!-- native library services -->
    <New id="myscriptLicenseService" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/myscriptLicenseService</Arg>
    <Arg>
    <New
    class="com.visionobjects.licensemanager.impl.MyscriptLicenseServiceImpl">
    <Arg>localhost</Arg>
    </New>
    </Arg>
    </New>
    <!-- *********************** -->
    <!-- form server properties -->
    <!-- *********************** -->
    <New id="fpp.form.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.form.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.form.defaultEnvironmentName">default</Put>
    <Put name="fpp.form.defaultEnvironmentType">STANDARD</Put>
    <Put name="fpp.form.jbpm.job.nbexecutor">4</Put>
    <Put name="fpp.form.jbpm.job.idleinterval">1000</Put>
    <Put name="fpp.form.field.notif.nbconsumers">2</Put>
    <Put name="fpp.form.ink.nbconsumers">2</Put>
    <Put name="fpp.form.instance.instanceValidationMode">STANDARD</Put>
    <Put name="fpp.form.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <!--<Put name="fpp.form.formdb.hibernate.show_sql">true</Put>-->
    <Put name="fpp.form.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.form.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.form.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
    </Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    <Put name="fpp.form.jbpmdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.form.jbpmdb.hibernate.show_sql">true</Put>
    <Put name="fpp.form.jbpmdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.form.jbpmdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
    </Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    <Put name="fpp.form.scheduler.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.MSSQLDelegate</Put>
    <Put name="fpp.form.scheduler.dataSource.driver">com.microsoft.sqlserver.jdbc.SQLServerDriver</Put>
    <Put name="fpp.form.scheduler.dataSource.URL">jdbc:sqlserver://DYHVDB01\ALPHA;DatabaseName=tdb_digipen_fpp;integratedSecurity=false
    </Put>
    <Put name="fpp.form.scheduler.dataSource.user">manage_digipen</Put>
    <Put name="fpp.form.scheduler.dataSource.password">5T1fte?</Put>
    <!-- Cron Format A cron expression is a string comprised of 6 or 7 fields
    separated by white space. Fields can contain any of the allowed values, along
    with various combinations of the allowed special characters for that field.
    The fields are as follows: Field Name Mandatory Allowed Values Allowed Special
    Characters Seconds YES 0-59 , - * / Minutes YES 0-59 , - * / Hours YES 0-23
    , - * / Day of month YES 1-31 , - * ? / L W Month YES 1-12 or JAN-DEC , -
    * / Day of week YES 1-7 or SUN-SAT , - * ? / L # Year NO empty, 1970-2099
    , - * / -->
    <Put name="fpp.form.purge.moduleinfo.cron">0 0/1 * * * ?</Put>
    <Put name="fpp.form.purge.instances.cron">0 0 * * * ?</Put>
    <Put name="fpp.form.purge.instances.defaultcase">365</Put>
    <Put name="fpp.form.purge.instances.case1">10</Put>
    <Put name="fpp.form.purge.instances.case2">60</Put>
    <Put name="fpp.form.purge.instances.case3">100</Put>
    <Put name="fpp.form.purge.instances.case4">30</Put>
    <Put name="fpp.form.purge.instances.case5">60</Put>
    <Put name="fpp.form.export.cron">0 0 * * * ?</Put>
    <Put name="fpp.form.export.exportpath">C:\FPP</Put>
    <Put name="fpp.form.export.exportMode">REGULAR</Put>
    <Put name="fpp.form.export.buildingType">INCREMENTAL</Put>
    <Put name="fpp.form.export.addInformations">true</Put>
    </New>
    </Arg>
    </New>
    <New id="fppFormDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>jdbc/fppFormDbDataSource</Arg>
    <Arg>
    <Ref id="fppDataSource"></Ref>
    </Arg>
    </New>
    <New id="fppJbpmDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>jdbc/fppJbpmDbDataSource</Arg>
    <Arg>
    <Ref id="fppDataSource" />
    </Arg>
    </New>
    <New id="formJmsTopicConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/formJmsTopicConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldNotifConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldNotifConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="inkConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/inkConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <!-- HWR SERVER -->
    <New id="fpp.hwr-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.hwr-server.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.hwr-server.formbroker.uri">failover:nio://localhost:61615</Put>
    <Put name="fpp.hwr-server.fieldConsumers">4</Put>
    <Put name="fpp.hwr-server.resourceManager.memoryUsageThreshold">262144000</Put>
    <Put name="fpp.hwr-server.resourceManager.resourceCountThreshold">150</Put>
    <Put name="fpp.hwr-server.resourceManager.idleTimeLimit">1800000</Put>
    <Put name="fpp.hwr-server.resourceManager.timeToLive">3600000</Put>
    <Put name="fpp.hwr-server.resourceManager.wakeUpInterval">100000</Put>
    <Put name="fpp.hwr-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.hwr-server.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.hwr-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put
    name="fpp.hwr-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
    <Put name="fpp.hwr-server.internal.dumpRecognition">false</Put>
    </New>
    </Arg>
    </New>
    <New id="myscriptHwrService" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/myscriptHwrService</Arg>
    <Arg>
    <New class="com.visionobjects.myscript.commons.hwr.engine.HwrEngineService">
    <Set name="handwritingContextUserLimit">50</Set>
    <Set name="resourceUserLimit">0</Set>
    <Set name="otherObjectUserLimit">500</Set>
    <Call name="doStart" />
    </New>
    </Arg>
    </New>
    <New id="fieldNotificationProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldNotificationProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <!-- wrapper -->
    <New id="fppWrapperServerConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <Set name="brokerURL">nio://localhost:61615</Set>
    <Set name="redeliveryPolicy">
    <New class="org.apache.activemq.RedeliveryPolicy">
    <Set name="maximumRedeliveries">-1</Set>
    <Set name="backOffMultiplier">2</Set>
    </New>
    </Set>
    </New>
    <New id="formNotificationConsumerFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/formNotificationConsumerFactory</Arg>
    <Arg>
    <Ref id="fppWrapperServerConnectionFactory" />
    </Arg>
    </New>
    <New id="inkProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/inkProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppWrapperServerConnectionFactory" />
    </Arg>
    </New>
    <!-- JMX/SENSORS -->
    <New id="inkJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="inkJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=inkJmsQueue
    </Arg>
    </New>
    <New id="fieldNotifJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="fieldNotifJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldNotifJmsQueue
    </Arg>
    </New>
    <New id="fieldJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="fieldJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldJmsQueue
    </Arg>
    </New>
    <New id="formNotifiationTopicUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="formNotifiationTopicObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=formNotifiationTopic
    </Arg>
    </New>
    <New id="server.list" class="java.util.HashMap">
    <!-- InkJmsQueue -->
    <Put name="WRP">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8081</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    <Put name="FORM">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8080</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    <Put name="HWR">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8083</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    </New>
    <New id="fpp.form.jmx.properties" class="java.util.HashMap">
    <!-- InkJmsQueue -->
    <Put name="inkJmsQueueSize">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">QueueSize</Put>
    </New>
    </Put>
    <Put name="inkJmsConsumerCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">ConsumerCount</Put>
    </New>
    </Put>
    <Put name="inkJmsDequeueCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">DequeueCount</Put>
    </New>
    </Put>
    <Put name="inkJmsAverageEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">AverageEnqueueTime</Put>
    </New>
    </Put>
    <Put name="inkJmsMaxEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">MaxEnqueueTime</Put>
    </New>
    </Put>
    <!--FieldNotifJmsQueue -->
    <Put name="fieldNotifJmsQueueSize">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">QueueSize</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsConsumerCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">ConsumerCount</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsDequeueCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">DequeueCount</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsAverageEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">AverageEnqueueTime</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsMaxEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">MaxEnqueueTime</Put>
    </New>
    </Put>
    </New>
    <New id="fpp.form.ui.parameters" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.form.ui.parameters</Arg>
    <Arg>
    <New
    class="com.visionobjects.myscript.fpp.ui.parameters.impl.UIParametersServiceImpl">
    <Set name="jmxProperties">
    <Ref id="fpp.form.jmx.properties"></Ref>
    </Set>
    <Set name="serverList">
    <Ref id="server.list"></Ref>
    </Set>
    </New>
    </Arg>
    </New>
    </Configure>
    Thanks so much in advance.
     

  • Problems with the function RFC_GET_TABLE_ENTRIES

    Hi experts,
           We have a external application named P-Synch that is used when a user needs to change or unlock their password on our SAP system. The problem we are presenting is that in our PBP system the application is working fine but in our BW and XI environment when the P-Synch application call the function RFC_GET_TABLE_ENTRIES in SAP it can't take the result of the field 'expiration_date' because for some reason the output for this field is not in the same position that is in the PBP system.
    Example:
    This are the output that we receive in the environments with the function RFC_GET_TABLE_ENTRIES :
    PBP:
    000001ú320020401*99991231*AESSUSER
    BWP:
    0000200408039999*1231AESS*USER
    As you see in PBP P-Synch can take the expiration date (in bold) in the correct position '99991231'.... but for some reason in BWP the function present the expiration date in the incorrect position '1231AESS', for that reason the P-Synch application can't change or unlock the user of a person because terminate with error with the expiration date.
    Exist a way that I can fix this?
    Thanks a lot!
    Edited by: Carlos Mercado Aponte on Oct 16, 2009 3:42 PM

    Hello Carlos,
    Few days back i also faced some problem with the RFC_GET_TABLE_ENTRIES.
    May be you can try with RFC_READ_TABLE instead. Not much difference in the way you call the 2 FMs. From my experience i can tell, RFC_GET_TABLE_ENTRIES returns some garbage characters which RFC_READ_TABLE does not.
    For details refer to this [link|RFC_READ_TABLE v/s RFC_GET_TABLE_ENTRIES;.
    BR,
    Suhas

  • Hi guru's what are the function modules are used in ALV

    hi guru's what are the function modules are used in ALV

    Hi vasu,
    There are some function modules which will enable to produce the  reports without much effort.
    All the definitions of internal tables, structures and constants are declared in a type-pool called SLIS.
    1. SIMPLE REPORT.
    The important function modules are
    a. Reuse_alv_list_display
    b. Reuse_alv_fieldcatalog_merge
    c. Reuse_alv_events_get
    d. Reuse_alv_commentary_write
    e. Reuse_alv_grid_display
    A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.
    The important parameters are :
    I. Export :
    i. I_callback_program : report id
    ii. I_callback_pf_status_set : routine where a user can set his own pf status or change the functionality of the existing pf status
    iii. I_callback_user_command : routine where the function codes are handled
    iv. I_structure name : name of the dictionary table
    v. Is_layout : structure to set the layout of the report
    vi. It_fieldcat : internal table with the list of all fields and their attributes which are to be printed (this table can be populated automatically by the function module REUSE_ALV_FIELDCATALOG_MERGE
    vii. It_events : internal table with a list of all possible events of ALV and their corresponding form names.
    II. Tables :
    i. t_outtab : internal table with the data to be output
    B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to populate a fieldcatalog which is essential to display the data in ALV. If the output data is from a single dictionary table and all the columns are selected, then we need not exclusively create the field catalog. Its enough to mention the table name as a parameter(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases we need to create it.
    The Important Parameters are :
    I. Export :
    i. I_program_name : report id
    ii. I_internal_tabname : the internal output table
    iii. I_inclname : include or the report name where all the dynamic forms are handled.
    II Changing
    ct_fieldcat : an internal table with the type SLIS_T_FIELDCAT_ALV which is
    declared in the type pool SLIS.
    C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type
    Parameters :
    I. Import :
    Et_Events : The event table is returned with all possible CALLBACK events
    for the specified list type (column 'NAME'). For events to be processed by Callback, their 'FORM' field must be filled. If the field is initialized, the event is ignored. The entry can be read from the event table, the field 'FORM' filled and the entry modified using constants from the type pool SALV.
    II. Export :
    I_List_type :
    0 = simple list REUSE_ALV_LIST_DISPLAY
    1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY
    2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND
    3 = hierarchical-sequential block list
    REUSE_ALV_BLOCK_LIST_HS_APPEND
    D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.
    Parameters :
    I. it_list_commentary : internal table with the headings of the type slis_t_listheader.
    This internal table has three fields :
    Typ : ‘H’ – header, ‘S’ – selection , ‘A’ - action
    Key : only when typ is ‘S’.
    Info : the text to be printed
    E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.
    Parameters : same as reuse_alv_list_display
    This is an example for simple list.
    2. BLOCK REPORT
    This is used to have multiple lists continuously.
    The important functions used in this report are:
    A. REUSE_ALV_BLOCK_LIST_INIT
    B. REUSE_ALV_BLOCK_LIST_APPEND
    C. REUSE_ALV_BLOCK_LIST_HS_APPEND
    D. REUSE_ALV_BLOCK_LIST_DISPLAY
    A. REUSE_ALV_BLOCK_LIST_INIT
    Parameters:
    I. I_CALLBACK_PROGRAM
    II. I_CALLBACK_PF_STATUS_SET
    III. I_CALLBACK_USER_COMMAND
    This function module is used to set the default gui status etc.
    B. REUSE_ALV_BLOCK_LIST_APPEND
    Parameters :
    Export :
    I. is_layout : layout settings for block
    II. it_fieldcat : field catalog
    III. i_tabname : internal table name with output data
    IV. it_events : internal table with all possible events
    Tables :
    i. t_outtab : internal table with output data.
    This function module adds the data to the block.
    Repeat this function for all the different blocks to be displayed one after the other.
    C. REUSE_ALV_BLOCK_LIST_HS_APPEND
    This function module is used for hierarchical sequential blocks.
    D. REUSE_ALV_BLOCK_LIST_DISPLAY
    Parameters : All the parameters are optional.
    This function module display the list with data appended by the above function.
    Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.
    3. Hierarchical reports :
    Hierarchical sequential list output.
    The function module is
    A. REUSE_ALV_HIERSEQ_LIST_DISPLAY
    Parameters:
    I. Export:
    i. I_CALLBACK_PROGRAM
    ii. I_CALLBACK_PF_STATUS_SET
    iii. I_CALLBACK_USER_COMMAND
    iv. IS_LAYOUT
    v. IT_FIELDCAT
    vi. IT_EVENTS
    vii. i_tabname_header : Name of the internal table in the program containing the
    output data of the highest hierarchy level.
    viii. i_tabname_item : Name of the internal table in the program containing the
    output data of the lowest hierarchy level.
    ix. is_keyinfo : This structure contains the header and item table field
    names which link the two tables (shared key).
    II. Tables
    i. t_outtab_header : Header table with data to be output
    ii. t_outtab_item : Name of the internal table in the program containing the
    output data of the lowest hierarchy level.
    slis_t_fieldcat_alv : This internal table contains the field attributes. This internal table can be populated automatically by using ‘REUSE_ALV_FIELDCATALOG_MERGE’.
    Important Attributes :
    A. col_pos : position of the column
    B. fieldname : internal fieldname
    C. tabname : internal table name
    D. ref_fieldname : fieldname (dictionary)
    E. ref_tabname : table (dictionary)
    F. key(1) : column with key-color
    G. icon(1) : icon
    H. symbol(1) : symbol
    I. checkbox(1) : checkbox
    J. just(1) : (R)ight (L)eft (C)ent.
    K. do_sum(1) : sum up
    L. no_out(1) : (O)blig.(X)no out
    M. outputlen : output length
    N. seltext_l : long key word
    O. seltext_m : middle key word
    P. seltext_s : short key word
    Q. reptext_ddic : heading (ddic)
    R. ddictxt(1) : (S)hort (M)iddle (L)ong
    S. datatype : datatype
    T. hotspot(1) : hotspot
    some theory regarding alv:
    This table tells ALV which events are processed by the caller by CALLBACK.
    The table of possible events per list type can be initialized using the module REUSE_ALV_EVENTS_GET.
    You can display the names of the constants in the type pools SLIS which represent the individual events using the individual test function in the function module
    REUSE_ALV_EVENT_NAMES_GET. Only events with a form routine name are processed.
    The table structure contains the fields:
    • IT_EVENTS-NAME
    Name of the Callback event.
    Possible Callback events:
    • Action
    USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD
    Process actions on the list
    As this is a frequently-used Callback event, the form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_USER_COMMAND.
    PF_STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB
    If a user list status is to be set, it must be done in the form routine assigned to this event. The ALV function codes, which must not be active, are in the Parameter RT_EXTAB. This table must be passed with the SET PF-STATUS command (with inactive user function codes as well, if necessary).
    The STANDARD status of the function group SALV should be used as a template for a user-specific status.
    As this is a frequently-used Callback event, its form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_PF_STATUS_SET.
    ITEM_DATA_EXPAND USING RS_SELFIELD TYPE SLIS_SELFIELD RFLG_ALL TYPE C
    Only relevant for hierarchical-sequential lists using the layout parameter IS_LAYOUT-EXPAND_FIELDNAME of the structure IS_LAYOUT.
    Exit for passing item entries (ITEM table) for a header record which was expanded interactively by the user.
    RS_SELFIELD-TABINDEX contains the header table index for which the item entries are to be put in the global item output table (T_OUTTAB_SLAVE). The Callback is only called if ALV has no items for a header which is to be expanded.
    RFLG_ALL is passed with 'X' if the user shows all items. The application must ensure that entries are not repeated in the item table. RS_SELFIELD is initial in this case.
    CALLER_EXIT USING RS_DATA Is called at the beginning of the function module to make special settings. It is not usually used.
    • List processing events
    IMPORTANT: The application Callback routine must not manipulate the internal output table and/or its header record. This restriction applies to all Callbacks which are called in the list output and run under the 'List processing events'.
    TOP_OF_LIST no USING parameter. Information output at the start of the list
    END_OF_LIST no USING parameter. Information output at the end of the list
    TOP_OF_PAGE no USING parameter
    Equivalent to the list processing TOP-OF-PAGE event
    END_OF_PAGE no USING parameter. Not available for hierarchical-sequential lists.
    Information output at the end of a page. This is only called for printing.
    TOP_OF_COVERPAGE no USING parameter
    The selection information and list status are output together (if they exist) on a separate page by default. See also the documentation of the parameters:
    IS_PRINT-NO_COVERPAGE
    IS_PRINT-NO_PRINT_SELINFOS
    IS_PRINT-NO_PRINT_LISTINFOS
    IS_LAYOUT-GET_SELINFOS
    The user can format the header area of the 'cover page' himself or herself by specifying a Callback routine for this event.
    END_OF_COVERPAGE no USING parameter
    Analogously to TOP_OF_COVERPAGE the user can add other information to the information output by ALV (selection information, list status) at this event.
    FOREIGN_TOP_OF_PAGE no USING parameter
    The Top-of-page event is always processed in ALV and is only passed to the caller via the Callback mechanism. This is still the case if the caller, e.g. by a user action, processes a branch list which was not formatted by ALV (e.g. a popup with additional information about the list record selected and displayed by ALV).
    In this case, top-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event top-of-page still occurs in ALV. When ALV notices a top-of-page which was not caused by an ALV output, the form routine in FOREIGN_TOP_OF_PAGE is called.
    FOREIGN_END_OF_PAGE no USING parameter
    The event end-of-page is always processed in ALV and only passed to the caller via callback. This is still the case, e.g. when the caller processes a details list which was not formatted by ALV (e.g. a popup with further information about selected list records which were displayed by ALV).
    In this case, end-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event end-of-page still occurs in ALV. When ALV notices an end-of-page that was not caused by an ALV output, the form routine in FOREIGN_END_OF_PAGE is called.
    BEFORE_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO
    Output information before each output line. Should only be used in justified cases because it costs a lot of performance.
    AFTER_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO
    Output information after each output line. Should only be used in justified cases because it costs a lot of performance.
    • Internal use only
    LIST_MODIFY USING R_TABNAME TYPE SLIS_TABNAME
    R_INDEX LIKE SY-TABIX
    R_INDEX_ITEM LIKE SY-TABIX
    R_INDEX_SUM LIKE SY-TABIX
    • IT_EVENTS-FORM
    Name of the form routine which should be called in the calling program at the event.
    Field_catalog:
    Field catalog with field descriptions
    2.7.1. Description
    Field catalog containing descriptions of the list output fields (usually a subset of the internal output table fields). A field catalog is required for every ALV list output.
    The field catalog for the output table is built-up in the caller's coding. The build-up can be completely or partially automated by calling the REUSE_ALV_FIELDCATALOG_MERGE module
    See also the documentation of the function module REUSE_ALV_FIELDCATALOG_MERGE.
    The minimal field catalog is documented under 'default'. The caller can use the other optional parameters to assign output attributes to a field which differ from the default.
    A field catalog need not be built-up and passed explicitly only under the following conditions:
    • The internal table to be output has the same structure as a Data Dictionary structure which is referred to in the internal table declaration using LIKE or INCLUDE STRUCTURE.
    • all fields in this structure are to be output
    • the structure name is passed to ALV in the parameter I_STRUCTURE_NAME.
    See also the documentation of the IMPORTING paramter I_STRUCTURE_NAME.
    Positioning
    • row_pos (row position)
    value set: 0, 1 - 3
    Only relevant if the list output is to be multi-line (two or three lines) by default.
    A multi-line list can also be defined by the user interactively if the default list is one-line.
    The parameter specifies the relative output line of the column in a multi-line list.
    • col_pos (column position)
    value set: 0, 1 - 60
    only relevant when the default relative column positions differ from the field catalog field sequence. The parameter specifies the relative column position of the field in the list output. The column order can be changed interactively by the user. If this parameter is initial for all field catalog entries, columns appear in the field catalog field sequence.
    Identification
    • fieldname (field name)
    value set: internal output table field name (required parameter)
    Name of the internal output table field which is described by this field catalog entry
    • tabname (internal output table)
    value set: SPACE, internal output table name
    This parameter is used in 'manual' field catalog build-up only for hierarchical-sequential lists.
    Name of the internal output table which contains the field FIELDCAT-FIELDNAME.
    Data Dictionary reference
    • ref_fieldname (reference field name)
    value set: SPACE, Data Dictionary field name
    Name of the Data Dictionary field referred to.
    This parameter is only used when the internal output table field described by the current field catalog entry has a reference to the Data Dictionary (not a program field), and the field name in the internal output table is different from the name of the field in the Data Dictionary. If the field names are identical, naming the Data Dictionary structure or table in the FIELDCAT-REF_TABNAME parameter is sufficient.
    • ref_tabname (reference table/structure field name)
    value set: SPACE, name of a Data Dictionary structure or table
    Structure or table name of the referred Data Dictionary field.
    This parameter is only used when the internal output table field described by the current field catalog entry has a Data Dictionary reference (not a program field).
    Reference to fields with currency/measurement unit
    Each internal output table sum or quantity field whose decimal places are to be formatted appropriately for the unit in the list must follow the convention:
    • the field is of data type QUAN or CURR (internal type P) (the field must really have this physical data type. Overwriting the physical data type with the parameter FIELDCAT-DATATYPE has no effect)
    • There is a field in the internal output table which contains the associated unit.
    • There is also an entry in the field catalog for the unit field.
    (If the unit is not to appear as a column in the list, and cannot be interactively displayed as a column, e.g. because it is always unambiguous and is therefore explicitly output by the caller in the list header, the field catalog units field entry can take the parameter FIELDCAT-TECH = 'X'.
    The association of a value field to a unit affects the output as follows:
    • appropriate decimal places display for the unit
    • an initialized field with a link to a non-initial unit is output as '0' for the unit (if FIELDCAT-NO_ZERO is initial). When this field is summed, this unit affects whether the units are homogeneous.
    • an initialized field with a link to an initial unit is output as SPACE. When this field is summed, the unit SPACE does not affect the homogeneity of the units.
    • When non-initial fields with an initial unit are summed, the unit SPACE is considered to be a unit.
    Link to currency unit
    • cfieldname (currency unit field name)
    value set: SPACE, output table field name
    Only relevant for amount columns with associated unit.
    Name of the internal output table field containing the currency unit associated with the amount field FIELDCAT-FIELDNAME. The field in FIELDCAT-CFIELDNAME must have its own field catalog entry.
    • ctabname (internal currency unit field output table)
    value set: SPACE, output table field name
    only relevant for hierarchical-sequential lists
    Name of the internal output table containing the FIELDCAT-CFIELDNAME field.
    Link to measurement unit
    • qfieldname (measurement unit field name)
    value set: SPACE, output table field name
    only relevant for quantity columns with unit link.
    Name of the internal output table field containing the measurement unit associated with the quantity field FIELDCAT-FIELDNAME.
    The field in FIELDCAT-QFIELDNAME must have its own field catalog entry.
    • qtabname (internal measurement unit field output table)
    value set: SPACE, output table field name
    only relevant for hierarchical-sequential lists
    Name of the internal output table containing the FIELDCAT-QFIELDNAME field.
    Column output options
    • outputlen (column width)
    value set: 0 (initial), n
    For fields with a Data Dictionary link this parameter can be left initial.
    For fields without a Data Dictionary link (program field) the parameter must be given the value of the desired field list output length (column width).
    initial = column width is the output length of the referred Data Dictionary field (domain).
    n = column width is n characters
    • key (key column)
    value set: SPACE, 'X' 'X' = kex field (key field output in color)
    Key fields can not be interactively hidden. Parameter FIELDCAT-NO_OUT must be left initial.
    For exceptions see the documentation of the FIELDCAT-KEY_SEL parameter.
    • key_sel (hideable key column)
    value set: SPACE, 'X'
    only relevant when FIELDCAT-KEY = 'X'
    Key field which can be hidden interactively.
    The key column sequence cannot be changed interactively by the user.
    The output is controlled by the FIELDCAT-NO_OUT parameter analogously to non-key fields.
    • no_out (field in field list)
    value set: SPACE, 'X' 'X' = field is not displayed in the current list.
    The user can interactively choose the field for output from the field list.
    The user can display the contents of these fields at line level using the 'Detail' function.
    See also the 'Detail screen' documentation of the parameter IS_LAYOUT.
    • tech (technical field)
    value set: SPACE, 'X' 'X' = technical field
    Field cannot be output in the list and cannot be displayed interactively.
    Field can only be used in the field catalog (not in IT_SORT, ...).
    • emphasize (highlight columns in color)
    value set: SPACE, 'X' or 'Cxyz' (x:'1'-'9'; y,z: '0'=off '1'=on)
    'X' = column is colored with the default column highlight color.
    'Cxyz' = column is colored with a coded color:
    • C: Color (coding must begin with C)
    • x: color number
    • y: bold
    • z: inverse
    • hotspot (column as hotspot)
    value set: SPACE, 'X'
    'X' = column cells are output as hotspots
    • fix_column (fix column)
    value set: SPACE, 'X'
    Not relevant for block lists (output of several lists consecutively)
    'X' = column fixed (does not scroll horizontally)
    All columns to be fixed must have this flag, starting from the left. If a column without this flag is output, only the columns to the left of this column are fixed. The user can change the column fixing interactively. See also the documentation of the Layout parameter
    IS_LAYOUT-NO_KEYFIX of the IMPORTING paramter IS_LAYOUT.
    • do_sum (sum over column)
    value set: SPACE, 'X' 'X' = a sum is to be calculated over this internal output table field.
    This function can also be called by the user interactively.
    • no_sum (sums forbidden)
    value set: SPACE, 'X' 'X' = no sum can be calculated over this field, although the data type of the field would allow summing.
    • input (column ready for input)
    Function not available
    Format column contents
    • icon
    value set: SPACE, 'X' 'X' = column contents to be output as an icon.
    The caller must consider the printability of icons.
    • symbol
    value set: SPACE, 'X' 'X' = column contents are to be output as a symbol.
    The internal output table column must be a valid symbol character.
    The caller must consider the printability of symbols.
    Symbols can usually be printed, but may not always be output correctly, depending on the printer configuration.
    • just (justification)
    value set: SPACE, 'R', 'L', 'C'
    Only relevant for fields of data type CHAR or NUMC
    ' ' = default justification for this data type
    'R' = right-justified output
    'L' = left-justified output
    'C' = centered output
    The justification of the column header always follows the justification of the columns. Independent justification of the column neader is not possible.
    • lzero (leading zeros)
    value set: SPACE, 'X'
    Only relevant for fields of data type NUMC
    ALV outputs NUMC fields right-justified without leading zeros by default.
    'X' = output with leading zeros
    Note: If a NUMC field is output left-justified or centered by FIELDCAT-JUST, leading zeros are output. If the output of leading zeros is suppressed by a Data Dictionary reference ALPHA conversion exit, the output is always left-justified.
    • no_sign (no +/- sign) Only relevant for value fields
    value set: SPACE, 'X' 'X' = value output without +/ sign
    • no_zero (suppress zeros) Only relevant for value fields
    value set: SPACE, 'X' 'X' = suppress zeros
    • edit_mask (field formatting)
    value set: SPACE, template
    template = see documentation of WRITE formatting option USING EDIT MASK template
    The output conversion conv can be made by template = '== conv'.
    Texts
    The following text parameters should be specified for program fields without a Data Dictionary reference. The texts are taken from the Data Dictionary for fields with a Data Dictionary reference. If this is not desired, the text parameters can also be specified. The Data Dictionary texts are then ignored. If the user changes the column width interactively, the column header text with the appropriate length is always used. The interactive function 'Optimize column width' takes account of both the field contents and the column headers: if all field contents are shorter than the shortest column header, the column width depends on the column header.
    The 'long field label' is also used in display variant definition, sort, etc. popups.
    • seltext_l (long field label)
    • seltext_m (medium field label)
    • seltext_s (short field label)
    • reptext_ddic (header)
    analogous to the Data element maintenance 'Header'
    The specified text is not necessarily output in the list, an optimum among all texts is sought.
    • ddictxt (specify text)
    value set: SPACE, 'L', 'M', 'S'
    You can specify with values 'L', 'M', and 'S', the keyword that should always be used as column header. If the column width changes, no attempt is made in this case to find an appropriate header for the new output width.
    Parameters for program fields without Data Dictionary reference
    see also 'Text' parameters
    • datatype (data type)
    value set: SPACE, Data Dictionary data type (CHAR, NUMC,...)
    Only relevant for fields without Data Dictionary reference
    Program field data type
    • ddic_outputlen (external output length)
    value set: 0 (initial), n
    Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit.
    Prerequisites:
    • FIELDCAT-EDIT_MASK = '==conv'
    see also the documentation of the parameter FIELDCAT-EDIT_MASK
    • FIELDCAT-INTLEN = n
    see also the documentation of the parameter FIELDCAT-INTLEN
    n = external format field output length
    The column width FIELDCAT-OUTPUTLEN need not be the same as the external format output length (FIELDCAT-DDIC_OUTPUTLEN).
    • intlen (internal output length)
    value set: 0 (initial), n
    Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit.
    Prerequisites:
    • FIELDCAT-EDIT_MASK = '==conv'
    see also the documentation of the parameter FIELDCAT-EDIT_MASK
    • FIELDCAT-DDIC_OUTPUTLEN = n
    see also the documentation of the parameter FIELDCAT-DDIC_OUTPUTLEN
    n = internal format field output length
    • rollname (data element)
    value set: SPACE, Data Dictionary data element name
    F1 help can be provided for a program field without a Data Dictionary reference, or F1 help which differs from the Data Dictionary help can be provided for a field with a Data Dictionary reference, using this parameter.
    When F1 help is called for this field, the documentation of the specified data element is displayed.
    If the FIELDCAT-ROLLNAME is initial for fields with a Data Dictionary reference, the documentation of the data element of the referred Data Dictionary field is output.
    Others
    • sp_group (field group key)
    value set: SPACE, CHAR(1)
    Field group key.
    Keys are assigned to group names in the IT_SPECIAL_GROUPS parameter (see also the documentation of the parameter IT_SPECIAL_GROUPS).
    When such an assignment is made in the field catalog and in IT_SPECIAL_GROUPS, the fields are grouped correspondingly in the display variant popup.
    • reprep (Report/Report interface selection criterion)
    value set: SPACE, 'X'
    Prerequisites:
    • The system contains the Report/Report interface (function group RSTI, table TRSTI)
    • Parameter LAYOUT-REPREP = 'X'
    (see also the documentation of the parameter LAYOUT-REPREP of the IMPORTING parameter IS_LAYOUT )
    'X' = When the Report/Report interface is called, the value of this field is passed in the selected interface start record as a selection criterion.
    2.7.2. Default
    • The following entries are usually sufficient for internal table fields with a reference to a field defined in the Data Dictionary :
    • fieldname
    • ref_tabname
    Notes:
    ALV gets the remaining information from the Data Dictionary.
    If no relative column position (COL_POS) is specified, the fields are output in the list in the order in which they were added to the field catalog.
    REF_FIELDNAME need only be specifid when the name of the internal table field differs from the name of the referred Data Dictionary field.
    Information which is explicitly entered in the field catalog is not overwritten by information from the Data Dictionary.
    Priority rule:
    Entries in the field catalog have priority over differing entries in the Data Dictionary.
    • The following entries are usually sufficient for internal table fields without a reference to the Data Dictionary (program fields):
    • fieldname
    • outputlen
    • datatype
    • seltext_s
    • seltext_m
    • seltext_l
    Notes:
    F1 help can be provided for program fields by assigning a data element to the parameter ROLLNAME.
    If the parameters SELTEXT_S, SELTEXT_M, SELTEXT_L, and REPTEXT_DDIC contain appropriate field labels, the program field column headers are also adjusted appropriately when the column width changes
    sites :
    http://www.sapdevelopment.co.uk/reporting/alv/alv_variousfcat.htm
    <b>plese reward if useful </b>
    Message was edited by:
            sunil kairam

  • Page Validation - Function Returning Boolean - Check for NULL

    I have 3 Page Validations which all fire on "When Button Pressed" = "Submit".
    <br><br>
    Number 1 is of type "Item specified is NOT NULL" for "P199_BUSINESS_UNIT1".
    <br>
    Number 2 is of type "Item specified is NOT NULL" for "P199_BUSINESS_UNIT2".
    <br>
    Number 3 is of type "Function Returning Boolean" and has the following code:
    <br><br>
    IF :P199_BUSINESS_UNIT1 IS NULL   AND
       :P199_BUSINESS_UNIT2 IS NULL  THEN
        RETURN FALSE ;
    ELSE
        RETURN TRUE  ;
    END IF ;<br>
    When P199_BUSINESS_UNIT1 is NULL and P199_BUSINESS_UNIT2 is NOT NULL, I get the Error from Validation 1. Perfect.
    <br>
    When P199_BUSINESS_UNIT1 is NOT NULL and P199_BUSINESS_UNIT2 is NULL, I get the Error from Validation 2. Perfect.
    <br>
    When P199_BUSINESS_UNIT1 is NOT NULL and P199_BUSINESS_UNIT2 is NOT NULL, I don't get an Error Message. Perfect.
    <br><br>
    When P199_BUSINESS_UNIT1 is NULL and P199_BUSINESS_UNIT2 is NULL, I get Error Message 1 & 2, <strong>but nothing from 3.</strong>
    <br><br>
    If I change the code to:
    <br><br>
    IF :P199_BUSINESS_UNIT1 = '01'   AND
       :P199_BUSINESS_UNIT2 = '01'  THEN
        RETURN FALSE ;
    ELSE
        RETURN TRUE  ;
    END IF ;<br>
    and change both values to '01', I get the appropriate Error Message.
    <br><br>
    What is going on? Is there some reason I can't check for NULL in a Function Returning Boolean?

    Scott,
    <br><br>
    Instead of adding the Validations, I changed my code from:
    <br><br>
    IF :P199_BUSINESS_UNIT1 IS NULL   AND
       :P199_BUSINESS_UNIT2 IS NULL  THEN
        RETURN FALSE ;
    ELSE
        RETURN TRUE  ;
    END IF ;
    <br>to the following and got the desired results:
    <br><br>
    IF  REPLACE(:P199_BUSINESS_UNIT1,<strong>'%null'</strong> || '%',NULL) IS NULL   AND
        REPLACE(:P199_BUSINESS_UNIT2,<strong>'%null'</strong> || '%',NULL) IS NULL  THEN
        RETURN FALSE ;
    ELSE
        RETURN TRUE  ;
    END IF ;<br>
    Note that I changed the word REPLACE to upper case and the second occurrence of the word NULL to upper case to accentuate the fact that the '%null' is case sensitive, using "%NULL' does not work, it has to be "%null' in lower case.
    <br><br>
    <strong>Thanks for your help.</strong>

  • Please update the functional specifications for Vendor Balance Report

    Dear All,
    Please update the functional specifications for Vendor Balance Report with
    proper descriptions.
    Please include
    1. How your selection screen should look like..
    2. Output format ( in an excel sheet)
    3. Logic for every field in the output format (viz. .. how do link the
    vendors from the selection screen to the BKPf and BSEG tables, how do you
    find open and closed items in BSEG , etc.)
    Please avoid statements like 'The total value of all the break-up should
    tally with the balance as shown in FBL1N for a given vendor for the given
    day.'
    You need to give the logic for the FBL1N, in that case.
    Regards
    Rama Mohan

    Hello again,
    Regarding having them update the specs, one can dream. Dreams are free. LOL. Hopefully the memory makers will update their specs as more makers start supporting a large memory configuration.
    The 4GB sticks I am using are http://shop.kingston.com/partsinfo.asp?ktcpartno=KTL-TP667/4G
    I did not do an extended test of the sticks in my MBP. Their home is in the ThinkPad I have because it is running Windows Server 2008 with Hyper-V.
    As you can see from the link above, these little suckers are pricey. But consider the price of 2GB SoDIMMs were $950 when they entered the market a couple of years ago. The price will drop.
    I asked the Kingston rep that sent these to me if online sites like newegg.com would have them soon. She indicated no, but the corporate buying sites like CDW and Zone would. So check around. They just started shipped a couple of weeks ago so be patient.
    If you have any other questions, please stop by http://blogs.technet.com/keithcombs/archive/2008/07/05/testing-my-apple-macbook- pro-with-8gb-of-ram.aspx and ask there. I'll see them much more quickly.
    Cheers,
    Keith Combs
    Microsoft

  • I run a mac air on a single user account but multiple people using it, which is ok for the situation. All have their accounts in the apple mail app. what is missing for me is a separate password to access the mail account. otherwise anyone can see anyones

    I run a mac air on a single user account but multiple people using it, which is ok for the situation. All have their accounts in the apple mail app. what is missing for me is a separate password to access the mail account. otherwise anyone can see anyones
    Any clue, how i can add a mail account to apple mail app, but with separate password / pin to open it.
    Years ago there was a program called mail switcher which added this functionality, but thats gone.
    cheers
    Tom

    They would have to be logged in as separate users in order not to see your account in Mail. Whatever accounts put in Mail under your account will show up. All mail accounts usually have there own user and password. The only thing you can do is to remove the password from Keychain and take the account offline so you don't keep getting prompts for passwords each time it checks for mail.
    Not a great solution.
    Best way is to give the other user their own user account with their own mail and enable fast user swithcing to log between the different users if all access the computer frequently.

  • What is the function of  DET_LEVEL ?

    Hi experts ,
           Can any of you please explain the functionality of DET_LEVEL in the macros ?
    Kindly help
    regards
    Ashwin

    Hello Ashwin -
    Read the following explanation.
    DET_LEVEL( 'IOBJNM' ) returns 0 if you are planning on an aggregate level
    with respect to the InfoObject IOBJNM, where IOBJNM is the technical name
    of the InfoObject. For example, if your selection contains product 11 and product 12, and if 9AMATNR is the InfoObject name of products, DET_LEVEL ( '9AMATNR' ) returns 0. DET_LEVEL( 'IOBJNM' ) returns 1 if you are planning
    on the detailed level with respect to the InfoObject IOBJNM;
    Syntax
    DET_LEVEL('characteristic' [; EXCLUDE_IMP] [GRID=2] )
    Characteristic = Technical name of the characteristic that is to be analyzed
    EXCLUDE_IMP: If you set this optional indicator ('X'), implicitly strong characteristics are not taken into account in the analysis.
    GRID=2: If you set this optional parameter, the analysis is applied to the planning object of the second grid.
    Description
    The DET_LEVEL() function analyzes whether the planning object being currently processed is detailed or aggregated with regards to the characteristic characteristic. If detailed, the return value is ‘1’; if aggregated, the value is ‘0’.
    Examples
    Example 1:
    You have selected the products P1 and P2 (characteristic 9AMATNR). DET_LEVEL( '9AMATNR' ) will provide the return value '0' for this planning object because you are at aggregated level with regards to the characteristic 9AMATNR.
    Example 2:
    The products P1 and P2 are only in location L1 (characteristic 9ALOCNO) due to the characteristics combinations maintained (in DP) or location products (in SNP). You have selected the products P1 and P2 (characteristic 9AMATNR). DET_LEVEL( '9ALOCNO' ) will provide the return value '1' for this planning object because you are at detailed level with regards to the characteristic 9ALOCNO. The 9ALOCNO characteristic is implicitly strong in this case (namely location L1) due to the selection of products P1 and P2 and it is used in the analysis. DET_LEVEL( '9ALOCNO' ; 'X' ) will deliver the return value '0' for this planning object because implicitly strong characteristics are not used for the analysis. A drilldown to the characteristic ‘location’ would characterize it explicitly.
    Hope this helps.
    Regards,
    Suresh Garg

  • I have a question about extracting pages.  When I do the function, adobe saves the individual files as " file name space page number ", so the files look like this "filename 1.pdf", "filename 2.pdf", "filename 3.pdf".  Without too many gory details, I a

    I have a question about extracting pages.  When I do the function, adobe saves the individual files as "<file name><space><page number>", so the files look like this "filename 1.pdf", "filename 2.pdf", "filename 3.pdf".  Without too many gory details, I am using excel to concatenate some data to dynamically build a hyperlink to these extraced files.  It casues me problems, however, for the space to be the the file name.  Is there any way to change the default behavoir of this function to perhaps use a dash or underscore instead of a space?

    No, you can't change the default naming scheme. You can do it yourself if you extract the pages using a script instead of using the built-in command.

Maybe you are looking for

  • Convert pdf and send mail

    after sending mail ,the attachment doesnt conatin any pdf data. code is as follows............. LOOP AT IT_PDF. TRANSLATE IT_PDF USING ' ~'. CONCATENATE GD_BUFFER IT_PDF INTO GD_BUFFER. ENDLOOP. TRANSLATE GD_BUFFER USING '~ '. DO. I_OBJBIN = GD_BUFFE

  • What is wrong when clicking on the "+" tab does not create a new tab?

    Suddenly, the "+" tab, when clicked on, does nothing. Right-clicking on the "+" and choosing "new tab" fails to function. All 5 boxes under Tools/Options/Tabs are enabled. What do I need to do to re-enable the new tab function?

  • Want to use Logic 8 Pro for Podcasting, help needed

    I have a few problems. I just switched over to Logic after using ProTools for 4 years so I'm a newbie. I'm about to start a podcast soon and I want to use Logic 8 Pro to do so. Is there a book that someone can recommend me for getting familiar with L

  • Converting csv files to signals

    I need to convert this csv file to an analog signal.  The timing and magnitude need to be exact

  • Can I download a trial version?

    I've never used Motion before, so I wanted to download a trial version before I bought... I'm still a student so $50 is a lot