How to run an ess application from nwds
Hello All,
I have done the changes in ESS/MSS standerad web dynpro componenet i.e. us personal data threw NWDS
I have done the changes then i rebuild the project,then i deploy it .
before check in now i want check its o/p.
mean i want to run "us personal data" to check the changes that i have made is right or not.
please give me some solution.
Thanks .
Punit
Hello Markus,
i think i am diverting from my original question.
i want to know how may i test this application i have done the changes.
there is an application for a ESS/MSS component that i have imported threw nwdi e.g. "Address" in web dynpro explorer i am just right clicking on this application e.g. "per_addres_us" then click to run .
is this the right procedure or there is something else to do this test.
Because when i am trying to run this way i am getting error.
A critical error has occured. Processing of the service had to be terminated. Unsaved data has been lost.
Please contact your system administrator.
Read of object with ID portal_content/com.sap.pct/srvconfig/com.sap.pct.erp.srvconfig.ess.employee_self_service/com.sap.pct.erp.srvconfig.in/com.sap.pct.erp.srvconfig.pdata/com.sap.pct.erp.srvconfig.fpmapplications/com.sap.pct.erp.srvconfig.per_personal_in failed.
com.sap.xss.config.FPMConfigurationException: Read of object with ID portal_content/com.sap.pct/srvconfig/com.sap.pct.erp.srvconfig.ess.employee_self_service/com.sap.pct.erp.srvconfig.in/com.sap.pct.erp.srvconfig.pdata/com.sap.pct.erp.srvconfig.fpmapplications/com.sap.pct.erp.srvconfig.per_personal_in failed.
at com.sap.xss.config.pcd.PcdObjectBroker.retrieveObjectInternal(PcdObjectBroker.java:92)
at com.sap.xss.config.pcd.PcdObjectBroker.retrieveObject(PcdObjectBroker.java:47)
at com.sap.xss.config.domain.PersistentObjectManager.retrieveObjectInternal(PersistentObjectManager.java:106)
at com.sap.xss.config.domain.PersistentObjectManager.retrieveObject(PersistentObjectManager.java:80)
at com.sap.xss.config.FPMRepository.retrieveObjectInternal(FPMRepository.java:83)
at com.sap.xss.config.FPMRepository.retrieveObject(FPMRepository.java:66)
at com.sap.pcuigp.xssutils.ccpcd.FcXssPcd.initializeConfiguration(FcXssPcd.java:816)
at com.sap.pcuigp.xssutils.ccpcd.FcXssPcd.loadConfiguration(FcXssPcd.java:250)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalFcXssPcd.loadConfiguration(InternalFcXssPcd.java:178)
at com.sap.pcuigp.xssutils.ccpcd.FcXssPcdInterface.loadConfiguration(FcXssPcdInterface.java:138)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalFcXssPcdInterface.loadConfiguration(InternalFcXssPcdInterface.java:148)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalFcXssPcdInterface$External.loadConfiguration(InternalFcXssPcdInterface.java:240)
at com.sap.pcuigp.xssutils.ccpcd.CcXssPcd.loadConfiguration(CcXssPcd.java:282)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalCcXssPcd.loadConfiguration(InternalCcXssPcd.java:184)
at com.sap.pcuigp.xssutils.ccpcd.CcXssPcdInterface.loadConfiguration(CcXssPcdInterface.java:115)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalCcXssPcdInterface.loadConfiguration(InternalCcXssPcdInterface.java:124)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalCcXssPcdInterface$External.loadConfiguration(InternalCcXssPcdInterface.java:184)
at com.sap.pcuigp.xssutils.ccxss.CcXss.loadConfiguration(CcXss.java:209)
at com.sap.pcuigp.xssutils.ccxss.wdp.InternalCcXss.loadConfiguration(InternalCcXss.java:153)
at com.sap.pcuigp.xssutils.ccxss.CcXssInterface.loadConfiguration(CcXssInterface.java:112)
at com.sap.pcuigp.xssutils.ccxss.wdp.InternalCcXssInterface.loadConfiguration(InternalCcXssInterface.java:124)
at com.sap.pcuigp.xssutils.ccxss.wdp.InternalCcXssInterface$External.loadConfiguration(InternalCcXssInterface.java:184)
at com.sap.pcuigp.xssfpm.wd.FPMComponent.wdDoInit(FPMComponent.java:187)
at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdDoInit(InternalFPMComponent.java:110)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:754)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:289)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(AccessController.java:207)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
Caused by: com.sapportals.portal.pcd.gl.PermissionControlException: Access denied (Object(s): portal_content/com.sap.pct/srvconfig/com.sap.pct.erp.srvconfig.ess.employee_self_service/com.sap.pct.erp.srvconfig.in/com.sap.pct.erp.srvconfig.pdata/com.sap.pct.erp.srvconfig.fpmapplications/com.sap.pct.erp.srvconfig.per_personal_in)
at com.sapportals.portal.pcd.gl.PcdFilterContext.filterLookup(PcdFilterContext.java:422)
at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1248)
at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1254)
at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1254)
at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1254)
at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1254)
at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1254)
at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1254)
at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1254)
at com.sapportals.portal.pcd.gl.PcdProxyContext.proxyLookupLink(PcdProxyContext.java:1353)
at com.sapportals.portal.pcd.gl.PcdProxyContext.proxyLookup(PcdProxyContext.java:1300)
at com.sapportals.portal.pcd.gl.PcdProxyContext.lookup(PcdProxyContext.java:1067)
at com.sapportals.portal.pcd.gl.PcdGlContext.lookup(PcdGlContext.java:68)
at com.sapportals.portal.pcd.gl.PcdProxyContext.lookup(PcdProxyContext.java:1060)
at com.sap.xss.config.pcd.PcdObjectBroker.getPcdContext(PcdObjectBroker.java:305)
at com.sap.xss.config.pcd.PcdObjectBroker.retrieveObjectInternal(PcdObjectBroker.java:53)
at com.sap.xss.config.pcd.PcdObjectBroker.retrieveObject(PcdObjectBroker.java:47)
at com.sap.xss.config.domain.PersistentObjectManager.retrieveObjectInternal(PersistentObjectManager.java:106)
at com.sap.xss.config.domain.PersistentObjectManager.retrieveObject(PersistentObjectManager.java:80)
at com.sap.xss.config.FPMRepository.retrieveObjectInternal(FPMRepository.java:83)
at com.sap.xss.config.FPMRepository.retrieveObject(FPMRepository.java:66)
at com.sap.pcuigp.xssutils.ccpcd.FcXssPcd.initializeConfiguration(FcXssPcd.java:816)
at com.sap.pcuigp.xssutils.ccpcd.FcXssPcd.loadConfiguration(FcXssPcd.java:250)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalFcXssPcd.loadConfiguration(InternalFcXssPcd.java:178)
at com.sap.pcuigp.xssutils.ccpcd.FcXssPcdInterface.loadConfiguration(FcXssPcdInterface.java:138)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalFcXssPcdInterface.loadConfiguration(InternalFcXssPcdInterface.java:148)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalFcXssPcdInterface$External.loadConfiguration(InternalFcXssPcdInterface.java:240)
at com.sap.pcuigp.xssutils.ccpcd.CcXssPcd.loadConfiguration(CcXssPcd.java:282)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalCcXssPcd.loadConfiguration(InternalCcXssPcd.java:184)
at com.sap.pcuigp.xssutils.ccpcd.CcXssPcdInterface.loadConfiguration(CcXssPcdInterface.java:115)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalCcXssPcdInterface.loadConfiguration(InternalCcXssPcdInterface.java:124)
at com.sap.pcuigp.xssutils.ccpcd.wdp.InternalCcXssPcdInterface$External.loadConfiguration(InternalCcXssPcdInterface.java:184)
at com.sap.pcuigp.xssutils.ccxss.CcXss.loadConfiguration(CcXss.java:209)
at com.sap.pcuigp.xssutils.ccxss.wdp.InternalCcXss.loadConfiguration(InternalCcXss.java:153)
at com.sap.pcuigp.xssutils.ccxss.CcXssInterface.loadConfiguration(CcXssInterface.java:112)
at com.sap.pcuigp.xssutils.ccxss.wdp.InternalCcXssInterface.loadConfiguration(InternalCcXssInterface.java:124)
at com.sap.pcuigp.xssutils.ccxss.wdp.InternalCcXssInterface$External.loadConfiguration(InternalCcXssInterface.java:184)
at com.sap.pcuigp.xssfpm.wd.FPMComponent.wdDoInit(FPMComponent.java:187)
at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdDoInit(InternalFPMComponent.java:110)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:754)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:289)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(AccessController.java:207)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
Thanks
Punit
Similar Messages
-
How to trigger an ESS application from a custom built WD app
Hi All,
I want to trigger the ESS record working time application from a custom built web dynpro application on click of a button.
I tried Absolute Page Navigation for this but I am not able to do so can somebody help me in this. I use this code to navigate it to the target application.
<b><i>WDPortalNavigation.navigateAbsolute("ROLES://portal_content/com.sap.pct/every_user/com.sap.pct.erp.ess.bp_folder/com.sap.pct.erp.ess.roles/com.sap.pct.erp.ess.employee_self_service/com.sap.pct.erp.ess.employee_self_service/com.sap.pct.erp.ess.area_working_time/com.sap.pct.erp.ess.recordworktime", WDPortalNavigationMode.SHOW_INPLACE, WDPortalNavigationHistoryMode.NO_HISTORY, "");</i></b>
Regards
SidHi Tummuru,
I was about to close this question as my problem got resolved.
I was running the application outside portal and because of that the navigation was not working.
Anyways thanks for showing interest
Message was edited by:
siddharth chauhan -
How to run LV6.02-application from compact disk?
For demonstration purposes I would like to run a n application without data aquisition from a cd without installing the LV-Runtime-Engine on the PC. With version LV 5.1 it was possible to start the application and the runtime engine from a compact disk. With LV 6.02, I always get an error message if I try the same. Any ideas ?
Using Linux, I load the LV6 Runtime engine and my application from a
CD with no problem. Just put a symbolic link in /usr/lib and point it
at the CD version of LVRTE. I don't know that Windows supports
symbolic links however.
As for installing the LVRTE in Windows, it is not necessary to use
the NI LVRTE installer. I supply an application to users (using InstallShield)
and simply install all the files in c:\Program Files\National Instruments\
shared\6.0\..... to the users C directory. Works fine with no registry
additions. Maybe you could temporarily install your app and LVRTE to
hard disk and delete it when you were done?
Alan Brause
"Darren" wrote in message
news:[email protected]..
> Hello,
>
> You didn
't mention which "error message" you receive when you try to
> run the application from your CD. If you only have the runtime engine
> (lvrt.dll) on the CD and not installed on the computer, this probably
> won't work. The reason is that the LabVIEW Runtime Engine (for
> version 6.0 and later) creates some Windows registry entries when it
> is installed...I don't believe the 5.1 run-time engine did this.
> These registry entries are necessary in LabVIEW 6.0 for various
> reasons, all related to new features in LabVIEW 6.0.
>
> So to my knowledge, if you want to run an LabVIEW 6.0 executable on
> any computer, that computer will require the LabVIEW Runtime Engine to
> be installed.
>
> I hope this answer makes sense. Let me know if you need anything
> else. If you continue to have concerns about this, it would help if
> you told me the specific error message you receive.
>
> Have a nice day.
>
> Sincerely,
> Darren N.
> NI Applications Engineer -
Error when running "Run as" Java application from NWDS
Dear All,
I am trying to run the following .java proggie...
Thanks for that. By the way, I am now trying to compile the following .java program.....
Created on 01-Oct-2007
To change the template for this generated file go to
Window>Preferences>Java>Code Generation>Code and Comments
@author chris.jackson
To change the template for this generated type comment go to
Window>Preferences>Java>Code Generation>Code and Comments
import com.sap.lcr.api.cimclient.CIMClient;
import com.sap.lcr.api.cimclient.CIMClientHandle;
import com.sap.lcr.api.cimclient.CIMOMClient;
import com.sap.lcr.api.cimclient.ClientFactory;
import com.sap.lcr.api.sapmodel.SAP_AppServJCODestination;
import com.sap.lcr.api.sapmodel.SAP_JCODestination;
import com.sap.lcr.api.sapmodel.SAP_JCODestinationAccessor;
import com.sap.lcr.api.sapmodel.SAP_MsgServJCODestination;
import com.sap.mw.jco.JCO;
import com.tssap.dtr.client.lib.protocol.URL;
public class sldpoke {
public void main() {
ClientFactory factory = ClientFactory.newInstance();
try {
final URL url = new URL("http://ex1d002a.eu.unilever.com:58300/sld/cimom");
String sldUsername = "cjacks01";
String sldPassword = "password";
CIMOMClient cimomClient = factory.createClient (url, sldUsername, sldPassword);
CIMClient cc = new CIMClient(cimomClient);
CIMClientHandle cch = (CIMClientHandle) cc;
SAP_JCODestinationAccessor jcoAccessor = new SAP_JCODestinationAccessor(cc);
SAP_JCODestination[] jcoDestinations = jcoAccessor.enumerateSAP_JCODestinationInstances();
JCO.Client jcoClient = null;
String user = null;
String pwd = null;
// iterate over all destinations
for (int i = 0; i < jcoDestinations.length; i++)
SAP_JCODestination jcoDestination = jcoDestinations;
user = jcoDestination.getLogonUser();
pwd = jcoDestination.getLogonPwd();
if (jcoDestination instanceof SAP_AppServJCODestination)
SAP_AppServJCODestination jcoDest = (SAP_AppServJCODestination) jcoDestination;
jcoClient = JCO.createClient(jcoDest.getLogonBCClient(),
user,
pwd,
jcoDest.getLogonLanguage(),
jcoDest.getAppServHost(),
jcoDest.getAppServNumber());
else if (jcoDestination instanceof SAP_MsgServJCODestination)
SAP_MsgServJCODestination jcoDest = (SAP_MsgServJCODestination) jcoDestination;
jcoClient = JCO.createClient(jcoDest.getLogonBCClient(),
user,
pwd,
jcoDest.getLogonLanguage(),
jcoDest.getMsgServHost(),
jcoDest.getSAPSystemName(),
jcoDest.getLogonGroup());
} catch (Exception e) {
and I am getting the message "The selection does not contain a main type". The class contains a 'main' function so I am at a loss as to what the problem is. Any ideas how I progress?
Kind Regards
Chris Jackson.Hi! Jakson,
to run a Stand-alone Java application, we must have one main() method like...
public static void main(String args[]){ }
i can't see this main() method on your appliation.
regards,
Mithileshwar -
How to run an external application from PL/SQL code?
Hi,
I want to call an application like "Notepad" from PL/SQL code in a Windows2000 server. Is there any way to do that?
Thanks, best regards.
Paulo.declare
r varchar(4000);
begin
dbms_java.set_output(10000);
system_util.runshell('sh /ora9/runBackup.sh', r);
dbms_output.put_line(r);
end;
System_util package is
CREATE OR REPLACE PACKAGE System_Util IS
*System: Generic
*Package Name: System_util
*Description: This is an open source package which holds regular used
* methods by developers and dba's.
*Created by: Rae Smith
*Created Date: 27/06/2001
*Notes: This ia an free open source package that holds no warranty and
* therefore no-one connected to the development of this package
* can be made reasponsible for any outcomes by it's use.
MODIFICATION LOG**************************************************************
*DETAILS DATE VERS CHANGED BY
*===============================================================================
*Created 27-06-2001 1.0 Rae Smith
/********************************* Public Methhods ***************************************/
--- getDir returns the first directory value held in the init.ora file
FUNCTION getDir RETURN VARCHAR2;
--- getPrev.. returns the prevoise day from a gievn date
FUNCTION getPrevSat(pDate IN DATE) RETURN DATE;
FUNCTION getPrevSun(pDate IN DATE) RETURN DATE;
FUNCTION getPrevMon(pDate IN DATE) RETURN DATE;
FUNCTION getPrevTue(pDate IN DATE) RETURN DATE;
FUNCTION getPrevWed(pDate IN DATE) RETURN DATE;
FUNCTION getPrevThu(pDate IN DATE) RETURN DATE;
FUNCTION getPrevFri(pDate IN DATE) RETURN DATE;
--- isNumber returns TRUE or FALSE depending on a datatype passed
FUNCTION isNumber(pnumber IN VARCHAR2) RETURN BOOLEAN;
FUNCTION isNumber(pnumber IN NUMBER) RETURN BOOLEAN;
FUNCTION isNumber(pnumber IN DATE) RETURN BOOLEAN;
--- The writeFile allow you to write data to a file
--- writeFile has 2 Versions
--- v1 pass in the file name and the text to write to a file.
--- v2 pass in the file name, dbms_sql.varhar2s object
--- and the amount of rows to procces at a time
--- This enables you to write to afile in batch mode
PROCEDURE writeFile(pName IN VARCHAR2, pText IN VARCHAR2);
PROCEDURE writeFile(pName IN VARCHAR2, pText IN DBMS_SQL.VARCHAR2S, pRows IN PLS_INTEGER);
--- The appendFile methods allow you to append data to a file
--- This also has the inteligents to create the file if ts does not exist.
--- appendFile has 2 Versions
--- v1 pass in the file name and the text to write to a file.
--- v2 pass in the file name, dbms_sql.varhar2s object
--- and the amount of rows to procces at a time
--- This enables you to write to afile in batch mode
PROCEDURE appendFile(pName IN VARCHAR2, pText IN DBMS_SQL.VARCHAR2S, pRows IN PLS_INTEGER);
PROCEDURE appendFile(pName IN VARCHAR2, pText IN VARCHAR2);
--- The clearFile clears the data from a file.
PROCEDURE clearFile(pName IN VARCHAR2);
--- checkSyntax is a quick syntax checker for sql statements the is a limit to
--- the size used in the statement. If you have a error with
--- a statement then pass in the statement watch as it displays
--- the point where the error arose.
PROCEDURE checkSyntax(pSql IN VARCHAR2);
--- isEmpty this returns TRUE or FALSE
FUNCTION isEmpty(pValue IN VARCHAR2) RETURN BOOLEAN;
--- getTimeInMins returns the time in minutes for a specified date
FUNCTION getTimeInMins (pDate IN DATE) RETURN NUMBER;
--PROCEDURE get_time_in_mins (pDate IN DATE);
--- incDate returns a specified date incremented by value
FUNCTION incDate(pInc IN NUMBER DEFAULT .999999, pDate IN DATE DEFAULT SYSDATE) RETURN DATE;
--- decDate returns a specified date decremented by value
FUNCTION decDate(pInc IN NUMBER DEFAULT .999999, pDate IN DATE DEFAULT SYSDATE) RETURN DATE;
--- getTime returns the time in milliseconds
FUNCTION getTime RETURN NUMBER;
--- daysDiff returns the amount of days between two values
FUNCTION daysDiff(pHigh IN DATE, pLow IN DATE) RETURN NUMBER;
--- difference returns the diffeence between two numbers always
--- taking the lowest away from the highest
FUNCTION difference(pAnum IN NUMBER,pBnum IN NUMBER)RETURN NUMBER;
--- total returns the value of two numbers added together
FUNCTION total(pAnum IN NUMBER, pBnum IN NUMBER)RETURN NUMBER;
--- numberToWords returns the string for a number passed in
FUNCTION numberToWords(pNumb IN NUMBER) RETURN VARCHAR2;
--- runShell allows you to run operating commands from pl/sql
--- Only available with 8i
--- PROCEDURE runShell(pCmnd IN VARCHAR2, pErrMsg IN OUT VARCHAR2);
/**************************** Public Vaiables *******************************/
--- Public variable that holds the operating system directory
--- that the can be written to from withing the database.
vDir VARCHAR2(50);
END;
CREATE OR REPLACE PACKAGE BODY System_Util IS
FUNCTION getDir RETURN VARCHAR2
IS
BEGIN
RETURN vDir;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('ERROR...ERROR...System_Util.getDir');
RAISE;
END getDir;
/**** Private module to get the first directory for utl_file to use ****/
PROCEDURE getDir
IS
CURSOR cDir(p1 IN VARCHAR2)
IS
SELECT DECODE(INSTR(value, ','), 0, value, SUBSTR(value, 1, INSTR(value, ',')-1)) dir
FROM v$parameter
WHERE name = p1;
BEGIN
FOR rDir IN cDir('utl_file_dir') LOOP
vDir := rDir.dir;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('ERROR...ERROR...System_Util.getDir');
RAISE;
END getDir;
FUNCTION getPrevDate(pDate IN DATE, pDay IN VARCHAR2) RETURN DATE
IS
BEGIN
RETURN NEXT_DAY(pDate - 7, pDay);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END getPrevDate;
FUNCTION getPrevSat(pDate IN DATE) RETURN DATE
IS
BEGIN
RETURN getPrevDate(pDate, 'saturday');
EXCEPTION
WHEN OTHERS THEN
RAISE;
END getPrevSat;
FUNCTION getPrevSun(pDate IN DATE) RETURN DATE
IS
BEGIN
RETURN getPrevDate(pDate, 'sunday');
EXCEPTION
WHEN OTHERS THEN
RAISE;
END getPrevSun;
FUNCTION getPrevMon(pDate IN DATE) RETURN DATE
IS
BEGIN
RETURN getPrevDate(pDate, 'monday');
EXCEPTION
WHEN OTHERS THEN
RAISE;
END getPrevMon;
FUNCTION getPrevTue(pDate IN DATE) RETURN DATE
IS
BEGIN
RETURN getPrevDate(pDate, 'tuesday');
EXCEPTION
WHEN OTHERS THEN
RAISE;
END getPrevTue;
FUNCTION getPrevWed(pDate IN DATE) RETURN DATE
IS
BEGIN
RETURN getPrevDate(pDate, 'wednesday');
EXCEPTION
WHEN OTHERS THEN
RAISE;
END getPrevWed;
FUNCTION getPrevThu(pDate IN DATE) RETURN DATE
IS
BEGIN
RETURN getPrevDate(pDate, 'thursday');
EXCEPTION
WHEN OTHERS THEN
RAISE;
END getPrevThu;
FUNCTION getPrevFri(pDate IN DATE) RETURN DATE
IS
BEGIN
RETURN getPrevDate(pDate, 'friday');
EXCEPTION
WHEN OTHERS THEN
RAISE;
END getPrevFri;
FUNCTION isNumber(pNumber IN VARCHAR2) RETURN BOOLEAN
IS
BEGIN
IF TO_NUMBER(pNumber)> 0 THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
EXCEPTION
WHEN OTHERS THEN
RETURN FALSE;
END isNumber;
FUNCTION isNumber(pNumber IN NUMBER) RETURN BOOLEAN
IS
BEGIN
IF TO_NUMBER(pNumber) > 0 THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
EXCEPTION
WHEN OTHERS THEN
RETURN FALSE;
END isNumber;
FUNCTION isNumber(pNumber IN DATE) RETURN BOOLEAN
IS
BEGIN
IF TO_NUMBER(TO_CHAR(pNumber, 'YYYYMMDD')) > 0 THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
EXCEPTION
WHEN OTHERS THEN
RETURN FALSE;
END isNumber;
PROCEDURE writeFile(pName IN VARCHAR2, pText IN VARCHAR2)
IS
vFtype utl_file.file_type;
BEGIN
vFtype := UTL_FILE.FOPEN(vDir, pName,'w');
UTL_FILE.PUT_LINE(vFtype,pText);
UTL_FILE.FCLOSE(vFtype);
EXCEPTION
WHEN OTHERS THEN
UTL_FILE.FCLOSE(vFtype);
RAISE;
END writeFile;
PROCEDURE writeFile(pName IN VARCHAR2, pText IN VARCHAR2, pFtyp IN OUT utl_file.file_type)
IS
vFtype utl_file.file_type;
BEGIN
vFtype := UTL_FILE.FOPEN(vDir, pName,'w');
UTL_FILE.PUT_LINE(vFtype,pText);
UTL_FILE.FCLOSE(vFtype);
EXCEPTION
WHEN OTHERS THEN
UTL_FILE.FCLOSE(vFtype);
RAISE;
END writeFile;
PROCEDURE writeFile(pName IN VARCHAR2, pText IN DBMS_SQL.VARCHAR2S, pRows IN PLS_INTEGER)
IS
vFtype utl_file.file_type;
vText VARCHAR2(2000);
vCnt BINARY_INTEGER;
vRem BINARY_INTEGER;
vRowcnt PLS_INTEGER := 0;
BEGIN
vRem := MOD(pText.COUNT, pRows);
vFtype := UTL_FILE.FOPEN(vDir, pName, 'w');
vCnt := pText.FIRST;
LOOP
EXIT WHEN vCnt IS NULL;
vRowcnt := vRowcnt + 1;
IF vCnt = pText.LAST THEN
vText := vText||pText(vCnt);
UTL_FILE.PUTF(vFtype,vText);
UTL_FILE.FFLUSH(vFtype);
vText := '';
ELSIF MOD(vCnt, pRows) = 0 THEN
vText := vText||pText(vCnt)||'\n';
UTL_FILE.PUTF(vFtype,vText);
UTL_FILE.FFLUSH(vFtype);
vText := '';
ELSIF vRowcnt = vRem THEN
vText := vText||pText(vCnt)||'\n';
UTL_FILE.PUTF(vFtype,vText);
UTL_FILE.FFLUSH(vFtype);
ELSE
vText := vText||pText(vCnt)||'\n';
END IF;
vCnt := pText.NEXT(vCnt);
END LOOP;
UTL_FILE.FCLOSE(vFtype);
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('ERROR...ERROR...SYSTEM_UTIL.WRITE_FILE');
UTL_FILE.FCLOSE(vFtype);
RAISE;
END writeFile;
PROCEDURE appendFile(pName IN VARCHAR2, pText IN DBMS_SQL.VARCHAR2S, pRows IN PLS_INTEGER)
IS
vFtype utl_file.file_type;
vText VARCHAR2(2000);
vCnt BINARY_INTEGER;
vRem BINARY_INTEGER;
vMode VARCHAR2(2) := 'a';
vRowcnt PLS_INTEGER := 0;
BEGIN
vRem := MOD(pText.COUNT, pRows);
vFtype := UTL_FILE.FOPEN(vDir, pName, vMode);
vCnt := pText.FIRST;
LOOP
EXIT WHEN vCnt IS NULL;
vRowcnt := vRowcnt + 1;
IF vCnt = pText.LAST THEN
vText := vText||pText(vCnt);
UTL_FILE.PUTF(vFtype,vText);
UTL_FILE.FFLUSH(vFtype);
vText := '';
ELSIF MOD(vCnt, pRows) = 0 THEN
vText := vText||pText(vCnt)||'\n';
UTL_FILE.PUTF(vFtype,vText);
UTL_FILE.FFLUSH(vFtype);
vText := '';
ELSIF vRowcnt = vRem THEN
vText := vText||pText(vCnt)||'\n';
UTL_FILE.PUTF(vFtype,vText);
UTL_FILE.FFLUSH(vFtype);
ELSE
vText := vText||pText(vCnt)||'\n';
END IF;
vCnt := pText.NEXT(vCnt);
END LOOP;
UTL_FILE.FCLOSE(vFtype);
EXCEPTION
WHEN UTL_FILE.INVALID_OPERATION THEN
IF vMode = 'a' THEN
writeFile(pName, pText, pRows);
ELSE
RAISE;
END IF;
WHEN OTHERS THEN
dbms_output.put_line('ERROR...ERROR...SYSTEM_UTIL.APPENDFILE');
UTL_FILE.FCLOSE(vFtype);
RAISE;
END appendFile;
PROCEDURE appendFile(pName IN VARCHAR2, pText IN VARCHAR2)
IS
vFtype utl_file.file_type;
vMode VARCHAR2(2) := 'a';
BEGIN
vFtype := UTL_FILE.FOPEN(vDir, pName, vMode);
UTL_FILE.PUTF(vFtype, pText);
UTL_FILE.FFLUSH(vFtype);
UTL_FILE.FCLOSE(vFtype);
EXCEPTION
WHEN UTL_FILE.INVALID_OPERATION THEN
IF vMode = 'a' THEN
writeFile(pName, pText);
ELSE
RAISE;
END IF;
WHEN OTHERS THEN
dbms_output.put_line('ERROR...ERROR...SYSTEM_UTIL.APPENDFILE');
UTL_FILE.FCLOSE(vftype);
RAISE;
END appendFile;
PROCEDURE clearFile(pName IN VARCHAR2)
IS
vFtype utl_file.file_type;
vText VARCHAR2(2000);
vCnt BINARY_INTEGER;
vRem BINARY_INTEGER;
vRowcnt PLS_INTEGER := 0;
BEGIN
vFtype := UTL_FILE.FOPEN(vDir, pName, 'w');
UTL_FILE.PUTF(vFtype,'');
UTL_FILE.FFLUSH(vFtype);
UTL_FILE.FCLOSE(vFtype);
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('ERROR...ERROR...System_Util.CLEARFILE');
UTL_FILE.FCLOSE(vFtype);
RAISE;
END clearFile;
PROCEDURE checkSyntax(pSql IN VARCHAR2)
IS
sqlCur PLS_INTEGER := DBMS_SQL.OPEN_CURSOR;
errPos PLS_INTEGER;
sqlStmt VARCHAR2(2000);
BEGIN
sqlStmt := pSql;
DBMS_SQL.PARSE(sqlCur, sqlStmt, DBMS_SQL.NATIVE);
EXCEPTION
WHEN OTHERS THEN
errPos := DBMS_SQL.LAST_ERROR_POSITION;
DBMS_OUTPUT.PUT_LINE(SQLERRM);
DBMS_OUTPUT.PUT_LINE(sqlStmt);
DBMS_OUTPUT.PUT_LINE(' ');
DBMS_OUTPUT.PUT_LINE(LPAD('^', errPos, '-'));
DBMS_SQL.CLOSE_CURSOR(sqlCur);
END checkSyntax;
FUNCTION isEmpty(pValue IN VARCHAR2) RETURN BOOLEAN
IS
BEGIN
IF pValue IS NULL OR pValue = '' OR pValue = ' ' THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END isEmpty;
FUNCTION getTimeInMins (pDate IN DATE) RETURN NUMBER
IS
vHours NUMBER;
vMins NUMBER;
vRetval PLS_INTEGER;
BEGIN
vHours := TO_NUMBER(TO_CHAR(pDate,'HH24'));
vMins := TO_NUMBER(TO_CHAR(pDate,'MI'));
vRetval := ((60 * vHours) + vMins);
RETURN vRetval;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END getTimeInMins;
PROCEDURE getTimeInMins (pDate IN DATE)
IS
vHours NUMBER;
vMins NUMBER;
vRetval PLS_INTEGER;
BEGIN
vHours := TO_NUMBER(TO_CHAR(pDate,'HH24'));
vMins := TO_NUMBER(TO_CHAR(pDate,'MI'));
vRetval := ((60 * vHours) + vMins);
DBMS_OUTPUT.PUT_LINE('The time IN minutes IS: '||vRetval);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END getTimeInMins;
FUNCTION incDate(pInc IN NUMBER DEFAULT .999999, pDate IN DATE DEFAULT SYSDATE) RETURN DATE
IS
BEGIN
RETURN (TO_DATE(TO_CHAR(pDate + pInc, 'DD/MM/YYYY HH24:MI:SS'), 'DD/MM/YYYY HH24:MI:SS'));
EXCEPTION
WHEN OTHERS THEN
RAISE;
END incDate;
FUNCTION decDate(pInc IN NUMBER DEFAULT .999999, pDate IN DATE DEFAULT SYSDATE) RETURN DATE
IS
BEGIN
RETURN (TO_DATE(TO_CHAR(pDate - pInc, 'DD/MM/YYYY HH24:MI:SS'), 'DD/MM/YYYY HH24:MI:SS'));
EXCEPTION
WHEN OTHERS THEN
RAISE;
END decDate;
FUNCTION getTime RETURN NUMBER
IS
BEGIN
RETURN dbms_utility.get_time;
END getTime;
FUNCTION daysDiff(pHigh IN DATE, pLow IN DATE) RETURN NUMBER
IS
vHighdate DATE;
vLowdate DATE;
BEGIN
IF pHigh > pLow THEN
vHighdate := TO_DATE(TO_CHAR(pHigh, 'YYYYMMDD'), 'YYYYMMDD');
vLowdate := TO_DATE(TO_CHAR(pLow, 'YYYYMMDD'), 'YYYYMMDD');
ELSIF pLow > pHigh THEN
vHighdate := TO_DATE(TO_CHAR(pLow, 'YYYYMMDD'), 'YYYYMMDD');
vLowdate := TO_DATE(TO_CHAR(pHigh, 'YYYYMMDD'), 'YYYYMMDD');
END IF;
RETURN (vHighdate - vLowdate);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END daysDiff;
PROCEDURE dateCheck(pDateFrom IN OUT DATE, pDateTo IN OUT DATE)
IS
/* Declare the variable to hold the "from" date */
vDateFrom DATE;
BEGIN
/* If either date_from or date_to is null then set to todays date **
** using the sysdate **
** today's DATE AND IN the correct format */
pDateFrom := NVL(pDateFrom, SYSDATE);
pDateTo := NVL(pDateTo, SYSDATE);
/* Check that the from date is not greater than the to date if so **
** use the system_util.incDate to Increment the date by 1 day */
IF (pDateFrom > pDateTo) THEN
vDateFrom := pDateFrom;
pDateTo := System_Util.incDate(1, vDateFrom);
END IF;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
/* calculates the difference of two numbers always taken the high from the low*/
FUNCTION difference(pAnum IN NUMBER, pBnum IN NUMBER)RETURN NUMBER
IS
vTotal NUMBER;
BEGIN
IF (pAnum > pBnum )OR (pAnum = pBnum)THEN
vTotal := (pAnum - pBnum);
ELSIF (pAnum < pBnum) THEN
vTotal := (pBnum - pAnum);
END IF;
RETURN (vTotal);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END difference;
/* calculates the Total of two numbers*/
FUNCTION total(pAnum IN NUMBER, pBnum IN NUMBER)RETURN NUMBER
IS
vTotal NUMBER;
BEGIN
vTotal := (pAnum + pBnum);
RETURN (vTotal);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END total;
FUNCTION numberToWords(pNumb IN NUMBER) RETURN VARCHAR2
IS
vRetval VARCHAR2(255);
vNumb PLS_INTEGER;
BEGIN
vNumb := pNumb;
vRetval := REPLACE(TO_CHAR(TO_DATE(vNumb,'j'),'jsp'),'-',' ');
RETURN (vRetval);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
/*************** Only Available on 8i ********************************\
FUNCTION Catcherr(pStr IN VARCHAR2) RETURN VARCHAR2
IS
LANGUAGE JAVA
NAME 'catchErr.run(java.lang.String) return String';
PROCEDURE runShell(pCmnd IN VARCHAR2, pErrMsg IN OUT VARCHAR2)
IS
BEGIN
pErrMsg := Catcherr(pCmnd);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END runShell;
BEGIN
getDir;
END; -
How to run a remote application (Non Java) from a Java program
Could you please tell me how to run a remote application (Non-Java) from a Java program without using RMI. Please tell me know the procedure and classes to be used.
Cheers
Ramwhat do you mean remote application.In the other pc or in your pc just apart from you application?
If the application is in your pc,the method which the upper has mentioned is
a good one!
But if the application you want to run is not in your computer,the method can't do. And you can use socket with which you can build an application listening some port in the pc which contains the application you want to run .When you want to run that application ,send the Start_Command to the listening application.Then listening application will run the application with the help of the method the upper mentioned. -
How to run a Concurrent Program from the back end?
Hi,
How to run a Concurrent Program from the back end?
Is it Possible to see that Concuurent Request id which we run from the back end, in the front end?
If yes, then Please Give reply how to write the code
Thanks in Advance,
Bharathi.SThis is documented in Chapter 20 of the Application Developers Guide http://download.oracle.com/docs/cd/B53825_03/current/acrobat/121devg.pdf. These MOS Docs also have some information available
221542.1 - Sample Code for FND_SUBMIT and FND_REQUEST API's
235359.1 - How to Launch Planning Data Pull MSCPDP using FND_REQUEST.SUBMIT_REQUEST
HTH
Srini -
Running a Java application from a Swing GUI
Hi,
I was wondering if there is a simple way to run a Java application from a GUI built with Swing. I would presume there would be, because the Swing GUI is a Java application itself, technically.
So, I want a user to click a button on my GUI, and then have another Java application, which is in the same package with the same classpaths and stuff, run.
Is there a simple way to do this? Do any tutorials exist on this? If someone could give me any advice, or even a simple "yes this is possible, and it is simple" or "this is possible, but difficult" or "no this is not possible" answer, I would appreciate it. If anyone needs more information, I'll be happy to provide it.
Thanks,
DanI don't know if it is possible to run the main method from another Java app by simply calling it...
But you could just copy and paste the stuff from your main method into a new static method called something like runDBQuery and have all the execution run from there.
How does that sound? Is it possible?
What I'm suggeting is:
Original
public class DBQuery{
public static void methodA(){
public static void doQuery(){
methodA();
public static void main(String[] args){
// Your method calls
//Your initializing
doQuery();
}Revised:
public class DBQuery{
public static void methodA(){
public static void doQuery(){
methodA();
public static void doMyQuery(){
// Your method calls
//Your initializing
doQuery();
// No main needed!!
//public static void main(String[] args){
// Your method calls
//doQuery();
//} -
Deployed application from NWDS not available in local folder for IView crea
Hi Gurus,
I have deployed an Web Dynpro Java application from NWDS. The application deployed fine.
But when I tried to cretae the Web Dynpro Java application from the Portal the corresponding application is not available in local folder for IView creation.
How do i need to proceed for Web Dynpro Java IView creation.
Thanks & Regards,
Kiran Kumar kHi Kiran,
Please check under sap.com/local OR you custom package while creating Web Dynpro Java application iview.
Then select your WD Application if you found - Applcaition >> package >> then select Application name and click on next.
Verify your application deployed or not or in which folder at content administration >> web dynpro >> searh your WD application.
Hope it helps
Regards
Arun -
How to execute 2 different application from same Application Server
Hi,
I would like to know that how to execute two different applications from the same Application Server with different databases?
We are using
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
Oracle Application Server 10g 10.1.2.0.2
Regards,
Hassanwhat type of applications you want to run from the same application server, Hassan?
What other DB are you using to launch it beside the one you quoted? Is it the MRep DB of infra? -
Run Oracle Form Application from a JSP File.
I have a complete customized application made on Oracle Forms (10g) and I have .fmb and .fmx files, now problem which I am facing is I have to open the Oracle Form Application from my JSP page (which is used to login the user). My JSP page is just a simple page which I have placed it in path [C:\DevSuiteHome2\forms\j2ee\formsapp\formsweb] and I run it from browser as [http://localhost:port/forms/index.jsp].
How can I start my application from this JSP page? Please your help would be highly appreciated. Thanks.Inside your JSP page put <OBJECT> tag with all parameters and tags to open Jinitiator or java applet..
my example..
<!-- Forms applet definition (start) -->
<OBJECT classid="clsid:CAFECAFE-0013-0001-0022-ABCDEFABCDEF"
codebase="/forms/jinitiator/jinit.exe#Version=1,3,1,22"
WIDTH="1024"
HEIGHT="768"
HSPACE="0"
VSPACE="0">
<PARAM NAME="TYPE" VALUE="application/x-jinit-applet;version=1.3.1.22">
<PARAM NAME="CODEBASE" VALUE="/forms/java">
<PARAM NAME="CODE" VALUE="oracle.forms.engine.Main" >
<PARAM NAME="ARCHIVE" VALUE="frmall_jinit.jar,images.jar,in2kartica.jar,paketi.jar,prenospolic.jar,imgbean.jar,moj9999.jar" >
<PARAM NAME="serverURL" VALUE="/forms/lservlet?ifcfs=/forms/frmservlet?form=zav0030f.fmx&acceptLanguage=sl-SI">
<PARAM NAME="networkRetries" VALUE="30">
<PARAM NAME="serverArgs"
VALUE="escapeParams=true module=zav0030f.fmx userid= sso_userid=%20 sso_formsid=%25OID_FORMSID%25 sso_subDN= sso_usrDN= debug=no host= port= buffer_records=no debug_messages=no array=no obr=no query_only=no quiet=yes render=no record=names tracegroup= log= term=/oracle/forme/qmsrf65w.res" >
<PARAM NAME="separateFrame" VALUE="true">
<PARAM NAME="splashScreen" VALUE="">
<PARAM NAME="background" VALUE="">
<PARAM NAME="lookAndFeel" VALUE="Oracle">
<PARAM NAME="colorScheme" VALUE="teal">
<PARAM NAME="serverApp" VALUE="default">
<PARAM NAME="logo" VALUE="">
<PARAM NAME="imageBase" VALUE="DocumentBase">
<PARAM NAME="formsMessageListener" VALUE="">
<PARAM NAME="recordFileName" VALUE="">
<PARAM NAME="EndUserMonitoringEnabled" VALUE="">
<PARAM NAME="EndUserMonitoringURL" VALUE="">
<PARAM NAME="heartbeat" VALUE="">
<PARAM NAME="clientDPI" VALUE="123">
<COMMENT>
<EMBED SRC="" PLUGINSPAGE="/forms/jinitiator/us/jinit_download.htm"
TYPE="application/x-jinit-applet;version=1.3.1.22"
java_codebase="/forms/java"
java_code="oracle.forms.engine.Main"
java_archive="frmall_jinit.jar,images.jar,in2kartica.jar,paketi.jar,prenospolic.jar,imgbean.jar,moj9999.jar,Paketi.jar,in2kartica.jarpaketi.jar,moj9999.jarin2kartica.jarpaketi.jar"
WIDTH="1024"
HEIGHT="768"
HSPACE="0"
VSPACE="0"
clientDPI="123"
serverURL="/forms/lservlet?ifcfs=/forms/frmservlet?form=zav0030f.fmx&acceptLanguage=sl-SI"
networkRetries="30"
serverArgs="escapeParams=true module=zav0030f.fmx userid= sso_userid=%20 sso_formsid=%25OID_FORMSID%25 sso_subDN= sso_usrDN= debug=no host= port= buffer_records=no debug_messages=no array=no obr=no query_only=no quiet=yes render=no record=names tracegroup= log= term=/oracle/forme/qmsrf65w.res"
separateFrame="true"
splashScreen=""
background=""
lookAndFeel="Oracle"
colorScheme="teal"
serverApp="default"
logo=""
imageBase="DocumentBase"
formsMessageListener=""
recordFileName=""
EndUserMonitoringEnabled=""
EndUserMonitoringURL=""
heartBeat=""
>
<NOEMBED>
</COMMENT>
</NOEMBED></EMBED>
</OBJECT>
<!-- Forms applet definition (end) --> -
Re: How do I keep an application from being started morethan once?
Here are some quick ideas. None of them should be too hard to implement,
although each has some drawbacks.
1. Have a login server track who is logged on, and if there is already a
logon for a given user or a given machine, then deny the application
startup. The nice thing about this is that a user will not be able to have
multiple logins even by going to another machine. Then again, this may not
be so nice, and you also get a possible single point of failure on the
login server for which you will have to prepare.
2. Drop to the operating system, and get a list of processes for the client
machine. If the name of one of them matches the name of application that
is being run, then deny startup. This avoids a network hit, but requires
some OS specific code. Also, a clever user could change the name of an
executable to get around this. Note that a user could have another login
on another machine.
3. Write to a file on the local machine. You can hide the file in some
suitable place, and can also scramble some information so that a user
cannot get around having this file present by reading from the file at
startup and then writing to it. Based on the state of your application,
the file will have some scrambled information indicating if an instance of
an application can be started. If you retain the write lock (i.e. do not
close) the file for the duration of the application, you increase your
security at the risk of a confused user if the application gets terminated
without releasing the lock. Depending on the OS where the client will run,
this could be an issue. If you like this option, perform some experiments
first on all configurations of an example client machine to determine the
behavior. Again, this only works to prevent an extra login on a single
machine, not system wide.
If you are not concerned about your users hacking around too much and don't
care about a login on another machine, I would opt for some version of
number 3. Otherwise, I would venture number 1.
Regards
CSB
At 07:47 AM 2/18/98 -0500, Martin G Nystrom wrote:
A user can launch an application, then launch it again. How do we make it so
that the user can only run one instance of the application?
Martin Nystrom
Eli Lilly and Company
([email protected])
Curtis Bragdon, Senior Consultant, Forte Software
[email protected]
Voice Mail: (510) 986-3807
Paging: (888) 687-6723
"I've seen dozens of triggering towns." - Richard HugoYet another quick and dirty solution is to use local ExternalConnections.
This is a single instance per machine solution.
Example is attached.
(See attached file: TestOne.pex)
[email protected] on 02/18/98 10:01:07 PM
Please respond to [email protected]
To: [email protected]
cc: [email protected]
Subject: Re: How do I keep an application from being started more than
once?
Martin,
there are two ways to read your question
(a) no more than one instance of an application per machine
(b) no more than one instance of an application per "user"
now if a user has only one machine, and your system has "userids" and you
only want
one active "session" per "user" then the distinction is irrelevant.
However, many systems
let people share logins, so a token based thing enforcing one login will be
problematic.
The downside of #1 approach suggested by Curtis happens when a machine gets
hosed without "logging" the user off the security system, then they can't
get in until their ticket expires or a sysadmin gets involved. Should be
manageable, however. But this enforces one application
instance per user, unless you check both for the presence of an active
token for that user as well as the presence of a token tied to that
particular node name. Otherwise there is nothing to prevent the same user
from launching the app again and logging in as a different user. This is
definitely the best approach of the bunch, and can be adapted for either
(a) or (b).
Suggestion # 2 won't work unless the application is built as a compiled
client,
since the process name will be 'ftexec' and not the "name" of the
application. And it doesn't
prevent a user from launching the app from a different machine (or people
sharing logins). So again it depends on what you are trying to achieve.
#3 also only prevents multiple instances per machine, not necessarily by
user. Of course
most people don't have multiple machines. The point is that you may be
trying to
prevent your users from sharing logins. In which case the file thing won't
do it.
Some other ideas:
1. You could, however, enforce one application per machine using the
installed partition agent's ExecutingPartition instrument name. As long as
the user doesn't run the app in a different environment, you can have the
app check at startup time if there is another
ActivePartition running under the same InstalledPartition name.
(ActivePartitions are child agents
of InstalledPartitions).
2. use the ObjectLocationManager and bind a simple object into the naming
system using a naming scheme such as
/MyApplication/MyNode or
/MyApplication/MyUserId
the presence of either one would indicate that another instance of that
application is running on either that machine or that user. Of course
these have to be cleaned out, and subject to similar downside as
alternative #1. So you'd essentially be using the forte naming system as a
distributed lock manager (ouch).
3. Have the application remove the shortcut to launch it upon startup, and
recreate it when it is finished, or move it to a hidden place. There it
is - the worst idea I've ever come up with. Don't
do this!
Regards,
John
From: Curtis Bragdon <[email protected]>
Date: Wed, 18 Feb 1998 16:36:58 -0500
Subject: Re: How do I keep an application from being started more than
once?
Here are some quick ideas. None of them should be too hard to implement,
although each has some drawbacks.
1. Have a login server track who is logged on, and if there is already a
logon for a given user or a given machine, then deny the application
startup. The nice thing about this is that a user will not be able to have
multiple logins even by going to another machine. Then again, this may not
be so nice, and you also get a possible single point of failure on the
login server for which you will have to prepare.
2. Drop to the operating system, and get a list of processes for the client
machine. If the name of one of them matches the name of application that
is being run, then deny startup. This avoids a network hit, but requires
some OS specific code. Also, a clever user could change the name of an
executable to get around this. Note that a user could have another login
on another machine.
3. Write to a file on the local machine. You can hide the file in some
suitable place, and can also scramble some information so that a user
cannot get around having this file present by reading from the file at
startup and then writing to it. Based on the state of your application,
the file will have some scrambled information indicating if an instance of
an application can be started. If you retain the write lock (i.e. do not
close) the file for the duration of the application, you increase your
security at the risk of a confused user if the application gets terminated
without releasing the lock. Depending on the OS where the client will run,
this could be an issue. If you like this option, perform some experiments
first on all configurations of an example client machine to determine the
behavior. Again, this only works to prevent an extra login on a single
machine, not system wide.
If you are not concerned about your users hacking around too much and don't
care about a login on another machine, I would opt for some version of
number 3. Otherwise, I would venture number 1.
Regards
CSB
At 07:47 AM 2/18/98 -0500, Martin G Nystrom wrote:
A user can launch an application, then launch it again. How do we make itso
that the user can only run one instance of the application?
Martin Nystrom
Eli Lilly and Company
([email protected])
Curtis Bragdon, Senior Consultant, Forte Software
[email protected]
Voice Mail: (510) 986-3807
Paging: (888) 687-6723
"I've seen dozens of triggering towns." - Richard Hugo
John Jamison
Vice President of Technology
Sage IT Partners, Inc.
415 392 7243 x 306
[email protected] -
HT1338 how i can uninstall an application from my mac book pro
how i can uninstall an application from my mac book pro ?
You can run the applications uninstaller, if it has one. Or you can open the Applications folder (Finder Sidebar) and drag the application to the Trash Bin.
-
How to call a VB application from Java
Hi,
does anybody know how to call a VB application from java.
Would appreciate if you can provide me with an example.
thankstry exec()ing the cad program with the name of the file as a command line parameter...
Runtime.getRuntime().exec("CADProg.exe Test.prt");
i have no clue if this will work but it seems like it's worth a try. -
How to run an "Automator" application at regular time intervals
I would like to find out how to run an "Automator" application at regular time intervals, say at every 5 minutes.
Is there any program, AppleScript or any method to do this?
I would very much appreciate a help.
Suwansave your workflow as an ical plugin, this will automatically insert the workflow into ical,and create a workflow category for it, then just set to repeat every 5 minutes, or save as an APP and use a program called CRONIX (freeware) to run the schedule.
Maybe you are looking for
-
Ipod Nano 7th generation touch interface is now screwed with due to apple update.
Hi, I recently purchased a new laptop switching over from a macbook pro 2010 of which the logicboard died. In this newly configured windows 7 64 bit laptop I downloaded the latest itunes. I then connected my ipod nano 7th generation to it and it requ
-
My Imac is locked with apple symbol and loading sign, how i do fix this?
my iMac is locked with apple symbol and loading sing since last night, how i do fix this?
-
I shut off in app purchases but when I try to get one it still comes on and I don't want it to
I shut off the in app purchases because my grand children uses my ipod sometimes and I don't want them to download an in app purchase. I just upgrade my ipod and when I try to get an in app purchase it lets me. How can I keep it from letting me.
-
ABAP in general with SD and MM
Hi, 1) what does it mean by "creating a BDC program for 'Open Sales Order' to update records in the sales order screen" and how to do it? 2)How do you find out whether a Sales order is open or confirmed and where do you place the open order?? 3)What
-
About to put EHP4 onto ECC 6 - are EHP's for other SAP systems required?
Hi All, In our landscape we have ECC 6, Solution Manager, SRM, BI and Portal. we are about to start a project to put EHP4 onto the ECC 6 system, as a pre-requisite to this we are also putting EHP1 onto our Solution Manager system. I have been told t