Adaptive RFC and Locking Objects from WD Java
Hi,
There are some pieces of information available on this subject but no coherent and easy to follow "manual". Also some questions remain.
I'd rate this a very important, i.e. "business critical" problem. Therefore I would appreciate your help to get things sorted in this thread.
So let's start with a summary of what I think I understood so far (corrections welcome!):
- You can call RFCs from WebDynpro and locking will work (on the ABAP side).
- Once you release your JCo connection the locks will be released, though.
- Therefore, to keep a lock in between requests you have to keep the connection.
- You can keep the connection by passing WDModelScopeType.APPLICATION_SCOPE or WDModelScopeType.COMPONENT_SCOPE to the constructor of the model class.
- You can lookup the default scope for a model using
WDModelScopeType defaultScope = WDModelFactory.lookupDefaultScopeForModel((Class) modelClazz);
Now suppose you have many users, each holding some locks.
Would you not easily run out of JCo connections? On the other hand by default WebDynpro RFC Models seem to keep a connection per application instance (= user session).
Using WDModelScopeType: Do you really need to code this or can you just configure this during design time for the deployment?
blog=/pub/wlg/1061 claims the default is APPLICATION_SCOPE.
Will connections (and thus locks) be released automatically on an HttpSession timeout? I guess so because this means the end of the application and therefore end of scope WDModelScopeType.APPLICATION_SCOPE and WDModelScopeType.COMPONENT_SCOPE.
I'm also not clear about this:
/people/sap.user72/blog/2005/01/08/adaptive-rfc-models-in-web-dynprosome-pointers
"But to ensure that the record remains locked it is necessary reserve the connection that was used for locking and be made unavailable for other models and also the connection should remain open as long as the lifetime of the screen. This becomes similar to locking records through SAP Gui . This can be easily achieved by having separate models for locking RFCs defined with APPLICATION_SCOPE and isolating its connection by not grouping with other model objects."
What does "reserve the connection" mean?
Suppose you lock some object and afterwards want to allow the user to request more information about this or other objects.
Would you need to use a different connection for that?
Suppose you want to lock two objects.
Would you need to use two different connections for that?
Suppose you want to edit both objects and save the changes inside one transaction (with atomicity). A transaction normally is associated with a single connection (unless XA protocol is used). So how would this work?
What will cause the locks to be released?
- Application expiration (timeout)
- RFC that explicitely releases locks
- Transaction commit/rollback (?)
Reference:
I found some of the information and further pointers in the blog mentioned above and here:
Disconnect method
Looking forward to your replies
Markus
Message was edited by: Markus Wissmann
Another thread with the same topic and no final answers:
Handling object locking in R/3 from WD through RFC
Message was edited by: Markus Wissmann
Hi,
This for If you send destination params are different u sent it thru URL param only.
For that u need generate URL by using the application .
For that purpose u need to create two applications u can call the first application in second application u can create URL and send Destination params with URL only.
Other wise u can create the par file that would be configured in portal and thru worksets u can pass the params like u mention the destinations.
Or at the time generationg URLS only u can add the destination names.
Thanks,
Lohi.
Similar Messages
-
Use of Adaptive RFC and locking
Hello,
I am using an adaptive RFC model inside a Web Dynpro Application to maintain data residing on a SAP Enterprise system.
This RFC also sets a lock in order to make sure nobody else tries to change the same data.
I use pessimistic locking which means:
1. Web Dynpro calls a RFC
2. The RFC first locks the data then reads the data and returns the result back to Web Dynpro
3. The user changes the data and presses a save button
4. Web Dynpro calls the RFC to write and unlock the data
The problem i have is the fact that after locking and reading of the data the RFC is ended and the data is received by the Web Dynpro App. But at the same moment the lock is automatically unlocked because the RFC has ended succesfully.
How can i achieve that the lock is still there at the moment i want to change the data or is this procedure of pessimistic locking not possible?
BertilHi,
Whether possible or not : Don't know. Probably not with RFCs.
More importantly, shall you do it? If it is transactional data you are updating , you may wish to consider concurrency issues (what if you locked and came to web dynpro, and user is thinking whether he shall take a coffee break first before pressing the 'Save'. Would you like to keep this record(s) locked and unavailable for the entire duration?)
Normally, you would read the data in the first call, let the user update it on the second screen, and then, when the user presses save, execute in sequence :-
- try locking the record,
- if locking is successful, Verify whether the record you read has changed in the meanwhile or not (verify what you have in your workarea(before changes done by user) is the same as in DB, by reading again from the DB)
- If above check is successful, go ahead with the update else throw an error message to the user to redo the txn
- unlock, exit
hope this helps,
cheers,
Ajay -
Problem with return a ColdFusion query object from a Java class
Hi!
I need to return a ColdFusion query object from a Java class
using a JDBC result set ( java.sql.ResultSet);
I have tried to pass my JDBC result set in to the constructor
of the coldfusion.sql.QueryTable class with this code:
ColdFusion code
<cfset pra = createObject("java","QueryUtil").init()>
<cfset newQuery = CreateObject("java",
"coldfusion.sql.QueryTable")>
<cfset newQuery.init( pra.getColdFusionQuery () ) >
My java class execute a query to db and return QueryTable
Java code (QueryUtil.java)
import coldfusion.sql.QueryTable; // (CFusion.jar for class
QueryTable)
import com.allaire.cfx //(cfx.jar for class Query used from
QueryTable)
public class QueryUtil
public static coldfusion.sql.QueryTable
getColdFusionQuery(java.sql.ResultSet rs)
return new coldfusion.sql.QueryTable(rs);
but when i run cfm page and coldfusion server tries to
execute : "<cfset pra =
createObject("java","QueryUtil").init()>" this error appears:
Object Instantiation Exception.
An exception occurred when instantiating a java object. The
cause of this exception was that: coldfusion/sql/QueryTable.
If i try to execute QueryUtil.java with Eclipse all it works.
Also I have tried to return java.sql.ResultSet directly to
coldfusion.sql.QueryTable.init () with failure.
Do you know some other solution?ok
i print all my code
pratica.java execute a query to db and return a querytable
java class
import java.util.*;
import java.sql.*;
import coldfusion.sql.*;
public class Pratica {
private HashMap my;
private String URI,LOGIN,PWD,DRIVER;
private Connection conn=null;
//funzione init
//riceve due strutture converite in hashmap
// globals
// dbprop
public Pratica(HashMap globals,HashMap dbprop) {
my = new HashMap();
my.put("GLOBALS",globals);
my.put("DBPROP",dbprop);
URI = "jdbc:sqlserver://it-bra-s0016;databaseName=nmobl";
LOGIN = "usr_dev";
PWD = "developer";
DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
try{
// Carico il driver JDBC per la connessione con il database
MySQL
Class.forName(DRIVER);
/* Connessione alla base di dati */
conn=DriverManager.getConnection(URI,LOGIN,PWD);
if(conn!=null) System.out.println("Connection Successful!");
} catch (ClassNotFoundException e) {
// Could not find the database driver
System.out.print("\ndriver non trovato "+e.getMessage());
System.out.flush();
catch (SQLException e) {
// Could not connect to the database
System.out.print("\nConnessione fallita "+e.getMessage());
System.out.flush();
//funzione search
//riceve un hash map con i filtri di ricerca
public QueryTable search(/*HashMap arg*/) {
ResultSet rs=null;
Statement stmt=null;
QueryTable ret=null;
String query="SELECT * FROM TAN100pratiche";
try{
stmt = conn.createStatement();// Creo lo Statement per
l'esecuzione della query
rs=stmt.executeQuery(query);
// while (rs.next()) {
// System.out.println(rs.getString("descrizione"));
catch (Exception e) {
e.printStackTrace();
try {
ret = Pratica.RsToQueryTable(rs);
} catch (SQLException e) {
e.printStackTrace();
this.close();
return(ret);
// ret=this.RsToQuery(rs);
// this.close(); //chiude le connessioni,recordset e
statament
//retstruct CF vede HashMap come struct
//METODO DI TEST
public HashMap retstruct(){
return(my);
//conversione resultset to querytable
private static QueryTable RsToQueryTable(ResultSet rs)
throws SQLException{
return new QueryTable(rs);
//chiura resultset statament e connessione
private void close(){
try{
conn.close();
conn=null;
catch (Exception e) {
e.printStackTrace();
coldfusion code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<html>
<head>
<title>Test JDBC CFML Using CFScript</title>
</head>
<body>
<cftry>
<cfset glb_map =
createObject("java","java.util.HashMap")>
<cfset dbprop_map =
createObject("java","java.util.HashMap")>
<cfset glb_map.init(glb)> <!---are passed from
another page--->
<cfset dbprop_map.init(glb["DBPROP"])>
<cfset pra =
createObject("java","Pratica").init(glb_map,dbprop_map)>
<cfset ourQuery
=createObject("java","coldfusion.sql.QueryTable").init(pra.search())>
<cfcatch>
<h2>Error - info below</h2>
<cfdump var="#cfcatch#"><cfabort>
</cfcatch>
</cftry>
<h2>Success - statement dumped below</h2>
<cfdump var="#ourQuery#">
</body>
</html>
error at line <cfset pra =
createObject("java","Pratica").init(glb_map,dbprop_map)>
An exception occurred when instantiating a java object. The
cause of this exception was that: coldfusion/sql/QueryTable.
----------------------------------------------------------------------- -
Difference between Adaptive RFC and Adaptive RFC2 model
Hi,
What is the difference between Adaptive RFC and Adaptive RFC2 model ?
Regards,
Sunaina Reddy THi
Main difference are
1.JCo 3.0 to connect to SAP Systems
2.Improved connection management
3.Faster performance
4.Lower memory consumption
5.SystemLandscape API is no longer needed
6.Compatible to ARFC1 to allow easy migration
Check the thread for further input
1.[Whatu2019s New in Web Dynpro Java?|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8062c7d3-c86f-2b10-4894-a9a323da20b3]
Best Regards
Satish Kumar -
Looking for a beginner guide - Adaptive RFC call BAPI in Web Dynpro Java
Hi,
im new in SAP Developeing. I developed some basic web Dynpro applications (after some tutorials) and they are all working.
Now i want to build an Web Dynpro application with an adaptive RFC Model.
I already imported the adaptive RFC Modell with a function Model (BAPI Z_...) from the R3 System successfully.
But if i deploy the application i will get following error:
com.sap.tc.webdynpro.services.exceptions.TypeNotFoundException: type extern:mypackages.com.types.BapiModel:mypackages.com.types.Zmbs_Bapi_Dispo_Orderdata could not be loaded: com.sap.dictionary.runtime.DdException: TypeBroker failed to access SLD: Error while obtaining JCO connection.
at com.sap.tc.webdynpro.services.datatypes.core.DataTypeBroker.getStructure(DataTypeBroker.java:305)
at com.sap.tc.webdynpro.progmodel.context.DataNodeInfo.doInit(DataNodeInfo.java:234)
at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:671)
at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:674)
at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:674)
at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:674)
at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:40)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
at com.sap.tc.webdynpro.progmodel.controller.Component.getCustomControllerInternal(Component.java:449)
at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:387)
at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:416)
at com.sap.tc.webdynpro.progmodel.context.MappingInfo.getDataNode(MappingInfo.java:83)
at com.sap.tc.webdynpro.progmodel.context.MappingInfo.initMapping(MappingInfo.java:125)
at com.sap.tc.webdynpro.progmodel.context.MappingInfo.init(MappingInfo.java:121)
at com.sap.tc.webdynpro.progmodel.context.MappedNodeInfo.doInit(MappedNodeInfo.java:215)
at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:671)
at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:674)
at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:40)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:709)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:579)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:155)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.doOpen(WebDynproWindow.java:295)
at com.sap.tc.webdynpro.clientserver.window.ApplicationWindow.show(ApplicationWindow.java:183)
at com.sap.tc.webdynpro.clientserver.window.ApplicationWindow.open(ApplicationWindow.java:178)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:364)
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(Native Method)
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.sap.dictionary.runtime.DdException: TypeBroker failed to access SLD: Error while obtaining JCO connection.
at com.sap.tc.webdynpro.services.datatypes.core.DataTypeBroker$1.fillSldConnection(DataTypeBroker.java:90)
at com.sap.dictionary.runtime.ProviderFactory.internalResolveLogicalNameToJCODestination(ProviderFactory.java:377)
at com.sap.dictionary.runtime.ProviderFactory.resolveLogicalNameToJCODestination(ProviderFactory.java:322)
at com.sap.dictionary.runtime.ProviderFactory.internalGetProvider(ProviderFactory.java:181)
at com.sap.dictionary.runtime.ProviderFactory.getProvider(ProviderFactory.java:146)
at com.sap.dictionary.runtime.DdDictionaryPool.getProvider(DdDictionaryPool.java:97)
at com.sap.dictionary.runtime.DdDictionaryPool.getDictionary(DdDictionaryPool.java:79)
at com.sap.dictionary.runtime.DdDictionaryPool.getDictionary(DdDictionaryPool.java:48)
at com.sap.dictionary.runtime.DdBroker.getDataType(DdBroker.java:149)
at com.sap.dictionary.runtime.DdBroker.getStructure(DdBroker.java:180)
at com.sap.tc.webdynpro.services.datatypes.core.DataTypeBroker.getStructure(DataTypeBroker.java:303)
... 49 more
Caused by: com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscapeException: Error while obtaining JCO connection.
at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getJCOClientConnection(SystemLandscapeFactory.java:152)
at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getJCOClientConnectionUnMapped(SystemLandscapeFactory.java:178)
at com.sap.tc.webdynpro.services.sal.sl.core.SystemLandscapeInternal.getJCOClientConnectionUnMapped(SystemLandscapeInternal.java:62)
at com.sap.tc.webdynpro.services.datatypes.core.DataTypeBroker$1.fillSldConnection(DataTypeBroker.java:77)
... 59 more
Caused by: com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to load client to connect to SLD. Please check your SLD connection settings using the Visual Admin.
at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory$1.run(SystemLandscapeFactory.java:754)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getClient(SystemLandscapeFactory.java:747)
at com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.readJCODestinationFromSLD(JCOClientConnection.java:511)
at com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter(JCOClientConnection.java:439)
at com.sap.tc.webdynpro.serverimpl.core.sl.AbstractJCOClientConnection.init(AbstractJCOClientConnection.java:233)
at com.sap.tc.webdynpro.serverimpl.core.sl.AbstractJCOClientConnection.<init>(AbstractJCOClientConnection.java:218)
at com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.<init>(JCOClientConnection.java:129)
at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getJCOClientConnection(SystemLandscapeFactory.java:150)
... 62 more
Caused by: com.sap.sldserv.exception.SldServiceRuntimeException: Failed to create CIM client. Check via 'Visual Administrator' tool if the secure store is operational.
at com.sap.sldserv.SldApplicationService.getCimClient(SldApplicationService.java:117)
at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory$1.run(SystemLandscapeFactory.java:751)
... 70 more
Caused by: com.sap.lcr.api.cimclient.CIMClientException: java.net.MalformedURLException: URL must have a host part
at com.sap.lcr.api.cimclient.ClientFactory.createConnection(ClientFactory.java:466)
at com.sap.lcr.api.cimclient.ClientFactory.createClientImpl(ClientFactory.java:413)
at com.sap.lcr.api.cimclient.ClientFactory.createClient(ClientFactory.java:363)
at com.sap.sldserv.SldApplicationService.getCimClient(SldApplicationService.java:113)
... 71 more
........Looks like a have a Problem with JCO.
Is there a good guide, which explains the Basic steps in developeing Web dynpro applications and BAPI ?!thank you guys for all the answers.I have to read all the documentations.
to my szenario:
I installed on my notebook the Trial Versions of:
SAP NetWeaver Application Server 7.00/Java AS 7.00
SAP NetWeaver Developer Studio Version: 7.0.14
All my basic Web Dynpro Applications in Java are running (even with Adobe Interactive Forms) on the local NetWeaver Trail- Web AS Trail perfectly.
Now i want to connect per RFC to another SAPERP Server, which is in the intranet.
I did the whole RFC tutorial with the flights -
http://help.sap.com/saphelp_nw04/helpdata/en/c3/76b45d9688e04abe1a1070410ddc1e/content.htm (also with the JCO codeing etc)
so my web dynpro application should work.
I think I have to configure - like ramesh said something on the NetWeaver Trail.
So what do i need and configure excactly on my Netweaver Trial to work with RFC - to call the BAPIS in the other System?
- SLD ? JCO ?
If i over Web Dynpro - Content Administrator - >
it says "Connection to System Landscape Directory (SLD) could not be opended successfully." and all the buttons
create Jco destinations etc. are greyed out.
I didn´t configured the SLD and JCO in the Netweaver yet. -
What is adaptive RFC and How to Use it
hi friends
what is the adaptive RFC
what is the use of it
how we can use it
explain me anyone
and send pdf also
thanks
ramu.Hi,
To give u a brief idea.
rfcs are used to call data from the backend that is R/3.We use the Bapis from the R/3 system which have some pre defined functionality and data is populated in the correspoding ui elements in webdynpro interface.earlier Rfcs were used but now we have adaptive rfcs in which
if there are changes in the backend(R/3 system) such as changes in the datatype,structures,fields would be automatically be refllected in the rfcs and there would be no errors in web dyn pro even if there is a change in the back end
to be more specific folow this link
http://help.sap.com/saphelp_nw70/helpdata/EN/41/38bc8f813719488ddc9d9b21251ec3/frameset.htm
and try out this application
to use the rfcs firstly check out this document for configurations
Important Configurations for Calling ABAP Function from Java Web Dynpro Application
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e07753b9-fa0c-2a10-64a8-c6754c45396e
heres the application.
Creating a Web Dynpro Application Accessing ABAP Functions
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/355b9c90-0201-0010-d2a8-89fece426526
regards
Nikhil Tapkir -
What is the diffrence between BAPI and RFC and business object
Hi Experts,
Can anybody tel me what is the diffrence between RFC and BAPI , and also what is ther relation with business object?
Thanx in advance.
Nilesh HiwaleHi,
BAPI's are associated with Business Objects and also they are RFC enabled.
But RFC's are the FM's which can be called from external systems, those FM's can be used in many places based on the applications..
Check these Links
whats the difference between BAPI and RFC??
Diff. Between BAPI and RFC
Regards
Kiran -
Retrieving a UDT object from a Java Stored Procedure
I am really having trouble returning a UDT object (AttributeUDT) from a Java stored procedure. I am using Oracle 8.1.6 and JDeveloper 3.2.2. I have successfully used JPublisher to create the Java source code files for my UDT, now I would like to use that in coordination with my Java stored procedure. I've loaded the Java stored procedure into the database using the Deployment option in JDeveloper. However, when it loads the procedure, it translates the 3rd parameter to an OBJECT type, thus making the stored procedure invalid. I can use SQL Navigator to correct the package by changing the OBJECT reference to AttributeUDT (my UDT data type). Unfortunately, my Java stored procedure still does not work. Any help would be greatly appreciated! Thanks in advance for your time!
In the example below, could anyone please tell me:
1. How do I register the OUT variable for the UDT?
2. Is it correct to use the casted call to getObject to retrieve my UDT object?
3. Is it valid to use the UDT data type in the java stored procedure method signature?
The call to the Java stored procedure:
OracleCallableStatement cs3 = (OracleCallableStatement)conn.prepareCall( "{ call sandbox.getQualifiersV3( ?, ?, ?) }");
cs3.registerOutParameter( 1, Types.VARCHAR);
cs3.registerOutParameter( 2, Types.VARCHAR);
cs3.registerOutParameter( 3, ???????);
cs3.execute();
System.out.println( "ID: " + cs3.getString( 1));
System.out.println( "Prompt: " + cs3.getString( 2));
AttributeUDT attributes = (AttributeUDT)cs3.getObject( 3);
System.out.println( "Table id: " + attributes.getLogicalTableId());
System.out.println( "Element id: " + attributes.getElementId());
cs3.close();
===========================================
The Java stored procedure:
public static void getQualifiersV3( String ids[], String prompts[],
AttributeUDT attributes[]) throws SQLException {
OracleConnection conn = (OracleConnection)new OracleDriver().defaultConnection();
Statement stmt = conn.createStatement();
OracleResultSet rs = (OracleResultSet)stmt.executeQuery(
"SELECT * "
+ "FROM VPS_ABOK_QUALIFIERS "
+ "WHERE qualifier_id = 2001");
rs.next();
ids[0] = rs.getString( 1);
prompts[0] = rs.getString( 2);
attributes[0] = (AttributeUDT)rs.getCustomDatum( 3, AttributeUDT.getFactory());
rs.close();
stmt.close();
nullSounds like your C2 REF TYP1 attribute may be null. Unfortunately you neglected to say where in your code the NullPointerException occurs.
-
Transportaion and Lock Objects
Hi...
While transporting objects what are all the problems we may get and list some problems what you came across while transporting an objects.
What are all Lock obects how they will be created and how to unlock the objects...?
Please give step step procedure.
Thanx in Advance.
Vasu.hi Vasu,
most common problem in transporting objects is the dependency objects are not transported yet in qa/production system, the other the objects change directly in qa/production, hence it's lock in request.
lock objects happened when the objects are included in transport request (manual or object change), we can unlock the objects by release the request, or delete certain object individually from the request.
take a look following about transport.
hope this helps.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3010ba90-0201-0010-2896-e58547c6757e
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e883de94-0501-0010-7d95-de5ffa503a86
http://help.sap.com/saphelp_nw2004s/helpdata/en/b5/1d733b73a8f706e10000000a11402f/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/57/38e1824eb711d182bf0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/0b/5ee7377a98c17fe10000009b38f842/frameset.htm -
Adaptive RFC and multiple systems; Mapping JCO_DESTINATIONS by code?
Hi,
I have just learned <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/82/76a2406546ba15e10000000a1550b0/frameset.htm">here</a> that I can access several R/3 systems with the adaptive RFC model by using URL parameters like:
http://<hostname>:<port>/webdynpro/dispatcher/local/ESSProject/ESSApp?
<b>sap-wd-arfc-useSys=WD_MODELDATA_DEST:ABC&
sap-wd-arfc-useSys=WD_RFC_METADATA_DEST:ABC</b>
The parameters are a mapping of the original JCO_DESTINATION (WD_MODELDATA_DEST) called by the WebDynpro application to the target system which instead should be called (WD_MODELDATA_DESTABC).
Does someone know wheather this mapping can be done by java coding? For example before the execute method will be called.
Best regards,
MarcusHi,
This for If you send destination params are different u sent it thru URL param only.
For that u need generate URL by using the application .
For that purpose u need to create two applications u can call the first application in second application u can create URL and send Destination params with URL only.
Other wise u can create the par file that would be configured in portal and thru worksets u can pass the params like u mention the destinations.
Or at the time generationg URLS only u can add the destination names.
Thanks,
Lohi. -
Adapter medata and Configuration object transfer
Hello,
I have noticed that when transfering Configuation objects from one XI system to another XI system all communication channel metadata are lost.
I have not found a way to preserve these metadata.
I am wondering if there is a way to do this.
Is this issue in anyway connected with the Adapter Objects > Communication Channel Templates in Desing?
Thanks in advance,
DimitrisThanks,
I guess it depends on the number and type of ComChan.
Redoing - copy & paste - file conversion adapters is something that i would rather avoid.
One would have to redo tests just to make sure that the adapters are working fine.
Thanks again for you responses.
Dimitris -
Web Dynpro with Adaptive RFC and "complex" ABAP Structures
Hi there,
I'm calling an RFC that returns a table with a "complex" structure, i.e. a structure with nested structures and tables. The issue I am having is that I would like to loop over that table and extract the relevant attributes from each row (i.e. attributes of the structure itself or of the nested structures or attributes of records of the nested tables), I however don't understand how.
My first attempt looks as follows
for(int i = 0; i < wdContext.node<<tab>>().size(); i++) {
IPrivate<<view>>.I<<tab>>Element x =
wdContext.node<<tab>>().get<<tab>>ElementAt(i);
However "x" doesn't seem to have the getter methods for the nested tables in question?
Help would be greatly appreciated.
Regards, Chris.Hi,
If you are using model node binding over adaptive RFC model all nested structures / tables becomes sub-nodes rather then attributes.
VS -
How to have an Oracle procedure send and receive value from a java program.
The below procedure is place inside a package. This procedure "get_extract_ready_headers " is selecting columns store_number, terminal_number, tran_number, tran_date, cust_id from the source REX_HEAD_EXTRACT table. This information is selected into a ref cursor. The data has cust_id field which is encrypted. How do I modify the procedure get_extract_ready_headers and accomplish 2 things?
1. Make this procedure to read the "cust_id" value from the source table and send the value to a Java program "getheaderinfo" (this java program decrypts the cust_id field).
2. When we get the unencrypted value back from the Java program, make the procedure accept this decrypted value and use it to update CUST_ID value in the target table TRAN_HEAD table. I am using Oracle 11.2.0.2, and TOAD 10.5.1.3.
-- Procedural code
PROCEDURE get_extract_ready_headers (p_records OUT SYS_REFCURSOR)
IS
BEGIN
OPEN p_records FOR
SELECT store_number, terminal_number, tran_number, tran_date, cust_id FROM REX_HEAD_EXTRACT;
END;--Table Structure for source table REX_HEAD_EXTRACT
CREATE TABLE REX_HEAD_EXTRACT
REX_SEQ_NBR NUMBER(20),
REVISION_NUMBER NUMBER,
DAY NUMBER(3),
RESA_TRAN_SEQ_NO NUMBER(20),
BUSINESS_DATE DATE,
TRAN_SEQ_NBR NUMBER(12),
ORG_NUMBER NUMBER,
STORE_NUMBER NUMBER,
TRAN_DATE DATE,
TERMINAL_NUMBER NUMBER,
TRAN_NUMBER NUMBER,
TRAN_TIME DATE,
BATCH_NUMBER VARCHAR2(8 BYTE),
BATCH_TYPE VARCHAR2(4 BYTE),
TRAN_TYPE VARCHAR2(4 BYTE),
SUB_TRAN_TYPE VARCHAR2(4 BYTE),
CLERK_CODE VARCHAR2(15 BYTE),
TRAN_TAXABLE_AMOUNT NUMBER(12,2),
TRAN_TAX_TOTAL NUMBER(12,2),
TRAN_GROSS_TOTAL NUMBER(12,2),
COUP_TOTAL NUMBER(9,2),
MKD_TOTAL NUMBER(9,2),
EMPLOYEE_NUMBER VARCHAR2(15 BYTE),
EMPLOYEE_NAME VARCHAR2(40 BYTE),
TRAN_ALTTAXABLE_AMOUNT NUMBER(12,2),
TRAN_ALTTAX_TOTAL NUMBER(12,2),
SALE_AMOUNT NUMBER(9,2),
RETURN_AMOUNT NUMBER(9,2),
RETURNED_AMOUNT NUMBER(9,2),
NETCASH NUMBER(12,2),
TENDER_CODE VARCHAR2(4 BYTE),
MULT_RCPT VARCHAR2(1 BYTE),
SPLIT_TENDER VARCHAR2(1 BYTE),
RTN_WITH_PURCHASE VARCHAR2(1 BYTE),
RTN_WITH_RCPT VARCHAR2(1 BYTE),
REASON_CODE VARCHAR2(4 BYTE),
PASSWORD VARCHAR2(10 BYTE),
RINGTIME DATE,
CUST_NUMBER VARCHAR2(12 BYTE),
CUST_ID VARCHAR2(50 BYTE),
ZIP_CODE NUMBER,
POSTAL_CODE VARCHAR2(9 BYTE),
PV_TIME_LAPSE NUMBER,
ORIG_STORE_NBR NUMBER,
ORIG_TRAN_DATE DATE,
ORIG_TRAN_TYPE VARCHAR2(4 BYTE),
ORIG_TERM_NBR NUMBER,
ORIG_TRAN_NBR NUMBER,
ORIG_SALE_AMT NUMBER(12,2),
ORIG_TENDER_CODE VARCHAR2(4 BYTE),
ORIG_CLERK_CODE VARCHAR2(15 BYTE),
PREV_TRAN_TYPE VARCHAR2(4 BYTE),
PREV_SUB_TRAN_TYPE VARCHAR2(4 BYTE),
GIFT_REGISTRY_ID VARCHAR2(25 BYTE),
NO_OF_ITEMS NUMBER,
TAX_EXEMPT_ID VARCHAR2(18 BYTE),
TRAN_RINGTIME NUMBER,
AUDITED VARCHAR2(1 BYTE),
BATCH_VERSION NUMBER(9,2),
BATCH_SOURCE VARCHAR2(5 BYTE),
CREATE_DATE DATE,
CREATE_ID VARCHAR2(32 BYTE),
CREATE_PROC VARCHAR2(32 BYTE),
MOD_DATE DATE,
MOD_ID VARCHAR2(32 BYTE),
MOD_PROC VARCHAR2(32 BYTE),
TERMINAL_GROUP NUMBER,
USER_DEF_1 NUMBER,
USER_DEF_2 NUMBER,
USER_DEF_3 NUMBER,
USER_DEF_4 NUMBER(12,2),
USER_DEF_5 NUMBER(12,2),
USER_DEF_6 NUMBER(12,2),
USER_DEF_7 VARCHAR2(50 BYTE),
USER_DEF_8 VARCHAR2(50 BYTE),
USER_DEF_9 VARCHAR2(50 BYTE),
MANAGER_NUMBER VARCHAR2(15 BYTE),
MANAGER_REASON_CODE VARCHAR2(10 BYTE),
MANAGER_SWIPED VARCHAR2(1 BYTE),
PHONE_NO NUMBER(11),
KCPOS_KTH_USER_101 NUMBER,
KCPOS_KTH_USER_102 NUMBER,
KCPOS_KTH_USER_103 NUMBER,
KCPOS_KTH_USER_104 NUMBER,
KCPOS_KTH_USER_105 NUMBER,
KCPOS_KTH_USER_106 NUMBER,
KCPOS_KTH_USER_107 NUMBER,
KCPOS_KTH_USER_108 NUMBER,
KCPOS_KTH_USER_109 NUMBER,
KCPOS_KTH_USER_110 NUMBER,
KCPOS_KTH_USER_201 NUMBER(12,2),
KCPOS_KTH_USER_202 NUMBER(12,2),
KCPOS_KTH_USER_203 NUMBER(12,2),
KCPOS_KTH_USER_204 NUMBER(12,2),
KCPOS_KTH_USER_205 NUMBER(12,2),
KCPOS_KTH_USER_206 NUMBER(12,2),
KCPOS_KTH_USER_207 NUMBER(12,2),
KCPOS_KTH_USER_208 NUMBER(12,2),
KCPOS_KTH_USER_209 NUMBER(12,2),
KCPOS_KTH_USER_210 NUMBER(12,2),
KCPOS_KTH_USER_301 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_302 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_303 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_304 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_305 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_306 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_307 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_308 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_309 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_310 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_401 DATE,
KCPOS_KTH_USER_402 DATE,
KCPOS_KTH_USER_403 DATE,
DISC_TOTAL NUMBER(9,2)
CREATE INDEX REX_HEAD_EXTRACT_NDX ON REX_HEAD_EXTRACT
(REX_SEQ_NBR, REVISION_NUMBER, STORE_NUMBER, TRAN_DATE, TERMINAL_NUMBER, TRAN_NUMBER)-- Create table DDL for target table TRAN_HEAD
CREATE TABLE NAVISTOR.KCPOS_TRAN_HEADER_BASE
TRAN_SEQ_NBR NUMBER(12),
ORG_NUMBER NUMBER,
STORE_NUMBER NUMBER,
TRAN_DATE DATE,
TERMINAL_NUMBER NUMBER,
TRAN_NUMBER NUMBER,
TRAN_TIME DATE,
BATCH_NUMBER VARCHAR2(8 BYTE),
BATCH_TYPE VARCHAR2(4 BYTE),
TRAN_TYPE VARCHAR2(4 BYTE),
SUB_TRAN_TYPE VARCHAR2(4 BYTE),
CLERK_CODE VARCHAR2(15 BYTE) NOT NULL,
TRAN_TAXABLE_AMOUNT NUMBER(12,2),
TRAN_TAX_TOTAL NUMBER(12,2),
TRAN_GROSS_TOTAL NUMBER(12,2),
COUP_TOTAL NUMBER(9,2),
MKD_TOTAL NUMBER(9,2),
EMPLOYEE_NUMBER VARCHAR2(15 BYTE),
EMPLOYEE_NAME VARCHAR2(40 BYTE),
TRAN_ALTTAXABLE_AMOUNT NUMBER(12,2),
TRAN_ALTTAX_TOTAL NUMBER(12,2),
SALE_AMOUNT NUMBER(9,2),
RETURN_AMOUNT NUMBER(9,2),
RETURNED_AMOUNT NUMBER(9,2),
NETCASH NUMBER(12,2),
TENDER_CODE VARCHAR2(4 BYTE),
MULT_RCPT VARCHAR2(1 BYTE),
SPLIT_TENDER VARCHAR2(1 BYTE),
RTN_WITH_PURCHASE VARCHAR2(1 BYTE),
RTN_WITH_RCPT VARCHAR2(1 BYTE),
REASON_CODE VARCHAR2(4 BYTE),
PASSWORD VARCHAR2(10 BYTE),
RINGTIME DATE,
CUST_NUMBER VARCHAR2(12 BYTE),
CUST_ID VARCHAR2(50 BYTE) ENCRYPT USING 'AES256' NO SALT,
ZIP_CODE NUMBER,
POSTAL_CODE VARCHAR2(9 BYTE),
PV_TIME_LAPSE NUMBER,
ORIG_STORE_NBR NUMBER,
ORIG_TRAN_DATE DATE,
ORIG_TRAN_TYPE VARCHAR2(4 BYTE),
ORIG_TERM_NBR NUMBER,
ORIG_TRAN_NBR NUMBER,
ORIG_SALE_AMT NUMBER(12,2),
ORIG_TENDER_CODE VARCHAR2(4 BYTE),
ORIG_CLERK_CODE VARCHAR2(15 BYTE),
PREV_TRAN_TYPE VARCHAR2(4 BYTE),
PREV_SUB_TRAN_TYPE VARCHAR2(4 BYTE),
GIFT_REGISTRY_ID VARCHAR2(25 BYTE),
NO_OF_ITEMS NUMBER,
TAX_EXEMPT_ID VARCHAR2(18 BYTE),
TRAN_RINGTIME NUMBER,
AUDITED VARCHAR2(1 BYTE),
BATCH_VERSION NUMBER(9,2),
BATCH_SOURCE VARCHAR2(5 BYTE),
CREATE_DATE DATE,
CREATE_ID VARCHAR2(32 BYTE),
CREATE_PROC VARCHAR2(32 BYTE),
MOD_DATE DATE,
MOD_ID VARCHAR2(32 BYTE),
MOD_PROC VARCHAR2(32 BYTE),
TERMINAL_GROUP NUMBER,
USER_DEF_1 NUMBER,
USER_DEF_2 NUMBER,
USER_DEF_3 NUMBER,
USER_DEF_4 NUMBER(12,2),
USER_DEF_5 NUMBER(12,2),
USER_DEF_6 NUMBER(12,2),
USER_DEF_7 VARCHAR2(50 BYTE),
USER_DEF_8 VARCHAR2(50 BYTE),
USER_DEF_9 VARCHAR2(50 BYTE),
MANAGER_NUMBER VARCHAR2(15 BYTE),
MANAGER_REASON_CODE VARCHAR2(10 BYTE),
MANAGER_SWIPED VARCHAR2(1 BYTE),
PHONE_NO NUMBER(11),
KCPOS_KTH_USER_101 NUMBER,
KCPOS_KTH_USER_102 NUMBER,
KCPOS_KTH_USER_103 NUMBER,
KCPOS_KTH_USER_104 NUMBER,
KCPOS_KTH_USER_105 NUMBER,
KCPOS_KTH_USER_106 NUMBER,
KCPOS_KTH_USER_107 NUMBER,
KCPOS_KTH_USER_108 NUMBER,
KCPOS_KTH_USER_109 NUMBER,
KCPOS_KTH_USER_110 NUMBER,
KCPOS_KTH_USER_201 NUMBER(12,2),
KCPOS_KTH_USER_202 NUMBER(12,2),
KCPOS_KTH_USER_203 NUMBER(12,2),
KCPOS_KTH_USER_204 NUMBER(12,2),
KCPOS_KTH_USER_205 NUMBER(12,2),
KCPOS_KTH_USER_206 NUMBER(12,2),
KCPOS_KTH_USER_207 NUMBER(12,2),
KCPOS_KTH_USER_208 NUMBER(12,2),
KCPOS_KTH_USER_209 NUMBER(12,2),
KCPOS_KTH_USER_210 NUMBER(12,2),
KCPOS_KTH_USER_301 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_302 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_303 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_304 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_305 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_306 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_307 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_308 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_309 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_310 VARCHAR2(50 BYTE),
KCPOS_KTH_USER_401 DATE,
KCPOS_KTH_USER_402 DATE,
KCPOS_KTH_USER_403 DATE,
DISC_TOTAL NUMBER(9,2),
RTA_RTN_AUTCOD VARCHAR2(4 BYTE),
RTA_RTN_COMMID NUMBER,
RTA_RTN_EVNTID NUMBER,
RTA_RTN_QTY NUMBER,
RTA_RTN_RCPT_SCAN VARCHAR2(1 BYTE),
RTA_RTN_REFUND_AMT NUMBER(9,2),
RTA_RTN_TYPE_CODE VARCHAR2(4 BYTE),
RTA_RTN_WITH_RCPT VARCHAR2(1 BYTE),
RTA_RTN_COUNT INTEGER,
SDEDVAL1 VARCHAR2(50 BYTE)
)--sample data
REX_SEQ_NBR,REVISION_NUMBER,DAY,RESA_TRAN_SEQ_NO,BUSINESS_DATE,TRAN_SEQ_NBR,ORG_NUMBER,STORE_NUMBER,TRAN_DATE,TERMINAL_NUMBER,
TRAN_NUMBER,TRAN_TIME
478,1,11,12024005,6/11/2012,,1,692,6/11/2012,155,5,6/11/2012 12:57:17 PM,
479,1,11,12024006,6/11/2012,,1,692,6/11/2012,155,6,6/11/2012 2:01:51 PM,
480,1,11,12024007,6/11/2012,,1,692,6/11/2012,155,7,6/11/2012 2:47:10 PMAssuming that SomeJavePgm is a Java stored function (not a Java program running outside the database) and that it takes as a parameter whatever data type CUST_ID is in TABLE_A (hopefully RAW but potentially VARCHAR2) and returns a string, you would call it just as you would a PL/SQL stored function
INSERT INTO table_b( cust_id, <<other columns>> )
SELECT SomeJavaPgm( a.cust_id ), <<other columns>>
FROM table_a aIf SomeJavePgm is not a Java stored procedure, calling it from PL/SQL becomes much more complicated. You would need whatever machine hosts this program to expose an appropriate API (for example, a web service interface) that you could invoke via UTL_HTTP). You'd need to tell us what that API was, however.
Justin -
Best practice for saving and recalling objects from disk?
I've been using the OOP features of LabVIEW for various projects lately and one thing that I struggle with is a clean method to save and recall objects.
Most of my design schemes have consisted of a commanding objects which holds a collection of worker objects. Its a pretty simple model, but seems to work for some design problems. The commander and my interface talk to each other and the commander sends orders to his minions in order to get things done. For example, one parrent class might be called "Data Device Collection" and it has a property that is an array of "Data Device" objects.
The Data Device object is a parent class and its children consist of various data devices such as "DAQmx Device", "O-Scope Device", "RS-232 Device", etc.
When it comes to saving and loading data, the commanding class's "Save" or "Load" routine is called and at that time all of the minions' settings are saved or recalled from disk.
My save routine is more-or-less straight forward, although it still requires an overwriting "Save" and "Load" vi. Here is an example:
It isn't too bad in that it is pretty straight forward and simple and there also would be no changes to this if the data structure of the class changed at all. It also can save more generalized settings from it's parrent's class which is also a good feature. What I don't like is that it looks essentially the same for each child class, but I'm at a loss on an effective way to move the handling of the save routing into the parent class.
The load routine is more problematic for me. Here is an example:
Again, the desirability of moving this into the parent class would be awesome. But the biggest complaint here is that I can't maintain my dynamic dispatch input-output requirements because the object that I load is strictly typed. Instead I have to rely on reading the information from the loaded object and then writing that information to the object that exists on the dynamic dispatch wire. I also dislike that unlike my Save Routine, I will need to modify this VI if my data structure of my object changes.
Anyway, any input and insight would be great. I'm really tired of writing these same VIs over-and-over-and-over again, and am after a better way to take care of this in the parent class by keeping the code generalized but still maintain the ability to bring back the saved parameters of each of the children classes.
Thanks for your time.I'm with Ben. Don't rely on the current ability to serialize an object. Create a save method and implement some form of data persistence there. If you modify your class you might be disappointed when you cannot load objects you previously saved. It mostly works but as soon as you reset the version information in the class, you can no longer load the old objects. This is fine if you know how to avoid resetting the history. One thing that will do this is if you move the class into or out of a library. It becomes a new class with version 1.0.0 and it no longer recognizes the old objects.
[Edit: I see that you are just writing to a binary file. I'm not sure you can load older objects anyway using that method but I have never tried it.]
This will not help you right now but there are plans for a nice robust API for saving objects.
=====================
LabVIEW 2012 -
Transferring Voicemail and Locked texts from Samsung Alias 2 to iPhone 5
I am about to upgrade from a samsung alias 2 to an iPhone 5 and want to transfer voicemails and locked text messages over. Can anyone help me figure out how to do this?
ThanksYou can try bitpim to get your text messages off the old phone, but I don't know if they will transfer to the iphone. Verizon has a company that you can contact to transfer you voicemail messages to CD. There is a charge for the service though.
Maybe you are looking for
-
Park and Post for Down Payment Request (F-47)
SAP Gurus, We are having requirement for park and post in Down Payment Request (F-47). So that it is approved by an authoriser. Hence, Is it possible to workflow a down payment request to an authoriser for approval Please share with me options availa
-
Songs appear in "Album" view but not "Playlist" view--sync problem
I sync/drag songs from iTunes to my iPod manually. One album in particular shows up on my iPod when I view the list of songs by "Album," but when I view the list of songs by my Beatles "Playlist", songs from all albums except one show up. For instanc
-
Replacing fonts, characters disappear
I have a problem with the fonts. At my company we are changing postscript fonts (Adobe FontFolio 8) to OpenType (Adobe FontFolio 11), and replacing fonts from indesign, characters disappear (for example, replacing the Helvetica Neue by Helvetica Neue
-
After my last post and no responses, I thought to investigate further. Hours of use later, here are some things I am finding in Leopard and I would like to know if anyone else can confirm these behaviors: Using cover flow in finder will considerably
-
I successfully downloaded iTunes. It opened several times, now it shuts down everytime with Data Execution Prevention message. Please help