OC4J: marshalling does not recreate the same data structure onthe client

Hi guys,
I am trying to use OC4J as an EJB container and have come across the following problem, which looks like a bug.
I have a value object method that returns an instance of ArrayList with references to other value objects of the same class. The value objects have references to other value objects. When this structure is marshalled across the network, we expect it to be recreated as is but that does not happen and instead objects get duplicated.
Suppose we have 2 value objects: ValueObject1 and ValueObject2. ValueObject1 references ValueObject2 via its private field and the ValueObject2 references ValueObject1. Both value objects are returned by our method in an ArrayList structure. Here is how it will look like (number after @ represents an address in memory):
Object[0] = com.cramer.test.SomeVO@1
Object[0].getValueObject[0] = com.cramer.test.SomeVO@2
Object[1] = com.cramer.test.SomeVO@2
Object[1].getValueObject[0] = com.cramer.test.SomeVO@1
We would expect to see the same (except exact addresses) after marshalling. Here is what we get instead:
Object[0] = com.cramer.test.SomeVO@1
Object[0].getValueObject[0] = com.cramer.test.SomeVO@2
Object[1] = com.cramer.test.SomeVO@3
Object[1].getValueObject[0] = com.cramer.test.SomeVO@4
It can be seen that objects get unnecessarily duplicated – the instance of the ValueObject1 referenced by the ValueObject2 is not the same now as the instance that is referenced by the ArrayList instance.
This does not only break referential integrity, structure and consistency of the data but dramatically increases the amount of information sent across the network. The problem was discovered when we found that a relatively small but complicated structure that gets serialized into a 142kb file requires about 20Mb of network communication. All this extra info is duplicated object instances.
I have created a small test case to demonstrate the problem and let you reproduce it.
Here is RMITestBean.java:
package com.cramer.test;
import javax.ejb.EJBObject;
import java.util.*;
public interface RMITestBean extends EJBObject
public ArrayList getSomeData(int testSize) throws java.rmi.RemoteException;
public byte[] getSomeDataInBytes(int testSize) throws java.rmi.RemoteException;
Here is RMITestBeanBean.java:
package com.cramer.test;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import java.util.*;
public class RMITestBeanBean implements SessionBean
private SessionContext context;
SomeVO someVO;
public void ejbCreate()
someVO = new SomeVO(0);
public void ejbActivate()
public void ejbPassivate()
public void ejbRemove()
public void setSessionContext(SessionContext ctx)
this.context = ctx;
public byte[] getSomeDataInBytes(int testSize)
ArrayList someData = getSomeData(testSize);
try {
java.io.ByteArrayOutputStream byteOutputStream = new java.io.ByteArrayOutputStream();
java.io.ObjectOutputStream objectOutputStream = new java.io.ObjectOutputStream(byteOutputStream);
objectOutputStream.writeObject(someData);
objectOutputStream.flush();
System.out.println(" serialised output size: "+byteOutputStream.size());
byte[] bytes = byteOutputStream.toByteArray();
objectOutputStream.close();
byteOutputStream.close();
return bytes;
} catch (Exception e) {
System.out.println("Serialisation failed: "+e.getMessage());
return null;
public ArrayList getSomeData(int testSize)
// Create array of objects
ArrayList someData = new ArrayList();
for (int i=0; i<testSize; i++)
someData.add(new SomeVO(i));
// Interlink all the objects
for (int i=0; i<someData.size()-1; i++)
for (int j=i+1; j<someData.size(); j++)
((SomeVO)someData.get(i)).addValueObject((SomeVO)someData.get(j));
((SomeVO)someData.get(j)).addValueObject((SomeVO)someData.get(i));
// print out the data structure
System.out.println("Data:");
for (int i = 0; i<someData.size(); i++)
SomeVO tmp = (SomeVO)someData.get(i);
System.out.println("Object["+Integer.toString(i)+"] = "+tmp);
System.out.println("Object["+Integer.toString(i)+"]'s some number = "+tmp.getSomeNumber());
for (int j = 0; j<tmp.getValueObjectCount(); j++)
SomeVO tmp2 = tmp.getValueObject(j);
System.out.println(" getValueObject["+Integer.toString(j)+"] = "+tmp2);
System.out.println(" getValueObject["+Integer.toString(j)+"]'s some number = "+tmp2.getSomeNumber());
// Check the serialised size of the structure
try {
java.io.ByteArrayOutputStream byteOutputStream = new java.io.ByteArrayOutputStream();
java.io.ObjectOutputStream objectOutputStream = new java.io.ObjectOutputStream(byteOutputStream);
objectOutputStream.writeObject(someData);
objectOutputStream.flush();
System.out.println("Serialised output size: "+byteOutputStream.size());
objectOutputStream.close();
byteOutputStream.close();
} catch (Exception e) {
System.out.println("Serialisation failed: "+e.getMessage());
return someData;
Here is RMITestBeanHome:
package com.cramer.test;
import javax.ejb.EJBHome;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
public interface RMITestBeanHome extends EJBHome
RMITestBean create() throws RemoteException, CreateException;
Here is ejb-jar.xml:
<?xml version = '1.0' encoding = 'windows-1252'?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<session>
<description>Session Bean ( Stateful )</description>
<display-name>RMITestBean</display-name>
<ejb-name>RMITestBean</ejb-name>
<home>com.cramer.test.RMITestBeanHome</home>
<remote>com.cramer.test.RMITestBean</remote>
<ejb-class>com.cramer.test.RMITestBeanBean</ejb-class>
<session-type>Stateful</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
And finally the application that tests the bean:
package com.cramer.test;
import java.util.*;
import javax.rmi.*;
import javax.naming.*;
public class RMITestApplication
final static boolean HARDCODE_SERIALISATION = false;
final static int TEST_SIZE = 2;
public static void main(String[] args)
Hashtable props = new Hashtable();
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
props.put(Context.PROVIDER_URL, "ormi://lil8m:23792/alexei");
props.put(Context.SECURITY_PRINCIPAL, "admin");
props.put(Context.SECURITY_CREDENTIALS, "admin");
try {
// Get the JNDI initial context
InitialContext ctx = new InitialContext(props);
NamingEnumeration list = ctx.list("comp/env/ejb");
// Get a reference to the Home Object which we use to create the EJB Object
Object objJNDI = ctx.lookup("comp/env/ejb/RMITestBean");
// Now cast it to an InventoryHome object
RMITestBeanHome testBeanHome = (RMITestBeanHome)PortableRemoteObject.narrow(objJNDI,RMITestBeanHome.class);
// Create the Inventory remote interface
RMITestBean testBean = testBeanHome.create();
ArrayList someData = null;
if (!HARDCODE_SERIALISATION)
// ############################### Alternative 1 ##############################
// ## This relies on marshalling serialisation ##
someData = testBean.getSomeData(TEST_SIZE);
// ############################ End of Alternative 1 ##########################
} else
// ############################### Alternative 2 ##############################
// ## This gets a serialised byte stream and de-serialises it ##
byte[] bytes = testBean.getSomeDataInBytes(TEST_SIZE);
try {
java.io.ByteArrayInputStream byteInputStream = new java.io.ByteArrayInputStream(bytes);
java.io.ObjectInputStream objectInputStream = new java.io.ObjectInputStream(byteInputStream);
someData = (ArrayList)objectInputStream.readObject();
objectInputStream.close();
byteInputStream.close();
} catch (Exception e) {
System.out.println("Serialisation failed: "+e.getMessage());
// ############################ End of Alternative 2 ##########################
// Print out the data structure
System.out.println("Data:");
for (int i = 0; i<someData.size(); i++)
SomeVO tmp = (SomeVO)someData.get(i);
System.out.println("Object["+Integer.toString(i)+"] = "+tmp);
System.out.println("Object["+Integer.toString(i)+"]'s some number = "+tmp.getSomeNumber());
for (int j = 0; j<tmp.getValueObjectCount(); j++)
SomeVO tmp2 = tmp.getValueObject(j);
System.out.println(" getValueObject["+Integer.toString(j)+"] = "+tmp2);
System.out.println(" getValueObject["+Integer.toString(j)+"]'s some number = "+tmp2.getSomeNumber());
// Print out the size of the serialised structure
try {
java.io.ByteArrayOutputStream byteOutputStream = new java.io.ByteArrayOutputStream();
java.io.ObjectOutputStream objectOutputStream = new java.io.ObjectOutputStream(byteOutputStream);
objectOutputStream.writeObject(someData);
objectOutputStream.flush();
System.out.println("Serialised output size: "+byteOutputStream.size());
objectOutputStream.close();
byteOutputStream.close();
} catch (Exception e) {
System.out.println("Serialisation failed: "+e.getMessage());
catch(Exception ex){
ex.printStackTrace(System.out);
The parameters you might be interested in playing with are HARDCODE_SERIALISATION and TEST_SIZE defined at the beginning of RMITestApplication.java. The HARDCODE_SERIALISATION is a flag that specifies whether Java serialisation should be used to pass the data across or we should rely on OC4J marshalling. TEST_SIZE defines the size of the object graph and the ArrayList structure. The bigger this size is the more dramatic effect you get from data duplication.
The test case outputs the structure both on the server and on the client and prints out the size of the serialised structure. That gives us sufficient comparison, as both structure and its size should be the same on the client and on the server.
The test case also demonstrates that the problem is specific to OC4J. The standard Java serialisation does not suffer the same flaw. However using the standard serialisation the way I did in the test case code is generally unacceptable as it breaks the transparency benefit and complicates interfaces.
To run the test case:
1) Modify provider URL parameter value on line 15 of the RMITestApplication.java for your environment.
2) Deploy the bean to the server.
4) Run RMITestApplication on a client PC.
5) Compare the outputs on the server and on the client.
I hope someone can reproduce the problem and give their opinion, and possibly point to the solution if there is one at the moment.
Cheers,
Alexei

Hi,
Eugene, wrong end user recovery.  Alexey is referring to client desktop end user recovery which is entirely different.
Alexy - As noted in the previous post:
http://social.technet.microsoft.com/Forums/en-US/bc67c597-4379-4a8d-a5e0-cd4b26c85d91/dpm-2012-still-requires-put-end-users-into-local-admin-groups-for-the-purpose-of-end-user-data?forum=dataprotectionmanager
Each recovery point has users permisions tied to it, so it's not possible to retroacively give the users permissions.  Implement the below and going forward all users can restore their own files.
This is a hands off solution to allow all users that use a machine to be able to restore their own files.
 1) Make these two cmd files and save them in c:\temp
 2) Using windows scheduler – schedule addperms.cmd to run daily – any new users that log onto the machine will automatically be able to restore their own files.
<addperms.cmd>
 Cmd.exe /v /c c:\temp\addreg.cmd
<addreg.cmd>
 set users=
 echo Windows Registry Editor Version 5.00>c:\temp\perms.reg
 echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent\ClientProtection]>>c:\temp\perms.reg
 FOR /F "Tokens=*" %%n IN ('dir c:\users\*. /b') do set users=!users!%Userdomain%\\%%n,
 echo "ClientOwners"=^"%users%%Userdomain%\\bogususer^">>c:\temp\perms.reg
 REG IMPORT c:\temp\perms.reg
 Del c:\temp\perms.reg
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT]
This posting is provided "AS IS" with no warranties, and confers no rights.

Similar Messages

  • The executible I build with the application builder does not function the same as my VI file.

    I am using a USB 6008 device with the newest DAQmx drivers and Labview
    8.2 to make analog voltage readings.  Within my main VI I first
    create a data folder in the same location as the VI using a property
    node and then use case statements to call two sub VIs that create a
    data file within the data folder and then collects data.  When I use the
    application builder to create an executible the resulting file does not
    operate the same as the origional VI.  The program appears to be
    reacting to button presses on the GUI, but there is no indication that
    the data folder is being created or that any measurements are buing
    made.  Are there any known issues that may account for this
    anomily?
    -Mike
    Message Edited by TMBurleson on 10-16-2006 03:09 PM

    Are you using the VI Path property, using a reference to the current VI?
    I could be wrong, but if you're attempting to use a path relative to the current VI, I think that does indeed change in a built application. If your VI used to be C:\somewhere\foo.VI, then after building its path would actually be C:\somewhere\foo.EXE\foo.vi . Thus, if foo.VI used to try to make a folder like C:\somewhere\datafolder, the built application would be trying to make C:\somewhere\foo.EXE\datafolder , which wouldn't work.
    This is sort of a shot in the dark, but does this sound like it might be the case?
    EDIT: Dennis beat me to it.Message Edited by kehander on 10-16-2006 03:26 PM

  • Conversion does not look the same?

    I converted a pdf file to a word document last night and the page does not look the same. It is a weekly time log and the lines are messed up and the font is not placed correctly. Is there any way to fix this?

    Good day,
    What you described is fairly common for conversions where the PDF file that's being converted to Word wasn't originally created from Word.  The service does the best it can to interpret the font data as well as the formatting, but as that information is often not present within the code of the PDF file, sometimes the resulting Word document does not exactly resemble the PDF file.
    Kind regards,
    David
    Acrobat Community Manager
    Adobe Systems

  • Copy opening does not clear the destination data - Just appends

    Hi All,
    Copy opening does not clear the destination data. It just appends so if i run the copy opening package twice i can see the signed data get doubled.
    We have SAP BPC NW 7.5 SP08 Patch 1001.
    I working on the Periodic Application.
    Copy opening Script logic:
    *FOR %TIME% = %TIME_SET%
    *RUN_PROGRAM COPYOPENING
    CATEGORY = %CATEGORY_SET%
    CURRENCY = %CURRENCY_SET%
    TID_RA = %TIME%
    OTHER = [B_ENTITY=%B_ENTITY_SET%]
    *ENDRUN_PROGRAM
    *NEXT
    Carry-forward business rules
    Source account : BALANCE SHEET ACCOUNTS
    Source flow  : F99
    Dest account :
    Dest flow  : F00
    Reverse sign : FALSE
    Data source type :  ALL
    Same period      :FALSE
    Apply to YTD : False
    Category dimension:
    ID               ACTUAL               BUDGET
    EVDESCRIPTION          Actual               BUDGET
    PARENTH1          
    YEAR               2008               2011
    COMPARISON          BUDGET               NBUDGET
    STARTMTH               1               1
    CATEGORY_FOR_OPE                    ACTUAL
    FX_SOURCE_CATEGORY          
    RATE_CATEGORY          
    RATE_YEAR          
    RATE_PERIOD          
    FX_DIFFERENCE_ONLY          
    OPENING_YEAR          
    OPENING_PERIOD          
    OWNER               [ADMIN]               [ADMIN]
    STORED_CALC          
    REVIEWER_CAT          
    Appreciate any help.
    Regards
    Mehul

    Snote 1620613 has fixed the issue
    Regards
    Mehul

  • Rejected...We found that your app does not follow the iOS Data Storage Guidelines,

    Where and how do I fix this?
    We found that your app does not follow the iOS Data Storage Guidelines, which is required per the App Store Review Guidelines.
    In particular, we found that on launch and/or content download, your app stores 3.54MB. To check how much data your app is storing:
    - Install and launch your app
    - Go to Settings > iCloud > Storage & Backup > Manage Storage
    - If necessary, tap "Show all apps"
    - Check your app's storage
    The iOS Data Storage Guidelines indicate that only content that the user creates using your app, e.g., documents, new files, edits, etc., should be backed up by iCloud.
    Temporary files used by your app should only be stored in the /tmp directory; please remember to delete the files stored in this location when the user exits the app.
    Data that can be recreated but must persist for proper functioning of your app - or because customers expect it to be available for offline use - should be marked with the "do not back up" attribute. For NSURL objects, add the NSURLIsExcludedFromBackupKey attribute to prevent the corresponding file from being backed up. For CFURLRef objects, use the corresponding kCFURLIsExcludedFromBackupKey attribute.

    You're submitting a Newsstand app, right? This error is still under investigation, but the current workaround is create SD (1024x768/768x1024) cover images for your HD (2048x1536) folio renditions and try again.
    More info here:
    http://forums.adobe.com/message/4730637#4730637

  • HT4157 I have an iPad 2 and it does not display the cellular data button under settings

    I have an iPad 2 and it does not display the cellular data button under settings.  It does display a Bluetooth button in its place. I have tried the reset but no luck

    Is the iPad the Cellular version? Does it have an active Data plan? Does it have a Sim card installed in inside it?

  • Applet does not function the same.

    When I run my applet in IBM Visual Age it works fine. When I run it in my browser it does not function the same. It has to save a file on to my hardrive but it doesn't work. Can someone help.
    Thank you

    correction
    *hundreds of things*
    You gotta post some code, tell us what kind of error
    messages you're getting, or something. It could be
    dozens of things.

  • Cat0-3750 upgrade. Error: system number 1 does not support the same feature

    I am trying to upgrade or rather downgrade from ipadvservices (inadvertently upgraded to) to ipservices on a stack of Cat-3750s, but I get the following error message:
    Ios Image File Size: 0x00877A00
    Total Image File Size: 0x00B04200
    Minimum Dram required: 0x08000000
    Image Suffix: ipservicesk9-122-37.SE1
    Image Directory: c3750-ipservicesk9-mz.122-37.SE1
    Image Name: c3750-ipservicesk9-mz.122-37.SE1.bin
    Image Feature: IP|LAYER_3|PLUS|SSH|3DES|MIN_DRAM_MEG=128
    Error: The image in the archive which would be used to upgrade
    Error: system number 1 does not support the same feature set.
    Any ideas?
    Chris

    I was having the same issue even with entering the following:
    archive download-sw /overwrite /allow-feature-upgrade tftp://172.18.108.26/c3kx-sm10g-tar.150-2.SE7.tar
    I noticed the image which was running on the switch was correct without the ".bin" at the end:
    3560#sh ver | i image
    System image file is "flash:c3560e-universalk9-mz.150-2.SE7"
    I uploaded a fresh IOS image from CCO and made sure the image name had ".bin" at the end. Seems trivial except the error is produced through a sanity check. See below (please excuse the extra unplugging in the output):
    3560#sh ver | i image
    System image file is "flash:c3560e-universalk9-mz.150-2.SE7.bin"
    3560#$de tftp://172.18.108.26/c3kx-sm10g-tar.150-2.SE7.tar
    Loading c3kx-sm10g-tar.150-2.SE7.tar from 172.18.108.26 (via Vlan1): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!                             !!!!!!!!!
    Mar 30 01:33:35.480: %USBFLASH-5-CHANGE: usbflash0 has been removed!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Mar 30 01:34:15.636: %PLATFORM_ENV-1-FRU_PS_ACCESS: FRU Power Supply is not responding!!!!!!!!!!!
    [OK - 24893440 bytes]
    Loading c3kx-sm10g-tar.150-2.SE7.tar from 172.18.108.26 (via Vlan1): !!!
    Mar 30 01:34:35.593: %PLATFORM_ENV-6-FRU_PS_OIR: FRU Power Supply 2 removed!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!                             !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    examining image...
    extracting info (100 bytes)
    extracting c3kx-sm10g-mz.150-2.SE7/info (499 bytes)
    extracting info (100 bytes)
    System Type:             0x00010002
      Ios Image File Size:   0x017BDA00
      Total Image File Size: 0x017BDA00
      Minimum Dram required: 0x08000000
      Image Suffix:          sm10g-150-2.SE7
      Image Directory:       c3kx-sm10g-mz.150-2.SE7
      Image Name:            c3kx-sm10g-mz.150-2.SE7.bin
      Image Feature:         IP|LAYER_3|MIN_DRAM_MEG=128
      FRU Module Version:    03.00.78
    Updating FRU Module on switch 1...
    Updating FRU FPGA image...
    FPGA image update complete.
    All software images installed.
    Worked for me, hope this helps.

  • N81 does not retain the correct date...

    My N81 got a very strange problem: it does not retain the correct date....
    Usually it's wrong by two days ago....!
    The S.O. Ver. is: 10.0.32 
    Thanks you and sorry for my english...! :-)

    hi there, have you checked that there is a firmware update for your model? v10 sounds like the original firmware for the N81. i would suggest checking on your PC via Nokia Software Updater for any firmware updates. the latest firmware version for the N81, unbranded or not, is v21.  
    If you found this or someone's comments helpful or like what that person has to say, please give some Kudos to their post!

  • Firefox causes crash when using Youtube explorer does not have the same effect

    firefox causes crash when using Youtube explorer does not have the same effect

    Troubleshooting extensions and themes
    * https://support.mozilla.com/en-US/kb/Troubleshooting%20extensions%20and%20themes
    Check and tell if its working.

  • TS4083 I delete an email on my iphone but it does not delete the same email on my laptop. Any suggestions to help?

    I delete an email on my iphone but it does not delete the same email on my laptop. Any suggestions to help?

    Yes,  There are actually 4 calendars listed under my iCloud account.  The listing on my iPhone is exactly like the listing on my iPad.  The iPad is updating but not the iPhone.  It's odd because the iPhone did work at one time so I'm assuming it some setting I've changed.  I have checked and double checked that the settings on both devices are the same.  Do you have any other ideas?
    Thanks for your help.

  • My Imac late 2012 running Yosemite does not recognise my Huawei 3g usb modem. itried to install Java bt still it does not although the same modem works with my MacBook pro . any help please

    My Imac late 2012 running Yosemite does not recognise my Huawei 3g usb modem. itried to install Java bt still it does not although the same modem works with my MacBook pro . any help please

    Hey there mbarikiwa,
    If your iMac still has not recognized the usb modem, I would use the troubleshooting for Yosemite USB issues in the following article:
    OS X Yosemite: If a USB device isn’t working
    If the device is connected to a USB hub: 
    Make sure the device and the hub are the same speed. Connect USB 3.0 SuperSpeed devices to a USB 3.0 SuperSpeed HUB, USB 2.0 Hi-Speed devices to a USB 2.0 Hi-Speed hub, and so on. 
    If the device doesn’t have a power cord and is plugged into another USB device that doesn’t have a power cord: 
    Try plugging the device directly into your computer’s USB port  or into a USB device that does have a power cord. You might need to disconnect and reconnect the other device as well, if it has stopped responding. 
    If you have many devices connected to your Mac: 
    Disconnect all USB devices except the device you’re testing, an Apple keyboard, and an Apple mouse. Make sure that the device is connected directly to the computer, and that any hubs or extension cables are disconnected. If you can use the device now, the problem may be with one of the other USB devices or hubs you had connected to your computer. Try reconnecting them, one by one, to your computer. When you find the device causing the problem, review its documentation for further troubleshooting steps. 
    Verify that the device appears in System Information: 
    Choose Apple menu > About This Mac. In the window that appears, click Overview, then click the System Report button to open System Information. 
    In the window that appears, see if the USB device is listed below Hardware in the Contents list. If the device appears but does not work, review the device’s documentation for further troubleshooting steps. 
    Restart apps: 
    Quit and restart any apps that use the device. 
    Restart your Mac: 
    Choose Apple menu > Restart.
    Check your device’s USB connection
    Thank you for using Apple Support Communities.
    All the very best,
    Sterling

  • Field Explorer in Crystal Reports does not show the same names as Bex Query

    Hi
    I have crystal reports, I can retrieve data from BW Bex Query. But in the field explorer it does not show the names as in the Bex query designer.
    In the Bex query designer a field will have the following technical name 0Debitor and the description is Customer.
    It shows in crystal reports in the field explorer twice as D[0DEBITOR]D and D[0DEBITOR]D. It also does not seperate key figures and characteristics.
    I would like it to display the field explorer as shown in this blog.
    /people/ingo.hilgefort/blog/2008/02/19/businessobjects-and-sap-part-2
    Thanks in advance

    Hi,
    take a look here:
    /people/ingo.hilgefort/blog/2008/02/19/businessobjects-and-sap-part-2
    make sure you are using the MDX Driver and what happens is that you will see several fields per characteristic. example: one for the key, one for the description, several if modelled for the display attributes
    Ingo

  • Button does not make the same thing in English and in German

    Hi
    I have created an HTMLDB-Application (HTMLDB 2.0) with two Pages:
    Page1 has one Region in which there is one Report and two Buttons. Button1 has the Label 'German' and Button2 has the Label 'English'.
    Page2 is a HTML-Page wich only gives a success-Message.
    Page1: There is a Process1 wich is activated when Button1 is pressed. The Process sets the 'FSP_LANGUAGE_PREFERENCE' to German (de-ch) which is the Applications primary language. After that the Application branches to Page2
    There is a Process2 wich is activated when Button2 is pressed. The Process sets the 'FSP_LANGUAGE_PREFERENCE' to English (en). After that the Application branches to Page2
    When the Application has the FSP_LANGUAGE_PREFERENCE = de-ch and I tick the Button2 (English) the Application branches to Page2 and sets the FSP_LANGUAGE_PREFERENCE = en.
    When the Application then has the FSP_LANGUAGE_PREFERENCE = en and i tick the Button2 (German) the application only reloads the page and it doesn't start the process and doesn't branch to page2. The same happens when FSP_LANGUAGE_PREFERNCE = en and I press the Button1 (English).
    It seems that the Application can not see the processes and the branches when the FSP_LANGUAGE_PREFERENCE is en.
    Does anyone have an Idea what could be the reason?
    Thanks in advance.
    Daniel
    null

    Hi Daniel
    When I run your application, the language is set to en. Both the Englisch ENG and Deutsch buttons are javascript:redirect's to page 1, which as I understand it, will change the page in the browser as though you had typed in the address directly. It does not submit the page, and therefore the processes do not run.
    When you run the page in german, what do the button links point to?
    Have you made any changes to the german version, and not re-published the english version?
    I'm not an HTML DB expert, so I hope what I've said is correct and it helps you.
    Regards,
    James

  • My elements does not look the same as the tutorial

    Hi
    I hope someone can help me. Why does my photoshop elements 13 (newly installed -maybe this is the problem/)not look the same as the one on the tutorial? My top line only has eLive, Quick, Guidedand Expert. No Media or People? Do I have a cheaper version(did not think I bought a "lighter "version)
    Thank you
    Kind Regards
    Jeanelde Mouton

    Good day!
    Please post Photoshop Elements related queries over at
    http://forums.adobe.com/community/photoshop_elements
    Regards,
    Pfaffenbichler

Maybe you are looking for