Locking in JClient applications

Hi all,
I've some questions / thoughts about the use of locking for JClient based applications.
First of all the locking mode. What would be the best way to go? Pessimistic locking makes sure nobody ever loses his/her work (because you can never start changing a row if another user is already doing so), but I got the feeling it's much harder to catch locking errors and doing something usefull with it when using pessimistic locking. For example, if you use a ViewObject with some detail ViewObject's beneath and start to change an attribute of one of the detail rows and someone else is already editting the same row BC4J will throw a lock exception. But I actually don't want the user to be able to edit the row in the first place if it is already locked. You can use an association to automatically lock the master row too, but this only happens as soon as someone has started editting one of the detail rows. At that time multiple users can already have looked at the master/detail rows in edit mode. What I actually want is show them a read-only version of the master and detail rows as soon as one of the users loaded the master/detail rows in edit mode. The only way I can think of doing this is manually lock the rows as soon as the first user it opening the edit screen (without having changed anything yet). Or does anyone know of a better way of doing this? And is there an easy way to use the BC4J/JClient bindings to make all fields read-only if the rows are being editted by another user?
Optimistic locking is another way to go. The user gets only an error when committing if someone else changed the row earlier on. The user can then choose to save anyway or rollback and loose his/her work. The latter is a bit of a shame ofcourse, but in practise this might not happen often.
Does anyone have any other tips or suggestions for using locking in JClient applications?
Regards,
Peter

Hi vinu,
You can use these functional modules....
<b>BAL_DB_ENQUEUE</b>----
>Lock log
<b>ENQUEUE_ESFUNCTION</b>---->Lock an abap program so that it
                       cannot be executed.
<b>1. Example code for Database Locking...</b>
http://www.sapdevelopment.co.uk/dictionary/lock_enqueue.htm
<b>2. Help.Sap.Com</b>
http://help.sap.com/saphelp_nw04/helpdata/en/7b/f9813712f7434be10000009b38f8cf/content.htm
Hope it helps.
Regards,
Maheswaran.B
Message was edited by: Maheswaran B

Similar Messages

  • Does anyone know how to lock a specific application, such as e-mail in Ipad?

    I have my company email in my Ipad and I want to lock it in order to prevent whoever uses my Ipad to login to my email. Does anyone know how to lock a specific application or it cannot be locked?

    There is a somewhat clunky way to do it. First, go into your mail (Settings - Mail/Contacts/Calendars) and turn off (dont' disable) any accounts you don't want to be seen. Then go into Restrictions - Accounts and select "Don't Allow Changes." This will prevent anyone from turning the mail back on. When you're ready to turn it back on, go into Restrictions and either Disable Restrictions or go into Accounts and select Allow Changes.

  • How to share JHS BC4J data model with  JClient application ?

    In our project, some application system using JHS Struts/JSP solution but others which need rich UI application prepare to adapt JClient solution, so whether we can share JHS BC4J data model with JClient application ?

    Ting Rung,
    The JClient application will communicate with your application module. So all logic in you app module, EO's and VO's can be resued by JClient. Logic in Jheadstart handlers cannot be reused.
    Steven Davelaar,
    jHeadstart Team.

  • My iphone 4 is locked on one application and will not close or turn off my phone please help!

    my iphone 4 is locked on one application and will not close or turn off my phone please help!

    If you mean that the iphone froze in some random app you have ....the solution is easy .
    Press and hold both Home Button and On/OFF button for about 15 seconds . The device should turn off and on again .
    If not than please wait until the battery goes out and try the above step again whilst device is off .
    Hope it helps

  • Is there any way to lock my messages application with a password or something?

    is there any way to lock my messages application with a password or something?

    http://www.apple.com/feedback/iphone.html

  • Locally deploying Jclient Application

    Can any body tell me the link to the documentation on how to locally deploy jclient application, java -jar app.jar
    which files to be included in the classpath etc.
    Actually I am building the Jclient Application using oracle lite. I was previously deploying it through webstart but was having the error that "no suitable driver"
    The application wroks fine when executed through the jdeveloper.
    So I was thinking that it would also work with local deployment.

    Have a look at the command line JDeveloper uses to run your project (it's in the log window) - there you'll see the list of Jar files that are needed to get your project running.
    Then you can replicate it in your deployment.

  • Jclient application and Webstart

    Can i use WebStart to run a Jclient application?
    Will i meet any performance problem?
    Thanks.

    Yes you can - and in 9.0.3 we have made this easier.
    As to whether there will be a performance issue? - Well it depends what you mean. WebStart is only a way of deploying
    and accessing your application. Once it is running it should now behave any different if it was run using WebStart or
    is deployed manually.
    These is some information on the on line help - search for JClient and Web Start
    Regards
    Grant Ronald
    Product Management

  • Iphone lock for certain applications.

    How do i lock my certain applications such as email sms whatsapp etc i have tried doing it by enabling restrictions but the applications do not lock.I have to prevent misuse of my phone.Pls answer me.

    The iPad is designed as a single user device. You can't lock individual apps. To prevent people from "misusing" your iPad, put a lock code on it.

  • Creating a a deliverable Windows JClient Application

    I'm interested in the "best practice" for packaging and delivering a JClient application as a product for a user who currently has no Java applications loaded. I understand that it can be deployed as an executable JAR file. However, what else is necessary? For instance, I assume I need to include the latest SDK and make sure my install program installs it too. Anything else?
    Thanks!
    Bob Russel

    Bob,
    Besides JRE, you would require the JDBC libraries and the BC4J runtime libraries for your
    specific deployment configuration. The easiest way to find the dependent jar list is to
    look at libraries used in your JClient project (Project settings dialog).
    You may also want to consider using Java Web Start. JClient WebStart wizard can help you
    get started. The advantage will be that your app can be made available on a web server
    and your customer can download. Java WebStart 1.2 supports 'One Click' installation.
    http://java.sun.com/products/javawebstart/1.2/docs/relnotes.html#autoinstall
    However note that the app will run in Security sandbox like applets.
    HTH,
    Sathish.

  • Delete locked file from /Applications folder

    Hi there
    I used Clean My Mac to remove a file install - something I have done many times without any problems.
    This time though the application file was left behind in the /Applications folder and I am unable to move it to the Trash because it is locked.
    I have tried the following
    sudo chflags nouchg /Applications/CrashPlan.app
    This however does not resolve the issue and I am still unable to move the file to Trash - it does not remove the locked flag
    Does anyone have any other ideas or suggestions how to remove the file?

    Hi WIlliam
    I tried what you said but I get an unexpected result...
    Johns-Mac-Pro:~ John$ sudo rm -r /Applications/CrashPlan.app
    Password:
    rm: /Applications/CrashPlan.app/Contents: Operation not permitted
    override rwxrwxr-x  root/admin schg for /Applications/CrashPlan.app?
    I'm not sure how to respond to the question it is asking. I tried keying in Y but the response was
    override rwxrwxr-x  root/admin schg for /Applications/CrashPlan.app? y
    rm: /Applications/CrashPlan.app: Operation not permitted
    Johns-Mac-Pro:~ John$

  • ADF/Swing/JClient application migration problem from 10.1.3.5 to 11.1.1.3

    Hi,
    I am migrating an application from JDev 10.1.3.5 to 11.1.1.3 in order to deploy it to a java 1.6 JVM which is only certified with JDev 11.1.1.3
    No matter what I do the DataBindings.cpx file content is emptied by the IDE, the migration was successful => no errors displayed.
    I tried to solve the problem by doing the following but the file stays empty:
    1) the removing the project from the application and adding it again, migration is done again => FILE EMPTY
    2) adding manually the content in the source file then running XML validation => no errors, I close the file, reopen it and EMPTY AGAIN!
    Your is needed and will be appreciated!
    Thanks
    Fred
    Content of file DataBindings.cpx:
    <?xml version='1.0' encoding='UTF-8' ?>
    <Application xmlns="http://xmlns.oracle.com/adfm/application" id="DataBindings"
    Package="" version="10.1.2.18.73" SeparateXMLFiles="false"
    ClientType="JClient">
    <pageMap/>
    <pageDefinitionUsages>
    <page id="PanelWeventEditParamVO1UIModel"
    path="com.xxx.view.web.PanelWeventEditParamVO1UIModel"/>
    <page id="TogglePanelPrintSizeDpiUIModel"
    path="com.xxx.view.lab.TogglePanelPrintSizeDpiUIModel"/>
    <page id="PanelPhotographerLabROfPhotolabVO1UIModel"
    path="com.xxx.view.web.PanelPhotographerLabROfPhotolabVO1UIModel"/>
    <page id="PanelWeventEditStatusVO1UIModel"
    path="com.xxx.view.web.PanelWeventEditStatusVO1UIModel"/>
    <page id="MDDPhotographerGalleryWelcomeUIModel"
    path="com.xxx.view.web.MDDPhotographerGalleryWelcomeUIModel"/>
    <page id="PanelTranslationCountryRegionLangTableVO1UIModel"
    path="com.xxx.view.system.PanelTranslationCountryRegionLangTableVO1UIModel"/>
    <page id="PanelDestGroupDestRTableVO1UIModel"
    path="com.xxx.view.system.PanelDestGroupDestRTableVO1UIModel"/>
    <page id="PanelWeventEditPackageVO1UIModel"
    path="com.xxx.view.web.PanelWeventEditPackageVO1UIModel"/>
    <page id="PanelSiteTariffPaymentTableVO1UIModel"
    path="com.xxx.view.system.PanelSiteTariffPaymentTableVO1UIModel"/>
    <page id="PanelPhotolabClobFreePage1L1VO1UIModel"
    path="com.xxx.view.web.PanelPhotolabClobFreePage1L1VO1UIModel"/>
    <page id="PhotoWebshopDesktopUIModel"
    path="com.xxx.view.start.PhotoWebshopDesktopUIModel"/>
    <page id="PanelItemGiftKitItemGiftTableVO1UIModel"
    path="com.xxx.view.lab.PanelItemGiftKitItemGiftTableVO1UIModel"/>
    <page id="TabbedFormUIModel"
    path="com.xxx.view.system.TabbedFormUIModel"/>
    <page id="PanelEntityPhotolabVO1UIModel"
    path="com.xxx.view.system.PanelEntityPhotolabVO1UIModel"/>
    <page id="PanelAddressVO1UIModel"
    path="com.xxx.view.web.PanelAddressVO1UIModel"/>
    <page id="SiteEventTypesAndTariffsFormUIModel"
    path="com.xxx.view.start.SiteEventTypesAndTariffsFormUIModel"/>
    <page id="PanelSiteVO1UIModel"
    path="com.xxx.view.system.PanelSiteVO1UIModel"/>
    <page id="PanelSiteBonusTypeVO1UIModel"
    path="com.xxx.view.system.PanelSiteBonusTypeVO1UIModel"/>
    <page id="PanelWeventAccountFileUploaderUIModel"
    path="com.xxx.view.web.PanelWeventAccountFileUploaderUIModel"/>
    <page id="PanelLabelWhereVO1UIModel"
    path="com.xxx.view.system.PanelLabelWhereVO1UIModel"/>
    <page id="PanelLabelWhatVO1UIModel"
    path="com.xxx.view.system.PanelLabelWhatVO1UIModel"/>
    <page id="PanelLabelWhoVO1UIModel"
    path="com.xxx.view.system.PanelLabelWhoVO1UIModel"/>
    </pageDefinitionUsages>
    <dataControlUsages>
    <BC4JDataControl Configuration="BaseTablesAMLocal"
    Package="com.xxx.model.system"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="BaseTablesAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="Configuration" value="BaseTablesAMLocal"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Package" value="com.xxx.model.system"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Name" value="BaseTablesAMDataControl"/>
    <Parameter name="id" value="BaseTablesAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    <BC4JDataControl Configuration="SiteTablesAMLocal"
    Package="com.xxx.model.system"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="SiteTablesAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="Configuration" value="SiteTablesAMLocal"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Package" value="com.xxx.model.system"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Name" value="SiteTablesAMDataControl"/>
    <Parameter name="id" value="SiteTablesAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    <BC4JDataControl Configuration="SystemViewAMLocal"
    Package="com.xxx.model.system"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="SystemViewAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="Configuration" value="SystemViewAMLocal"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Package" value="com.xxx.model.system"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Name" value="SystemViewAMDataControl"/>
    <Parameter name="id" value="SystemViewAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    <BC4JDataControl Configuration="PhotolabSetupAMLocal"
    Package="com.xxx.model.lab"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="PhotolabSetupAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="Configuration" value="PhotolabSetupAMLocal"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Name" value="PhotolabSetupAMDataControl"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Package" value="com.xxx.model.lab"/>
    <Parameter name="id" value="PhotolabSetupAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    <BC4JDataControl Configuration="PhotolabWebAMLocal"
    Package="com.xxx.model.web"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="PhotolabWebAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="Configuration" value="PhotolabWebAMLocal"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Name" value="PhotolabWebAMDataControl"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Package" value="com.xxx.model.web"/>
    <Parameter name="id" value="PhotolabWebAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    </dataControlUsages>
    </Application>

    Ok it seems I have resolved my problem see end of thread
    Still have following relevant question for an Oracle team member:
    Why is my <pageMap/> empty in my migrated application cpx file?
    => when I create a new ADF Swing application this tag is not empty:
    in new file:
    <pageMap>
    <page path="view.PanelPhotolabVO1" usageId="view_PanelPhotolabVO1PageDef"/>
    </pageMap>
    <pageDefinitionUsages>
    <page id="view_PanelPhotolabVO1PageDef"
    path="view.pageDefs.PanelPhotolabVO1PageDef"/>
    in migrated file:
    <pageMap/>
    <pageDefinitionUsages>
    <page id="PanelWeventEditParamVO1UIModel"
    path="com.photoswing.view.web.PanelWeventEditParamVO1UIModel"/>
    Solution to empty migrated cpx file:
    It seems the migration utility couldn't cope with the BC4JDataControl definitions, so I edited them manually.
    Example of 10.1.3... syntax:
    <dataControlUsages>
    <BC4JDataControl Configuration="BaseTablesAMLocal"
    Package="com.xxx.model.system"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="BaseTablesAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="Configuration" value="BaseTablesAMLocal"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Package" value="com.photoswing.model.system"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Name" value="BaseTablesAMDataControl"/>
    <Parameter name="id" value="BaseTablesAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    New syntax:
    <BC4JDataControl id="BaseTablesAMDataControl"
    Package="com.xxx.model.system"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    SupportsTransactions="true" SupportsFindMode="true"
    SupportsRangesize="true" SupportsResetState="true"
    SupportsSortCollection="true"
    Configuration="BaseTablesAMLocal" syncMode="Immediate"
    ExceptionMode="Immediate"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"/>
    Tip:
    Do this editing outside JDev with ide closed to avoid crashing it.
    Regards
    Fred

  • What is the best practice with Jclient application

    Hi all:
    If we have some oracle Jclient(bc4j+swing) solution application system , how to co-work with Oracle workflow ?
    what is the best solution to integrate these technology ?

    There are a few PDF documents about the Workflow Java API. Try to locate "Oracle Workflow and Java Technical White Paper" for 2.6.2 version.
    However, please note that Workflow PL/SQL API is far richer and more flexible that its JAVA equivalent.
    Also, take into account the different ways workflow engine executes an activity, if the underyling code is written in Java or PL/SQL. If you select the Java API to implement workflow activities, then 2 scripts must be running at all times so that workflows proceed. These are the Java Function Activity Agent and the Workflow Background Engine. Details are included in the above document.
    Our experience has shown that:
    1) Implementation of workflow activities via Java API is slower and more complex than PL/SQL API, because java classes are considered as external prcoedures.
    2) Not all PL/SQL procedures are included in Java API.
    3) For workflows with high throughput, the Java Function Activity Agent becomes a bottleneck.
    Please note that Oracle has announced several months ago the OW4J (Oracle Workflow for Java). Check a beta version at OTN, together with some features and specs. However, a final version is still pending.

  • Can we lock an individual application without Jail break?

    Please assist on the subject: is any app available in istore which can allow us to lock individual applications. Lock Down is available for jailbroken phones but my interest is for non jail broken phone.

    From your iPhone tap "Settings > General > Restrictions > Enable Restrictions > Enter a 4 digit passcode (Not the same as the unlock code if you are giving the iPhone to a different user such as an employee or child) > Applications". If you want a specific third party app to have a restriction you will need to contact the app developer to make the recommendation.
    Also since you have a lot of questions regarding the iPhone 4 here is a useful support page from Apple: http://www.apple.com/support/iphone/ Example: Select "Enterprise" on the left menu to read about setting up secure services such as VPN and restricting services on the iPhone.

  • Pressing num-lock keys causes applications to crash

    I have a problem with the standard Apple USB keyboard. If I press any key on the num lock pad all my applications crash. It really doesn´t matter if it is e.g. Quark, Mail or any other application.
    Need some help.
    Kind regards,
    Markus

    hey Tobsel,
    as far as i know, there should not be any issues if that process is killed. However, your num lock key may or may not work sporadically.
    For which ThinkVantage software has it, it is both the Power Management as well as the Hotkeys
    WW Social Media
    Important Note: If you need help, post your question in the forum, and include your system type, model number and OS. Do not post your serial number.
    Did someone help you today? Press the star on the left to thank them with a Kudo!
    If you find a post helpful and it answers your question, please mark it as an "Accepted Solution"!
    Follow @LenovoForums on Twitter!
    Have you checked out the Community Knowledgebase yet?!
    How to send a private message? --> Check out this article.

  • Locking problems accessing applications on a network drive post upgrade

    I recently upgraded to Windows 7 and JDeveloper 11.1.2.0.0
    After the upgrade, every time I open an application on a network drive and navigate into one of the projects, I get the following error.
    SEVERE: Unable to open environment /H:/dev/wssEmployer_6-22/.data/
    com.sleepycat.je.EnvironmentLockedException: (JE 3.3.98) A je.lck file exists in H:\dev\wssEmployer_6-22\.data\00000019 The environment can not be locked for single writer access.Any information I find on the forums regarding this package involves using it in development. Has anyone else seen this? Is there something I have to do on my machine or network to make this work?
    Thanks

    Actually, it seems to have been a problem with Novell for some reason. Our sys admin created a new network drive to store the working copy on, and this error stops. Thanks for the reply though.

Maybe you are looking for