Creation of private publications

Hello all.
We have a problem with one of our app-servers. We have 4 app-servers in nlb and with one of them there are a problem with new users, they are not able to continue due to errors about downloading the outlooksoft folder to my documents. If they connect directly to another server there are no problem.
Does anyone have a suggestion what the problem might be?
Thanks in advance.
//Johannes

Hello again.
As i said before if a new user go to another server they will download the outlookSoft folder correctly. so its just this server. thinking about to reinstall it but any other suggestions?
The error messages that appear are "The system cannot connect to the server. There may be a network or security issue"
after that message if i press ok the next message appears "Couldn't download ACCOUNT_EXT member information"
this follows with other equal messages.
//Johannes
Edited by: johannes gyllström on Nov 7, 2008 12:54 PM

Similar Messages

  • Error in Creation of Private folder in Easy DMS

    Dear Friends,
    I got the following error while creating private folder for a new user.
    Folder Creation failed; check the logs under SLG1 Tx for more information.
    While checking SLG1 transaction in SAP I found the following info for the user:
    Identification
    Object________________ CIF (Core Interface Application Log Object)
    Subobject_____________ T_CLAF (Classification)
    External ID___________ 
    Log number____________ 00000000000003867077
    Created:
    Date__________________ 20100628
    Time__________________ 095056
    User__________________ DMS_USER4
    Transaction code______ 
    Program_______________ SAPLCIFG
    Operating mode________ D (Dialog processing)
    Status:
    Expiry date___________ 20100705
    Keep until expiry_____ 
    Processing status_____ 
    Regards,
    Sai Krishna

    Hi Sai,
    I hope that the documentation of the authorization object C_STUE_BER could be useful for you.
    This authorization object allows you to restrict maintenance of bills of material.
    The system checks this authorization when you call a transaction for maintaining bills of material. If the authorization group is changed while the BOM is being maintained, the system checks the authorization again.
    Defined fields
    The table below shows the fields and values of the authorization object.
    Fields          Possible         Description
    ACTVT            01               Create
    (Activity)        02               Change
                            03               Display
                            06               Delete
                            24               Create archive file
                            41               Delete from database
    STLTY              M              Material BOM
    (BOM cat.)        E              Equipment BOM
                              D              Document structure
                              K              Sales order BOM
                              S              Standard BOM
                              T              Functional location BOM
    STLAN   These values are defined in Customizing.
    (BOM usage)
    BEGRU        0000-ZZZZ      Used to make additional
    (Authorization                     restrictions on authorizations
    group)                                for maintaining individual BOMs
                                               (BOM header).
    In transaction SU56 you can also display the whole authorization of an user regarding its authorizations.
    Best regards,
    Christoph

  • Avoid creation of Private Folder

    Hello,
    We are using EasyDMS and I would like all my users to use the public folder only. Is there a way to disable the request to create private folder when a user is accessing the Easy DMS for the first time?
    Regards,
    Yossef

    hi
    you can check function modile z_easydms_showrootfolders to accomplish this.
    Refer to note 779645 
    rgds
    anu

  • Private publication from Single Edition?

    Hello.
    I'm developing a couple of brochures for a company that wants them to be downloaded to their iPads sellers, but they don't want them to be visible for everyone. May I use Single Editions to publish the brochures and make them private, so only users with a password may download them?
    Thanks, regards!

    With DPS single edition, private/internal distribution of your app is not possible. You need DPS Enterprise to be able to do that.
    Anyone can create and share folios with anyone regradless of whether you own DPS or not. But the sahring feature is meant for content proofing and approval from colleagues/Boss/anyone (pre-production proofing workflow) and may not cater your private distribution needs.
    Wnat to know more about folio sharing, go here http://help.adobe.com/en_US/digitalpubsuite/using/WS9293e1fb3b977c5c7b1f65ad12f28224932-7f ff.html#WS9293e1fb3b977c5c7b1f65ad12f28224932-7ffb

  • Error when running a report in BPC NW

    I am getting the following error when running a report for my application in BPC NW.
    EVDRE encountered an error retrieving data from the Web Server (retrying in (X) seconds).
    This error comes with this dialog option box to either continue or cancel retrying retrieving data. Retrying doesn't help either.
    Any report I run (on any of my appsets), I get this error. I used the EVDRE function and also tried running a report using the template as the basis. But I get the error either way.
    Does anyone know why this error is occurs or how to debug this issue. I saw some information about this in earlier threads but could  not make much out of it.
    Appreciate any assistance.

    Sanjay,
      This  is a   very  generic  error...Couple  of  places  to  look  for....
    1)Reprocess the application (Modify application + Reassign SQL Index + Process Application)
    2)optimizing the application sometimes helps (Full Optimize + Compress Database + Index defragmentation).
    3)Create a "evdataserver_debug.txt" in user's private publication folder on  server side to populate very detail level logging  and  check  the  log on client side EVDRE_LOG.txt for  further  peek  into  where  things  are getting  messed up.
    if  evdataserver_debug.txt does not  get  populated on BPC 5.x...it  is  an  issue  with  IIS authetication on Application server.
    4)You have to check the event viewer into .NET server and also the BPC logs which can be found into
    BPC\Logging  for  further  details  ..
    Hope  this  helps..
    Edited by: Vishal Mahawadhi on Jun 24, 2009 9:50 AM

  • Load file does not exist

    We have several users using OLS V4.2 on one of our citrix servers. However, one of our users can upload an excel sheet into OLS. She always gets the error :
    Package Result = Error]
    Package:                     Import excel V2
    Appset:                      Blagden
    Application:                 SALES
    Request Time:                2009-04-14 16:56:18
    Start   Time:                2009-04-14 16:56:18
    End     Time:                2009-04-14 16:56:18
    Total   Time:                00:00:00
    TOTAL STEPS  8
    1. Assign initial parameters:        completed  in 0 sec.
    2. Create Temp Table:                completed  in 0 sec.
    3. Transform Data Task1:             completed  in 0 sec.
    4. update:                           completed  in 0 sec.
    5. update rejected:                  completed  in 0 sec.
    6. Transform Data Task2:             completed  in 0 sec.
    7. Convert data:                     completed  in 0 sec.
    8. Load and process:                 Failed  in 0 sec.
    [Selection]
    XLFILE= DATAMANAGER\DATAFILES\FL_sales reporting outlooksoft_FL1_FL3_A2009_03.xls
    SHEET=TOTAL
    TRANSFORMATION= DATAMANGER\TRANSFORMATIONFILES\my Files\import historical data.xls
    CLEARDATA= No
    RUNLOGIC= Yes
    [Messages]
    [ The load file does not exist ]
    I deleted the user from the userlist and reprocessed security. I added the user again in the admin group and reporcessed user security. Same error.
    When the user logs on on citrix using her profile  and starts Webexcel using my profile - no problem.
    My profile has administrator rights and she may not have them. So I really want her into the usergroup.
    We renamed the file to upload to a file with 8 characters - same problem.
    Anyone any experience with this error and how to solve it ?
    Thanks for your reply.
    Johan

    Hello,
        From what I understand from your log file, this is a custom import package. It is failing into the last step, loading data into the cube and it seems there is no file to be loaded. If the same package is working well for the other users, this means that the user has not enough security rights to load data from that file (maybe the file contains data for which the user is not authorized to see).
       To understand better what is happening, just try to activate the debug using the DEBUG(ON) instruction into EvModifyPackage. This will create more information regarding the parameters passed to your tasks and you will be able to identify the file name passed to Dump&Load task.
    You can verify then into Private publication\user name\Temp files the content of file (and the content of all temporary files generated by your package) and this will help you to understand where is the problem.
    Hope this can help you,
    Mihaela

  • Can I run the currency translation for multiple years at the same time?

    Dear Friends,
    I set up currency translation on our BPC NW 7.0 system and it is working fine ONLY if I run it for any one year at a time. But if I select multiple years in the data package (FX Restatment) selection it only calculates for the first year in that selection.
    say if I run the data package for years: 2009, 2010, 2011, 2012, it only performs currency translation for the year 2009.
    Can I run the currency translation for multiple years at the same time ?
    Note: The year is determined from the YEAR property of the "Time" dimension
    appreciate any inputs,
    thanks

    You can run currency translation for multiple years.
    I think the problem it is actually related to how you are sending the parameter to currency translation script.
    Just review the script logic log and you will see with what parameters was called currency translation FXTrans.
    My expectation is that actually the script is called just with first year and that's the problem.
    Log of script logic you can find it into:
    C:\BPC|DATA\Webfolder\YourAppset\YourApplication\Private Publications\Users used to run logic\Temp
    Regards
    Sorin Radulescu

  • Custom log of rejects in BPC data manager package

    dear All
    we have custom package which loads records from flat file.
    The package is using a stored procedure for all calculations and log errors..
    The error codes are logged for duplicates, invalid member IDs..
    When we tested for small number of records, the log used to display in package view status.
    But if there are huge number of reccords we were unable to display log in the pacakge status. Is there any limitation?
    the error log file ranging from 8Mb to 25MB.
    Please advise.
    BPC 7.5 MS version.
    regards
    Prasad

    hi Roberto
    thanks for your reply.
    yes i am trying to display the log file of private publications only. it consists of rejects with custom logs.
    this is requirement from client, they wantrd to see in package view status itself.. so is why we got stuck
    during testing it was able to display but during uat there were huge rejects where it wasnot able display anthing.
    is there any sap  note so that I can share to client,n or specifications of sap?
    any workaround please advise
    regards
    Prasad

  • Impossible to See the log after executing a logic

    Hello,
    Most of the time I develop on a VM. On this system i have acces to a execution log once i have launch a Logic though a SSIS package ( BPC 5.1 ). But on the production system i don't have acces to the execution log. Is there a parameter i can change to have acces to this information ?
    Kind regards,
    Damien

    Hi,
    To have access to log of logic you need to have access to follow patch:
    fileserver\C$\BPC\Data\Webfolder\YourAppset\YourApplication\Private Publication\Your User\
    So you can check if you already have access there and in case if you don't have then you have to ask your IT to share Webfolder with only right access for your user or for everyone if more users would like to have this kind of access.
    Any way usually if you run a DM package to run the logic you should be able to see the log directly into Log of the package.(you have there a section view script logic log).
    Regards
    Sorin Radulescu

  • EVDRE Access Issue Post Upgrade from BPC 5.1 SP3 to BPC 7.0 SP6

    Greetings,
    Recently upgraded from BPC 5.1SP3 to BPC 7.0 SP6.  Experiencing some strange behavior regarding the ability to send data to BPC from an EVDRE.  Both users are part of the same secuity team, thus have the same security in both versions.  However, one is able to send data to BPC 7.0 SP6 for a specific input template while the other recieves a message "There is no data to refresh."    This message is not encountered in BPC 5.1 SP3.
    The strange thing is that the user who receives the "there is no data to refresh" is able to rebuild the input template ad hoc and send data to BPC
    I have reviewed security, cleared the cache on the user's machine.  I had the user with this issue log onto the app server; she encountered the same behavior regarding this template.  Also tested a seperate input template in another application, this issue did not occurr.
    Any ideas would be greatly appreciated.
    Regards,
    Greg Lakin

    Hi, n
       From your description it looks like the problem si more related to that specific user. Please try to reprocess the security for that user. Then go on file server and go into <appset>/<application>/<private publication>/<user name> and delete appinfo.zip.
       Other idea can be related to the excel cache, but I don;t know why is not working for this specific user. You can try to save it in a new template as Patrick indicated.
    You can try also clear local application information from admin client or try from other machine using the same client.
    Hope this can hekp you,
    Mihaela

  • URGENT: Data Manager - Package Failures

    We are seeing scheduled load/import packages failing with the following note in the Package Log:
    "The output file name is empty."
    What is the significance of this message? And how can we fix it?
    This is occurring in our production environment and without scheduled packages we are currently running our packages manually.
    Your help is greatly appreciated!
    Thanks,
    Garvi

    Check your reject list. 
    The Import process converts records in the import file using the rules defined in the selected Transformation (and associated Conversion files) file.  Temporary files are created in the Private Publications directory for the user initiating the import.  One temporary file is created to hold the records post-conversion.  The other holds the records that pass dimension validation, this file will be the file that is used as the input file for the actual import (dump load).  If this file is empty, you will get the error you are seeing.  
    If your initial input file is not empty, then you should have received an error indicating that rejects were generated.  The log file for the run should provide the temporary file names that were used.

  • KM Content Management Repository

    Dear All,
    We have installed EP7.0 SP10, I would like to strore documents can we use KM internal repsotiory if so do we need to do some configurations. please provide more details on this.
    Regards,
    Murali

    Hi Murali,
    After the completion of the installation for usage type EP, you need to perform a number of configuration tasks to enable the basic use of Knowledge Management (KM). These tasks are essential to enable minimal use of KM features. To enable full use of all features, you need to install the Search and Classification Engine (TREX) and configure the scenario Enterprise Knowledge Management.
    Specification of the Portal address to enable KM to generate URLs for services.
    Specifying the Portal URL
    System administrator
    Configuration of communication channels to enable the use of subscriptions and notifications
    Configuring Channels
    System administrator
    Configuration of local editing to allow users to check out documents and edit them with applications of their own choice. 
    Enabling Local Editing
    System administrator
    Assignment of the content manager role to a user who is responsible for organizing content creation, access and publication.
    Assigning the Content Manager Role
    User administrator
    Assignment of tasks to instances of KM running in a SAP J2EE cluster. This step is only necessary for a cluster installation.
    Cluster Only: Assigning Tasks to Nodes
    System administrator
    Removal of the cluster setting. This step is only necessary if one instance of KM is running on a single machine, for example, on a test or demo system.
    Single Instance Only: Removing the Cluster Setting
    System administrator
    Optional removal of the Search field and Advanced Search option in the Portal. If your installation does not include the Search and Classification engine (TREX), which enables the use of search within KM, you can hide the search feature.
    Installation Without TREX: Hiding the Search Field
    Content administrator
    Assignment of permissions to folders.
    Setting Permissions
    Content administrator
    Permissions define which users have which access rights for items in KM repositories (folders, documents, and links).
    You need read permission for the item in question in order to display its permissions.
    You must be entered in the list of permission owners in order to change the permissions.
    There are two types of permission in Knowledge Management:
    Permissions (for the item itself)
    These permissions define permission to read, write, and delete items.
    You can set the permissions for all items (folders, documents, links).
    Service Permissions
    Service permissions define permissions for functions that are provided by KM services, such as subscriptions.
    You can only set service permissions for folders.
    In the folder hierarchy of a KM repository, permissions are inherited by subordinate folders from superordinate folders.
    When you create a new item in a KM folder, the item initially has no access control list. Instead, it inherits the permissions of the superordinate folder.
    When you change and save the permissions, the system creates a separate ACL for the item in question. Inheritance no longer takes place. From this point on, changes to the permissions of the superordinate folder are no longer inherited by the subordinate object.
    Thanks
    Rajnikanth Dumpala

  • Still getting uncaught exception in c++ API running keywords query

    When I run a search based on keyword in java application, the first time, most likely the query results is returned, but for the subsequent keywords searches, the application throws the error below...
    com.sleepycat.dbxml.XmlException: Uncaught exception from C++ API, errcode = INTERNAL_ERROR
         at com.sleepycat.dbxml.dbxml_javaJNI.XmlQueryExpression_execute__SWIG_1(Native Method)
         at com.sleepycat.dbxml.XmlQueryExpression.execute(XmlQueryExpression.java:85)
         at epss.utilities.XQueryUtil.getQueryResultsByKeywords(XQueryUtil.java:168)
         at epss.search.XmlContentByKeywords.getDocumentContentByKeywords(XmlContentByKeywords.java:123)
         at com.epss.test.TestApp.main(TestApp.java:83)
    I know one of the many things to consider fixing this problem is to make sure all berkeley db xml objects (e.g. xmlContainer, XmlManager, XmlResults, XmlQueryExpression, etc) delete() method is called on those obects once they are done to free resources etc. I've been doing all that and still getting the error. This problem doesn't happen when i run a search for based on id (attribute value).
    Note: I'm not explicitly using trasanction since i turned on transaction in EnvironmentConfig to create XmlManager.
    This is the method that does the query and return us the results...
         * Gets the query results by keywords.
         * @param keywords
         * the keywords under search
         * @param manager
         * the object used to perform activities such as preparing XQuery
         * queries
         * @return the query results by keywords
         public static synchronized XmlResults getQueryResultsByKeywords(
                   final String keywords, XmlManager manager) {
              /* Represents a parsed XQuery expression. */
              XmlQueryExpression expr = null;
              /* Encapsulates the results of a query that has been executed. */
              XmlResults results = null;
              /* The query context */
              XmlQueryContext context = null;
              // The value
              XmlValue value = null;
              // Declare string variables
              String query = null;
              // Run logic
              try {
                   /* Do null check */
                   if (manager != null) {
                        // Make XmlValue object
                        value = new XmlValue(keywords);
                        // Get a query context
                        context = manager.createQueryContext();
                        // Bind xquery variable value to its variable name
                        context.setVariableValue(DataConstants.KEYWORD, value);
                        // Build the query string
                        query = QueryStringUtil.xQueryStringByKeywords(
                                  DataConstants.ELEMENTS, DataConstants.KEYWORD);
                        // Compile an XQuery expression into an XmlQueryExpression
                        expr = manager.prepare(query, context);
                        // Evaluates the XQuery expression against the containers
                        results = expr.execute(context);
                        /* Release resources */
                        if (results.size() == 0) {
                             results.delete();
                             results = null;
                        // Free the native resources
                        expr.delete();
                        // Dereference objects
                        expr = null;
                        value = null;
                        context = null;
                        query = null;
                        manager.delete();
                        manager = null;
                        return results;
              } catch (final XmlException e) {
                   // Free the native resources
                   expr.delete();
                   // dereference objects
                   expr = null;
                   value = null;
                   context = null;
                   query = null;
                   // Write to log
                   WriteLog.logExceptionToFile(e);
              return null;
    This is the callback method that return the query string...
         * Returns query keyword query string to retrive keywords.
         * @param elementName The particular node under search
         * @param keywords The keywords being searched under the node
         * @return The string used for the query
         public static synchronized String xQueryStringByKeywords(
                   final String elementName, final String keywords) {
              /* Build query string */
              final StringBuffer sb = new StringBuffer();
              sb.append("let $found := false\n");
              sb.append("let $terms := tokenize($");
              sb.append(keywords);
              sb.append(", \",\")\n");
              sb.append("for $element in collection('");
              sb.append(DataConstants.CONTAINER);
              sb.append("')");
              sb.append("/(FUNDOC | JOBDOC)");
              sb.append("//");
              sb.append(elementName);
              sb.append("//");
              sb.append("parent::*[1]");
              sb.append("\nlet $found := for $term in $terms\n");
              sb
                        .append(" return if (contains(lower-case($element), lower-case($term)))");
              sb.append(" \nthen \"true\"");
              sb.append(" else \"false\" \n");
              sb.append(" return if ($found = \"false\") \nthen () else $element");
              return sb.toString();
    Edited by: user3453165 on Jan 20, 2010 7:20 AM

    I am using berkeley db xml 2.5.13 on windows xp. Yes that's the complete error message. I am going to add my environment class and also part of the keyword search class that extends the environment, which will give u idea about how i'm creating and using transaction. I don't explicitly use transaction. I used to explicitly use it but i thought it's redundant. So when i create the db environment, i just call           envc.setTransactional(true) and pass the EnvironmentConfig object (i.e. envc) to the environment to create instance of XmlManager and this is fine. Look below and u will see what i mean. Please let me know if u need more information. Thanks for your help. Appreciate it.
    Tue, 2010-01-19 10:58:27 PM
    com.sleepycat.dbxml.XmlException: Uncaught exception from C++ API, errcode = INTERNAL_ERROR
         at com.sleepycat.dbxml.dbxml_javaJNI.XmlQueryExpression_execute__SWIG_1(Native Method)
         at com.sleepycat.dbxml.XmlQueryExpression.execute(XmlQueryExpression.java:85)
         at epss.utilities.XQueryUtil.getQueryResultsByKeywords(XQueryUtil.java:166)
         at epss.search.XmlContentByKeywords.getDocumentContentByKeywords(XmlContentByKeywords.java:123)
         at com.epss.test.TestApp.main(TestApp.java:66)
    The environment class...
    package epss.core;
    import java.io.File;
    import java.io.FilenameFilter;
    import java.io.IOException;
    import com.sleepycat.db.DatabaseException;
    import com.sleepycat.db.Environment;
    import com.sleepycat.db.EnvironmentConfig;
    import com.sleepycat.dbxml.XmlContainer;
    import com.sleepycat.dbxml.XmlContainerConfig;
    import com.sleepycat.dbxml.XmlManager;
    import com.sleepycat.dbxml.XmlManagerConfig;
    import epss.utilities.GlobalUtil;
    * Class used to open and close Berkeley Database environment.
    public class DatabaseEnvironment {
         /** The db env_. */
         private Environment dbEnv_ = null;
         /** The mgr_. */
         private XmlManager mgr_ = null;
         /** The opened container. */
         private XmlContainer openedContainer = null;
         /** The new container. */
         private XmlContainer newContainer = null;
         /** The path2 db env_. */
         private File path2DbEnv_ = null;
         /** Whether we are creating or opening database environment. */
         private int mode = -1;
         /** Constants for mode opening or mode creation. */
         private static final int OPEN_DB = 0, CREATE_DB = 1;
         * Set the Mode (CREATE_DB = 1, OPEN_DB = 0).
         * @param m
         * the m
         protected synchronized void setDatabaseMode(final int m) {
              if (m == OPEN_DB || m == CREATE_DB)
                   mode = m;
         * Gets the manager.
         * @return the manager
         protected synchronized XmlManager getManager() {
              return mgr_;
         * Gets the opened container.
         * @return the opened container
         protected synchronized XmlContainer getOpenedContainer() {
              return openedContainer;
         * Gets the new container.
         * @return the new container
         protected synchronized XmlContainer getNewContainer() {
              return newContainer;
         * Initialize database environment.
         * @throws Exception
         * the exception
         protected synchronized void doDatabaseSetup(String container)
                   throws Exception {
              switch (mode) {
              case OPEN_DB:
                   // check database home dir exist
                   if (!(isPathToDbExist(new File(DataConstants.DB_HOME)))) {
                        WriteLog.logMessagesToFile(DataConstants.DB_FILE_MISSING);
                        cleanup();
                        throw new IOException(DataConstants.DB_FILE_MISSING);
                   } else {
                        // Configure database environment
                        configureDatabaseEnv();
                        // Configuration settings for an XmlContainer instance
                        XmlContainerConfig config = new XmlContainerConfig();
                        // DB shd open within a transaction
                        config.setTransactional(true);
                        // Opens a container, returning a handle to an XmlContainer obj
                        openedContainer = getManager().openContainer(container, config);
                   break;
              case CREATE_DB:
                   // Set environment home
                   setDatabaseHome();
                   // Validate database home dir exist
                   if (isPathToDbExist(new File(DataConstants.DB_HOME))) {
                        // Configure database environment
                        configureDatabaseEnv();
                        // Configuration settings for an XmlContainer instance
                        XmlContainerConfig config = new XmlContainerConfig();
                        // Sets whether documents are validated
                        config.setAllowValidation(true);
                        // DB shd open within a transaction
                        config.setTransactional(true);
                        // The database container path
                        File file = new File(path2DbEnv_, container);
                        // Creates a container, returning a handle to
                        // an XmlContainer object
                        newContainer = getManager().createContainer(file.getPath(),
                                  config);
                        newContainer.setAutoIndexing(true);
                   break;
              default:
                   throw new IllegalStateException("mode value (" + mode
                             + ") is invalid");
         * Validate path2 db env.
         * @param path2DbEnv
         * the path2 db env
         * @return true, if checks if is path to db env
         private synchronized boolean isPathToDbExist(final File path2DbEnv) {
              boolean returnValue = false;
              if (!(path2DbEnv.isDirectory() || path2DbEnv.exists())) {
                   throw new IllegalArgumentException(DataConstants.DIR_ERROR
                             + path2DbEnv.getAbsolutePath()
                             + DataConstants.DOES_NOT_EXIST);
              } else {
                   path2DbEnv_ = path2DbEnv;
                   // Test whether db home exist when mode is 0
                   if (path2DbEnv_.exists() && mode == OPEN_DB) {
                        // Test whether all db files exist
                             returnValue = true;
                   } else {
                        // Test whether db home exist when mode is 1
                        if (path2DbEnv_.exists() && mode == CREATE_DB) {
                             returnValue = true;
              return returnValue;
         * Set database environment home.
         * @throws IOException
         * Signals that an I/O exception has occurred.
         private synchronized void setDatabaseHome() throws IOException {
              // The base dir
              File homeDir = new File(DataConstants.DB_HOME);
              // If db home delete fails, throw io exception
              if (!GlobalUtil.deleteDir(homeDir) && homeDir.exists()) {
                   WriteLog.logMessagesToFile(DataConstants.ERROR_MSG);
                   throw new IOException(DataConstants.ERROR_MSG);
              } else {
                   // If delete is successful, recreate db home
                   final boolean success = homeDir.mkdir();
                   // if home dir creation is successful
                   if (success) {
                        // Construct file object
                        File logDir = new File(homeDir, DataConstants.LOG_DIR);
                        // File dbHome = new File(homeDir, DataConstants.DB_DIR);
                        // Create log file
                        boolean logCreated = logDir.mkdir();
                        // Create db home
                        // boolean dbHomeCreated = dbHome.mkdir();
                        if (logCreated) {
                             WriteLog.logMessagesToFile(homeDir.getAbsolutePath()
                                       + " successfully created");
                   } else {
                        WriteLog.logMessagesToFile(homeDir.getAbsolutePath()
                                  + " failed to create");
         * Sets environment configuration and it's handlers.
         * @throws Exception
         * the exception
         private synchronized void configureDatabaseEnv() throws Exception {
              // Construct a new log file object
              File logDir = new File(path2DbEnv_, DataConstants.LOG_DIR);
              // The environment config
              EnvironmentConfig envc = new EnvironmentConfig();
              // estimate how much space to allocate
              // for various lock-table data structures
              envc.setMaxLockers(10000);
              // estimate how much space to allocate
              // for various lock-table data structures
              envc.setMaxLocks(10000);
              // estimate how much space to allocate
              // for various lock-table data structures
              envc.setMaxLockObjects(10000);
              // automatically remove log files
              // that are no longer needed.
              envc.setLogAutoRemove(true);
              // If environment does not exist create it
              envc.setAllowCreate(true);
              // For multiple threads or processes that are concurrently reading and
              // writing to berkeley db xml
              envc.setInitializeLocking(true);
              // This is used for database recovery from application or system
              // failures.
              envc.setInitializeLogging(true);
              // Provides an in-memory cache that can be shared by all threads and
              // processes
              envc.setInitializeCache(true);
              // Provides atomicity for multiple database access operations.
              envc.setTransactional(true);
              // location of logging files.
              envc.setLogDirectory(logDir);
              // set the size of the shared memory buffer pool
              envc.setCacheSize(500 * 1024 * 1024);
              // turn on the mutexes
              envc.setMaxMutexes(500000);
              // show error messages by BDB XML library
              envc.setErrorStream(System.err);
              // File db_home = new File(path2DbEnv_, "db");
              // Create a database environment
              dbEnv_ = new Environment(path2DbEnv_, envc);
              // Configure an XmlManager instance via its constructors
              XmlManagerConfig mgrConf = new XmlManagerConfig();
              mgrConf.setAllowExternalAccess(true);
              mgrConf.setAllowAutoOpen(true);
              // Create xml manager object
              mgr_ = new XmlManager(dbEnv_, mgrConf);
              mgr_.setDefaultContainerType(XmlContainer.NodeContainer);
         * This method is used to close the database environment freeing any
         * allocated resources that may have been held by it's handlers and closing
         * any underlying subsystems.
         * @throws DatabaseException
         * the database exception
         protected synchronized void cleanup() throws DatabaseException {
              if (path2DbEnv_ != null) {
                   path2DbEnv_ = null;
              if (newContainer != null) {
                   newContainer.delete();
                   newContainer = null;
              if (openedContainer != null) {
                   openedContainer.delete();
                   openedContainer = null;
              if (mgr_ != null) {
                   mgr_.delete();
                   mgr_ = null;
              if (dbEnv_ != null) {
                   dbEnv_.close();
                   dbEnv_ = null;
    // This is the keyword search class...
    public final class XmlContentByKeywords extends DatabaseEnvironment {
         public synchronized Document getDocumentContentByKeywords(String keywords)
                   throws Exception {
              // Encapsulates the results of a query that has been executed.
              XmlResults results = null;
              // The manager
              XmlManager manager = null;
              // Run the logic
              if (keywords != null) {
                   try {
                        // Flag to open db
                        final int OPEN_DB = 0;
                        // The keywords content
                        Document keywordsContent = null;
                        // Open db connection
                        try {
                             // Get database instance
                             setDatabaseMode(OPEN_DB);
                             // Open this container in db environment
                             doDatabaseSetup(DataConstants.CONTAINER);
                        } catch (Exception ex) {
                             // Create error node with error message
                             keywordsContent = Wrapper.createErrorDocument(ex
                                       .getMessage());
                             // Return the error node doc
                             return keywordsContent;
                        // Manager instance
                        // final XmlManager manager = getManager();
                        manager = getManager();
                        // Transaction instance
                        // final XmlTransaction txn_ = getTxn();
                        // The map
                        Map<String, Document> map = null;
                        // The temp map
                        Map<String, Document> tempMap = null;
                        // Return the query results
                        results = XQueryUtil.getQueryResultsByKeywords(keywords, manager);
    // use results here...
    // close results when done
    results.delete();
    results = null;
    manager.delete();
    manager = null;
    }

  • Logic doubling and tripling values in BPC 7 MS

    Experts,
    We are using BPC 7 MS and SP5, SQL2008 Server, Recently we are encountering the problems of doubling and tripling of numbers when running the Fx trans, Push logic.
    To fix this issue we have defined measures=periodic in the scope of the logic, then it is working as expected for single company code but when processing all the company codes it's doubling and tripling the numbers.
    Any help will be greatly appriciated! Thanks in Advance

    Currency trabsalation can run many times but this will not create double values.
    You can have the currency transalation into Default Logic and aso you can run DM packages this should not have any impact regarding the consistency of data.
    What kind of application do you have Periodic or YTD?
    I think the problem is here. Because you are tunning the Currency translation for one type of application but actually your application is not that type.
    For example into a YTD application
    2009.Jan  100
    2009. Feb 100
    for LC and we want to translate in USD. (let's suppose the Exchange rate is 1.3)
    You actaully will insert into database
    for USD into signeddata
    2009.Jan 120
    2009 Feb 120
    Which is wrong because in YTD application that's means you will have for 2009.FEB 240
    So actaully the FXTrans has to insert 120 and 0 to be able to have the correct result.
    This is an example with what can be wrong. Of course may be is something else in your case but you have to understand what you selected and how you insert the values into database.
    Just have a look into logic log from Private Publication\Your User\temp and you will find out what is wrong.
    I hope this will help.
    Regards
    Sorin Radulescu

  • Managed bean as controller (MVC)

    Hello
    I've two POJOs, a member and a publication
    public  class Member{
    properties and onyl setter/getter Methods
    public  class Publication{
    properties and  only setter/getter MethodsI've also two managebean called MemberContoller and PublicationController
    and in each controller I have business logic code (Methods working on form inputs) .
    public class Membercontroller{
    private Member myMember; //plus setter and getter
    public class PublicatonController{
    private Publication myPub;My question is if it is a good idea to have a controller for each POJO (that means for each model) and in my case two controllers?
    Is this a anti-pattern which should be avoided because every new POJO will have its own controller when the application grows?
    Isn't it better to have only one controller which binds all the POJOs?
    thanks you

    I don't think it's really a situation of all or one as you pose it. I think you have to create as many backing beans as makes sense to manage your POJOs. For example, if I had an application that needed to manage login information (many do) I might have tables and POJOs for the Principal (User), Profile, Login and PagesVisited (just as an example). I probably wouldn't want a backing bean for each of these, although I would certainly have POJOs for all of them. I would probably have one backing bean to manage this set of POJOs, but depending on the application maybe more are necessary. It just depends. A one-to-one POJO-backingbean relationship would be a bit cumbersome in my opinion, but there's nothing saying you couldn't do that, I just typically wouldn't.
    However, I would almost never have just one backing bean. I would say that this would be the greater "evil" of the two (if these were really considered evil). You would have all of your logic in one huge class that would be a nightmare to support in most any application. It also really defeats the purpose of having an object-oriented language where you can have inheritance, modularity and encapsulation by throwing everything into one bucket. I would warn against this idea quite strongly.
    I hope this helps you out,
    Ken

Maybe you are looking for